Sadržaj:
- Korak 1: Za početak: Materijali
- Korak 2: Korak 2: Pristup rješavanju problema
- Korak 3: Korak 3: Konfiguriranje grafičkog sučelja i toka osnovnog koda
- Korak 4: Korak 3: Postavljanje sistema termostata
- Korak 5: Korak 4: Postavljanje sistema vrata
- Korak 6: Korak 6: Postavljanje sistema svjetla reflektora
- Korak 7: Zaključak
Video: Arduino sistem pametne kuće: 7 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:07
U ovom uputstvu pokazat ćemo vam kako stvoriti vlastiti sistem pametne kuće s MATLAB -ovim dizajnerom aplikacija sa Sparkfun crvenom pločom. Ovaj Instructable se može koristiti za lakše razumijevanje MATLAB -ovog dizajnera aplikacija, kao i za korištenje fotootpornika, servomotora i PIR senzora pokreta.
Korak 1: Za početak: Materijali
Ovaj projekt zahtijeva sljedeće materijale:
- Arduino Uno (Za ovaj projekt koristili smo Sparkfun crvenu ploču)
- Jedan fotootpornik
- Jedan mini-servo motor
- Jedan kontinuirani servo motor
- Jedan PIR senzor pokreta
- Jedan senzor temperature
- 2 LED diode
- Žice i otpornici po potrebi
Korak 2: Korak 2: Pristup rješavanju problema
Glavni cilj ovog projekta bio je stvoriti jednostavan za korištenje sistem pametne kuće kodiranjem Arduino Uno ploče s MATLAB -om. Prvo smo razmišljali o tome da radimo samo sa senzorom temperature i vlažnosti, međutim ako bismo ostali s ta dva senzora, naš sistem pametne kuće ne bi bio lako dostupan široj publici. Odlučili smo da želimo stvoriti cjelokupni energetski sistem pametne kuće koji će funkcionirati kao pametni termostat i sigurnosni sistem. Konačno, htjeli smo surađivati s MATLAB -ovim AppDesigner -om kako bi korisnik mogao lako promijeniti pametni dom kako želi.
Korak 3: Korak 3: Konfiguriranje grafičkog sučelja i toka osnovnog koda
Za početak morate otvoriti MATLAB -ov AppDesigner i postaviti sljedeće:
Dva numerička polja za uređivanje za unos toplog i hladnog praga
Dugme za otključavanje vrata
I četiri indikatorske lampe za kamin, vrata, ventilator i reflektor.
Dvije oznake za komunikaciju s korisnikom.
Za ovaj projekt bilo nam je lakše raditi s globalnim varijablama i funkcijom pokretanja unutar dizajnera. U funkciji pokretanja trebat će vam ove varijable:
globalni a
a = arduino ('COM3', 'uno', 'Biblioteke', 'Servo'); globalno s globalno p globalno hotUI globalno hladnoUI globalno otključavanje globalno temp globalno curr_temp globalno int_light
Trenutno imamo samo dodjelu varijable tako da vaše računalo može čitati arduino. COM3 se može razlikovati ovisno o tome koji port vaš računar koristi.
Kada pokrenete kôd, on će se pokrenuti unutar funkcije pokretanja, stvarajući globalne varijable i kalibrirajući sistem. Na kraju ove funkcije bit će funkcija timer koja poziva svojstvo koje smo nazvali Timer. Unutar ovog svojstva mjerača vremena stavljamo kôd koji pokreće kućni sistem tako da mjerač vremena ne pokreće ponovo kalibracijski kôd.
Napomena: Nismo dali nikakva uputstva za ožičenje za sistem. Pozvali smo se na priručnik koji dolazi sa SparkFun Red pločom.
Korak 4: Korak 3: Postavljanje sistema termostata
Funkcija termostata radi na sljedeći način:
Korisnik će unijeti temperaturu za koju smatra da je prevruća ili prehladna. Kada termometar očita, ako je dom previše hladan, uključit će se "kamin" (crvena LED) i zagrijati dom. Ako je kući prevruće, tada će se "ventilator" (kontinuirani servo motor) uključiti hlađenje kuće.
Za kodiranje sistema termostata:
U okviru funkcije pokretanja počet ćemo s prikazom trenutne temperature i dopustiti korisniku da unese svoje hladne i vruće pragove.
p = 'A0' %Igla fotootpornika
volt = readVoltage (a, temp); celc = (volt-0,5).*100; curr_temp = celc*9/5+32; app. Label_4. Text = num2str (curr_temp); %Broj oznake može promijeniti pauzu (10); %Možda se želi promijeniti !!!!!
Zatim ćemo dovršiti sistem termostata unutar svojstva Timer.
global curr_temp
globalni coldUI globalni globalni hotUI if curr_temp hotUI app. FanStateLamp. Color = [0,47 0,67 0,19]; %Uključuje GUI lampicu zelenu writePWMDutyCycle (a, 'D11',.9) %Sljedeća tri retka koda pokreću pauzu servo ventilatora (10) writePWMDutyCycle (a, 'D11',.0) else app. FireplaceStateLamp. Color = [0,90 0,90 0,90]; %Ovo isključuje sve GUI lampe i aplikaciju za kamin. FanStateLamp. Color = [0,9 0,9 0,9]; writeDigitalPin (a, 'D13', 0); kraj
Korak 5: Korak 4: Postavljanje sistema vrata
Funkcija vrata radi na sljedeći način:
Kada prvi put pokrenete svoj MATLAB kôd, aplikacija će vas zamoliti da otvorite vrata kako bi fotootpornik mogao očitati početno svjetlo. Kad se to dovrši, mjerač vremena će se aktivirati i fotootpornik će uzeti sekundarna očitanja svjetla. Ako je očitanje sekundarnog svjetla lakše od početnog, servo motor će zaključati vrata. Ako korisnik želi otključavanje vrata, može pritisnuti dugme u aplikaciji koje će otključati vrata.
Da biste konfigurirali servo motor i fotootpornik:
Za kodiranje sistema vrata:
Počet ćemo unutar funkcije pokretanja kako bismo uzeli početna očitanja svjetla.
s = servo (a, 'D9') %Pin se može promijeniti ovisno o ožičenju
app. Label_4. Text = 'Molimo otvorite vrata za kalibraciju sistema'; pauza (15); %Ovo daje korisniku vremena da otvori vrata int_light = readVoltage (a, p); app. Label_4. Text = 'Možete ukloniti prst';
Zatim ćemo dovršiti kôd unutar svojstva Timer
globalno otključavanje
global int_light global s global a %Dobijte trenutno očitanje svjetla za usporedbu curr_light = readVoltage (a, p); % - Zaključavanje vrata - ako int_light <curr_light writePosition (s, 1) % Servo položaji mogu da se razlikuju po pauzi motora (0,5); app. DoorStateLamp. Color = [0,47 0,67 0,19]; kraj % - Otključaj vrata - ako je otključavanje == 1234 pauza (0,5); writePosition (s,.52) app. DoorStateLamp. Color = [0,85 0,33 0,10]; kraj
Na kraju ćemo stvoriti povratni poziv dugmeta za otključavanje. Nakon što korisnik pritisne dugme za otključavanje, globalnoj varijabli za otključavanje bit će dodijeljen broj koji može dovršiti posljednju naredbu if u svojstvu Timer.
globalno otključavanje
otključavanje = 1234;
Korak 6: Korak 6: Postavljanje sistema svjetla reflektora
Funkcija reflektorskog svjetla funkcionira na sljedeći način:
Kada pokrenete MATLAB kôd, PIR senzor pokreta će početi detektovati kretanje. Jednom kada otkrije neku vrstu pokreta, prekinuti će signal napajanja. Nakon što se signal prekine, svjetlo poplave će se upaliti ispred kuće.
Da biste konfigurirali sistem svjetla poplave:
Da biste kodirali sistem svjetla poplave:
Ovaj put možemo preskočiti na svojstvo Timer jer ne moramo pisati dodatne varijable.
human_detected = readDigitalPin (a, 'D2'); %Pin se može promijeniti na osnovu konfiguracije ako human_detected == 0 writeDigitalPin (a, 'D7', 1) %Pin može promijeniti 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) kraj
Korak 7: Zaključak
Sada kada imate nacrt svog grafičkog sučelja s Dizajnerom aplikacija i svoj kôd za Arduino, spremni ste za uređivanje sami ili priključite svoj Arduino i krenite!
Preporučuje se:
Alexa sistem pametne kuće koji koristi NodeMCU relejni modul: 10 koraka
Alexa pametni kućni sistem koji koristi NodeMCU relejni modul: U ovom IoT projektu napravio sam Alexa Alexa automatizacijski sistem koristeći NodeMCU ESP8266 & Relejni modul. Glasovnom naredbom možete lako kontrolirati svjetlo, ventilator i druge kućanske aparate. Za povezivanje Echo Dot pametnog zvučnika sa
SmartBox - Sistem pametne kuće za vašu sobu: 6 koraka
SmartBox - sistem pametne kuće za vašu sobu: Pozdrav svima! U ovom uputstvu ću vam objasniti kako napraviti sistem pametne sobe. Ovaj sistem sadrži dva uređaja. Opći uređaj sa senzorom vlažnosti i senzorom temperature koji mjeri trenutni kvalitet života u vašoj prostoriji. Ti ćeš
Sistem pametne kuće: 6 koraka
Sistem pametne kuće: Ova instrukcija će vam pomoći da objasnite kako postaviti i koristiti naš sistem pametne kuće pomoću softvera Matlab i hardvera Raspberry Pi. Na kraju ovog uputstva trebali biste moći potpuno koristiti naš proizvod s lakoćom
Jeftin i jednostavan sistem pametne kuće: 7 koraka
Jeftin i jednostavan sistem pametne kuće: Zdravo, ja sam Ed Imam 15 godina sa strašću prema računarstvu, programiranju i elektrotehnici. Budući da sam sasvim mlad, živim u roditeljskoj kući. Ovaj projekat je počeo kada sam odlučio da se preselim u potkrovlje/ potkrovlje, u procesu dizajniranja
IoT sistem pametne kuće: 8 koraka
IoT sistem pametne kuće: Ovo je sistem pametne kuće Keefe i Jons na iotu