Innehållsförteckning:
- Steg 1: Börja: Material
- Steg 2: Steg 2: Att närma sig problemet för att lösa
- Steg 3: Steg 3: Konfigurera GUI och Basic Code Flow
- Steg 4: Steg 3: Installera termostatsystemet
- Steg 5: Steg 4: Installera dörrsystemet
- Steg 6: Steg 6: Installera Flood Light System
- Steg 7: Slutsats
Video: Arduino Smart Home System: 7 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:45
I denna instruktionsbok visar vi dig hur du skapar ditt eget smarta hemsystem med MATLABs App Designer med en Sparkfun Red -bräda. Denna instruerbara kan användas för att få en grundläggande förståelse för MATLABs App Designer, samt att använda en fotoresistor, servomotor och en PIR -rörelsesensor.
Steg 1: Börja: Material
Detta projekt kräver följande material:
- Arduino Uno (För detta projekt använde vi en Sparkfun Red board)
- En fotoresistor
- En miniservomotor
- En kontinuerlig servomotor
- En PIR -rörelsesensor
- En temperaturgivare
- 2 lysdioder
- Ledningar och motstånd efter behov
Steg 2: Steg 2: Att närma sig problemet för att lösa
Huvudmålet med detta projekt var att skapa ett lättanvänt smart hemsystem genom att koda ett Arduino Uno -kort med MATLAB. Vi tänkte först på att bara arbeta med en temperatur- och luftfuktighetssensor, men om vi stannade med de två sensorerna skulle vårt smarta hemsystem inte vara lätt att sälja för en allmän publik. Vi bestämde att vi ville skapa ett övergripande smart hem energisystem som skulle fungera som en smart termostat och säkerhetssystem. Slutligen ville vi arbeta med MATLABs AppDesigner så att användaren enkelt kan ändra det smarta hemmet som de vill.
Steg 3: Steg 3: Konfigurera GUI och Basic Code Flow
För att starta måste du öppna MATLABs AppDesigner och placera följande:
Två numeriska redigeringsfält för en varm och kall tröskelindata
En knapp för att låsa upp dörren
Och fyra indikatorlampor för eldstaden, dörren, fläkten och strålkastarljuset.
Två etiketter för att kommunicera med användaren.
För det här projektet fann vi det lättare att arbeta med globala variabler och startfunktionen inom designern. Du behöver dessa variabler inom startfunktionen:
globalt a
a = arduino ('COM3', 'uno', 'Libraries', 'Servo'); global s global p global hotUI global coldUI global låsa upp global temp global curr_temp global int_light
Just nu har vi bara en uppgift för variabeln a så att din dator kan läsa arduino. COM3 kan variera beroende på vilken port din dator kan använda.
När du kör koden startar den inom startfunktionen och skapar de globala variablerna och kalibrerar systemet. I slutet av denna funktion kommer det att finnas en timerfunktion som kallar en egenskap som vi kallade Timer. Inom denna Timer-egenskap sätter vi in koden som kör hemmasystemet så att timern inte kör kalibreringskoden igen.
Obs: Vi gav inga kabeldragningar för systemet. Vi hänvisade till manualen som följde med SparkFun Red -kortet.
Steg 4: Steg 3: Installera termostatsystemet
Funktionen för termostaten fungerar som följer:
Användaren anger vilken temperatur de anser vara för varm eller för kall. När termometern väl har avläst, om hemmet är för kallt tänds "eldstaden" (en röd lysdiod) och värmer upp hemmet. Om hemmet är för varmt kommer en "fläkt" (kontinuerlig servomotor) att slå på kylningen av huset.
För att koda termostatsystemet:
Vi kommer att starta inom startfunktionen för att visa aktuell temperatur och låta användaren mata in sina kalla och varma trösklar.
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); %Etikettnummer kan ändra paus (10); %Kanske vill ändra !!!!!
Sedan kommer vi att slutföra termostatsystemet inom Timer -egenskapen.
global curr_temp
global coldUI global en global hotUI if curr_temp hotUI app. FanStateLamp. Color = [0,47 0,67 0,19]; %Tänd GUI -lampan grön writePWMDutyCycle (a, 'D11',.9) %De tre följande kodkoderna kör servofläktpausen (10) writePWMDutyCycle (a, 'D11',.0) annars app. FireplaceStateLamp. Color = [0,90 0,90 0,90]; %Detta stänger av alla GUI -lampor och öppen spis app. FanStateLamp. Color = [0,9 0,9 0,9]; writeDigitalPin (a, 'D13', 0); slutet
Steg 5: Steg 4: Installera dörrsystemet
Funktionen för dörren fungerar som följer:
När du kör din MATLAB -kod första gången kommer appen att be dig att öppna dörren så att fotoresistorn kan göra en första ljusavläsning. När det är klart kommer timern att aktiveras och fotoresistorn tar sekundära ljusavläsningar. Om den sekundära ljusavläsningen är lättare än initialen låser en servomotor dörren. Om användaren vill att dörren är upplåst kan de trycka på en knapp i appen som låser upp dörren.
Så här konfigurerar du servomotorn och fotoresistorn:
Så här kodar du dörrsystemet:
Vi kommer att starta inom startfunktionen för att ta de första ljusmätningarna.
s = servo (a, 'D9') %Pin kan ändras baserat på ledningar
app. Label_4. Text = 'Öppna dörren för att kalibrera systemet'; paus (15); %Detta ger användaren tid att öppna dörren int_light = readVoltage (a, p); app. Label_4. Text = 'Du kan ta bort fingret';
Därefter slutför vi koden inom Timer -egenskapen
global upplåsning
global int_light global s global a %Få en aktuell ljusavläsning för att jämföra curr_light = readVoltage (a, p); % - Lock Door - if int_light <curr_light writePosition (s, 1) % Servopositioner kan skilja sig från motorpaus (0,5); app. DoorStateLamp. Color = [0,47 0,67 0,19]; slut % - Lås upp dörren - om upplåsning == 1234 paus (0,5); writePosition (s,.52) app. DoorStateLamp. Color = [0,85 0,33 0,10]; slutet
Slutligen skapar vi återuppringningsknappen. När användaren trycker på upplåsningsknappen tilldelas den globala variabeln upplåsning ett nummer som kan slutföra den sista if -satsen i egenskapen Timer.
global upplåsning
låsa upp = 1234;
Steg 6: Steg 6: Installera Flood Light System
Funktionen för översvämningsljuset fungerar som följer:
När du startar MATLAB -koden börjar PIR -rörelsesensorn att upptäcka rörelse. När den upptäcker någon form av rörelse, kommer den att bryta en energisignal. När den signalen är avstängd tänds ett översvämningsljus utanför hemmet.
Så här konfigurerar du översvämningssystemet:
För att koda översvämningssystemet:
Den här gången kan vi hoppa till egenskapen Timer eftersom vi inte behöver skriva några extra variabler.
human_detected = readDigitalPin (a, 'D2'); %Pin kan ändras baserat på konfiguration om human_detected == 0 writeDigitalPin (a, 'D7', 1) %Pin kan ändra 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
Steg 7: Slutsats
Nu när du har ett utkast till ditt GUI med App Designer och din kod för Arduino är du redo att göra dina egna redigeringar eller ansluta din Arduino och gå!
Rekommenderad:
Alexa Smart Home System som använder NodeMCU -relämodul: 10 steg
Alexa Smart Home System som använder NodeMCU -relämodul: I detta IoT -projekt har jag gjort Alexa Smart Home Automation -systemet med hjälp av NodeMCU ESP8266 & Relämodul. Du kan enkelt styra ljus, fläkt och andra hushållsapparater med röstkommandot. För att ansluta Echo Dot smart högtalare med
SmartBox - Smart Home System för ditt rum: 6 steg
SmartBox - Smart Home System för ditt rum: Hej alla! I den här instruktören kommer jag att förklara för dig hur du skapar ett smart rumssystem. Detta system innehåller två enheter: en allmän enhet med en fuktsensor och temperatursensor som mäter den nuvarande livskvaliteten i ditt rum. Du w
Smart Home System: 6 steg
Smart Home System: Denna instruktion hjälper dig att förklara hur du konfigurerar och använder vårt Smart Home System med hjälp av Matlab -programvaran och Raspberry Pi -maskinvaran. I slutet av denna instruerbara, bör du enkelt kunna använda vår produkt helt enkelt
Billigt och enkelt Smart Home System: 7 steg
Billigt och enkelt Smart Home System: Hej! Jag är Ed Jag är en 15 -åring med en passion för dator, programmering och elektroteknik. Eftersom jag är ganska ung bor jag i mina föräldrars hus, det här projektet startade när jag bestämde mig för att flytta till vinden/ loftrummet, i designprocessen
IoT Smart Home System: 8 steg
IoT Smart Home System: Detta är Keefe and Jons Smart home system på iot