ዝርዝር ሁኔታ:

አርዱዲኖ ስማርት መነሻ ስርዓት 7 ደረጃዎች
አርዱዲኖ ስማርት መነሻ ስርዓት 7 ደረጃዎች

ቪዲዮ: አርዱዲኖ ስማርት መነሻ ስርዓት 7 ደረጃዎች

ቪዲዮ: አርዱዲኖ ስማርት መነሻ ስርዓት 7 ደረጃዎች
ቪዲዮ: Smart RAMPS - AZSMZ 12864 LCD 2024, ሀምሌ
Anonim
አርዱዲኖ ስማርት መነሻ ስርዓት
አርዱዲኖ ስማርት መነሻ ስርዓት
አርዱዲኖ ስማርት መነሻ ስርዓት
አርዱዲኖ ስማርት መነሻ ስርዓት

በዚህ አስተማሪ ውስጥ በ ‹MATLAB› የመተግበሪያ ዲዛይነር ከስፓርክfun ቀይ ሰሌዳ ጋር የራስዎን ዘመናዊ የቤት ስርዓት እንዴት እንደሚፈጥሩ እናሳይዎታለን። ይህ አስተማሪ የ MATLAB ን የመተግበሪያ ዲዛይነር መሰረታዊ ግንዛቤን ፣ እንዲሁም የፎቶሰስተር ፣ የአገልጋይ ሞተሩን እና የ PIR እንቅስቃሴ ዳሳሽን በመጠቀም ለማገዝ ሊያገለግል ይችላል።

ደረጃ 1: ለመጀመር - ቁሳቁሶች

ይህ ፕሮጀክት የሚከተሉትን ቁሳቁሶች ይፈልጋል።

- አርዱዲኖ ኡኖ (ለዚህ ፕሮጀክት የ Sparkfun Red ሰሌዳ ተጠቅመን ነበር)

- አንድ photoresistor

- አንድ ሚኒ-ሰርቮ ሞተር

- አንድ የማያቋርጥ የ servo ሞተር

- አንድ PIR እንቅስቃሴ ዳሳሽ

- አንድ የሙቀት ዳሳሽ

- 2 ኤል.ዲ

- እንደአስፈላጊነቱ ሽቦዎች እና ተከላካዮች

ደረጃ 2 - ደረጃ 2 - ችግሩን ወደ ችግሩ መቅረብ

የዚህ ፕሮጀክት ዋና ግብ አርዱዲኖ ኡኖን ቦርድ ከ MATLAB ጋር በኮድ በማድረግ ብልጥ የቤት ስርዓትን ለመጠቀም ቀላል መፍጠር ነበር። እኛ በመጀመሪያ ከሙቀት እና ከእርጥበት ዳሳሽ ጋር ስለ መሥራት ብቻ አስበን ነበር ፣ ሆኖም ግን በእነዚህ ሁለት አነፍናፊዎች ብንቆይ ብልጥ የቤት ስርዓታችን ለአጠቃላይ ታዳሚዎች በቀላሉ ለገበያ አይቀርብም። እንደ ብልጥ ቴርሞስታት እና የደህንነት ስርዓት የሚሰራ አጠቃላይ ዘመናዊ የቤት ኃይል ስርዓት ለመፍጠር እንደምንፈልግ ወስነናል። በመጨረሻም ተጠቃሚው ስማርት ቤቱን እንደፈለጉ በቀላሉ መለወጥ እንዲችል ከ MATLAB's AppDesigner ጋር ለመስራት ፈልገን ነበር።

ደረጃ 3 - ደረጃ 3 - GUI ን እና መሠረታዊ የኮድ ፍሰት ማቀናበር

ደረጃ 3 - GUI ን እና መሰረታዊ የኮድ ፍሰት ማቀናበር
ደረጃ 3 - GUI ን እና መሰረታዊ የኮድ ፍሰት ማቀናበር

ለመጀመር MATLABs AppDesigner ን መክፈት እና የሚከተሉትን ማስቀመጥ ያስፈልግዎታል

ለሞቃት እና ለቅዝቃዛ ደፍ ግብዓት ሁለት የቁጥር አርትዕ መስኮች

በሩን ለመክፈት አዝራር

እና ለእሳት ምድጃ ፣ ለበር ፣ ለአድናቂ እና ለጎርፍ ብርሃን አራት አመላካች መብራቶች።

ከተጠቃሚው ጋር ለመገናኘት ሁለት መለያዎች።

ለዚህ ፕሮጀክት በአለምአቀፍ ተለዋዋጮች እና በዲዛይነሩ ውስጥ ካለው የመነሻ ተግባር ጋር መሥራት ቀላል ሆኖ አግኝተነዋል። በጅምር ተግባር ውስጥ እነዚህ ተለዋዋጮች ያስፈልግዎታል

ዓለም አቀፍ ሀ

a = arduino ('COM3', 'uno', 'Libraries', 'Servo'); global s global p global hotUI global coldUI global unlock global temp global curr_temp global int_light

አሁን ኮምፒተርዎ አርዱዲኖን እንዲያነብ ለተለዋዋጭው አንድ ተልእኮ ብቻ አለን። ኮምፒተርዎ በሚጠቀምበት ወደብ ላይ በመመስረት COM3 ሊለያይ ይችላል።

ኮዱን ሲያሄዱ ፣ ዓለም አቀፋዊ ተለዋጮችን በመፍጠር እና ስርዓቱን በማስተካከል በጅምር ተግባር ውስጥ ይጀምራል። በዚህ ተግባር መጨረሻ ላይ ሰዓት ቆጣሪ ብለን የጠራን ንብረት የሚጠራ የሰዓት ቆጣሪ ተግባር ይኖራል። በዚህ የሰዓት ቆጣሪ ንብረት ውስጥ የሰዓት ቆጣሪው የመለኪያ ኮዱን እንደገና እንዳያከናውን የቤት ስርዓቱን የሚመራውን ኮድ እናስገባለን።

ማሳሰቢያ - እኛ ለስርዓቱ ምንም የወልና መመሪያ አልሰጠንም። ከ SparkFun ቀይ ሰሌዳ ጋር የሚመጣውን መመሪያ ጠቅሰናል።

ደረጃ 4 - ደረጃ 3 - የሙቀት መቆጣጠሪያ ስርዓትን ማቀናበር

ደረጃ 3 - የሙቀት መቆጣጠሪያ ስርዓቱን ማቀናበር
ደረጃ 3 - የሙቀት መቆጣጠሪያ ስርዓቱን ማቀናበር
ደረጃ 3 - የሙቀት መቆጣጠሪያ ስርዓቱን ማቀናበር
ደረጃ 3 - የሙቀት መቆጣጠሪያ ስርዓቱን ማቀናበር

ለሙቀት መቆጣጠሪያው ተግባር እንደሚከተለው ይሠራል

ተጠቃሚው በጣም ሞቃት ወይም በጣም ቀዝቃዛ ነው ብለው ያሰቡትን የሙቀት መጠን ያስገባል። አንዴ ቴርሞሜትሩ ንባብ ከወሰደ ፣ ቤቱ በጣም ከቀዘቀዘ “የእሳት ምድጃው” (ቀይ ኤልኢዲ) በርቶ ቤቱን ያሞቀዋል። ቤቱ በጣም ሞቃታማ ከሆነ “አድናቂ” (ቀጣይ ሰርቮ ሞተር) ቤቱን ማቀዝቀዝ ያበራል።

የቴርሞስታት ስርዓቱን ኮድ ለመስጠት -

የአሁኑን የሙቀት መጠን ለማሳየት እና ተጠቃሚው ቀዝቃዛ እና ሙቅ ገደቦቻቸውን እንዲያስገባ በጅምር ተግባር ውስጥ እንጀምራለን።

p = 'A0' %Photoresistor pin

ቮልት = ንባብ Voltage (a, temp); celc = (volt-0.5).*100; curr_temp = celc*9/5+32; app. Label_4. ጽሑፍ = num2str (curr_temp); %የመለያ ቁጥር ቆም (10) ሊለውጥ ይችላል ፤ %መለወጥ ይፈልጉ ይሆናል !!!!!

ከዚያ በሰዓት ቆጣሪ ንብረት ውስጥ የሙቀት መቆጣጠሪያ ስርዓቱን እናጠናቅቃለን።

ዓለም አቀፍ curr_temp

ዓለምአቀፍ ቅዝቃዜ ዩአይኤአይአለም አቀፍ hotUI ከሆነ curr_temp hotUI app. FanStateLamp. Color = [0.47 0.67 0.19]; %GUI አምፖልን አረንጓዴ ይፃፋል PWMDutyCycle (ሀ ፣ 'D11' ፣.9) %የሚቀጥሉት የኮድ ሶስት መስመሮች የ servo ደጋፊ ቆም (10) ጻፉ PWMDutyCycle (ሀ ፣ 'D11' ፣.0) ሌላ መተግበሪያ ።FireplaceStateLamp. Color = [0.90 0.90 0.90]; %ይህ ሁሉንም የ GUI መብራቶች እና የእሳት ምድጃ መተግበሪያን ያጠፋል ።FanStateLamp. Color = [0.9 0.9 0.9]; ጻፍ ዲጂታል ፒን (ሀ ፣ 'D13' ፣ 0); አበቃ

ደረጃ 5 - ደረጃ 4 - የበሩን ስርዓት ማቀናበር

ደረጃ 4 - የበሩን ስርዓት ማቀናበር
ደረጃ 4 - የበሩን ስርዓት ማቀናበር

የበሩ ተግባር እንደሚከተለው ይሠራል

