Агуулгын хүснэгт:

Arduino ухаалаг гэрийн систем: 7 алхам
Arduino ухаалаг гэрийн систем: 7 алхам

Видео: Arduino ухаалаг гэрийн систем: 7 алхам

Видео: Arduino ухаалаг гэрийн систем: 7 алхам
Видео: СУПЕР-МИНИ ICsee камера 2 в 1 СЛЕДИТ ЗА ЛЮДЬМИ по КЛАССНОЙ ЦЕНЕ! 2024, Долдугаар сарын
Anonim
Arduino ухаалаг гэрийн систем
Arduino ухаалаг гэрийн систем
Arduino ухаалаг гэрийн систем
Arduino ухаалаг гэрийн систем

Энэхүү зааварчилгаанд бид Sparkfun Red самбар бүхий MATLAB -ийн Апп дизайнер ашиглан өөрийн ухаалаг гэрийн системийг хэрхэн бий болгохыг танд үзүүлэх болно. Энэхүү зааварчилгаа нь MATLAB -ийн Апп дизайнерын талаархи үндсэн ойлголттой болоход туслахын зэрэгцээ фоторезистор, сервомотор, PIR хөдөлгөөн мэдрэгч ашиглахад ашиглаж болно.

Алхам 1: Эхлэх: Материал

Энэ төсөлд дараахь материал шаардлагатай болно.

- Arduino Uno (Энэ төслийн хувьд бид Sparkfun Red самбар ашигласан)

- Нэг фоторезистор

- Нэг мини-servo мотор

- Нэг тасралтгүй servo мотор

- Нэг PIR хөдөлгөөн мэдрэгч

- Нэг температур мэдрэгч

- 2 LED

- Шаардлагатай бол утас ба резистор

Алхам 2: Алхам 2: Асуудлыг шийдвэрлэхэд ойртох

Энэхүү төслийн гол зорилго нь Arduino Uno самбарыг MATLAB ашиглан кодлох замаар ашиглахад хялбар ухаалаг гэрийн системийг бий болгох явдал байв. Бид зөвхөн температур, чийгшлийн мэдрэгчтэй ажиллах талаар анх бодож байсан боловч хэрэв бид эдгээр хоёр мэдрэгчтэй байвал бидний ухаалаг гэрийн системийг олон нийтэд зарах нь амаргүй байх болно. Ухаалаг термостат, хамгаалалтын систем болох ухаалаг гэрийн эрчим хүчний ерөнхий системийг бий болгохыг хүсч байгаагаа бид шийдсэн. Эцэст нь бид MATLAB -ийн AppDesigner -тэй хамтран ажиллахыг хүссэн бөгөөд ингэснээр хэрэглэгч ухаалаг байшинг хүссэнээрээ өөрчилж чадна.

Алхам 3: Алхам 3: GUI болон үндсэн кодын урсгалыг тохируулах

Алхам 3: GUI болон үндсэн кодын урсгалыг тохируулах
Алхам 3: GUI болон үндсэн кодын урсгалыг тохируулах

Эхлэхийн тулд та MATLABs AppDesigner -ийг нээж дараахь зүйлийг байрлуулах хэрэгтэй болно.

Халуун, хүйтэн босго оруулах хоёр тоон засварлах талбар

Хаалганы түгжээг тайлах товчлуур

Мөн задгай зуух, хаалга, сэнс, үерийн гэрлийн дөрвөн заагч чийдэн.

Хэрэглэгчтэй харилцах хоёр шошго.

Энэхүү төслийн хувьд дэлхийн хувьсагчид болон дизайнер доторх эхлүүлэх функцтэй ажиллахад илүү хялбар болсон. Эхлэх функцэд танд эдгээр хувьсагч хэрэгтэй болно.

дэлхийн а

a = arduino ('COM3', 'uno', 'Номын сан', 'Servo'); global s global p global hotUI global coldUI global unlock global temp global Curr_temp global int_light

Яг одоо бидэнд зөвхөн хувьсагчийн даалгавар байгаа тул таны компьютер arduino -г уншиж чадна. COM3 нь таны компьютер ямар порт ашиглаж байгаагаас хамаарч өөр өөр байж болно.

Та кодыг ажиллуулах үед энэ нь дэлхийн хувьсагчдыг үүсгэх, системийг тохируулах эхлэлийн функц дотор эхэлнэ. Энэ функцын төгсгөлд бидний таймер гэж нэрлэдэг өмчийг дууддаг таймер функц байх болно. Энэхүү таймерын өмчлөлд бид гэрийн системийг ажиллуулдаг кодыг оруулсан тул таймер нь тохируулгын кодыг дахин ажиллуулахгүй.

Тэмдэглэл: Бид системд утас холбох заавар өгөөгүй. Бид SparkFun Red самбартай хамт ирдэг гарын авлагад хандсан.

Алхам 4: Алхам 3: Термостатын системийг тохируулах

Алхам 3: Термостатын системийг тохируулах
Алхам 3: Термостатын системийг тохируулах
Алхам 3: Термостатын системийг тохируулах
Алхам 3: Термостатын системийг тохируулах

Термостатын функц дараах байдлаар ажилладаг.

Хэрэглэгч ямар температурыг хэт халуун эсвэл хэт хүйтэн гэж оруулахаа оруулах болно. Термометр уншсаны дараа хэрэв гэр хэт хүйтэн байвал "задгай зуух" (улаан LED) асаж, гэрийг халаана. Хэрэв гэр хэт халуун байвал "сэнс" (тасралтгүй servo мотор) байшинг хөргөх болно.

Термостатын системийг кодлохын тулд:

Бид одоогийн температурыг харуулахын тулд эхлүүлэх функцийг эхлүүлж, хэрэглэгчид хүйтэн, халуун босгыг оруулах боломжийг олгоно.

p = 'A0' %Фоторезисторын зүү

вольт = унших хүчдэл (a, температур); celc = (вольт-0.5).*100; Curr_temp = celc*9/5+32; app. Label_4. Text = num2str (Curr_temp); %Шошгоны дугаар нь түр зогсолтыг өөрчилж болно (10); %Өөрчлөхийг хүсч магадгүй !!!!!

Дараа нь бид термостатын системийг Таймерын өмч дотор дуусгах болно.

дэлхийн Curr_temp

global coldUI global global hotUI if Curr_temp hotUI app. FanStateLamp. Color = [0.47 0.67 0.19]; %GUI чийдэнг ногоон болгох 0.90 0.90 0.90]; %Энэ нь бүх GUI чийдэн, задгай зуухны програмыг унтраадаг. FanStateLamp. Color = [0.9 0.9 0.9]; writeDigitalPin (a, 'D13', 0); Төгсгөл

Алхам 5: Алхам 4: Хаалганы системийг тохируулах

Алхам 4: Хаалганы системийг тохируулах
Алхам 4: Хаалганы системийг тохируулах

Хаалганы функц дараах байдлаар ажилладаг.

Та MATLAB кодыг анх ажиллуулахад апп нь хаалгыг онгойлгохыг хүсэх бөгөөд ингэснээр фоторезистор анхны гэрэл унших боломжтой болно. Үүнийг дуусгасны дараа таймер идэвхжиж, фоторезистор хоёрдогч гэрлийн заалтыг авах болно. Хэрэв хоёрдогч гэрлийн уншилт нь анхныхаас хөнгөн бол servo мотор хаалгыг түгжих болно. Хэрэв хэрэглэгч хаалгыг онгойлгохыг хүсч байвал хаалганы түгжээг тайлах програмын товчлуурыг дарж болно.

Серво мотор ба фоторезисторыг тохируулахын тулд:

Хаалганы системийг кодлохын тулд:

Бид гэрлийн анхны уншилтыг авахын тулд эхлүүлэх функцийг эхлүүлэх болно.

s = servo (a, 'D9') %Зүү нь утаснаас хамаарч өөрчлөгдөж болно

app. Label_4. Text = 'Системийг тохируулах үүд хаалгыг нээнэ үү'; түр зогсоох (15); %Энэ нь хэрэглэгч хаалгыг онгойлгоход цаг өгдөг int_light = readVoltage (a, p); app. Label_4. Text = 'Та хуруугаа арилгаж болно';

Дараа нь бид кодыг Таймер өмчийн дотор бөглөх болно

дэлхийн түгжээг тайлах

global int_light global s global 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 if -ийг дуусгах боломжтой болно.

дэлхийн түгжээг тайлах

түгжээг тайлах = 1234;

Алхам 6: Алхам 6: Үерийн гэрлийн системийг тохируулах

Алхам 6: Үерийн гэрлийн системийг тохируулах
Алхам 6: Үерийн гэрлийн системийг тохируулах

Үерийн гэрлийн функц дараах байдлаар ажилладаг.

Та MATLAB кодыг эхлүүлэх үед PIR хөдөлгөөн мэдрэгч нь хөдөлгөөнийг илрүүлж эхэлнэ. Зарим төрлийн хөдөлгөөнийг илрүүлсний дараа цахилгаан дохиог таслах болно. Энэ дохиог тасалсны дараа байшингийн гадна үерийн гэрэл асах болно.

Үерийн гэрлийн системийг тохируулахын тулд:

Үерийн гэрлийн системийг кодлохын тулд:

Энэ удаад бид нэмэлт хувьсагч бичих шаардлагагүй тул Timer шинж чанар руу шилжиж болно.

human_detected = readDigitalPin (a, 'D2'); Human_detected == 0 writeDigitalPin (a, 'D7', 1) бол %Pin нь тохиргооноос хамааран өөрчлөгдөж болно. %Pin нь app. FloodLightStateLamp. Color = [0.47 0,67 0.19]; elseif human_detected == 1 апп. FloodLightStateLamp. Color = [0.9 0.9 0.9]; writeDigitalPin (a, 'D7', 0) төгсгөл

Алхам 7: Дүгнэлт

Апп дизайнертай GUI -ийн төсөл болон Arduino -д зориулсан кодтой болсноор та өөрөө засвар хийх эсвэл Arduino -г залгахад бэлэн боллоо!

Зөвлөмж болгож буй: