Мазмуну:
- 1 -кадам: Баштоо үчүн: материалдар
- 2 -кадам: 2 -кадам: Маселени чечүү үчүн жакындап келүү
- 3 -кадам: 3 -кадам: GUIди жана негизги коддун агымын конфигурациялоо
- 4 -кадам: 3 -кадам: Термостат системасын орнотуу
- 5 -кадам: 4 -кадам: Эшик тутумун орнотуу
- 6 -кадам: 6 -кадам: Топон суу жарык системасын орнотуу
- 7 -кадам: Жыйынтык
Video: Arduino Smart Home системасы: 7 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:41
Бул Нускамада биз сизге Sparkfun Red тактасы менен MATLABнын Колдонмо Дизайнери менен өзүңүздүн акылдуу үй системаңызды кантип түзүүнү көрсөтөбүз. Бул Instructable MATLABдын колдонмо дизайнери жөнүндө базалык түшүнүк алуу үчүн, ошондой эле фоторезистор, сервомотор жана PIR кыймыл сенсорун колдонуу үчүн колдонулушу мүмкүн.
1 -кадам: Баштоо үчүн: материалдар
Бул долбоор төмөнкү материалдарды талап кылат:
- Arduino Uno (Бул долбоор үчүн биз Sparkfun Red тактасын колдондук)
- Бир фоторезистор
- Бир мини-servo мотор
- Бир үзгүлтүксүз servo мотор
- Бир PIR кыймыл сенсору
- Бир температура сенсору
- 2 LED
- Зарыл болгондо зымдар жана резисторлор
2 -кадам: 2 -кадам: Маселени чечүү үчүн жакындап келүү
Бул долбоордун негизги максаты Arduino Uno тактасын MATLAB менен коддоо аркылуу колдонууга оңой болгон акылдуу үй системасын түзүү болгон. Биз адегенде жөн эле температура жана нымдуулук сенсору менен иштөө жөнүндө ойлондук, бирок эгерде биз ошол эки сенсордо калсак, биздин акылдуу үй системабыз жалпы аудиторияга оңой сатылбайт. Биз акылдуу термостат жана коопсуздук тутуму катары иштей турган жалпы акылдуу үй энергия системасын түзүүнү кааладык деп чечтик. Акыр -аягы, биз MATLABтын AppDesigner менен иштегибиз келди, ошондуктан колдонуучу акылдуу үйдү каалагандай оңой өзгөртө алат.
3 -кадам: 3 -кадам: GUIди жана негизги коддун агымын конфигурациялоо
Баштоо үчүн MATLABs AppDesignerди ачып, төмөнкүлөрдү коюңуз:
Ысык жана муздак босого киргизүү үчүн эки сандык түзөтүү талаасы
Эшиктин кулпусун ачуучу баскыч
Жана очок үчүн төрт индикатор лампа, эшик, желдеткич жана жарык.
Колдонуучу менен байланышуу үчүн эки этикетка.
Бул долбоор үчүн биз дизайнердин ичинде глобалдык өзгөрмөлөр жана стартап функциясы менен иштөөнү оңой деп таптык. Баштоо функциясында сизге бул өзгөрмөлөр керек болот:
дүйнөлүк а
a = arduino ('COM3', 'uno', 'Китепканалар', 'Servo'); глобалдык дүйнөлүк г глобалдык ысык интернеттеги глобалдык муздактыктын дүйнөлүк кулпусун ачуу глобалдык темп дүйнөлүк Curr_temp глобалдык int_light
Азыр бизде гана өзгөрмөнүн тапшырмасы бар, ошондуктан сиздин компьютер arduino окуй алат. COM3 компьютериңиз кайсы портту колдонуп жатканына жараша айырмаланышы мүмкүн.
Сиз кодду иштеткенде, ал глобалдык өзгөрмөлөрдү түзүүчү жана тутумду калибрлөөчү старт функциясында башталат. Бул функциянын аягында Таймер деп аталган касиетке чакыруучу таймер функциясы болот. Бул Таймер касиетине биз үй системасын иштетүүчү кодду киргизебиз, андыктан таймер калибрлөө кодун кайра иштетпейт.
Эскертүү: Биз тутумга зым боюнча көрсөтмө берген жокпуз. Биз SparkFun Red тактасы менен келген колдонмого кайрылдык.
4 -кадам: 3 -кадам: Термостат системасын орнотуу
Термостаттын функциясы төмөнкүдөй иштейт:
Колдонуучу кайсы температураны өтө ысык же өтө муздак деп киргизет. Термометр көрсөткүчтү алгандан кийин, эгер үй өтө суук болсо, "очок" (кызыл LED) күйүп, үйдү жылытат. Эгерде үй өтө ысык болсо, анда "желдеткич" (үзгүлтүксүз серво мотору) үйдү муздатууну күйгүзөт.
Термостат системасын коддоо үчүн:
Биз учурдагы темпти көрсөтүү жана колдонуучуга муздак жана ысык босоголорун киргизүү үчүн старт функциясынын ичинде баштайбыз.
p = 'A0' %Photoresistor пин
вольт = readVoltage (a, temp); celc = (вольт-0,5).*100; Curr_temp = celc*9/5+32; app. Label_4. Text = num2str (Curr_temp); %Белги номери тыныгууну өзгөртө алат (10); %Өзгөргүсү келиши мүмкүн !!!!!
Андан кийин биз Таймердин ичинде термостат системасын бүтүрөбүз.
дүйнөлүк Curr_temp
global coldUI глобалдык глобалдык hotUI if Curr_temp hotUI app. FanStateLamp. Color = [0.47 0.67 0.19]; %GUI чырагын жашыл түскө айландырат WritePWMDutyCycle (a, 'D11',.9) %Коддун кийинки үч сабы servo fan күйгүзүүсүн иштетет (10) writePWMDutyCycle (a, 'D11',.0) else app. FireplaceStateLamp. Color = [0.90 0.90 0.90]; %Бул бардык GUI чырактарын жана камин колдонмосун өчүрөт. FanStateLamp. Color = [0,9 0,9 0,9]; writeDigitalPin (a, 'D13', 0); аяктоо
5 -кадам: 4 -кадам: Эшик тутумун орнотуу
Эшиктин функциясы төмөнкүдөй иштейт:
Сиз MATLAB кодуңузду биринчи жолу иштеткениңизде, колдонмо сизден эшикти ачууну суранат, ошондо фоторезистор жарыктын баштапкы окуусун кабыл алат. Бул аяктагандан кийин, таймер активдешет жана фоторезистор экинчи жарык көрсөткүчтөрүн алат. Экинчи жарыктын көрсөткүчү башталгычтан жеңил болсо, servo мотор эшикти бекитип коет. Колдонуучу эшиктин кулпусун ачууну кааласа, колдонмонун эшигин ача турган баскычты басса болот.
Серво моторун жана фоторезисторду конфигурациялоо үчүн:
Эшик системасын коддоо үчүн:
Биз баштапкы жарык көрсөткүчтөрүн алуу үчүн баштоо функциясынын ичинде баштайбыз.
s = servo (a, 'D9') %Pin зымга жараша өзгөрүшү мүмкүн
app. Label_4. Text = 'Системаны калибрлөө үчүн эшикти ачыңыз'; тыным (15); %Бул колдонуучуга эшикти ачууга убакыт берет int_light = readVoltage (a, p); app. Label_4. Text = 'Манжаңызды алып салсаңыз болот';
Андан кийин, биз кодду Таймер касиетинде толтурабыз
глобалдык кулпуну ачуу
глобалдык int_light глобалдык s глобалдык a %Curr_light = readVoltage (a, p) менен салыштыруу үчүн учурдагы жарык көрсөткүчүн алыңыз; % - Эшикти кулпулоо - эгер int_light <Curr_light writePosition (s, 1) % Servo кызматтары ар бир мотордук тыныгууга жараша айырмаланышы мүмкүн (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]; аяктоо
Акыр -аягы, биз ачуу баскычын кайра чакырууну түзөбүз. Колдонуучу кулпуну ачуу баскычын баскандан кийин, глобалдык өзгөрмөнүн кулпусун ачуу номери берилет, эгерде Таймердин касиетиндеги акыркы if билдирүүсүн толуктай алат.
глобалдык кулпуну ачуу
ачуу = 1234;
6 -кадам: 6 -кадам: Топон суу жарык системасын орнотуу
Сел жарыгы үчүн функция төмөнкүдөй иштейт:
Сиз MATLAB кодун баштаганда, PIR кыймыл сенсору кыймылды аныктай баштайт. Кыймылдын кандайдыр бир түрүн аныктагандан кийин, ал күч сигналын кесип салат. Бул сигнал өчүрүлгөндөн кийин селдин жарыгы үйдүн сыртында күйөт.
Жарык системасын конфигурациялоо үчүн:
Сел жарык системасын коддоо үчүн:
Бул жолу биз Таймердин касиетине өтө алабыз, анткени кошумча өзгөрмөлөрдү жазуунун кажети жок.
human_detected = readDigitalPin (a, 'D2'); %Пин конфигурацияга жараша өзгөрүшү мүмкүн, эгер human_detected == 0 writeDigitalPin (a, 'D7', 1) %Pin app. FloodLightStateLamp. Color = [0.47 0.67 0.19]; elseif human_detected == 1 app. FloodLightStateLamp. Color = [0,9 0,9 0,9]; writeDigitalPin (a, 'D7', 0) аягы
7 -кадам: Жыйынтык
Эми сизде GUIдин Колдонмо Дизайнери жана Arduino үчүн кодуңуздун долбоору бар, сиз өзүңүздүн түзөтүүлөрдү жасоого же Arduinoңузду туташтырууга даярсыз!
Сунушталууда:
Alexa Smart Home системасы NodeMCU реле модулун колдонуп: 10 кадам
NodeMCU релелик модулун колдонуп Alexa Smart Home системасы: Бул IoT долбоорунда мен NodeMCU ESP8266 жана Alexa Smart Home Automation системасын түздүм. Реле модулу. Үн буйругу менен жарыкты, желдеткичти жана башка тиричилик техникаларын оңой башкара аласыз. Echo Dot акылдуу колонкасын туташтыруу үчүн
Түстөрдү сорттоо системасы: Arduino негизделген системасы эки кур менен: 8 кадам
Түстөрдү сорттоо системасы: Arduino негизделген эки белдемдүү система: Өнөр жай тармагындагы продукцияларды жана буюмдарды ташуу жана/же таңгактоо конвейердик линиялардын жардамы менен жүргүзүлөт. Бул курлар нерсени белгилүү бир ылдамдык менен бир чекиттен экинчи пунктка жылдырууга жардам берет. Кээ бир иштетүү же идентификациялык тапшырмалар болушу мүмкүн
SmartBox - Сиздин бөлмөңүз үчүн Smart Home системасы: 6 кадам
SmartBox - Сиздин үйүңүз үчүн Smart Home системасы: Саламатсыздарбы баарына! Бул система эки түзмөктү камтыйт. Сиздин бөлмөңүздөгү учурдагы жашоо сапатын өлчөөчү нымдуулук жана температура сенсору бар жалпы түзүлүш. Сиз
Арзан жана жеңил Smart Home системасы: 7 кадам
Арзан жана оңой Smart Home системасы: Саламатсызбы! Мен Эдмин, мен 15 жаштамын, эсептөө, программалоо жана электротехникага кызыгам. Мен кичинекей болгондуктан, мен ата -энемдин үйүндө жашайм, бул проект мен Чердак/ Лофт бөлмөсүнө көчүүнү чечкенде башталган
IoT Smart Home системасы: 8 кадам
IoT Smart Home системасы: Бул Kiot жана Jons Smart үй системасы