Cuprins:

Stație de andocare controlată Arduino cu lămpi: 14 pași (cu imagini)
Stație de andocare controlată Arduino cu lămpi: 14 pași (cu imagini)

Video: Stație de andocare controlată Arduino cu lămpi: 14 pași (cu imagini)

Video: Stație de andocare controlată Arduino cu lămpi: 14 pași (cu imagini)
Video: Meniul Statiei eChat E360 2024, Decembrie
Anonim
Image
Image
Stație de andocare telefonică controlată Arduino cu lămpi
Stație de andocare telefonică controlată Arduino cu lămpi
Stație de andocare telefonică controlată Arduino cu lămpi
Stație de andocare telefonică controlată Arduino cu lămpi

Ideea a fost suficient de simplă; creați o stație de încărcare a telefonului care să aprindă o lampă numai atunci când telefonul se încărca. Cu toate acestea, așa cum se întâmplă adesea, lucrurile care par inițial simple pot ajunge să devină puțin mai complexe în executarea lor. Aceasta este povestea modului în care am creat o stație de încărcare cu telefon dual care îmi îndeplinește sarcina simplă.

Pasul 1: Ce am folosit

Ce am folosit
Ce am folosit
Ce am folosit
Ce am folosit
Ce am folosit
Ce am folosit

Aceasta nu este în niciun caz o listă exhaustivă a tot ceea ce am folosit, dar am vrut să dau o idee generală asupra componentelor majore pe care le-am folosit. Am inclus link-uri Amazon pentru majoritatea acestor componente. (Rețineți că primesc un mic comision de la Amazon dacă utilizați aceste linkuri. Mulțumesc!)

Arduino Uno: https://amzn.to/2c2onfeAdafruit 5V DC Sensor de curent (x2): https://amzn.to/2citA0S2- Releu de stare solidă a canalului: https://amzn.to/2cmKfkA Cutie USB cu 4 porturi: https://amzn.to/2cmKfkA Cablu USB cu montare pe panou de 1 '(x2): https://amzn.to/2cmKfkA Cablu USB 6 AB:

Am folosit, de asemenea, următoarele consumabile pe care le-am ridicat la magazinul de hardware: cutii de conducte din plastic de 4 "x4" (x2) Becuri Edison de 40W (x2) Socket pentru becuri Suport de lumină Suport de țevi de fier negru asortate (3/8 ") Fitinguri pentru țevi din alamă asortate3 'Piulițe de extensie CordWire

Pasul 2: Experimentare, proiectare și cablare

Experimentare, proiectare și cablare
Experimentare, proiectare și cablare

Pentru a determina când se încarcă telefonul, fluxul curent către telefon ar trebui monitorizat constant. Deși sunt sigur că există proiecte de circuite care pot măsura curentul și pot controla un releu în funcție de nivelul curent, nu sunt în niciun caz un expert în electricitate și nu am vrut să mă ocup de construirea unui circuit personalizat. Din o anumită experiență, știam că un mic microcontroler (Arduino) ar putea fi folosit pentru a măsura curentul și apoi pentru a controla un releu pentru a aprinde și opri luminile. După ce am găsit un senzor mic de curent continuu de către Adafruit, am început să experimentez conectarea la un cablu USB pentru a măsura curentul care curge prin el în timp ce încărca un telefon. Un cablu tipic USB 2.0 conține 4 fire: alb, negru, verde și roșu. Deoarece firele negre și roșii transportă energie prin cablu, oricare dintre acestea poate fi folosită pentru a măsura debitul curent - am folosit firele roșii. Un senzor tipic de curent trebuie plasat în linie cu fluxul de curent (curentul trebuie să curgă prin senzor), iar senzorul Adafruit nu face excepție de la această regulă. Sârmă roșie a fost tăiată cu cele două capete tăiate fiind atașate la cele două borne cu șurub de pe senzorul de curent. Senzorul Adafruit a fost conectat la un Arduino și am scris un cod simplu pentru a raporta fluxul curent prin senzor. Acest experiment simplu mi-a arătat că un telefon de încărcare a atras între 100 și 400 mA. După ce telefonul a fost complet încărcat, debitul curent ar scădea sub 100 mA, dar nu ar ajunge la 0.

Experimentul meu a demonstrat cu succes că aș putea măsura fluxul de curent cu un Arduino, am proiectat circuitul prezentat mai sus. Două cabluri prelungitoare USB montate pe panou de 1 'ar fi conectate la o cutie de încărcare cu 4 porturi. Cablurile de încărcare a telefonului ar fi conectate la aceste cabluri prelungitoare, ceea ce face sistemul să poată găzdui orice fel de cablu de încărcare USB - și, sperăm, să fie „o dovadă viitoare a telefonului”. Cablurile roșii ale cablurilor prelungitoare ar fi tăiate și conectate la senzorii de curent. Senzorii actuali furnizează informații către Arduino, care la rândul său controlează un releu cu două canale în stare solidă. Releul este utilizat pentru a comuta puterea de 110V la becuri. Alimentarea la cutia USB și becurile pot fi legate împreună permițând sistemului să utilizeze o singură priză. Îmi place în mod deosebit modul în care puterea Arduino poate fi furnizată de unul dintre porturile USB suplimentare din cutia de încărcare.

Pasul 3: Stația de andocare a telefonului

Telefonul de andocare
Telefonul de andocare

Stația de andocare a telefonului a fost construită dintr-o țeavă neagră de 3/8 ". Am folosit două coate bărbați-femei, un T, o secțiune scurtă care era complet filetată și o flanșă rotundă. Pentru părțile din alamă din partea de sus a docului, am tăiat o țeavă de alamă lungă de 1 1/2 "în jumătate și folosită o jumătate pentru fiecare parte. O gaură mică a fost forată în T, care era suficient de mare pentru a se potrivi capetelor cablurilor de iluminat. Cablurile au fost prelucrate prin coate și au fost sudate JB în conductele de alamă. Acest lucru a ajuns să fie mult mai greu decât pare, deoarece coatele nu erau suficient de mari în interior pentru a se potrivi capătului cablului de iluminare. Am ajuns să alez interiorul coatelor până s-ar potrivi.

Dacă ar trebui să fac din nou acest doc, i-aș oferi mai mult suport pentru telefon. După cum vă puteți aștepta, dacă telefonul este împins deloc când este pe doc, capetele cablului fulgerului pot fi îndoite foarte ușor. Mi se pare ciudat faptul că Apple vinde de fapt un doc cu o configurație similară neacceptată.

Pasul 4: Lămpile

Lămpile
Lămpile
Lămpile
Lămpile

Am vrut ca lămpile să aibă un aspect industrial similar cu cel al docului. Pentru prima lampă, am folosit o priză de bec generică setată deasupra unei flanșe de țevi de 3/8 . Unele țevi mici din alamă conectează baza la priză și completează accentele de alamă de pe doc. Un bec Edison de 40W este într-adevăr steaua Am vrut să folosesc becuri Edison, deoarece se potrivesc perfect cu designul acestui doc și vă permit să creați o lampă frumoasă cu bec expus.

În timp ce la Lowe's am găsit o paranteză de lumină pe șosea, pe care am considerat-o interesantă. Am întors consola cu capul în jos și am adăugat o flanșă de țeavă pentru a face baza. Priza din suportul luminii de cale nu a fost atașată la acesta, deoarece a fost proiectată pentru a fi ținută pe loc de un bec cu față plană. Întrucât foloseam un bec Edison, am realizat un mic suport din aluminiu pentru a ține soclul în carcasa circulară a suportului luminii de cale. Au fost adăugate butoane mici din alamă pentru a completa restul sistemului.

Odată ce docul și luminile au fost finalizate, acestea au fost vopsite în negru mat - cu excepția bucăților de alamă.

Pasul 5: Carcasa Arduino

Incinta Arduino
Incinta Arduino
Incinta Arduino
Incinta Arduino
Incinta Arduino
Incinta Arduino

Am folosit două carcase din PVC de 4 "x 4" pentru carcasa Arduino. Am tăiat fantele de ventilație într-o parte și capacul fiecărei incinte. Pe partea laterală a carcasei, am tăiat două găuri dreptunghiulare pentru cablurile USB de montare pe panou. Orificiile distanțate 1 1/8 "pe centru au fost găurite pe ambele părți ale acestor găuri dreptunghiulare și au fost folosite pentru a atașa cablurile la incintă. O parte a ambelor incinte a fost tăiată astfel încât cele două cutii să formeze o singură cutie atunci când erau setat unul lângă altul. Un bloc de lemn gros de 3/4 "a fost folosit pentru a ține cutiile în această configurație side by side și, de asemenea, formează o bază convenabilă pentru ca aceștia să stea.

Pasul 6: Atașați cutia USB

Atașați cutia USB
Atașați cutia USB

Prima componentă de adăugat la carcasă este cutia de încărcare USB cu 4 porturi. Pur și simplu am rezolvat acest lucru cu bandă dublă.

Pasul 7: Montați Arduino în incintă

Muntele Arduino în incintă
Muntele Arduino în incintă
Muntele Arduino în incintă
Muntele Arduino în incintă
Muntele Arduino în incintă
Muntele Arduino în incintă

Îmi place să folosesc distanțieri cu placă frontală pentru cutie electrică pentru a monta componente electronice, deoarece acestea sunt fabricate din plastic și pot fi adaptate pentru a funcționa ca suporturi sau standoffs. Pur și simplu le tăi cu cuțitul și apoi împing șuruburile prin ele. Arduino a fost montat în cutia cu o singură carcasă cu șuruburi mici cu cap plat, cu distanțierii plăcii frontale montate între Arduino și cutie.

Odată ce Arduino a fost montat, un cablu USB scurt (6 ) de tip AB a fost conectat între portul USB al Arduino și cel mai apropiat port al cutiei de încărcare. Aceasta a fost o potrivire foarte strânsă pentru cablu și de fapt a trebuit să tăiez înapoi bițele din plastic îndoite care înconjoară firul de la capătul cablului, astfel încât să se potrivească.

Pasul 8: Cablarea și montarea releului

Cablarea și montarea releului
Cablarea și montarea releului
Cablarea și montarea releului
Cablarea și montarea releului
Cablarea și montarea releului
Cablarea și montarea releului
Cablarea și montarea releului
Cablarea și montarea releului

Cablurile lămpilor au fost alimentate prin găurile din incintă. Un fir de la fiecare cablu a fost conectat la ieșirile (partea de 120V comutată) ale ambelor canale ale releului de stare solidă. Secțiunile scurte (4 ) de sârmă au fost conectate la bornele șurubului rămase adiacente unde au fost conectate aceste fire ale lămpii. Aceste fire vor fi utilizate pentru a furniza energie la partea de 120V a releului.

Pe partea DC a releului, au fost atașate 4 fire conform configurației prezentate. Două dintre fire furnizează tensiunea + și - DC necesară pentru funcționarea releului, în timp ce restul de două fire poartă semnalele digitale, care spun canalelor să pornească sau să oprească.

Aceste 4 fire au fost apoi atașate la Arduino după cum urmează: Firul roșu (DC +) este conectat la pinul de 5V. Firul negru (DC-) este conectat la pinul GND. Firul maro (CH1) este conectat la digital pinul de ieșire 7 Firul portocaliu (CH2) este conectat la pinul de ieșire digital 8

Odată ce toate firele au fost conectate la releu, acesta a fost montat în incintă folosind șuruburi mici cu cap plat.

Pasul 9: Cablarea și montarea senzorilor de curent

Cablarea și montarea senzorilor de curent
Cablarea și montarea senzorilor de curent
Cablarea și montarea senzorilor de curent
Cablarea și montarea senzorilor de curent
Cablarea și montarea senzorilor de curent
Cablarea și montarea senzorilor de curent

S-au creat fire de comunicație și de alimentare pentru cei doi senzori de curent prin îmbinarea celor două seturi de fire care duc de la senzori la Arduino. Ca și înainte, firele roșii și negre sunt utilizate pentru alimentarea senzorilor. Aceste fire sunt conectate la pinii Vin (fir roșu) și GND (fir negru) ai Arduino. În mod surprinzător, chiar și firele de comunicație (firele SDA și SDL) pot fi îmbinate împreună. Acest lucru se datorează faptului că senzorilor de curent Adafruit li se poate da fiecare o adresă unică, în funcție de modul în care pinii de adresă sunt lipiți împreună. Dacă placa nu are niciun pin de adresă lipit împreună, placa este adresată ca placa 0x40 și va fi menționată ca atare în codul Arduino. Prin lipirea pinilor de adresă A0 împreună, așa cum se vede în diagramă, adresa plăcii devine 0x41. Dacă numai pinii de adresă A1 sunt conectați, placa ar fi 0x44, iar dacă ambii pinii A0 și A1 ar fi conectați, adresa ar fi 0x45. Deoarece folosim doar doi senzori de curent, a trebuit să lipesc pinii de adresă de pe placa 1 așa cum se arată.

Odată ce plăcile au fost adresate corect, acestea au fost atașate la incintă folosind șuruburi mici de alamă.

Firele SDA (albastru) și SCL (galben) de la senzori sunt conectate la pinii SDA și SCL de pe Arduino. Acești pini nu au fost etichetați pe Arduino, dar sunt ultimii doi pini după pinul AREF de pe partea digitală a plăcii.

Pasul 10: Conectați cablurile de extensie USB

Conectați cablurile de extensie USB
Conectați cablurile de extensie USB
Conectați cablurile de extensie USB
Conectați cablurile de extensie USB

După cum s-a menționat anterior, cablurile prelungitoare USB trebuie să treacă curent prin senzorii de curent. Acest lucru a fost facilitat prin îmbinarea firelor în firele roșii ale cablurilor. Odată ce cablurile USB sunt montate în carcasă, aceste fire de la îmbinări sunt conectate la senzorii de curent. Pentru fiecare cablu USB, curentul care curge prin el va curge pe aceste fire, prin senzor, și apoi va reveni pentru a continua prin cablu către telefonul de încărcare. Capetele masculine ale cablurilor USB au fost conectate la două dintre porturile deschise ale cutiei de încărcare USB.

Pasul 11: Conectați alimentarea

Conectați alimentarea
Conectați alimentarea

Ultimul pas în cutia electronică este conectarea cablului de alimentare la cutia USB și la lămpi (aka partea laterală a releului de 120V). Firele negre care duc direct la lămpi sunt conectate la un fir al cablului de alimentare împreună cu firul maro din cutia de încărcare. Cablul de alimentare al cutiei de încărcare a fost pur și simplu tăiat cu cele două fire din interior (acestea sunt firele albastre și maro) fiind dezbrăcate înapoi. În cele din urmă, cele două fire albe ale releului sunt conectate la celălalt fir al cablului de alimentare împreună cu firul albastru de la cutia de încărcare USB.

Pasul 12: Sistemul finalizat

Sistemul finalizat
Sistemul finalizat
Sistemul finalizat
Sistemul finalizat

Odată ce cutia este complet asamblată, capacele carcasei pot fi înlocuite. Acum că hardware-ul pentru acest sistem este complet, este timpul să treceți la software.

Pasul 13: Codul Arduino

Dezvoltarea codului Arduino a fost destul de simplă, deși a fost nevoie de câteva teste pentru a fi corect. În forma sa cea mai simplă, codul trimite un semnal pentru a alimenta canalul de releu corespunzător ori de câte ori citește un flux de curent mai mare sau egal cu 90mA. În timp ce acest cod simplu a fost un bun punct de plecare, telefoanele mobile nu se încarcă la 100% și apoi stau acolo trăgând foarte puțin curent. Mai degrabă, am constatat că, odată ce telefonul a fost încărcat, va trage câteva sute de mA pentru o perioadă scurtă de timp la fiecare câteva minute. Este ca și cum telefonul ar fi o găleată cu scurgeri care trebuie să fie completată la fiecare câteva minute.

Pentru a rezolva această problemă, am dezvoltat o strategie în care fiecare canal ar putea fi în una din cele trei stări. Starea 0 este definită ca atunci când telefonul a fost scos din stația de încărcare. În practică, am constatat că practic nu curgea curent când telefonul a fost scos, dar am stabilit limita superioară de curent a acestei stări la 10mA. Starea 1 este starea în care telefonul este complet încărcat, dar încă pe doc. Dacă debitul curent scade sub 90mA și este peste 10mA, sistemul este în starea 1. Starea 2 este starea de încărcare, în care telefonul desenează 90mA sau mai mult.

Când telefonul este plasat pe doc, starea 2 este inițiată și continuă în timpul încărcării. Odată ce încărcarea se încheie și curentul scade sub 90mA, sistemul se află în starea 1. În acest moment a fost făcută o declarație condiționată, astfel încât sistemul să nu poată trece direct de la starea 1 la starea 2. Aceasta menține sistemul în starea 1 până când telefonul este eliminat, moment în care intră în starea 0. Deoarece sistemul poate trece de la starea 0 la starea 2, când telefonul este așezat din nou pe încărcător și fluxul curent crește peste 90mA, starea 2 este pornită din nou. Numai când sistemul este în starea 2, semnalul este trimis la releu pentru a aprinde lumina.

O altă problemă cu care m-am confruntat este că curentul ar scădea uneori sub 90mA înainte ca telefonul să fie complet încărcat. Acest lucru ar pune sistemul în starea 1 înainte de a fi posibil. Pentru a remedia acest lucru, mediez datele curente peste 10 secunde și numai dacă valoarea curentă medie scade sub 90mA, sistemul va intra în starea 1.

Dacă sunteți interesat de acest cod, am atașat un fișier Arduino.ino cu mai multe descrieri în el. În general, funcționează destul de bine, dar am observat că uneori sistemul pare să treacă la starea 0 când telefonul este încă atașat și complet încărcat. Aceasta înseamnă că, din când în când, lumina se va aprinde câteva secunde (când va trece în starea 2) și apoi se va stinge. Ceva la care să lucrez pentru viitor, cred.

Pasul 14: Sistemul finalizat

Sistemul terminat
Sistemul terminat
Sistemul terminat
Sistemul terminat
Sistemul terminat
Sistemul terminat
Sistemul terminat
Sistemul terminat

Am instalat stația de încărcare pe raftul nostru, cu cutia Arduino amplasată în spatele unor cărți. Dacă te uiți pur și simplu la el, nu ți-ai da seama niciodată de lucrarea care a intrat în ea - și chiar să o vezi în funcțiune nu îi face dreptate. Din nou, mă bucură să văd luminile aprinse și se sting și am ajuns chiar să mă bazez pe ele pentru a vedea dacă telefonul se încarcă.

Recomandat: