INHOUDSOPGAWE:
- Stap 1: Om te begin: materiaal
- Stap 2: Stap 2: Benader die probleem om op te los
- Stap 3: Stap 3: Konfigureer die GUI en basiese kodevloei
- Stap 4: Stap 3: Die opstel van die termostaatstelsel
- Stap 5: Stap 4: Die opstel van die deurstelsel
- Stap 6: Stap 6: Die opstel van die Flood Light System
- Stap 7: Gevolgtrekking
Video: Arduino Smart Home System: 7 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:26
In hierdie instruksies sal ons u wys hoe u u eie slimhuisstelsel kan skep met die MATLAB se App Designer met 'n Sparkfun Red -bord. Hierdie instruksies kan gebruik word om 'n basiese begrip van die MATLAB se App Designer te verkry, sowel as die gebruik van 'n fotoresistor, servomotor en 'n PIR -bewegingsensor.
Stap 1: Om te begin: materiaal
Hierdie projek benodig die volgende materiaal:
- Arduino Uno (Vir hierdie projek het ons 'n Sparkfun Red -bord gebruik)
- Een fotoresistor
- Een mini-servomotor
- Een deurlopende servomotor
- Een PIR -bewegingsensor
- Een temperatuur sensor
- 2 LED's
- Drade en weerstande soos benodig
Stap 2: Stap 2: Benader die probleem om op te los
Die hoofdoel van hierdie projek was om 'n maklik gebruikbare slimhuisstelsel te skep deur 'n Arduino Uno -bord met MATLAB te kodeer. Ons het eers daaraan gedink om net met 'n temperatuur- en humiditeitsensor te werk, maar as ons by die twee sensors bly, sou ons slimhuisstelsel nie maklik aan 'n algemene gehoor bemark kan word nie. Ons het besluit dat ons 'n algehele stelsel vir slim huishoudelike energie wil skep wat as 'n slim termostaat en sekuriteitstelsel werk. Uiteindelik wou ons saam met MATLAB se AppDesigner werk sodat die gebruiker die slimhuis maklik kan verander soos hy wil.
Stap 3: Stap 3: Konfigureer die GUI en basiese kodevloei
Om te begin, moet u die MATLABs AppDesigner oopmaak en die volgende plaas:
Twee numeriese wysigingsvelde vir 'n warm en koue drempelinvoer
'N Knoppie om die deur oop te sluit
En vier aanwyserlampe vir die kaggel, deur, waaier en vloedlig.
Twee etikette om met die gebruiker te kommunikeer.
Vir hierdie projek het ons dit makliker gevind om met globale veranderlikes en die opstartfunksie binne die ontwerper te werk. U benodig hierdie veranderlikes binne die opstartfunksie:
globale a
a = arduino ('COM3', 'uno', 'Libraries', 'Servo'); global s global p global hotUI global coldUI global unlock global temp global curr_temp global int_light
Op die oomblik het ons slegs 'n opdrag vir die a -veranderlike, sodat u rekenaar die arduino kan lees. COM3 kan verskil, afhangende van watter poort u rekenaar moontlik gebruik.
As u die kode gebruik, begin dit binne die opstartfunksie, wat die globale veranderlikes skep en die stelsel kalibreer. Aan die einde van hierdie funksie sal daar 'n timerfunksie wees wat 'n eiendom wat ons Timer genoem het, noem. Binne hierdie Timer-eiendom plaas ons die kode wat die tuisstelsel bestuur, sodat die timer nie die kalibreringskode herlaai nie.
Opmerking: ons het geen bedradinginstruksies vir die stelsel gegee nie. Ons het verwys na die handleiding wat by die SparkFun Red -bord verskyn.
Stap 4: Stap 3: Die opstel van die termostaatstelsel
Die funksie vir die termostaat werk soos volg:
Die gebruiker sal invoer watter temperatuur hulle as te warm of te koud beskou. As die termometer eers lees, as die huis te koud is, sal die "kaggel" ('n rooi LED) aanskakel en die huis verhit. As die huis te warm is, sal 'n "waaier" (deurlopende servomotor) die huis laat afkoel.
Om die termostaatstelsel te kodeer:
Ons begin binne die opstartfunksie om die huidige temperatuur te wys en laat die gebruiker hul koue en warm drempels invoer.
p = 'A0' %Fotoresistorpen
volt = lees Spanning (a, temp); celc = (volt-0,5).*100; curr_temp = celc*9/5+32; app. Label_4. Text = num2str (curr_temp); %Etiketnommer kan pouse verander (10); %Kan wil verander !!!!!
Dan sal ons die termostaatstelsel binne die Timer -eiendom voltooi.
globale curr_temp
global coldUI global a global hotUI if curr_temp hotUI app. FanStateLamp. Color = [0.47 0.67 0.19]; %Skakel GUI lamp groen writePWMDutyCycle (a, 'D11',.9) %Die volgende drie reëls kode voer die servo fan pouse (10) writePWMDutyCycle (a, 'D11',.0) anders app. FireplaceStateLamp. Color = [0,90 0,90 0,90]; %Dit skakel alle GUI -lampe en kaggel -app uit. FanStateLamp. Color = [0.9 0.9 0.9]; writeDigitalPin (a, 'D13', 0); einde
Stap 5: Stap 4: Die opstel van die deurstelsel
Die funksie vir die deur werk soos volg:
As u u MATLAB -kode die eerste keer gebruik, sal die app u vra om die deur oop te maak sodat die fotoresistor 'n aanvanklike liglesing kan doen. Sodra dit voltooi is, sal die timer geaktiveer word en die fotoresistor sal sekondêre ligmetings neem. As die sekondêre liglesing ligter is as die aanvanklike, sal 'n servomotor die deur sluit. As die gebruiker die deur wil ontsluit, kan hy op die knoppie in die app druk wat die deur sal ontsluit.
Om die servomotor en fotoresistor op te stel:
Om die deurstelsel te kodeer:
Ons begin binne die opstartfunksie om die aanvanklike ligmetings te doen.
s = servo (a, 'D9') %Speld kan verander op grond van bedrading
app. Label_4. Text = 'Maak asseblief die deur oop om die stelsel te kalibreer'; pouse (15); %Dit gee die gebruiker tyd om die deur oop te maak int_light = readVoltage (a, p); app. Label_4. Text = 'U mag u vinger verwyder';
Vervolgens voltooi ons die kode binne die Timer -eiendom
globale ontsluiting
global int_light global s global a %Kry 'n huidige ligmeting om curr_light = readVoltage (a, p) te vergelyk; % - Slotdeur - as int_light <curr_light writePosisie (s, 1) % Servoposisies kan verskil per motorpouse (0.5); app. DoorStateLamp. Color = [0.47 0.67 0.19]; eind % - Ontgrendel deur - as ontsluit == 1234 pouse (0,5); writePosition (s,.52) app. DoorStateLamp. Color = [0.85 0.33 0.10]; einde
Uiteindelik skep ons die terugbelknoppie. Sodra die gebruiker op die ontsluitknoppie druk, kry die globale veranderlike ontsluit 'n nommer wat die finale if -verklaring in die Timer -eiendom kan voltooi.
globale ontsluiting
ontsluit = 1234;
Stap 6: Stap 6: Die opstel van die Flood Light System
Die funksie vir die vloedlig werk soos volg:
As u die MATLAB -kode begin, sal die PIR -bewegingsensor beweging begin opspoor. Sodra dit 'n soort beweging opspoor, sny dit 'n kragsein. Sodra die sein afgesny is, sal 'n vloedlig buite die huis brand.
Om die vloedligstelsel op te stel:
Om die vloedligstelsel te kodeer:
Hierdie keer kan ons oorgaan na die Timer -eiendom omdat ons geen ekstra veranderlikes hoef te skryf nie.
human_detected = readDigitalPin (a, 'D2'); %Pin kan verander op grond van konfigurasie as human_detected == 0 writeDigitalPin (a, 'D7', 1) %Pin kan app. FloodLightStateLamp. Color = [0.47 0.67 0.19] verander; elseif human_detected == 1 app. FloodLightStateLamp. Color = [0,9 0,9 0,9]; writeDigitalPin (a, 'D7', 0) einde
Stap 7: Gevolgtrekking
Noudat u 'n konsep van u GUI met die App Designer en u kode vir die Arduino het, is u gereed om u eie bewerkings uit te voeren of uw Arduino aan te sluiten!
Aanbeveel:
Home Sound System: 6 stappe (met foto's)
Home Sound System: Hierdie klankstelsel is eenvoudig en goedkoop (minder as $ 5 plus 'n paar materiaal wat ek in my werkswinkel gevind het). Laat 'n sterk genoeg oudisie vir 'n groot kamer toe. As seinbronne kan gebruik word: -Bluetooth vanaf enige selfoon foon. -MP3 uit 'n memorandum
LCD Display Home Lock System: 6 stappe
Lcd -skerm -huisslotstelsel: hierdie projek dien as 'n huisslot, en die enigste manier om die huis binne te kom, is deur op die korrekte driesyferkode te druk. Die LCD sal dien as 'n kommunikasietoestel om die individu in kennis te stel of hy die korrekte kode ingevoer het of nie. Die IR
IOT Home Security System: 3 stappe
IOT Home Security System: Een van die nuttigste IoT -toepassings is tuisveiligheid. Stel jou voor dat 'n dief jou draad van die veiligheidskamera sny terwyl hy by jou huis wil inbreek; dit sal nie gebeur as jou sekuriteitstelsel draadloos en slim is nie
Smart Home System: 6 stappe
Smart Home System: hierdie instruksies sal u help om te verduidelik hoe u ons Smart Home System kan opstel en gebruik deur die Matlab -sagteware en die Raspberry Pi -hardeware te gebruik. Aan die einde van hierdie instruksies, moet u ons produk met gemak volledig kan gebruik
Arduino Home Security System: 7 stappe (met foto's)
Arduino Home Security System: Dit is 'n tuisveiligheidstelsel wat Arduino Mega 2560 gebruik, wat alarm sal veroorsaak wanneer 'n deur oopgemaak word of beweging in die kamer opgespoor word wanneer die stelsel geaktiveer word. Dit is 'n goeie projek vir almal in die laaste jaar aan die universiteit. jy kan dit opgradeer