Мазмұны:
- 1 -қадам: жарыққа сезімтал жарық диоды
- 2 -қадам: шағын қуат қосқышы
- 3 -қадам: Екінші фотоэлемент
- 4 -қадам: RGB жарық диоды
- 5 -қадам: Температура сенсоры
- 6 -қадам: DAGU редукторы
- 7 -қадам: код
Бейне: EF230 ақылды үй жобасы: 7 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:25
Қажетті бөлшектер мен материалдар:
- 1 Arduino MKR 1000
- 3 Блок -тақта
- 2 шағын фотоэлементтер
- 1 NPN транзисторлары
- 1 шағын қуат қосқышы
- 1 жарық диоды - RGB (4 тірек)
- 1 жарық диоды (сіздің қалауыңыз бойынша)
- 1 диод 1N4148
- 1 10К Ом резисторы
- 5 100 Ом резисторы
- 1 TMP36 температура сенсоры
- 1 DAGU 48: 1 редукторлы қозғалтқыш
- 25 өтпелі сымдар
- USB сымы
- MATLAB бағдарламасы
-
Arduino 101/Genuino 101 тақтасына арналған SIK экспериментіне арналған нұсқаулық - SIK экспериментіне сілтеме
Бұл жоба үй иелеріне энергияны пайдалану мен қауіпсіздікті оңтайландыруға көмектесу үшін деректерді пайдаланатын ақылды үй жүйесінің тұжырымдамалық дизайнын егжей -тегжейлі сипаттайды. Оған түнгі уақытта сыртқы шамдарды қосатын жарық сенсоры, қауіпсіздікті қамтамасыз ету үшін жарық сенсоры, ішкі температураны реттеуге арналған температура сенсоры мен желдеткіш кіреді.
1 -қадам: жарыққа сезімтал жарық диоды
- Жарыққа сезімтал жарықдиодты қондырғы түнде келетін үйде сыртқы шамдарды көрсетуге арналған.
- Шағын фотоэлемент жарықтың аз мөлшерін сезгенде, жарық диоды жанады.
- Ақылды үй үшін бұл энергия мен қауіпсіздікке әсер етеді. Бұл күндізгі уақытта шамдарды өшіру арқылы энергияны үнемдейді және түнде қауіпсіздікті күшейтеді.
- Жобаның осы бөлігінің сымдары мен қондырғыларын SIK Тәжірибе нұсқаулығындағы 7 -экспериментте табуға болады.
2 -қадам: шағын қуат қосқышы
- Коммутатор - ақылды үйдің қауіпсіздік процесінің бірінші қадамы.
- Қосылған кезде коммутатор пайдаланушыдан «Үйде» немесе «Алыста» режиміне кіргісі келетінін сұрайтын жауапты бастайды.
- Егер «Үй» режимі таңдалса, қауіпсіздік қарусыздандырылған болып саналады, бірақ «Алыста» режимін таңдау қауіпсіздік жүйесін қаруландырады.
- Жобаның осы бөлігінің сымдарын Тәжірибе нұсқаулығындағы 6 -тәжірибеде табуға болады. Ақылды үйдің мақсаттары үшін 6 -тәжірибеде табылған жарықдиодты шамдар мен оларды қосатын сымдарды қосудың қажеті жоқ.
3 -қадам: Екінші фотоэлемент
- Екінші фотоэлемент ақылды үйдің қауіпсіздік жүйесі үшін қозғалыс сенсоры ретінде қызмет етеді.
- Сенсор тек алдыңғы қадамда сипатталғандай, жүйе «Алыста» режиміне қойылған кезде ғана қолданылады.
- Егер фотоэлементте түсетін жарық мөлшерінің төмендеуі байқалса, ол мұны үй ішіндегі қозғалыс деп таниды.
- Жобаның осы бөлігіне арналған қондырғыны SIK Experiment Guide бағдарламасындағы 7 -экспериментте табуға болады. Бірақ сымға тек фотоэлементтер мен оны қосатын сымдарды қосу қажет.
4 -қадам: RGB жарық диоды
- RGB светодиоды шағын қуат қосқышымен және ақылды үйдің қауіпсіздік жүйесіне арналған екінші фотоэлементпен бірге қолданылады.
- Үш түрлі түсті ақылды үй тұрғыны үшін индикатор ретінде қолданылады.
- Жүйе «Үй» режиміне қойылғанда, жарық диоды көк түске боялады. Жүйе «Алыста» режиміне қойылғанда жарық диоды жасыл түске боялады. Қозғалыс сенсоры ретінде қолданылатын фотоэлементті сөндіргенде, жарық қызыл болып жыпылықтайды.
- RGB жарықдиодты сымдарды SIK Experiment Guide 3 тәжірибесінде табуға болады.
5 -қадам: Температура сенсоры
- Температура сенсоры - ақылды үйде энергияны үнемдеудің негізгі бөлігі.
- Ақылды үй қолданылған кезде тұрғын үйіне қажетті температураны енгізе алады.
- Температура сенсоры - бұл жүйенің нақты температураның қажетті температурадан қаншалықты алыс екенін білуі.
- Температура датчигін орнатуды SIK Experiment Guide 9 тәжірибесінде табуға болады.
6 -қадам: DAGU редукторы
- Қозғалтқыш ақылды үйге қажетті температураға және температура сенсорының көрсеткіштеріне сүйене отырып, үйдегі температураны реттеуге мүмкіндік береді.
- Үйдегі айнымалы ток қондырғысының рөлін атқара отырып, қозғалтқыш нақты температураның қажетті температурадан қаншалықты жоғары екендігіне байланысты әр түрлі жылдамдықта айналады. Айырмашылық неғұрлым жоғары болса, ол моторды тез айналдырады.
- Қозғалтқыштың сымдарын 11 -эксперимент бойынша Тәжірибе нұсқаулығынан табуға болады.
7 -қадам: код
- Ақылды үйдің коды тұрғынға оның қалай жұмыс істейтінін түсінуге және параметрлерді оңай өзгертуге мүмкіндік беретін бірнеше пайдаланушы интерфейсін қамтиды.
- Ақылды үй жүйесімен тұрғындар қозғалыс сенсоры олар жоқ кезде өшірулі болса, ескерту алады және электрондық поштаға жібереді.
- Жалғыз өзгерту - жіберушінің электрондық поштасы мен алушының электрондық пошта мекенжайы туралы ақпаратты енгізу.
анық а; анық с; таза м; clc; бәрін жабу; % Таза arduino және servo айнымалылары, сондықтан олар кодты тиімді іске қосатын сайын қайта анықталуы мүмкін (уақытша ілмектердің біреуі дұрыс жұмыс істеуі үшін «clear m» қажет) a = arduino (); % Arduino айнымалы мәнін орнатыңыз
s = серво (a, 'D6'); % Серво айнымалы мәнін орнатыңыз
% Қауіпсіздік жүйесі туралы ескерту электрондық поштасы үшін электрондық пошта айнымалы мәндерін баптаңыз
emails = {'алушының мекенжайын енгізу'}; % Қауіпсіз электрондық пошта жіберілетін электрондық хаттар жиыны
% Поштаны жіберу үшін Gmail пайдалану үшін қажет электрондық пошта параметрлері параметрлері
setpref ('Интернет', 'E_mail', 'жіберушінің электрондық пошта мекенжайы');
setpref ('Интернет', 'SMTP_Username', 'жіберушінің пайдаланушы аты');
setpref ('Интернет', 'SMTP_Password', 'жіберушінің құпия сөзі');
реквизиттер = java.lang. System.getProperties;
props.setProperty ('mail.smtp.auth', 'true');
props.setProperty ('mail.smtp.socketFactory.class', 'javax.net.ssl. SSLSocketFactory'); props.setProperty ('mail.smtp.socketFactory.port', '465');
% Электрондық пошта тақырыбы мен мәтіндік айнымалылар
subj = 'Сіздің үйіңізге зиянкестер туралы ескерту';
text = 'Сәлеметсіз бе, бұл сіздің үйден тыс жерде қозғалыс анықталғанын хабарлайтын Smart Home қауіпсіздік жүйесі. Біз сіз үшін қажетті шараларды қабылдадық және құзырлы органдарға хабарладық. Сақ болыңыз. ';
рас болса
prompt = {'Қалаған үй температурасын енгізіңіз (65F пен 85F аралығында):'}; % Пайдаланушы енгізу мәзіріне шақыру
dlgtitle = 'Температураны таңдау'; % Қолданушы енгізу мәзірінің атауы
дим = [1 30]; % Пайдаланушы енгізу мәзірінің өлшемдері
definput = {'72'}; % Мәзір бірінші ашылғанда пайда болатын әдепкі енгізу
tempsel_array = inputdlg (шақыру, dlgtitle, күңгірттеу, анықтау); % Енгізілген нөмірді массивке сақтайтын пайдаланушы қалқымалы енгізу мәзірі
if ~ isempty (tempsel_array) % Егер массив бос ЕМЕС
tempsel_char = cell2mat (tempsel_array); % Массивті символдар жолына түрлендіріңіз
tempsel = str2double (tempsel_char); % Таңбалар жолын сандарға түрлендіру
thingSpeakWrite (chID, tempsel, 'WriteKey', writeKey, 'Fields', 1); % Таңдалған температураны ThingSpeak арнасына жазыңыз
break % while циклінен үзіңіз, осылайша мәзір бірнеше рет шықпайды
else % Егер пайдаланушы температураны енгізудің орнына басса
msg1 = msgbox ('Температура таңдалмаған, әдепкі бойынша 85F', 'Ескерту!'); % Бас тарту түймесін басқаннан кейін пайдаланушыға хабарлама көрсетіледі
күту (msg1); % Жалғастырмас бұрын хабар терезесінің жабылғанын күтіңіз
tempsel = 85; % Температураны хабар терезесінде көрсетілгенге орнатыңыз
thingSpeakWrite (chID, tempsel, 'WriteKey', writeKey, 'Fields', 1); % Таңдалған температураны ThingSpeak арнасына жазыңыз
break % while циклінен үзіңіз, осылайша мәзір бірнеше рет шықпайды
Соңы
Соңы
рас болса
chID = 745517; % ThingSpeak арна идентификаторы
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; % Цельсий бойынша температураны Фаренгейт температурасына түрлендіру
% Көп түсті жарықдиодты түйреуіш нөмірлерін баптаңыз
redp = 'D9'; % Жарықдиодты қызыл шамға арналған түйреуіш
greenp = 'D10'; % Жарық диодты жасыл шамға арналған түйреуіш
жоспар = 'D11'; % Жарықдиодты көк түске арналған түйреуіш
if tempsel <tempF % Егер таңдалған температура бөлме температурасынан үлкен болса
writePosition (лар, 1); % Серво қозғала бастайды
кідірту (10) % Серво 10 секунд бойы айналуды жалғастырады, бұл айнымалы ток белгілі бір уақыт өткеннен кейін өшеді.
writePosition (лар, 0); % Желдеткішсіз кодты жалғастыру үшін желдеткішті өшіріңіз
tempsel = 150; % Желдеткіш өшірілгеннен кейін, тек кодты жалғастыру үшін температураның мәнін өзгертіңіз
Соңы
if lightl1 <= 3 % Егер бірінші фоторезистор жарықтың төмен деңгейін анықтаса
writeDigitalPin (a, 'A1', 1); % Сыртқы жарықтарды көрсететін қызыл жарықдиодты қосыңыз
else % Егер жарық деңгейі қайтадан жоғары болса
writeDigitalPin (a, 'A1', 0); % Жарық деңгейі қайтадан жеткілікті жоғары болғанда қызыл жарықдиодты өшіріңіз
Соңы
егер switchv> 3 % Егер қосқыш қосылған болса
A = бар ('m', 'var'); % 'M' айнымалысының бар -жоғын тексеріңіз, бұл уақытша циклді инициализациялайды және мәзір элементі таңдалған кезде оны бұзуға мүмкіндік береді (сондықтан кодтың басында анық m орындалуы керек)
ал A == 0 % циклы 'm' айнымалысы болғанша орындалады
menutext = 'Қандай қауіпсіздік режиміне кіргіңіз келеді?'; % Қауіпсіздік қалқымалы мәзірі үшін мәтін
таңдаулар = {'Үйде', 'Алыста'}; % Қауіпсіздік қалқымалы мәзірі үшін таңдаулар
m = мәзір (мәзір мәтіні, таңдаулар); % Қауіпсіздік жүйесінің режимдеріне арналған қалқымалы мәзір
break % while циклы үзілгенін қамтамасыз етеді, сондықтан мәзір бірнеше рет шықпайды
Соңы
егер m == 1 % «Үй» режимі таңдалса
writeDigitalPin (a, сызба, 1); % Түсті өзгертетін светодиодта тек көк шамды қосыңыз
writeDigitalPin (a, redp, 0);
writeDigitalPin (a, greenp, 0);
elseif m == 2 % «Егер сыртта» режимі таңдалса
writeDigitalPin (a, жоспар, 0);
writeDigitalPin (a, redp, 0);
writeDigitalPin (a, greenp, 1); % Түсті өзгерту светодиодында тек жасыл шамды қосыңыз
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 ('Қауіпсіздік жүйесі бұзушыны анықтады, үй иелеріне хабарлау үшін электрондық пошта жіберілді.', 'ЕСКЕРТУ!'); Пайдаланушыға қозғалыс туралы хабарлау және жіберілген электрондық хабар туралы хабарлау үшін % хабарлама терезесі (msg2) % Жалғастырмас бұрын хабар терезесінің жабылғанын күтіңіз.
басқа
writeDigitalPin (a, greenp, 1); % Жарық деңгейі қайтадан көтерілгеннен кейін ол қайтадан жасылға айналады
Соңы
Соңы
elseif switchv <3,3 % Егер қосқыш өшірулі болса
writeDigitalPin (a, жоспар, 0); % Қауіпсіздік жүйесі өшірілгенін көрсету үшін жарық диодты толығымен өшіріңіз
writeDigitalPin (a, redp, 0);
writeDigitalPin (a, greenp, 0);
Соңы
Соңы
Ұсынылған:
Ақылды үстелдің жарықдиодты шамы - Ақылды жарықтандыру W/ Arduino - Neopixels жұмыс кеңістігі: 10 қадам (суреттермен)
Ақылды үстелдің жарықдиодты шамы | Ақылды жарықтандыру W/ Arduino | Neopixels жұмыс кеңістігі: Қазір біз үйде көп уақыт өткіземіз, виртуалды түрде оқимыз және жұмыс жасаймыз, сондықтан неге Arduino және Ws2812b жарықдиодты жарықдиодты жарықтандыру жүйесімен жұмыс кеңістігін жақсартпау керек. Үстелдің жарықдиодты шамы
SONOFF ақылды қосқыштарымен ақылды роликті жалюзи қалай жасауға болады ?: 14 қадам
SONOFF ақылды қосқыштарымен ақылды роликті қалай жасауға болады?: SONOFF ақылды қосқыштарындағы интерлок режимін қолданыңыз, қарапайым роликті/жалюзиді ақылдыға айналдыру және оны кешке түсіріңіз? Қалай болғанда да, мен
Аппараттық құралдар мен бағдарламалық қамтамасыз ету ақылды құрылғыларды бұзады, Tuya және Broadlink LED шамы, Sonoff, BSD33 ақылды штепселі: 7 қадам
Аппараттық құралдар мен бағдарламалық қамтамасыз ету ақылды құрылғыларды бұзады, Tuya және Broadlink LED шамы, Sonoff, BSD33 ақылды қосқышы: Бұл нұсқаулықта мен өзімнің микробағдарламалық жасақтамамен бірнеше ақылды құрылғыларды қалай жыпылықтағанымды көрсетемін, сондықтан мен оларды Openhab қондырғысы арқылы MQTT арқылы басқара аламын. Әрине, мен оларды бұзған кезде жаңа құрылғылар
Ақылды дабыл: Raspberry Pi көмегімен жасалған ақылды дабыл сағаты: 10 қадам (суреттермен)
Ақылды дабыл: Raspberry Pi көмегімен жасалған ақылды оятқыш: Сіз ақылды сағатты алғыңыз келді ме? Егер солай болса, онда бұл сізге арналған шешім! Мен Smart Alarm Clock жасадым, бұл веб -сайтқа сәйкес дабыл уақытын өзгертуге болатын сағат. Дабыл сөнген кезде дыбыс шығады (дыбыстық сигнал) және 2 жарық қосылады
Аврора жобасы: 20 € үшін ақылды ойын тінтуір тақтасы: 13 қадам (суреттермен)
Аврора жобасы: 20 € арналған ақылды ойын тінтуір тақтасы: Негізгі идея - тек жарық шоулары бар RGB тінтуір тақтасы үшін неге 50 доллар жұмсау керек? Жарайды, олар керемет және өте жұқа, бірақ олар сонымен қатар сіздің компьютеріңізге «жеңіл» емес ашық түстерді реттеу үшін бағдарламалық қамтамасыз етуді қосады. егер сіз келіссеңіз