Taula de continguts:
- Pas 1: començar: materials
- Pas 2: Pas 2: aproximació al problema a resoldre
- Pas 3: Pas 3: Configuració de la interfície gràfica d’usuari i del flux bàsic de codi
- Pas 4: Pas 3: Configuració del sistema de termòstat
- Pas 5: Pas 4: Configuració del sistema de portes
- Pas 6: Pas 6: Configuració del sistema de llum inundable
- Pas 7: Conclusió
Vídeo: Sistema Arduino Smart Home: 7 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:14
En aquest instructiu us mostrarem com crear el vostre propi sistema intel·ligent per a la llar amb el dissenyador d'aplicacions de MATLAB amb un tauler vermell Sparkfun. Aquesta instrucció es pot utilitzar per ajudar a obtenir una comprensió bàsica del dissenyador d'aplicacions de MATLAB, a més d'utilitzar un fotoresistor, un servomotor i un sensor de moviment PIR.
Pas 1: començar: materials
Aquest projecte requereix els materials següents:
- Arduino Uno (per a aquest projecte hem utilitzat una placa Sparkfun Red)
- Un fotoresistor
- Un mini-servo motor
- Un servomotor continu
- Un sensor de moviment PIR
- Un sensor de temperatura
- 2 LEDs
- Cables i resistències segons calgui
Pas 2: Pas 2: aproximació al problema a resoldre
L’objectiu principal d’aquest projecte era crear un sistema domèstic intel·ligent fàcil d’utilitzar codificant una placa Arduino Uno amb MATLAB. Primer vam pensar a treballar només amb un sensor de temperatura i humitat, però, si ens quedéssim amb aquests dos sensors, el nostre sistema de casa intel·ligent no seria fàcilment comercialitzable per a un públic general. Vam decidir que volíem crear un sistema energètic global per a la llar intel·ligent que funcionés com un termòstat intel·ligent i un sistema de seguretat. Finalment, volíem treballar amb AppDesigner de MATLAB perquè l'usuari pugui modificar fàcilment la casa intel·ligent com vulgui.
Pas 3: Pas 3: Configuració de la interfície gràfica d’usuari i del flux bàsic de codi
Per començar, haureu d'obrir MATLABs AppDesigner i col·locar el següent:
Dos camps d'edició numèrica per a una entrada de llindar fred i fred
Un botó per obrir la porta
I quatre làmpades indicadores per a la xemeneia, la porta, el ventilador i el llum d'inundació.
Dues etiquetes per comunicar-se amb l'usuari.
Per a aquest projecte, ens va resultar més fàcil treballar amb variables globals i la funció d'inici dins del dissenyador. Necessitareu aquestes variables dins de la funció d'inici:
global a
a = arduino ('COM3', 'uno', 'Biblioteques', 'Servo'); global s global p global hotUI global coldUI global unlock global temp global curr_temp global int_light
En aquest moment només tenim assignada la variable a perquè el vostre ordinador pugui llegir l'arduino. El COM3 pot variar en funció del port que pot utilitzar el vostre equip.
Quan executeu el codi, s'iniciarà dins de la funció d'inici creant les variables globals i calibrant el sistema. Al final d'aquesta funció, hi haurà una funció de temporitzador que crida a una propietat que hem anomenat Temporitzador. Dins d'aquesta propietat del temporitzador, posem el codi que executa el sistema domèstic perquè el temporitzador no torni a executar el codi de calibratge.
Nota: no vam donar cap instrucció de cablejat per al sistema. Vam fer referència al manual que s'inclou amb el tauler SparkFun Red.
Pas 4: Pas 3: Configuració del sistema de termòstat
La funció del termòstat funciona de la següent manera:
L'usuari introduirà la temperatura que considera massa calenta o massa freda. Un cop el termòmetre prengui una lectura, si la casa és massa freda, la "llar de foc" (un LED vermell) s'encén i escalfa la casa. Si la casa està massa calenta, aleshores s’encén un "ventilador" (servomotor continu) que refreda la casa.
Per codificar el sistema de termòstat:
Començarem dins de la funció d’inici per mostrar la temperatura actual i deixar que l’usuari introdueixi els seus llindars de fred i calor.
p = 'A0'% Pin de fotoresistència
volt = readVoltage (a, temp); celc = (volt-0,5). * 100; curr_temp = celc * 9/5 + 32; app. Label_4. Text = num2str (curr_temp); El número de l'etiqueta pot canviar la pausa (10); % Pot voler canviar !!!!!
A continuació, completarem el sistema de termòstat dins de la propietat Timer.
curr_temp global
global coldUI global a hotUI global if curr_temp hotUI app. FanStateLamp. Color = [0,47 0,67 0,19]; % Converteix el llum de la GUI en verd writePWMDutyCycle (a, 'D11',.9)% Les tres línies següents de codi executen la pausa del ventilador servo (10) writePWMDutyCycle (a, 'D11',.0) else app. FireplaceStateLamp. Color = [0,90 0,90 0,90]; % Això apaga totes les làmpades GUI i la llar de foc app. FanStateLamp. Color = [0,9 0,9 0,9]; writeDigitalPin (a, 'D13', 0); final
Pas 5: Pas 4: Configuració del sistema de portes
La funció de la porta funciona de la següent manera:
Quan executeu el codi MATLAB per primera vegada, l’aplicació us demanarà que obriu la porta perquè el fotoresistor pugui fer una lectura inicial de llum. Un cop completat, el temporitzador s’activarà i el fotoresistor realitzarà lectures de llum secundàries. Si la lectura de la llum secundària és més lleugera que la inicial, un servomotor bloquejarà la porta. Si l'usuari vol que la porta estigui desbloquejada, pot prémer un botó de l'aplicació que la desbloquejarà.
Per configurar el servomotor i la fotoresistència:
Per codificar el sistema de portes:
Començarem dins de la funció d’inici per fer les lectures inicials de llum.
s = servo (a, 'D9')% Pin pot canviar segons el cablejat
app. Label_4. Text = 'Obriu la porta per calibrar el sistema'; pausa (15); % Això dóna temps a l'usuari per obrir la porta int_light = readVoltage (a, p); app. Label_4. Text = 'Podeu treure el dit';
A continuació, completarem el codi a la propietat del temporitzador
desbloqueig global
global int_light global s global a% Obteniu una lectura de llum actual per comparar curr_light = readVoltage (a, p); % - Porta de bloqueig: si int_light <curr_light writePosition (s, 1)% Les posicions del servo poden diferir per pausa del motor (0,5); app. DoorStateLamp. Color = [0,47 0,67 0,19]; final% - Desbloqueja la porta: si es desbloqueja == 1234 pausa (0,5); writePosition (s,.52) app. DoorStateLamp. Color = [0,85 0,33 0,10]; final
Finalment crearem el botó de desbloqueig de devolució de trucada. Un cop l'usuari prem el botó de desbloqueig, a la variable global de desbloqueig se li assignarà un número que pot completar la sentència final if a la propietat del temporitzador.
desbloqueig global
desbloquejar = 1234;
Pas 6: Pas 6: Configuració del sistema de llum inundable
La funció del llum d'inundació funciona de la següent manera:
Quan inicieu el codi MATLAB, el sensor de moviment PIR començarà a detectar el moviment. Un cop detecti algun tipus de moviment, tallarà un senyal d’alimentació. Un cop tallat aquest senyal, s’encendrà un llum d’inundació fora de casa.
Per configurar el sistema de llum d'inundació:
Per codificar el sistema de llum d'inundació:
Aquesta vegada podem passar a la propietat del temporitzador perquè no necessitem escriure cap variable addicional.
human_detected = readDigitalPin (a, 'D2'); % Pin pot canviar segons la configuració si human_detected == 0 writeDigitalPin (a, 'D7', 1)% Pin pot canviar 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) final
Pas 7: Conclusió
Ara que teniu un esborrany de la vostra interfície gràfica d’usuari amb el dissenyador d’aplicacions i el vostre codi per a l’Arduino, esteu a punt per fer les vostres pròpies modificacions o connectar-lo a Arduino i llest.
Recomanat:
Sistema Alexa Smart Home que utilitza el mòdul de relé NodeMCU: 10 passos
Sistema Alexa Smart Home que fa servir el mòdul de retransmissió NodeMCU: en aquest projecte IoT, he creat el sistema Alexa Smart Home Automation mitjançant el NodeMCU ESP8266 & Mòdul de relés. Podeu controlar fàcilment la llum, el ventilador i altres electrodomèstics amb l’ordre de veu. Per connectar l’altaveu intel·ligent Echo Dot amb el
SmartBox: sistema Smart Home per a la vostra habitació: 6 passos
SmartBox: sistema Smart Home per a la vostra habitació: Hola a tothom. En aquest instructiu, us explicaré com fer un sistema d'habitacions intel·ligents. Aquest sistema conté dos dispositius: un dispositiu general amb un sensor d’humitat i un sensor de temperatura que mesura la qualitat de vida actual de la vostra habitació. Tu w
Sistema Smart Home: 6 passos
Sistema Smart Home: aquest mètode instructiu us ajudarà a explicar com configurar i utilitzar el nostre sistema Smart Home mitjançant el programari Matlab i el maquinari Raspberry Pi. Al final d’aquest instructiu, hauríeu de poder utilitzar el nostre producte amb facilitat
Sistema Smart Home barat i fàcil: 7 passos
Sistema intel·ligent barat i senzill: Hola, sóc Ed. Sóc un jove de 15 anys amb passió per la informàtica, la programació i l'enginyeria elèctrica. Des que sóc bastant jove, visc a casa dels meus pares. Aquest projecte va començar quan vaig decidir traslladar-me a l'habitació Àtic / Loft, al procés de disseny
Sistema IoT Smart Home: 8 passos
Sistema de casa intel·ligent IoT: es tracta del sistema de casa intel·ligent Keefe i Jons a iot