Indholdsfortegnelse:
- Trin 1: Til begyndelse: Materialer
- Trin 2: Trin 2: Nærmer sig problemet
- Trin 3: Trin 3: Konfiguration af GUI og Basic Code Flow
- Trin 4: Trin 3: Opsætning af termostatsystemet
- Trin 5: Trin 4: Opsætning af dørsystemet
- Trin 6: Trin 6: Opsætning af Flood Light System
- Trin 7: Konklusion
Video: Arduino Smart Home System: 7 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
I denne Instructable viser vi dig, hvordan du opretter dit eget smarte hjemmesystem med MATLABs App Designer med et Sparkfun Red -bord. Denne instruktør kan bruges til at få en grundlæggende forståelse af MATLABs App Designer samt brug af en fotoresistor, servomotor og en PIR -bevægelsessensor.
Trin 1: Til begyndelse: Materialer
Dette projekt kræver følgende materialer:
- Arduino Uno (til dette projekt brugte vi et Sparkfun Red board)
- En fotoresistor
- En miniservomotor
- En kontinuerlig servomotor
- En PIR -bevægelsessensor
- En temperatursensor
- 2 lysdioder
- Ledninger og modstande efter behov
Trin 2: Trin 2: Nærmer sig problemet
Hovedmålet med dette projekt var at skabe et smart hjemmesystem, der er let at bruge, ved at kode et Arduino Uno -kort med MATLAB. Vi tænkte først på bare at arbejde med en temperatur- og fugtighedsføler, men hvis vi blev hos de to sensorer, ville vores smarte hjemmesystem ikke let kunne sælges til et generelt publikum. Vi besluttede, at vi ønskede at skabe et samlet smart hjem energisystem, der ville fungere som en smart termostat og sikkerhedssystem. Endelig ønskede vi at arbejde med MATLABs AppDesigner, så brugeren let kan ændre det smarte hjem, som de vil.
Trin 3: Trin 3: Konfiguration af GUI og Basic Code Flow
For at starte skal du åbne MATLABs AppDesigner og placere følgende:
To numeriske redigeringsfelter til en varm og kold tærskelindgang
En knap til at låse døren op
Og fire indikatorlamper til pejsen, dør, ventilator og oversvømmelseslys.
To etiketter til at kommunikere med brugeren.
Til dette projekt fandt vi det lettere at arbejde med globale variabler og opstartsfunktionen inden for designeren. Du skal bruge disse variabler inden for opstartsfunktionen:
globalt a
a = arduino ('COM3', 'uno', 'Libraries', 'Servo'); global s global p global hotUI global coldUI global lås op global temp global curr_temp global int_light
Lige nu har vi kun en opgave til variablen a, så din computer kan læse arduinoen. COM3 kan variere afhængigt af hvilken port din computer kan bruge.
Når du kører koden, starter den inden for opstartsfunktionen og skaber de globale variabler og kalibrerer systemet. I slutningen af denne funktion vil der være en timerfunktion, der kalder en egenskab, vi kaldte Timer. Inden for denne Timer-egenskab indsætter vi koden, der kører hjemmesystemet, så timeren ikke kører kalibreringskoden igen.
Bemærk: Vi gav ingen ledningsinstruktioner til systemet. Vi henviste til manualen, der fulgte med SparkFun Red -kortet.
Trin 4: Trin 3: Opsætning af termostatsystemet
Termostatens funktion fungerer som følger:
Brugeren angiver, hvilken temperatur de anser for for varm eller for kold. Når termometeret tager en aflæsning, hvis hjemmet er for koldt, vil "pejsen" (en rød LED) tænde og opvarme hjemmet. Hvis hjemmet er for varmt, vil en "ventilator" (kontinuerlig servomotor) tænde for afkøling af huset.
For at kode termostatsystemet:
Vi starter inden for opstartsfunktionen for at vise den aktuelle temperatur og lade brugeren indtaste deres kolde og varme tærskler.
p = 'A0' %Fotoresistorstift
volt = readVoltage (a, temp); celc = (volt-0,5).*100; curr_temp = celc*9/5+32; app. Label_4. Text = num2str (curr_temp); %Etiketnummer kan ændre pause (10); %Vil måske ændre !!!!!
Derefter vil vi fuldføre termostatsystemet inden for Timer -ejendommen.
global curr_temp
global coldUI global en global hotUI hvis curr_temp hotUI app. FanStateLamp. Color = [0,47 0,67 0,19]; %Tænder GUI -lampen grøn writePWMDutyCycle (a, 'D11',.9) %De næste tre linjer med kode kører servoviftepausen (10) writePWMDutyCycle (a, 'D11',.0) andet app. FireplaceStateLamp. Color = [0,90 0,90 0,90]; %Dette slukker alle GUI -lamper og pejse -app. FanStateLamp. Color = [0,9 0,9 0,9]; writeDigitalPin (a, 'D13', 0); ende
Trin 5: Trin 4: Opsætning af dørsystemet
Funktionen til døren fungerer som følger:
Når du først kører din MATLAB -kode, vil appen bede dig om at åbne døren, så fotoresistoren kan foretage en indledende lysaflæsning. Når dette er fuldført, aktiveres timeren, og fotoresistoren vil foretage sekundære lysmålinger. Hvis den sekundære lysaflæsning er lettere end initialen, låser en servomotor døren. Hvis brugeren vil have døren ulåst, kan de trykke på en knap i appen, der låser døren op.
Sådan konfigureres servomotoren og fotoresistoren:
Sådan kodes dørsystemet:
Vi starter inden for opstartsfunktionen for at tage de indledende lysmålinger.
s = servo (a, 'D9') %Pin kan ændre sig baseret på ledninger
app. Label_4. Text = 'Åbn venligst døren for at kalibrere systemet'; pause (15); %Dette giver brugeren tid til at åbne døren int_light = readVoltage (a, p); app. Label_4. Text = 'Du må fjerne din finger';
Dernæst udfylder vi koden i Timer -ejendommen
global oplåsning
global int_light global s global a %Få en aktuel lysaflæsning for at sammenligne curr_light = readVoltage (a, p); % - Lås dør - hvis int_light <curr_light writePosition (s, 1) % Servopositioner kan variere pr. Motorpause (0,5); app. DoorStateLamp. Color = [0,47 0,67 0,19]; slut % - Lås dør op - hvis låse op == 1234 pause (0,5); writePosition (s,.52) app. DoorStateLamp. Color = [0,85 0,33 0,10]; ende
Endelig opretter vi opkaldsknappen til tilbagekald. Når brugeren trykker på oplåsningsknappen, vil den globale variabel låse blive tildelt et nummer, der kan fuldføre den sidste if -sætning i Timer -egenskaben.
global oplåsning
låse op = 1234;
Trin 6: Trin 6: Opsætning af Flood Light System
Funktionen for oversvømmelseslyset fungerer som følger:
Når du starter MATLAB -koden, begynder PIR -bevægelsessensoren at registrere bevægelse. Når den registrerer en eller anden form for bevægelse, vil den afbryde et effektsignal. Når dette signal er afbrudt, tændes et oversvømmelseslys uden for hjemmet.
Sådan konfigureres oversvømmelseslyssystemet:
For at kode oversvømmelseslyssystemet:
Denne gang kan vi springe til Timer -egenskaben, fordi vi ikke behøver at skrive ekstra variabler.
human_detected = readDigitalPin (a, 'D2'); %Pin kan ændre sig baseret på konfiguration, hvis human_detected == 0 writeDigitalPin (a, 'D7', 1) %Pin kan ændre 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) slut
Trin 7: Konklusion
Nu hvor du har et udkast til din GUI med App Designer og din kode til Arduino, er du klar til at foretage dine egne redigeringer eller tilslutte din Arduino og gå!
Anbefalede:
Alexa Smart Home -system ved hjælp af NodeMCU -relæmodul: 10 trin
Alexa Smart Home -system ved hjælp af NodeMCU -relæmodul: I dette IoT -projekt har jeg lavet Alexa Smart Home Automation -systemet ved hjælp af NodeMCU ESP8266 & Relæmodul. Du kan nemt styre lys, ventilator og andre husholdningsapparater med stemmekommandoen. For at forbinde Echo Dot smart højttaleren med
SmartBox - Smart Home System til dit værelse: 6 trin
SmartBox - Smart Home System til dit værelse: Hej alle sammen! I denne instruktive vil jeg forklare dig, hvordan du laver et smart room system. Dette system indeholder to enheder: En generel enhed med en fugtighedsføler og temperatursensor, der måler den aktuelle livskvalitet i dit værelse. Dig W
Smart Home System: 6 trin
Smart Home System: Denne instruktør hjælper med at forklare, hvordan du konfigurerer og bruger vores Smart Home System ved hjælp af Matlab -softwaren og Raspberry Pi -hardware. I slutningen af denne instruktive skal du let kunne bruge vores produkt fuldt ud
Billigt og let Smart Home System: 7 trin
Billigt og nemt Smart Home System: Hej! Jeg er Ed Jeg er en 15 år gammel med en passion for computing, programmering og elektroteknik. Da jeg er ganske ung, bor jeg i mine forældres hus, Dette projekt startede, da jeg besluttede at flytte til loftet/ loftet, i designprocessen
IoT Smart Home System: 8 trin
IoT Smart Home System: Dette er Keefe og Jons Smart home system på iot