Cuprins:

Nuanțe automatizate pentru Windows: 6 pași (cu imagini)
Nuanțe automatizate pentru Windows: 6 pași (cu imagini)

Video: Nuanțe automatizate pentru Windows: 6 pași (cu imagini)

Video: Nuanțe automatizate pentru Windows: 6 pași (cu imagini)
Video: Cum scrii când începi un caiet nou 2024, Iulie
Anonim
Image
Image
Nuanțe automatizate pentru Windows
Nuanțe automatizate pentru Windows
Nuanțe automatizate pentru Windows
Nuanțe automatizate pentru Windows

Cu un cuvânt înainte

Am văzut o mulțime de tutoriale despre cum să automatizăm nuanțele și jaluzelele manuale. Ei bine, în acesta vom automatiza nuanțele electrice. Vom acoperi nuanțele electrice rulate de motoare electrice cu curent continuu (DC) care se deschid sau se închid inversând polaritatea curentului.

Deși, dacă cumpărați nuanțe electrice, veți obține unele automatizări, există motive pentru a face automatizarea pe cont propriu, cum ar fi:

* este posibil să aveți doar un comutator lângă ele pentru control sus / jos

* este mai ieftin (unele companii oferă automatizare avansată pentru o mulțime de $ $ în plus)

* mai flexibil, le puteți programa deschide sau închide în diverse circumstanțe, vom afla despre crearea unui server web în python care se va conecta la interfața bluetooth a umbrelor și vom expune un API pentru a controla umbrele, vom fi, de asemenea, integrarea puteți să faceți lucruri precum să controlați nuanțele într-un program de timp sau să le controlați prin intrarea senzorului

Acesta va fi un tutorial intermediar, veți avea nevoie de abilități precum lipirea, programarea arduino, înțelegerea electronică de bază și câteva informații despre cum să instalați servicii pe un server, să le rulați și să le configurați.

Dacă ți-au plăcut videoclipurile de pe YouTube, te poți abona aici.

Pasul 1: Lucruri necesare

Lucruri necesare
Lucruri necesare
Lucruri necesare
Lucruri necesare

Sfat: măriți imaginile pentru a vizualiza etichetele descriptive de pe ele

Părți:

1. arduino pro mini 16Mhz 5V tip (eBay) 2 $

2. Modulul bluetooth HC-05 (eBay) 3,3 $

3. 5 V relee cu două canale (eBay) 1,6 $

4. Tranzistor NPN care este evaluat pentru cel puțin câțiva amperi, am folosit Tip142T <1 $

5. 220 ohmi, rezistor 0,25W <1 $

6. diodă, 1N4004 <1 $

7. fire pentru conectarea pieselor <1 $

8. PCB (eBay) <1 $ pe bucată

9. 2 x KF301-2P conector șurub (eBay) <1 $ pe bucată

10. fire jumper-bărbat-femeie (eBay) 1,2 $ x 2 pentru o grămadă

11. Regulator L7805CV 5V (eBay) <1 $ pe bucată

12. Priză mufă de alimentare de 5,5 mm DC masculin și feminin (eBay) <1 $ pe bucată

13. Tuburi termocontractabile sau bandă izolatoare

14. Sursa de alimentare, sursa trebuie să fie nominală pentru 12V și 2-3A.

Am salvat-o pe a mea de pe un încărcător de 12 V 2 A (eBay) 3,2 $

14. Bloc de benzi terminale (eBay) 15c

15. suport siguranțe (Aliexpress) 1 $ pe bucată

16. siguranță (eBay) <1 $ pe bucată

17. conectori PCB masculin și feminin (eBay) <1 $ pentru ceea ce avem nevoie

18. Cablu de alimentare CA.

19. incintă pentru cutie de plastic, a mea avea 6 x 19 cm

Instrumente:

1. Fier de lipit cu lipit

2. Tăietor de sârmă

3. Diverse șurubelnițe

4. Freză

5. burghiu electric și burghiu de 8,5 mm

6. Adaptor USB la serial FTDI FT232RL pentru a programa arduino pro mini

7. Laptop cu ArduinoIDE instalat pentru a programa arduino

8. Brichetă dacă utilizați tuburi termoretractabile

9. Un smartphone capabil de conexiune Bluetooth (folosesc un Android în exemplu) cu un software Bluetooth instalat

10. Opțional: lupă, multimetru, clește

Pasul 2: Pregătiri

Pregătiri
Pregătiri
Pregătiri
Pregătiri
Pregătiri
Pregătiri

Alegerea sursei de alimentare și a cutiei de plastic

Primul lucru este de a determina cât de mult curent și ce tensiune funcționează motoarele de umbrele.

Acest lucru se poate face citind specificațiile sau luând măsurători folosind multimetrul. De obicei, acestea operează 12 V și 1-3 Amperi (ale mele sunt de 2,5 A și 12 V). Înmulțiți curentul cu câte dintre ele trebuie să conduceți simultan (conduc două) pentru a afla curentul maxim necesar. Ar trebui să găsiți o sursă de alimentare care să fie exact aceeași tensiune și, în mod ideal, același amperaj sau puțin mai mare.

La acest pas, am înșelat puțin, folosind o sursă de alimentare de 12 V și 2,5 A pentru a acționa două motoare de 12 V și 2,5 A, ceea ce înseamnă că motoarele folosesc de două ori mai multă putere decât sursa de alimentare. Dar folosind o tehnică numită PWM (verificați linkul pentru a vedea mai multe detalii) am reușit să conduc motorul simultan la o viteză mai mică.

Motivul pentru care am făcut acest lucru este să economisesc spațiu în cutie (am ales o cutie mai mică).

Carcasa din plastic va trebui să găzduiască sursa de alimentare, două relee, un mic PCB cu electronice și fire, așa că alegeți dimensiunea astfel încât să se potrivească totul.

Sursa mea de alimentare avea o carcasă din plastic pe care am rupt-o folosind un instrument dremel, am tăiat firele existente și în acest fel am o sursă de energie ieftină și mică potrivită pentru proiectul meu (vezi imagini).

Pregătiți cablurile motorului

Trebuie să calculați cât timp vor fi cablurile motorului, adică până când vor ajunge la cutia de control pe care o umplem. Șansele sunt ca cablurile existente să nu fie suficient de lungi și va trebui să le extindeți, dezbrăcați ambele fire (cablul lamelor existente și cablurile prelungitoare) la un capăt, puneți tuburi termocontractabile, lipiți firele apoi aplicați căldură cu un mai ușor de izolat.

La sfârșitul cablului prelungitor va exista o priză de 5,5 mm pentru priză DC pentru tată. Trebuie să lipiți cele două fire la soclu, rezultatul final va fi ca în imagini.

Introducerea mufei mufei de alimentare DC de 5,5 mm în cutie

Folosind mașina de găurit găuriți două găuri suficient de mari pentru ca cricul să alunece. Introduceți mufele fișei de alimentare, înșurubați cu piulițele. Apoi lipiți fire groase negre și roșii la fiecare intrare a mufelor, după care le izolați folosind un tub termocontractabil. Firele ar trebui să fie suficient de lungi pentru a intra cu ușurință în blocul de benzi, dar nu pentru a ocupa prea mult spațiu.

Atașarea suportului siguranței cu siguranța

Pe o parte a cutiei găuriți o gaură mică pentru a pune o piuliță mică care ține în loc suportul siguranței. Apoi, folosind cleștele, o șurubelniță și piulița, înșurubați-l strâns în poziție. Suportul siguranței trebuie să fie aproape de locul de alimentare cu energie electrică și trebuie să fie în interiorul cutiei. Încă o dată verificați imaginile.

Pasul 3: Construirea PCB-ului cu electronice

Construirea PCB-ului cu electronice
Construirea PCB-ului cu electronice
Construirea PCB-ului cu electronice
Construirea PCB-ului cu electronice
Construirea PCB-ului cu electronice
Construirea PCB-ului cu electronice

PCB va conține microcontrolerul, comunicația bluetooth, modulul RTC, un tranzistor de putere cu o diodă pentru protecție și un rezistor mic, fire de conectori și un regulator de 5V.

Am atașat schema Fritzig, astfel încât lucrurile să fie ușoare. Prima imagine reprezintă imaginea exportată a schemei și am atașat și sketch.fzz (fișierul original, îl puteți deschide cu acest instrument)

Pași de lipit:

1. tăiați conectorii PCB de sex feminin, există doi conectori cu 12 pini pentru microcontroler, există, de asemenea, un conector cu 6 pini pentru bluetooth și alți conectori cu 12 pini pe partea dreaptă a microcontrolerului și un conector cu doi pini pentru negativul releului și puterea pozitivă

