Агуулгын хүснэгт:
- Алхам 1: Гэрэлд мэдрэмтгий LED
- Алхам 2: Мини цахилгаан унтраалга
- Алхам 3: Хоёр дахь Photocell
- Алхам 4: RGB LED
- Алхам 5: Температур мэдрэгч
- Алхам 6: DAGU редуктор
- Алхам 7: Код
Видео: EF230 ухаалаг гэрийн төсөл: 7 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:03
Шаардлагатай эд анги, материал:
- 1 Arduino MKR 1000
- 3 талхны самбар
- 2 мини гэрэл зураг
- 1 NPN транзистор
- 1 мини цахилгаан унтраалга
- 1 LED - RGB (4 залгуур)
- 1 LED (таны хүссэн өнгө)
- 1 диод 1N4148
- 1 10K Ом эсэргүүцэл
- 5 100 Ом эсэргүүцэл
- 1 Температур мэдрэгч TMP36
- 1 DAGU 48: 1 харьцаатай роторын мотор
- 25 холбогч утас
- USB утас
- MATLAB програм
-
Arduino 101/Genuino 101 хавтангийн SIK туршилтын гарын авлага - SIK туршилтын гарын авлагын холбоос
Энэхүү төсөл нь байшингийн эздийн эрчим хүчний хэрэглээ, аюулгүй байдлыг оновчтой болгоход туслах өгөгдлийг ашиглах ухаалаг байшингийн системийн үзэл баримтлалыг нарийвчлан тусгасан болно. Үүнд шөнийн цагаар гадаа гэрэл асаах гэрэл мэдрэгч, аюулгүй байдлыг хангах гэрэл мэдрэгч, доторх температурыг хянах температур мэдрэгч, сэнс багтсан болно.
Алхам 1: Гэрэлд мэдрэмтгий LED
- Гэрэлд мэдрэмтгий LED тохиргоо нь шөнийн цагаар асдаг байшингийн гаднах гэрлийг илэрхийлэх зориулалттай.
- Мини фотоэлемент нь бага хэмжээний гэрэл мэдрэх үед LED асах болно.
- Ухаалаг байшингийн хувьд энэ нь эрчим хүч, аюулгүй байдлын үр дагавартай байдаг. Энэ нь өдрийн цагаар гэрэл унтрааж, шөнийн цагаар аюулгүй байдлыг нэмэгдүүлэх болно.
- Төслийн энэ хэсгийн яг утас, тохиргоог SIK Туршилтын гарын авлага 7 -р туршилтын дор олж болно.
Алхам 2: Мини цахилгаан унтраалга
- Энэхүү унтраалга нь ухаалаг байшингийн аюулгүй байдлыг хангах эхний алхам юм.
- Асаах үед унтраалга нь хэрэглэгчээс "Гэрийн" эсвэл "Эзгүй" горимд орохыг хүсч байгаа эсэхийг асуух хариултыг эхлүүлнэ.
- Хэрэв 'Home' горимыг сонгосон бол хамгаалалтыг зэвсэггүй болгосон гэж үзэх боловч 'Away' горимыг сонгох нь аюулгүй байдлын системийг зэвсэглэх болно.
- Төслийн энэ хэсгийн утсыг Туршилтын гарын авлага дээрх 6 -р туршилтын дагуу олж болно. Ухаалаг байшингийн хувьд 6 -р туршилтаас олдсон LED болон тэдгээрийн холбох утсыг оруулах шаардлагагүй болно.
Алхам 3: Хоёр дахь Photocell
- Хоёр дахь фотоэлемент нь ухаалаг байшингийн хамгаалалтын системийн хөдөлгөөн мэдрэгч болдог.
- Мэдрэгчийг зөвхөн системийг өмнөх алхамд дурдсанчлан 'Away' горимд оруулсан үед л ашигладаг.
- Хэрэв фотоэлемент хүлээн авах гэрлийн хэмжээ буурч байвал үүнийг байшин доторх хөдөлгөөн гэж хүлээн зөвшөөрдөг.
- Төслийн энэ хэсгийн тохиргоог SIK туршилтын гарын авлага 7 -р туршилтын дор олж болно. Гэсэн хэдий ч зөвхөн фотоэлемент ба түүний холбосон утсыг утасд оруулах шаардлагатай.
Алхам 4: RGB LED
- RGB LED нь мини цахилгаан унтраалга, ухаалаг байшингийн хамгаалалтын системийн хоёр дахь фотоцеллтэй хамт хэрэглэгддэг.
- Гурван өөр өнгийг ухаалаг байшингийн оршин суугчдын үзүүлэлт болгон ашигладаг.
- Системийг 'Гэр' горимд байрлуулахад LED цэнхэр болж хувирна. Системийг 'Away' горимд байрлуулахад LED нь ногоон өнгөтэй болно. Хөдөлгөөн мэдрэгч болгон ашигладаг фотоэлементийг асаахад гэрэл улаан болж анивчдаг.
- RGB LED -ийн утсыг SIK туршилтын гарын авлагын 3 -р туршилтаас олж болно.
Алхам 5: Температур мэдрэгч
- Температур мэдрэгч нь ухаалаг байшинд эрчим хүч хэмнэх гол хэсэг юм.
- Ухаалаг байшин ашиглалтанд орсон үед оршин суугч гэртээ хүссэн температураа оруулах боломжтой.
- Температур мэдрэгч нь бодит температур хүссэн температураас хэр хол байгааг систем хэрхэн мэддэгийг хэлнэ.
- Температур мэдрэгчийн тохиргоог SIK туршилтын гарын авлагын 9 -р туршилтаас олж болно.
Алхам 6: DAGU редуктор
- Мотор нь ухаалаг гэрт хүссэн температур, температур мэдрэгчийн заалтыг үндэслэн байшин доторх температурыг зохицуулах боломжийг олгодог.
- Гэрт АС -ийн үүрэг гүйцэтгэдэг тул мотор нь хүссэн температураас хэр өндөр температураас хамаарч өөр өөр хурдтайгаар эргэдэг. Ялгаа нь өндөр байх тусам мотор илүү хурдан эргэлддэг.
- Моторын утсыг 11 -р туршилтын доорх Туршилтын гарын авлагаас олж болно.
Алхам 7: Код
- Ухаалаг байшингийн код нь олон хэрэглэгчийн интерфэйсийг агуулдаг бөгөөд энэ нь оршин суугчдад хэрхэн ажилладагийг ойлгох, тохиргоог хялбархан өөрчлөх боломжийг олгодог.
- Ухаалаг гэрийн системийн тусламжтайгаар оршин суугч нь хөдөлгөөн мэдрэгчийг хол байх үед унтраасан тохиолдолд анхааруулга хүлээн авч, имэйлээр илгээх болно.
- Зөвхөн хийх ёстой өөрчлөлт бол илгээгчийн имэйл болон хүлээн авагчийн имэйл хаягийн мэдээллийг оруулах явдал юм.
тодорхой a; тодорхой s; цэвэр м; clc; бүгдийг хаах; % Arduino болон servo хувьсагчдыг цэвэрлээрэй, ингэснээр кодыг үр дүнтэй ажиллуулах бүртээ дахин тодорхойлж болно ("гогцоонуудын аль нэг нь зөв ажиллахын тулд" clear m "шаардлагатай) a = arduino (); % Arduino хувьсагчийг тохируулна уу
s = servo (a, 'D6'); % Servo хувьсагчийг тохируулна уу
% Аюулгүй байдлын системийн анхааруулах имэйлийн имэйлийн хувьсагчдыг эхлүүлэх
имэйлүүд = {'хүлээн авагчийн хаягийг оруулах'}; % Аюулгүй байдлын имэйлийг илгээх имэйлийн массив
Имэйл илгээх Gmail -ийг ашиглахад шаардлагатай имэйлийн тохиргооны % тохиргоо
setpref ('Интернет', 'E_mail', 'илгээгчийн имэйл хаяг');
setpref ('Интернет', 'SMTP_Username', 'илгээгчийн хэрэглэгчийн нэр');
setpref ('Интернет', 'SMTP_Password', 'илгээгчийн нууц үг');
тулгуур = java.lang. System.getProperties;
props.setProperty ('mail.smtp.auth', 'үнэн');
props.setProperty ('mail.smtp.socketFactory.class', 'javax.net.ssl. SSLSocketFactory'); props.setProperty ('mail.smtp.socketFactory.port', '465');
% Имэйлийн сэдэв ба текстийн хувьсагчид
subj = 'Танайд халдагчдын анхааруулга';
text = 'Сайн байна уу, энэ бол таны гэрт аюулгүй байдлын систем бөгөөд танай гэрээс гадуур хөдөлгөөн илрүүлсэн тухай мэдээлж байна. Бид шаардлагатай арга хэмжээг авч, танд холбогдох байгууллагуудтай холбоо барьсан. Аюулгүй байх.';
үнэн байхад
prompt = {'Гэрийн хүссэн температурыг оруулна уу (65F ба 85F хооронд):'}; % Хэрэглэгчийн оролтын цэсийг оруулах
dlgtitle = 'Температурыг сонгох'; % Хэрэглэгчийн оруулах цэсний гарчиг
бүдэг = [1 30]; % Хэрэглэгчийн оруулах цэсний хэмжээсүүд
тодорхойлолт = {'72'}; % Цэсийг анх нээхэд гарч ирэх үндсэн өгөгдөл
tempsel_array = inputdlg (хүлээх мөр, dlgtitle, бүдэг, тодорхойлолт); % Popup хэрэглэгчийн оролтын цэс нь оруулсан дугаарыг массивт хадгалах болно
if ~ isempty (tempsel_array) % Хэрэв массив хоосон биш бол
tempsel_char = cell2mat (tempsel_array); % Массивыг тэмдэгт мөр болгон хөрвүүлэх
tempsel = str2double (tempsel_char); % Тэмдэгтийн мөрийг тоонууд болгон хөрвүүлэх
thingSpeakWrite (chID, tempsel, 'WriteKey', writeKey, 'Fields', 1); % Сонгосон температураа ThingSpeak сувагтаа бичнэ үү
break % while циклээс таслах тул цэс олон удаа гарч ирэхгүй
өөр % Хэрэв хэрэглэгч дарж байвал температур оруулахын оронд цуцална
msg1 = msgbox ('Температурыг сонгоогүй, анхдагчаар 85F', 'Анхааруулга!'); % Цуцлах товчлуурыг дарсны дараа хэрэглэгчид үзүүлэх зурвас
хүлээх (msg1); % Үргэлжлүүлэхийн өмнө зурвасын хайрцаг хаагдахыг хүлээнэ үү
tempsel = 85; % Температурыг мессежийн хайрцагт заасан хэмжээнд тохируулна уу
thingSpeakWrite (chID, tempsel, 'WriteKey', writeKey, 'Fields', 1); % Сонгосон температураа ThingSpeak сувагтаа бичнэ үү
break % while циклээс таслах тул цэс олон удаа гарч ирэхгүй
Төгсгөл
Төгсгөл
үнэн байхад
chID = 745517; % ThingSpeak сувгийн ID
writeKey = 'G9XOQTP8KOVSCT0N'; ThingSpeak суваг руу нэвтрэх түлхүүр %
Мэдээлэл авахын тулд мэдрэгчийг эхлүүлнэ үү
tempread = readVoltage (a, 'A3'); % Температур мэдрэгчийн хүчдэлийг уншина уу
lightl1 = readVoltage (a, 'A2'); % Улаан гэрэл рүү шилжих фоторезисторын гэрлийн түвшин
lightl2 = readVoltage (a, 'A5'); % Хамгаалалтын систем рүү явж буй фоторезисторын гэрлийн түвшин
switchv = readVoltage (a, 'A0'); Шилжүүлэгчийн % утга
% Температурын өгөгдлийг хүчдэлээс Фаренгейтийн градус болгон хөрвүүлэх
tempC = (tempread - 0.5) * 100; % Хүчдэлийг Цельсийн температурт хөрвүүлэх
tempF = (tempC * 9/5) + 32; % Цельсийн температурыг Фаренгейтийн температурт хөрвүүлэх
% Олон өнгийн LED -ийн зүү дугаарыг эхлүүлнэ үү
redp = 'D9'; % LED -ээс улаан гэрэл асаах
greenp = 'D10'; % LED -ээс ногоон гэрэл зүү
зураг = 'D11'; LED -ээс цэнхэр гэрлийг зүү
if tempsel <tempF % Хэрэв сонгосон температур өрөөний температураас их байвал
бичих байрлал (ууд, 1); % Servo хөдөлж эхэлнэ
түр зогсоох (10) % Servo нь 10 секундын турш эргэлдэж байх бөгөөд тодорхой хугацааны дараа АС унтрах болно.
бичих байрлал (ууд, 0); % Сэнсийг асаахгүйгээр кодоо үргэлжлүүлэхийн тулд сэнсийг унтраа
tempsel = 150; % Сэнсийг унтраасны дараа температурыг дахин тохируулахын тулд кодыг үргэлжлүүлэхийн тулд дахин хийнэ үү
Төгсгөл
if lightl1 <= 3 % Эхний фото резистор бага гэрлийн түвшинг илрүүлсэн бол
writeDigitalPin (a, 'A1', 1); % Гадна талын гэрлийг илэрхийлдэг улаан LED -ийг асаана уу
өөр % Хэрэв гэрлийн түвшин дахин өндөр байвал
writeDigitalPin (a, 'A1', 0); % Гэрлийн түвшин дахин хангалттай өндөр байх үед улаан LED -ийг унтраа
Төгсгөл
if switchv> 3 % Хэрэв унтраалга асаалттай байвал
A = байдаг ('m', 'var'); % 'M' хувьсагч байгаа эсэхийг шалгаарай, энэ нь while давталтыг эхлүүлж, цэсийн зүйлийг сонгох үед үүнийг эвдэх боломжийг олгоно (ийм учраас кодын эхэнд тодорхой m хийх ёстой)
байхад A == 0 % Loop нь 'm' хувьсагчийг гартал гүйцэтгэх болно
menutext = 'Та ямар аюулгүй байдлын горимд орохыг хүсч байна вэ?'; % Аюулгүй байдлын цэсийн текст
choices = {'Гэртээ', 'Эзгүйд'}; % Аюулгүй байдлын попап цэсийн сонголтууд
m = цэс (цэсийн текст, сонголтууд); % Аюулгүй байдлын системийн горимуудын попап цэс
завсарлага % while цикл тасарсан эсэхийг баталгаажуулдаг тул цэс олон удаа гарч ирэхгүй
Төгсгөл
if m == 1 % Хэрэв 'Home' горим сонгогдсон бол
writeDigitalPin (a, зураг төсөл, 1); % Өнгө өөрчлөгдөх LED дээр цэнхэр гэрлийг асаана уу
writeDigitalPin (a, redp, 0);
writeDigitalPin (a, greenp, 0);
elseif m == 2 % Хэрэв 'Away' горимыг сонгосон бол
writeDigitalPin (a, зураг төсөл, 0);
writeDigitalPin (a, redp, 0);
writeDigitalPin (a, greenp, 1); % Өнгө өөрчлөгдөж буй LED дээрх ногоон гэрлийг асаана уу
if lightl2 <= 3 % Хэрэв хоёр дахь фоторезисторын гэрлийн түвшин бага байвал хамгаалалтын системээр илрүүлсэн хөдөлгөөнийг илэрхийлнэ.
sendmail (имэйл, subj, текст); % Өмнө нь тодорхойлсон имэйлийн шинж чанар бүхий имэйл илгээх WriteDigitalPin (a, greenp, 0); % Улаан өнгийн улаан өнгийг 2 удаа асаах, унтраах
writeDigitalPin (a, redp, 1);
түр зогсоох (0.3)
writeDigitalPin (a, redp, 0);
түр зогсоох (0.3)
writeDigitalPin (a, redp, 1);
түр зогсоох (0.3)
writeDigitalPin (a, redp, 0);
түр зогсоох (0.3)
writeDigitalPin (a, redp, 1); % Гэрлийн түвшин дээшлэх хүртэл хөдөлгөөн байгааг харуулахын тулд анивчсаныхаа дараа хатуу улаан өнгөөр дуусга
msg2 = msgbox ('Аюулгүй байдлын системээр халдагчдыг илрүүлсэн тул гэрийн эзэд рүү имэйл илгээсэн.', 'АНХААРУУЛГА!'); Хэрэглэгчийн хөдөлгөөнийг мэдэгдэх, илгээсэн имэйлийн талаар мэдээлэх % Message box (msg2) % Үргэлжлүүлэхээсээ өмнө зурвасын хайрцаг хаагдахыг хүлээнэ үү.
өөр
writeDigitalPin (a, greenp, 1); % Гэрлийн түвшин дахин нэмэгдсэний дараа дахин ногоон болж хувирна
Төгсгөл
Төгсгөл
elseif switchv <3.3 % Хэрэв унтраасан бол
writeDigitalPin (a, зураг төсөл, 0); % Аюулгүй байдлын систем унтарсан байгааг харуулахын тулд LED -ийг бүрэн унтраа
writeDigitalPin (a, redp, 0);
writeDigitalPin (a, greenp, 0);
Төгсгөл
Төгсгөл
Зөвлөмж болгож буй:
Гэрийн тэжээвэр амьтдын хоол хийх автомат аяга таваг төсөл: 13 алхам
Гэрийн тэжээвэр амьтдын хоол хийх автомат аяга таваг төсөл: Энэхүү зааварчилгаанд хүнсний аягатай хавсаргасан гэрийн тэжээвэр амьтдын автоматжуулагч, тэжээгчийг хэрхэн яаж хийхийг тайлбарлаж, тайлбарлах болно. Бүтээгдэхүүн хэрхэн ажилладаг, ямар харагдаж байгааг харуулсан видеог би энд хавсаргав
IOT гэрийн автоматжуулалтын DIY төсөл #1: 7 алхам
IOT Гэрийн Автоматжуулалтын DIY төсөл №1: # ОРШИЛ Гэрийн автоматжуулалт гэдэг нь гэр, цахилгаан сэнс, хөргөгч, гэрэл, жагсаалт зэрэг гэр ахуйн цахилгаан хэрэгслийн автоматжуулалтын процесс бөгөөд ингэснээр тэдгээрийг утас, компьютер эсвэл алсаас удирдах боломжтой болно. Энэхүү төсөл нь esp2866
Төсөл: Гэрийн эрчим хүч хэмнэгч: 8 алхам
Төсөл: Гэрийн эрчим хүч хэмнэгч: Ханна Робинсон, Рэйчел Виер, Кайла Клиари Arduino самбар болон Matlab ашиглах нь гэрийн эзэддээ эрчим хүчний хэрэглээгээ оновчтой болгоход туслах энгийн бөгөөд үр дүнтэй арга болох нь батлагдсан. Arduino самбарын энгийн бөгөөд олон талт байдал нь гайхмаар юм. Байдаг
Эхлэгчдэд зориулсан Arduino -ийн 10 үндсэн төсөл! Нэг самбараар хамгийн багадаа 15 төсөл хий !: 6 алхам
Эхлэгчдэд зориулсан Arduino -ийн 10 үндсэн төсөл! Хамгийн багадаа 15 төслийг нэг самбараар хий !: Arduino Project & Хичээлийн зөвлөл; Arduino -ийн үндсэн 10 төслийг багтаасан болно. Бүх эх код, Gerber файл болон бусад. SMD байхгүй байна! Хүн бүрт хялбар гагнах. Зөөврийн болон сольж болох хялбар бүрэлдэхүүн хэсгүүд. Та хамгийн багадаа 15 төсөл хийх боломжтой
USB -ээр ажилладаг шарагч! Энэхүү төсөл нь хуванцар / мод / цаасаар шатаж болно (хөгжилтэй төсөл нь маш нарийн мод байх ёстой): 3 алхам
USB -ээр ажилладаг шарагч! Энэ төсөл нь хуванцар / мод / цаасаар шатаж болно (хөгжилтэй төсөл нь маш нарийн мод байх ёстой): ЭНЭ USB ашиглан бүү хий !!!! Энэ нь бүх сэтгэгдлээс таны компьютерийг гэмтээж болохыг олж мэдсэн. миний компьютер сайн байна 600ma 5V утасны цэнэглэгч ашиглана уу. Би үүнийг ашигласан бөгөөд энэ нь сайн ажилладаг бөгөөд хэрэв та цахилгаан тэжээлийг зогсоохын тулд хамгаалалтын залгуур ашиглавал юу ч гэмтээхгүй