Turinys:
- 1 žingsnis: pradžia: medžiagos
- 2 veiksmas: 2 žingsnis: problemos sprendimo būdas
- 3 veiksmas: 3 veiksmas: GUI ir pagrindinio kodo srauto konfigūravimas
- 4 žingsnis: 3 žingsnis: termostato sistemos nustatymas
- 5 veiksmas: 4 žingsnis: durų sistemos nustatymas
- 6 veiksmas: 6 veiksmas: potvynių šviesos sistemos nustatymas
- 7 žingsnis: Išvada
Video: „Arduino Smart Home“sistema: 7 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
Šioje instrukcijoje parodysime, kaip sukurti savo išmaniųjų namų sistemą naudojant „MATLAB“programų kūrėją su „Sparkfun Red“lenta. Ši instrukcija gali būti naudojama norint geriau suprasti „MATLAB“programų kūrėją, taip pat naudojant fotorezistorių, variklį ir PIR judesio jutiklį.
1 žingsnis: pradžia: medžiagos
Šiam projektui reikalingos šios medžiagos:
- Arduino Uno (šiam projektui naudojome „Sparkfun Red“lentą)
- Vienas fotorezistorius
- Vienas mini servo variklis
- Vienas nenutrūkstamas servo variklis
- Vienas PIR judesio jutiklis
- Vienas temperatūros jutiklis
- 2 šviesos diodai
- Prireikus laidai ir rezistoriai
2 veiksmas: 2 žingsnis: problemos sprendimo būdas
Pagrindinis šio projekto tikslas buvo sukurti lengvai naudojamą išmaniųjų namų sistemą, koduojant „Arduino Uno“plokštę su MATLAB. Pirmiausia galvojome apie darbą su temperatūros ir drėgmės jutikliu, tačiau jei pasiliktume prie šių dviejų jutiklių, mūsų išmaniųjų namų sistema nebūtų lengvai parduodama plačiajai auditorijai. Nusprendėme, kad norime sukurti bendrą išmaniųjų namų energetinę sistemą, kuri veiktų kaip išmanusis termostatas ir apsaugos sistema. Galiausiai norėjome dirbti su „MATLAB“„AppDesigner“, kad vartotojas galėtų lengvai keisti išmaniuosius namus.
3 veiksmas: 3 veiksmas: GUI ir pagrindinio kodo srauto konfigūravimas
Norėdami pradėti, turite atidaryti „MATLABs AppDesigner“ir įdėti:
Du skaitinio redagavimo laukai karšto ir šalto slenksčio įvedimui
Mygtukas durims atrakinti
Ir keturios židinio, durų, ventiliatoriaus ir potvynių lemputės.
Dvi etiketės, skirtos bendrauti su vartotoju.
Šiam projektui mums buvo lengviau dirbti su visuotiniais kintamaisiais ir paleidimo funkcija dizainerio viduje. Paleidimo funkcijoje jums reikės šių kintamųjų:
pasaulinis a
a = arduino ('COM3', 'uno', 'Bibliotekos', 'Servo'); global s global p global hotUI global coldUI global unlock global temp global curr_temp global int_light
Šiuo metu mes turime tik kintamojo priskyrimą, kad jūsų kompiuteris galėtų skaityti arduino. COM3 gali skirtis priklausomai nuo to, kokį prievadą naudoja jūsų kompiuteris.
Kai paleisite kodą, jis prasidės paleidimo funkcijoje, kuriant visuotinius kintamuosius ir kalibruojant sistemą. Šios funkcijos pabaigoje bus laikmačio funkcija, kuri iškviečia nuosavybę, kurią pavadinome laikmačiu. Šioje „Timer“ypatybėje mes įvedame kodą, kuriame veikia namų sistema, kad laikmatis iš naujo nepaleistų kalibravimo kodo.
Pastaba: mes nepateikėme jokių sistemos prijungimo instrukcijų. Mes nurodėme vadovą, pateiktą kartu su „SparkFun Red“lenta.
4 žingsnis: 3 žingsnis: termostato sistemos nustatymas
Termostato funkcija veikia taip:
Vartotojas įves, kokią temperatūrą jie laiko per karšta ar per šalta. Kai termometras nuskaito, jei namuose yra per šalta, „židinys“(raudonas šviesos diodas) įsijungs ir šildys namus. Jei namuose per karšta, „ventiliatorius“(nuolatinis servo variklis) įjungia namo aušinimą.
Norėdami koduoti termostato sistemą:
Pradėsime nuo paleidimo funkcijos, kad būtų rodoma esama temperatūra ir leidžiame vartotojui įvesti savo šalto ir karšto slenksčius.
p = 'A0' %fotorezistoriaus kaištis
voltas = skaitymasĮtampa (a, temp); celc = (voltas-0,5).*100; curr_temp = celc*9/5+32; app. Label_4. Text = num2str (curr_temp); %Etiketės numeris gali pakeisti pauzę (10); %Gali norėti pasikeisti !!!!!
Tada mes užbaigsime termostato sistemą laikmačio ypatybėje.
global curr_temp
global coldUI global a global hotUI if curr_temp hotUI app. FanStateLamp. Color = [0,47 0,67 0,19]; %Pasirodo GUI lemputė žalia rašytiPWMDutyCycle (a, 'D11',.9) %Kitos trys kodo eilutės paleidžia servo ventiliatoriaus pauzę (10) writePWMDutyCycle (a, 'D11',.0) else app. FireplaceStateLamp. Color = [0,90 0,90 0,90]; %Tai išjungia visas GUI lempas ir židinio programą. FanStateLamp. Color = [0,9 0,9 0,9]; writeDigitalPin (a, 'D13', 0); galas
5 veiksmas: 4 žingsnis: durų sistemos nustatymas
Durų funkcija veikia taip:
Kai pirmą kartą paleisite MATLAB kodą, programa paprašys atidaryti duris, kad fotorezistorius galėtų iš pradžių nuskaityti šviesą. Kai tai bus baigta, laikmatis įsijungs ir fotorezistorius ims antrinius šviesos rodmenis. Jei antrinis šviesos rodmuo yra lengvesnis nei pradinis, servo variklis užrakins duris. Jei vartotojas nori atrakinti duris, jis gali paspausti programėlėje esantį mygtuką, kuris atrakins duris.
Norėdami sukonfigūruoti servo variklį ir fotorezistorių:
Norėdami koduoti durų sistemą:
Pradėsime nuo paleidimo funkcijos, kad pamatytume pradinius šviesos rodmenis.
s = servo (a, 'D9') %Kaištis gali keistis priklausomai nuo laidų
app. Label_4. Text = 'Prašome atidaryti duris, kad sukalibruotumėte sistemą'; pauzė (15); %Tai suteikia vartotojui laiko atidaryti duris int_light = readVoltage (a, p); app. Label_4. Text = 'Galite nuimti pirštą';
Tada mes užpildysime kodą „Timer“ypatybėje
visuotinis atrakinimas
global int_light global s global a %Gaukite dabartinį šviesos rodiklį, kad galėtumėte palyginti curr_light = readVoltage (a, p); % - Užrakinti duris - jei int_light <curr_light writePosition (s, 1) % Servo padėtys gali skirtis priklausomai nuo variklio pauzės (0,5); app. DoorStateLamp. Color = [0,47 0,67 0,19]; pabaiga % - atrakinti duris - jei atrakinti == 1234 pauzė (0,5); writePosition (s,.52) app. DoorStateLamp. Color = [0,85 0,33 0,10]; galas
Galiausiai sukursime atrakinimo mygtuko atšaukimą. Kai vartotojas paspaus atrakinimo mygtuką, visuotinis kintamasis atrakinimas bus priskirtas skaičiui, kuris gali užbaigti galutinį if teiginį laikmačio ypatybėje.
visuotinis atrakinimas
atrakinti = 1234;
6 veiksmas: 6 veiksmas: potvynių šviesos sistemos nustatymas
Prožektoriaus funkcija veikia taip:
Kai paleidžiate MATLAB kodą, PIR judesio jutiklis pradės aptikti judesį. Aptikęs tam tikro tipo judesį, jis nutrauks maitinimo signalą. Kai šis signalas bus nutrauktas, už namo užsidegs potvynio šviesa.
Norėdami sukonfigūruoti apšvietimo sistemą:
Apšvietimo sistemos kodavimas:
Šį kartą galime pereiti prie „Timer“ypatybės, nes mums nereikia rašyti jokių papildomų kintamųjų.
human_detected = readDigitalPin (a, 'D2'); %Smeigtukas gali keistis priklausomai nuo konfigūracijos, jei human_detected == 0 writeDigitalPin (a, 'D7', 1) %PIN gali pakeisti 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) pabaiga
7 žingsnis: Išvada
Dabar, kai turite „GUI“juodraštį su „App Designer“ir „Arduino“kodą, esate pasirengęs atlikti savo pakeitimus arba prijungti „Arduino“ir eiti!
Rekomenduojamas:
„Alexa Smart Home“sistema naudojant „NodeMCU“relės modulį: 10 žingsnių
„Alexa Smart Home“sistema, naudojant „NodeMCU“relės modulį: Šiame „IoT“projekte aš sukūriau „Alexa Smart Home Automation“sistemą, naudodamas „NodeMCU ESP8266 & Relės modulis. Naudodami balso komandą galite lengvai valdyti šviesą, ventiliatorių ir kitus buitinius prietaisus. Norėdami prijungti išmanųjį garsiakalbį „Echo Dot“su
Spalvų rūšiavimo sistema: „Arduino“sistema su dviem diržais: 8 žingsniai
Spalvų rūšiavimo sistema: „Arduino“pagrindu sukurta sistema su dviem diržais: Produktai ir prekės pramonėje gabenami ir (arba) pakuojami naudojant linijas, pagamintas naudojant konvejerio juostas. Tie diržai padeda tam tikru greičiu perkelti daiktą iš vieno taško į kitą. Kai kurios apdorojimo ar identifikavimo užduotys gali būti
„IoT Smart Home“sistema: 8 žingsniai
„IoT Smart Home“sistema: tai „Keefe“ir „Jons“išmaniųjų namų sistema „iot“
„GO-4 Smart Home Arduino Bot“: 7 žingsniai (su nuotraukomis)
„GO-4 Smart Home Arduino Bot“: Šiame projekte parodysiu, kaip sukurti išmanųjį namų robotą naudojant IOT technologiją, kad nuotoliniu būdu būtų galima valdyti savo buitinius prietaisus internetu. Tačiau prieš pradėdami pakalbėkime apie šią techniką, kaip mes daryti … Kas yra IOT? Th
Kaip tinkamai prijungti ir nustatyti mini „HiFi“lentynų sistemą (garso sistemą): 8 žingsniai (su paveikslėliais)
Kaip tinkamai prijungti ir nustatyti mini „HiFi“lentynų sistemą (garso sistemą): esu žmogus, kuriam patinka mokytis apie elektros inžineriją. Aš esu vidurinė mokykla Ann Richards jaunų moterų lyderių mokykloje. Padedu tai pamokyti, kad padėtų visiems, norintiems mėgautis muzika iš „Mini LG HiFi“lentynų sistemos