2. După ce toți conectorii sunt tăiați, trebuie lipit pe partea din spate a PCB-ului

3. Lipiți cei doi conectori KF301-2P

4. Puneți regulatorul L7805CV 5V pe PCB. Îndoiți picioarele și lipiți-le pe cealaltă parte, apoi tăiați picioarele în exces cu ajutorul tăietorului de cablu

5. Lipiți tranzistorul NPN Tip142T și dioda de protecție 1N4004, tăiați picioarele în exces după

6. Lipiți rezistorul de 220 ohmi între pinul digital corespunzător 5 și pinul de bază al tranzistorului

7. Cabluri mai groase de lipit între tranzistor și mufele KF301-2P (roșu și negru așa cum sunt marcate pe imagini)

8. Lipiți toate firele subțiri roșii (+), negre (-) și albe (semnal) conform schemei fritzig

9. Pini masculi de lipit pe microcontroler aveți nevoie de doi pini masculi 12 pe părți

10. Efectuați conexiuni între fiecare dintre pinii femelei corespunzători din partea dreaptă a microcontrolerului (este explicat mai bine în imagini). Conexiunile se vor face folosind doar lipirea (pinii vor fi aproape)

11. Opțional: cu lupa inspectați lipirile pentru scurtcircuite și verificați dacă firele sunt lipite corespunzător pe partea din spate a PCB-ului, de asemenea, puteți verifica cu multimetrul (setarea rezistenței) dacă există un scurtcircuit între pozitiv și conexiuni negative. Un alt test este alimentarea circuitului fără microcontroler, bluetooth

12. Așezați microcontrolerul și bluetooth-ul HC-05 pe PCB

Pasul 4: Cablare și asamblare

Cablare și asamblare
Cablare și asamblare
Cablare și asamblare
Cablare și asamblare

Până acum avem gata, geamul din plastic este pregătit pentru cablurile de cabluri și celelalte componente pregătite. Tot ce trebuie să facem acum este să conectăm sistemul.

1. prin orificiul lateral superior din cutie introduceți cablul de alimentare de curent alternativ, scoateți cablul și lipiți-l pe sursa de alimentare (dacă sursa de alimentare are șuruburi, înșurubați-o)

2. folosind o sârmă roșie de lipit ieșirea (+) sursei de alimentare către una dintre siguranțele laterale, utilizați un pic de tub termocontractabil pentru a ascunde firul dezbrăcat expus.

3. lipiți un alt fir roșu pe cealaltă parte a siguranței, aplicați un tub de contractare, cealaltă parte a firului trebuie introdusă și înșurubată în intrarea (+) conectorului cu șurub KF301-2P

4. lipiți un fir negru pe partea de ieșire (-) a sursei de alimentare și apoi înșurubați-l pe conectorul cu șurub de intrare PCB KF301-2P

4. Folosind conectori pentru placa de masă masculină-feminină, conectați releul pozitiv și negativ la conectorii feminini PCB pozitivi și negativi. Conectați, de asemenea, pinii 8 și 9 ai microcontrolerului (utilizând conectorii mama pcb din stânga PCB) la pinii de declanșare a releului

5. conectați o parte a blocului de benzi la firele roșii, respectiv negre, provenite de la conectorii mufei de alimentare DC de 5,5 mm. Aveți mai mult de un conector femelă de 5,5 mm ca mine, apoi toate firele roșii vor ajunge în partea stângă sus a blocului de borne și toate firele negre din partea dreaptă sus a blocului de borne (a se vedea imaginile). Când veți opera umbrele dacă nu se mișcă în aceeași direcție, vom inversa firele aici (mai multe despre asta mai târziu)

6. conectați firele pozitive și negative provenite de la conectorul șurub KF301-2P (afară) la mijlocul bornelor releului. Mijlocul terminalelor se numește comun.

7. conectați partea stângă a releului stâng (nu contează cum vă confruntați cu adevărat) la partea stângă a releului drept la partea stângă jos a blocului de borne. Apoi conectați partea dreaptă a releului stâng la partea dreaptă a releului drept la partea dreaptă jos a blocului de borne. Blocul de borne va avea partea superioară conectată la conectorii femelei de 5,5 mm (vezi pasul 5).

Notă: Am descris blocul de borne ca având laturile superioare și inferioare, fiecare având laturile stânga și dreapta. Nu contează cum țineți blocul de terminale atâta timp cât vă amintiți ce parte este ceea ce. Puteți verifica imaginile și mai ales schema fritzig.

Pasul 5: Codul Arduino

Codul Arduino
Codul Arduino

Codul trebuie încărcat pe arduino pro mini utilizând adaptorul FTDI USB la serial FT232RL.

Va trebui să conectați pinul GND, VCC, Rx, Tx și DTR la arduino pro mini. Apoi deschideți software-ul arduino selectați instrumentele / portul și orice port utilizați. Apoi Tools / Board / Arduino Pro sau Pro Mini. Apoi Instrumente / Placă / Procesor / ATmega328 (5V 16Mhz).

În cele din urmă, deschideți schița de mai jos și apăsați încărcare.

Ajustări: Singurul lucru care poate fi ajustat în schiță este pwmPower. Valoarea poate fi cuprinsă între 0 și 255 și reprezintă aproximativ cât din puterea sursei de alimentare va merge la motoarele umbrelor. Practic, este pornirea și oprirea rapidă a alimentării. Am implementat-o mai ales pentru a-mi permite să folosesc o sursă de alimentare mai mică, fără supraîncălzire sau oprire. Dacă sursa dvs. de alimentare are o putere mai mare decât vor trage motoarele, puteți seta pwmPower la 255.

Deci, cum funcționează acest program: mai întâi ascultă linia serială (un serial software secundar) pentru transmisiile primite. Când ajunge o transmisie, mesajul este citit într-un buffer până la „;” este prezent sau se ajunge la sfârșitul bufferului. Apoi este analizat și dacă este în format corect (de exemplu: O45;) funcția toggleState este apelată cu prima stare a parametrilor și apoi cu durata.

Pentru a atinge comutatorul de polaritate ambele relee sunt fie deschise, fie închise. Tranzistorul este pornit și oprit folosind PWM pe durata specificată. O45 va însemna deschis timp de 45 de secunde.

După executarea comenzii, bufferul este șters.

Pasul 6: utilizare

Utilizare
Utilizare
Utilizare
Utilizare
Utilizare
Utilizare

Putem folosi comenzile în mai multe moduri

1. Prin intermediul unei aplicații Bluetooth pentru Android sau iPhone (cea mai simplă)

În demo-ul meu am ales o aplicație pentru Android numită Bluetooth Controller. Această aplicație vă permite să personalizați butoanele care vor trimite date seriale. Am creat două butoane numite Sus și Jos, am asociat Sus cu codul „C40;” iar Down cu „O35;”.

"C40;" înseamnă că voi închide (retrage) nuanțele timp de 40 de secunde, „035” înseamnă că voi deschide (se vor ridica) timp de 35 de secunde. ";" este terminatorul de comandă pe care l-am ales în schița mea, ceea ce înseamnă că semnalează sfârșitul unei comenzi.

2. Prin intermediul unui script Python care rulează continuu în fundal

Aceasta este partea avansată a tutorialului. Am solicitat un script python care va rula pe un server precum un raspberry pi sau un laptop cu acces la internet. Se va conecta la Bluetooth de pe caseta de control și va expune un API http. API-ul poate fi accesat direct sau prin thingspeak.

Voi explica pas cu pas ce va trebui să faceți

A. primul lucru este să împerecheați Bluetooth

veți utiliza comanda bluetoothctl de pe consolă, tip interior

aprinde

detectabil pe agent pe implicit-agent împerecheabil pe scanare pe pereche xx: xx: xx: xx: xx: xx (și introduceți parola) încredere în xx: xx: xx: xx: xx: xx (dacă nu există parolă):

apoi deschideți fișierul de configurare Bluetooth

vim /etc/bluetooth/rfcomm.conf

în interior va trebui să vă configurați dispozitivul bluetooth astfel:

rfcomm1 {

lega da; dispozitiv your_bluetooth_mac_address ceva de genul 97: D3: 31: 21: A0: 51; canalul 1; comentariu „Conexiune la nuanțele mele bt”; }

legați, reporniți serviciile bluetooth

sudo rfcomm bind allsudo /etc/init.d/bluetooth restart sudo hciconfig hci0 up

b. instalați balonul, autentificarea de bază a balonului:

sudo -H pip instalează Flask Flask-BasicAuth

c. creați un fișier server.py cu următorul cod și rulați serverul:

# utilizare: python httpToBluetooth parolă nume utilizator bluetooth_address

# Notă: se utilizează numele de utilizator, parola

import OS, Bluetooth, sys, threading

din flask import Flask from flask_basicauth import BasicAuth from queue import Queue app = Flask (_ name_) configuration = sys.argv app.config ['BASIC_AUTH_USERNAME'] = configuration [1] app.config ['BASIC_AUTH_PASSWORD'] = configuration [2] coadă = Queue () basic_auth = BasicAuth (app) class BluetoothBackground (threading. Thread): def _init _ (self, bluetooth_address, queue): threading. Thread._ init _ (self) self._ Bluetooth_address = bluetooth_address self._ queue = coadă self.shutdown = Fals def run (self): self._ bluetooth = self.get_bluetooth () while not self.shutdown: message = self._ queue.get () self._ bluetooth.send (message) self._ bluetooth.close () def get_bluetooth (self): connection = bluetooth. BluetoothSocket (bluetooth. RFCOMM) connection.settimeout (None) try: connection.connect ((self._ bluetooth_address, 1)) exceptie Exception, e: print 'Error connection to bluetooth' + str (e) connection.setblocking (Fals) returnează clasa conexiunii Webserver (threading. Thread): def run (auto): port = in t (os.environ.get ('PORT', 5000)) app.run (host = '0.0.0.0', port = port, debug = True, use_reloader = False) @ app.route ("/ send_to_serial /") @ basic_auth.required def send_to_serial (command): queue.put (command) return 'ok' threads = threads.append (BluetoothBackground (configuration [3], queue)) threads.append (Webserver ()) [thread.start () pentru fir în fire]

pentru a rula serverul executați:

parola utilizator python server.py 97: D2: 31: 20: A0: 51

Ok, deci server.py este scriptul nostru, utilizatorul și parola sunt acreditările utilizate pentru autentificarea dvs., iar „97: D2: 31: 20: A0: 51” este adresa dvs. MAC bluetooth.

d. utilizați serverul pentru a trimite comenzi de oriunde din lume

din tipul browserului: https:// your_ip: 5000 / send_to_serial / C30;

- introduceți utilizatorul și parola pe care le-ați configurat mai devreme la pornirea serverului python

- "C30;" este comanda care va fi redirecționată către dispozitivul bluetooth (caseta noastră care va controla nuanțele)

- verificați dacă portul 5000 nu este blocat de firewall-ul dvs. (folosim acel port)

- dacă sunteți în spatele unui router (de exemplu, un raspberry pi) trebuie să faceți un port forwarding de la router de la portul 5000 la portul 5000

e. Puteți folosi lucruri pentru a face lucruri precum controlul nuanțelor într-un program de timp sau când se modifică unele date ale senzorului de canal. De exemplu, ați putea conecta un senzor de lumină (în exterior) la thinkpeak și când nivelul de lumină scade la o anumită cantitate (e seară) puteți închide umbrele, astfel încât oamenii din afară să nu vă vadă.

Puteți conecta nuanțele (serverul python pe care l-am configurat mai devreme) cu thingspeak folosind ThingHTTP.

Am inclus o imagine a formularului ThingHTTP cu datele completate ca exemplu și o imagine cu TimeControl Deci, pentru o flexibilitate maximă, lucrurile de vârf ar trebui să facă tot ce aveți nevoie.

3. Prin intermediul aplicației mele de automatizare a casei

Acest lucru este puțin mai complicat, aplicația mea de automatizare a casei face mult mai mult decât controlul umbrelor.

De asemenea, controlează luminile, ușa, are mai mulți senzori, se integrează cu întrerupătoare și are reguli complexe definite de utilizator care pot, de exemplu, deschide umbrele dacă nivelul de lumină din interior este scăzut sau dacă este dimineața.

Puteți verifica depozitul meu github și, dacă aveți întrebări, vă voi răspunde cu plăcere.

Dacă ați găsit tutorialul meu oarecum util, vă rugăm să îl împărtășiți sau să îl adăugați la favorite. Și vreau să văd și câteva comentarii interesante:)

Recomandat: