Jaluzele electrice

Limbi de programare: Arduino (C ++)

Etichete: telecomandă, IR, telecomandă IR, unitate electrică, servomotor

Automatizarea rutinei este unul dintre cele mai populare subiecte din lumea electronicii DIY. De data aceasta, automatizăm declanșatorul cu Arduino și un servo rotativ constant. Ca canal de comunicare, folosim lumină infraroșie, și ca consola - prima telecomandă de la televizor sau centru muzical.

Vom face ca butoanele de deschidere și închidere să poată fi atribuite independent. Deci, putem controla dispozitivul cu acele butoane de pe telecomandă care de obicei nu sunt deloc folosite.

De ce avem nevoie?

Jaluzele electrice

Plăcuță pentru securizarea servo

Orice placă pentru atașarea lui Arduino. Am folosit un tampon acrilic din kitul "Matryoshka"

Telecomandă

Blind-uri cu hardware standard

Cleme de fixare pentru fixarea jaluzelelor × 2 buc.

Cum se colectează?

Instalați Arduino Uno pe platformă. Am folosit un tampon acrilic din kitul "Matryoshka". Deoarece avem nevoie doar de o parte din dimensiunea bordului, am văzut o jumătate inutilă a site-ului. Și pentru a fixa suportul, am forat o gaură în acrilic.

Lipiți placa de prototipare cu baza adezivă pe scutul Troyka.

Jaluzele electrice

Asamblați clema servomotorului și ambreiajul. În cazul nostru, manșonul este o bucșă, înșurubată în el cu șuruburi subțiri.

Jaluzele electrice

Conectați unitatea de rotație constantă la pinul digital 3. Fotodetectorul la pinul 2 și pinul piezo-pinului la pinul 4.

Jaluzele electrice

Instalați Troyka Shield pe Arduino Uno.

Instalați servomotorul și Arduino Uno pe blind-uri.

Coaseți în schița Arduino Uno, prezentată mai jos.

Odată ce puterea este aplicată, este apelată funcția de configurare. În corpul ei, biblioteca infraroșu este inițializată. Apoi este dat semnalul de start al programului (trei beep-uri scurte) și se pornește procedura "learn" a dispozitivului. Antrenamentul constă în memorarea butoanelor pe care utilizatorul le folosește pentru a deschide și a închide jaluzelele. Utilizatorul apasă un buton de pe telecomandă, aparatul primește codul butonului apăsat, acesta va reține și confirmă evenimentul printr-un bip scurt. Apoi, totul se repetă pentru al doilea buton. După ce ambele butoane sunt setate, dispozitivul emite un semnal sonor lung și intră în ciclul de lucru (funcția buclă).

În ciclul de funcționare, dispozitivul așteaptă apăsarea telecomenzii. Odată ce un semnal de clic este primit, se verifică dacă același buton a fost apăsat în trecutul recent. Dacă da, atunci apăsarea din nou este percepută ca fiind comanda "continuați să rotiți motorul". Dacă nu există presiuni recente, amintiți-vă momentul apăsării și rotiți unitatea în direcția dorită.

Cod sursă

Program de exemplu cu senzor de lumină

În acest exemplu, jaluzelele se deschid și se închid în funcție de iluminare. Nu avem nevoie de un receptor IR, dar trebuie să adăugăm un senzor de iluminare (modul Troyka) și un potențiometru (modul Troyka).

Demonstrarea dispozitivului

Ce urmează?

Este incomod să bligeți butoanele butoanelor telecomenzii de fiecare dată când porniți dispozitivul. Dar ATmega328p are memorie nevolatilă - EEPROM. în care puteți salva aceste coduri odată și le puteți încărca de acolo de fiecare dată când începeți. Pentru a lucra cu această memorie există o bibliotecă EEPROM.

În designul nostru există un defect: nu puteți face un buton care închide automat jaluzelele în mod automat. Dacă instalați un senzor complet de închidere / deschidere, atunci o astfel de funcție va fi posibilă pentru a realiza. Pentru aceasta, puteți, de exemplu, să eliminați o bandă și să instalați un potențiometru în schimb.

Cu excepția cazurilor în care se specifică altfel, conținutul acestui wiki este licențiat sub următoarea licență: CC Attribution-Noncommercial-Share Alike 3.0 Unported

Instrumente pentru pagină

Articole similare