የ MATLAB ኮድዎን መጀመሪያ ሲያካሂዱ ፣ ፎቶው አስተናጋጁ የመጀመሪያውን የብርሃን ንባብ እንዲወስድ መተግበሪያው በሩን እንዲከፍቱ ይጠይቅዎታል። አንዴ ከተጠናቀቀ ፣ ሰዓት ቆጣሪው ይሠራል እና የፎቶግራፍ ባለሙያው ሁለተኛ ብርሃን ንባቦችን ይወስዳል። የሁለተኛው ብርሃን ንባብ ከመጀመሪያው ይልቅ ቀላል ከሆነ ፣ የ servo ሞተር በሩን ይቆልፋል። ተጠቃሚው በሩን እንዲከፍት ከፈለገ በመተግበሪያው ላይ በሩን የሚከፍት ቁልፍን መጫን ይችላሉ።

የ servo ሞተር እና photoresistor ን ለማዋቀር-

የበሩን ስርዓት ኮድ ለማድረግ -

የመነሻ ብርሃን ንባቦችን ለመውሰድ በጅምር ተግባር ውስጥ እንጀምራለን።

s = servo (a, 'D9') %ፒን በሽቦ ላይ ተመስርቶ ሊለወጥ ይችላል

app. Label_4. Text = 'እባክዎን ስርዓቱን ለማስተካከል በሩን ይክፈቱ'; ለአፍታ አቁም (15); %ይህ ለተጠቃሚው በሩን ለመክፈት ጊዜ ይሰጣል int_light = readVoltage (a, p); app. Label_4. Text = 'ጣትዎን ማስወገድ ይችላሉ';

በመቀጠል ፣ በሰዓት ቆጣሪ ንብረት ውስጥ ኮዱን እናጠናቅቃለን

ዓለም አቀፍ መክፈቻ

ዓለም አቀፍ int_light global s global a %curr_light = readVoltage (a, p) ን ለማወዳደር የአሁኑን የብርሃን ንባብ ያግኙ። % - የመቆለፊያ በር - int_light <curr_light write አቀማመጥ (ቶች ፣ 1) % የአገልጋዮች አቀማመጥ በአንድ ሞተር ቆም (0.5) ሊለያይ ይችላል ፤ app. DoorStateLamp. Color = [0.47 0.67 0.19]; መጨረሻ % - በርን ይክፈቱ - ከተከፈተ == 1234 ለአፍታ ቆም (0.5); writePosition (s,.52) app. DoorStateLamp. Color = [0.85 0.33 0.10]; አበቃ

በመጨረሻ የመክፈቻ አዝራር ጥሪ መልሶ ማግኛን እንፈጥራለን። አንዴ ተጠቃሚው የመክፈቻ ቁልፍን ከተጫነ ፣ ዓለም አቀፋዊው ተለዋዋጭ መክፈቻ በሰዓት ቆጣሪ ንብረት ውስጥ መግለጫ ከሆነ የመጨረሻውን የሚያጠናቅቅ ቁጥር ይሰጠዋል።

ዓለም አቀፍ መክፈቻ

መክፈቻ = 1234;

ደረጃ 6 - ደረጃ 6 የጎርፍ ብርሃን ስርዓትን ማቀናበር

ደረጃ 6 የጎርፍ ብርሃን ስርዓትን ማቀናበር
ደረጃ 6 የጎርፍ ብርሃን ስርዓትን ማቀናበር

ለጎርፍ መብራት ተግባር እንደሚከተለው ይሠራል

የ MATLAB ኮድ ሲጀምሩ ፣ የ PIR እንቅስቃሴ ዳሳሽ እንቅስቃሴን መለየት ይጀምራል። አንዴ የእንቅስቃሴውን ዓይነት ካወቀ የኃይል ምልክቱን ይቆርጣል። ያ ምልክት ከተቆረጠ በኋላ የጎርፍ መብራት ከቤት ውጭ ይብራራል።

የጎርፍ ብርሃን ስርዓትን ለማዋቀር-

የጎርፍ ብርሃን ስርዓትን ኮድ ለማድረግ -

ምንም ተጨማሪ ተለዋዋጮችን መጻፍ ስለማንፈልግ በዚህ ጊዜ ወደ ሰዓት ቆጣሪ ንብረት መዝለል እንችላለን።

human_detected = readDigitalPin (ሀ ፣ 'D2') ፤ Human_detected == 0 writeDigitalPin (ሀ ፣ 'D7' ፣ 1) %ፒን መተግበሪያን ሊለውጥ ይችላል። elseif human_detected == 1 app. FloodLightStateLamp. Color = [0.9 0.9 0.9]; ይፃፉ ዲጂታል ፒን (ሀ ፣ 'ዲ 7' ፣ 0) መጨረሻ

ደረጃ 7 መደምደሚያ

አሁን ከመተግበሪያው ዲዛይነር እና የእርስዎ አርዲኖ የእርስዎ ኮድ (GUI) ረቂቅ ካለዎት የራስዎን አርትዖቶች ለማድረግ ወይም አርዱዲኖዎን ለመሰካት እና ለመሄድ ዝግጁ ነዎት!

የሚመከር: