Turinys:

„Arduino“valdomas telefono dokas su lempomis: 14 žingsnių (su nuotraukomis)
„Arduino“valdomas telefono dokas su lempomis: 14 žingsnių (su nuotraukomis)

Video: „Arduino“valdomas telefono dokas su lempomis: 14 žingsnių (su nuotraukomis)

Video: „Arduino“valdomas telefono dokas su lempomis: 14 žingsnių (su nuotraukomis)
Video: #16 DT 06 WIFI Android Modbus HMI | Внешний ПЛК Arduino 2024, Lapkritis
Anonim
Image
Image
„Arduino“valdomas telefono dokas su lempomis
„Arduino“valdomas telefono dokas su lempomis
„Arduino“valdomas telefono dokas su lempomis
„Arduino“valdomas telefono dokas su lempomis

Idėja buvo pakankamai paprasta; sukurkite telefono įkrovimo stotelę, kuri lemputę įjungtų tik tada, kai telefonas kraunasi. Tačiau, kaip dažnai būna, iš pradžių paprastų dalykų įgyvendinimas gali būti šiek tiek sudėtingesnis. Tai istorija apie tai, kaip sukūriau dvigubą telefono įkrovimo stotelę, kuri atlieka mano paprastą užduotį.

1 žingsnis: ką aš naudojau

Ką aš naudojau
Ką aš naudojau
Ką aš naudojau
Ką aš naudojau
Ką aš naudojau
Ką aš naudojau

Tai anaiptol nėra išsamus visko, ką naudojau, sąrašas, tačiau norėjau pateikti bendrą idėją apie pagrindinius naudojamus komponentus. Aš įtraukiau „Amazon“nuorodas į daugumą šių komponentų. (Atkreipkite dėmesį, kad naudodamas šias nuorodas gaunu nedidelį komisinį mokestį iš „Amazon“. Ačiū!)

„Arduino Uno“: https://amzn.to/2c2onfeAdafruit 5V nuolatinės srovės jutiklis (x2): https://amzn.to/2citA0S2- kanalo kietojo kūno relė: https://amzn.to/2cmKfkA 4 prievadų USB dėžutė: https://amzn.to/2cmKfkA 1 'skydo laikiklio USB kabelis (x2): https://amzn.to/2cmKfkA 6 AB USB kabelis:

Aš taip pat naudojau šiuos reikmenis, kuriuos įsigijau techninės įrangos parduotuvėje: 4 "x4" plastikinės kanalizacijos dėžės (x2) 40 W Edisono lemputės (x2) Lemputės lizdas Bėgių kelio kronšteinas Asorti juodos geležies vamzdis (3/8 ") Įvairios žalvarinės vamzdžių jungiamosios detalės3 „Ilginamojo laido veržlės

2 žingsnis: eksperimentai, projektavimas ir instaliacija

Eksperimentai, dizainas ir laidai
Eksperimentai, dizainas ir laidai

Norint nustatyti, kada telefonas kraunasi, reikia nuolat stebėti dabartinį srautą į telefoną. Nors esu tikras, kad yra grandinių konstrukcijų, kurios gali išmatuoti srovę ir valdyti relę pagal dabartinį lygį, aš jokiu būdu nesu elektros ekspertas ir nenorėjau spręsti pasirinktinės grandinės kūrimo. Iš tam tikros patirties žinojau, kad mažas mikrovaldiklis („Arduino“) gali būti naudojamas matuoti srovę, o tada valdyti relę, kad įjungtų ir išjungtų šviesas. „Adafruit“radęs nedidelį nuolatinės srovės jutiklį, pradėjau eksperimentuoti, kaip prijungti jį prie USB kabelio, kad būtų galima išmatuoti srovę, tekančią per jį kraunant telefoną. Įprastas USB 2.0 kabelis turi 4 laidus: baltą, juodą, žalią ir raudoną. Kadangi juodi ir raudoni laidai perduoda galią per kabelį, srovės srautui matuoti galima naudoti bet kurį iš jų - aš naudoju raudonus laidus. Įprastas srovės jutiklis turi būti pastatytas kartu su srovės srautu (srovė turi tekėti per jutiklį), o „Adafruit“jutiklis nėra šios taisyklės išimtis. Raudona viela buvo nupjauta, o du nupjauti galai buvo pritvirtinti prie dviejų srovės jutiklio varžtų gnybtų. „Adafruit“jutiklis buvo prijungtas prie „Arduino“, ir aš parašiau paprastą kodą, kad galėčiau pranešti apie dabartinį srautą per jutiklį. Šis paprastas eksperimentas parodė, kad įkraunamas telefonas sunaudoja nuo 100 iki 400 mA. Kai telefonas buvo visiškai įkrautas, dabartinis srautas nukris žemiau 100 mA, bet nepasieks 0.

Savo eksperimentu sėkmingai parodydamas, kad galiu išmatuoti srovę su „Arduino“, sukūriau aukščiau parodytą grandinę. Du 4 colių USB jungties prailginimo kabeliai bus prijungti prie 4 prievadų įkrovimo dėžutės. Telefono įkrovimo kabeliai būtų prijungti prie šių ilginamųjų kabelių, todėl sistema galėtų pritaikyti bet kokį USB įkrovimo kabelį ir, tikiuosi, tai būtų „būsima telefono apsauga“. Raudoni ilginamųjų kabelių laidai būtų nukirpti ir prijungti prie srovės jutiklių. Dabartiniai jutikliai teikia informaciją „Arduino“, kuris savo ruožtu valdo dviejų kanalų kietojo kūno relę. Relė naudojama perjungti 110 V maitinimą į lemputes. Maitinimas prie USB dėžutės ir lemputės gali būti sujungti, kad sistema galėtų naudoti vieną lizdą. Man ypač patinka, kaip „Arduino“energiją gali tiekti vienas iš papildomų įkrovimo dėžutės USB prievadų.

3 žingsnis: telefono dokas

Telefono dokas
Telefono dokas

Telefono prijungimo stotelė buvo pagaminta iš 3/8 colių juodo vamzdžio. Naudojau dvi vyriškas-moteriškas alkūnes, T, trumpą sekciją, kuri buvo visiškai sriegiuota, ir apvalų flanšą. Žalvarinėms dalims, esančioms doko viršuje, nukirpau 1 1/2 colio ilgio žalvarinį vamzdį per pusę ir naudokite vieną pusę kiekvienai daliai. T buvo išgręžta nedidelė skylė, kuri buvo pakankamai didelė, kad tilptų apšvietimo kabelių galai. Kabeliai buvo sujungti per alkūnes ir buvo suvirinti į žalvarinius vamzdžius. Galų gale tai buvo daug sunkiau, nei atrodo, nes alkūnės nebuvo pakankamai didelės viduje, kad tilptų apšvietimo kabelio galas. Galų gale perkošiau alkūnių vidų, kol jos tilps.

Jei turėčiau dar kartą padaryti šį doką, aš labiau palaikyčiau telefoną. Kaip ir galite tikėtis, jei telefonas išvis stumiamas, kai jis yra ant doko, žaibo kabelio galai gali būti labai lengvai sulenkti. Man keista, kad „Apple“iš tikrųjų parduoda doką su panašia nepalaikoma konfigūracija.

4 žingsnis: lempos

Lempos
Lempos
Lempos
Lempos

Norėjau, kad lempos būtų panašios į doką. Pirmam žibintui aš naudoju bendrą lemputės lizdą, esantį 3/8 colio vamzdžio flanšo viršuje. Kai kurie maži žalvariniai vamzdžiai jungia pagrindą prie lizdo ir papildo žalvario akcentus prie doko. 40 W Edisono lemputė tikrai yra žvaigždė Norėjau naudoti Edisono lemputes, nes jos puikiai dera prie šio doko dizaino ir leidžia jums sukurti gražią atviros lempos lempą.

Būdamas Lowe'e, radau takelio šviesos laikiklį, kuris, mano manymu, buvo įdomus. Aš apverčiau laikiklį aukštyn kojom ir pridėjau vamzdžio flanšą, kad padarytų pagrindą. Kištukinio žibinto laikiklio lizdas prie jo nebuvo pritvirtintas, nes buvo suprojektuotas taip, kad jį laikytų plokščia lemputė. Kadangi naudojau „Edison“lemputę, aš padariau mažą aliuminio laikiklį, kad laikyčiau lizdą apskrito bėgių šviesos laikiklio korpuso viduje. Pridedamos mažos žalvarinės rankenėlės, papildančios likusią sistemos dalį.

Kai dokas ir žibintai buvo baigti, jie buvo nudažyti matine juoda spalva, išskyrus žalvarinius gabalus.

5 žingsnis: „Arduino“gaubtas

„Arduino“gaubtas
„Arduino“gaubtas
„Arduino“gaubtas
„Arduino“gaubtas
„Arduino“gaubtas
„Arduino“gaubtas

„Arduino“korpusui naudojau du 4 x 4 colių PVC gaubtus. Iškirpiau vėdinimo angas į vieną pusę ir kiekvieno gaubto dangtį. Vieno korpuso šone aš iškirpiau dvi stačiakampio formos skyles skydo laikiklio USB kabeliams. Skylės, išdėstytos 1 1/8 colio centre, buvo išgręžtos abiejose šių stačiakampių skylių pusėse ir buvo naudojamos kabeliams pritvirtinti prie gaubto. Viena abiejų gaubtų pusė buvo nupjauta, kad abi dėžutės sudarytų vieną dėžę, kai jos buvo pastatytas vienas šalia kito. 3/4 colio storio medinis blokas buvo naudojamas laikyti dėžes, esančias viena šalia kitos, taip pat sudaro patogų pagrindą joms sėdėti.

6 veiksmas: pritvirtinkite USB dėžutę

Prijunkite USB dėžutę
Prijunkite USB dėžutę

Pirmasis komponentas, kurį reikia pridėti prie korpuso, yra 4 prievadų USB įkrovimo dėžutė. Aš tai tiesiog pritvirtinau dvipuse juosta.

7 žingsnis: „Arduino“tvirtinimas korpuse

Arduino kalnas aptvare
Arduino kalnas aptvare
Arduino kalnas aptvare
Arduino kalnas aptvare
Arduino kalnas aptvare
Arduino kalnas aptvare

Man patinka naudoti elektrinių dėžių priekinių plokščių tarpiklius, skirtus montuoti elektroninius komponentus, nes jie yra pagaminti iš plastiko ir gali būti pritaikyti veikti kaip sulaikymai ar atramos. Aš juos tiesiog perpjoviau peiliu ir tada įsmeigiau varžtus. „Arduino“buvo sumontuotas į vieną korpuso dėžutę su mažais plokščiais galvutėmis, o tarpinės tarp plokštės buvo sumontuotos tarp „Arduino“ir dėžutės.

Kai „Arduino“buvo sumontuotas, trumpas (6 colių) AB tipo USB kabelis buvo prijungtas tarp „Arduino“USB prievado ir artimiausio įkrovimo dėžutės prievado. Tai buvo labai sandariai priderinta prie laido ir aš turėjau iškirpti atgal lankstus plastikiniai gabalai, supantys laidą kabelio gale, kad jis tilptų.

8 žingsnis: Relės prijungimas ir montavimas

Relės prijungimas ir montavimas
Relės prijungimas ir montavimas
Relės prijungimas ir montavimas
Relės prijungimas ir montavimas
Relės prijungimas ir montavimas
Relės prijungimas ir montavimas
Relės prijungimas ir montavimas
Relės prijungimas ir montavimas

Šviestuvų laidai buvo maitinami per skylutes gaubte. Vienas laidas iš kiekvieno laido buvo prijungtas prie abiejų kietojo kūno relės kanalų išėjimų (perjungta 120 V pusė). Prie likusių varžtų gnybtų, prie kurių buvo prijungti šie lempos laidai, buvo prijungtos trumpos (4 ) vielos sekcijos. Šie laidai bus naudojami tiekti elektros energiją į 120 V relės pusę.

Relės nuolatinės srovės pusėje pagal parodytą konfigūraciją buvo prijungti 4 laidai. Du laidai tiekia relės veikimui būtiną + ir - nuolatinę įtampą, o kiti du laidai perduoda skaitmeninius signalus, nurodančius kanalus įjungti arba išjungti.

Tada šie 4 laidai buvo prijungti prie „Arduino“taip: raudona viela (DC+) yra prijungta prie 5V kaiščio. Juoda viela (DC-) yra prijungta prie GND kaiščio. Ruda viela (CH1) prijungta prie skaitmeninio Oranžinė viela (CH2) prijungta prie skaitmeninio išvesties kaiščio 8

Kai visi laidai buvo prijungti prie relės, jis buvo sumontuotas korpuse, naudojant mažus plokščius varžtus.

9 veiksmas: srovės jutiklių prijungimas ir montavimas

Srovės jutiklių prijungimas ir montavimas
Srovės jutiklių prijungimas ir montavimas
Srovės jutiklių prijungimas ir montavimas
Srovės jutiklių prijungimas ir montavimas
Srovės jutiklių prijungimas ir montavimas
Srovės jutiklių prijungimas ir montavimas

Ryšio ir maitinimo laidai buvo sukurti dviem srovės jutikliams sujungiant du laidų rinkinius, vedančius iš jutiklių į „Arduino“. Kaip ir anksčiau, jutikliams maitinti naudojami raudoni ir juodi laidai. Šie laidai yra prijungti prie „Arduino“kaiščių „Vin“(raudona viela) ir GND (juoda viela). Keista, kad net ryšio laidus (SDA ir SDL laidus) galima sujungti. Taip yra todėl, kad kiekvienam „Adafruit“srovės jutikliui gali būti suteiktas unikalus adresas, atsižvelgiant į tai, kaip jų adresų kaiščiai yra lituojami kartu. Jei lentoje nėra nė vieno adreso smeigtuko, lituojamo kartu, lenta adresuojama kaip lenta 0x40 ir kaip tokia bus nurodyta Arduino kode. Lituodami A0 adreso kaiščius, kaip parodyta diagramoje, lentos adresas tampa 0x41. Jei prijungti tik A1 adreso kaiščiai, plokštė būtų 0x44, o jei būtų prijungti ir A0, ir A1 kaiščiai, adresas būtų 0x45. Kadangi mes naudojame tik du srovės jutiklius, man reikėjo lituoti tik 1 lentos adreso kaiščius, kaip parodyta.

Kai lentos buvo teisingai nurodytos, jos buvo pritvirtintos prie korpuso, naudojant mažus žalvarinius varžtus.

Jutiklių SDA (mėlyna) ir SCL (geltona) laidai yra prijungti prie „Arduino“SDA ir SCL kaiščių. Šie smeigtukai nebuvo pažymėti mano „Arduino“, tačiau jie yra paskutiniai du smeigtukai po AREF kaiščio skaitmeninėje lentos pusėje.

10 veiksmas: prijunkite USB ilginimo kabelius

Prijunkite USB ilginimo kabelius
Prijunkite USB ilginimo kabelius
Prijunkite USB ilginimo kabelius
Prijunkite USB ilginimo kabelius

Kaip minėta anksčiau, USB ilginimo kabeliai turi perduoti srovę per srovės jutiklius. Tai palengvino laidų sujungimas į raudonus kabelių laidus. Kai USB kabeliai yra sumontuoti korpuse, šie laidai iš sujungimų yra prijungti prie srovės jutiklių. Kiekvieno USB kabelio srovė, tekanti per jį, tekės šiais laidais per jutiklį, o tada grįš ir toliau tęsis kabeliu į įkrovimo telefoną. Vyriški USB kabelių galai buvo prijungti prie dviejų atvirų USB įkrovimo dėžės prievadų.

11 veiksmas: prijunkite maitinimą

Prijunkite maitinimą
Prijunkite maitinimą

Paskutinis elektronikos dėžutės žingsnis yra prijungti maitinimo laidą prie USB dėžutės ir lempų (dar žinomos kaip 120 V relės pusė). Juodi laidai, vedantys tiesiai į lempas, yra prijungti prie vieno maitinimo laido laido kartu su ruda viela iš įkrovimo dėžutės. Maitinimo kabelis prie įkrovimo dėžutės buvo tiesiog perpjautas, o du laidai viduje (jie yra mėlyni ir rudi laidai) buvo atplėšti. Galiausiai, du balti relės laidai yra prijungti prie kito maitinimo laido laido kartu su mėlyna viela iš USB įkrovimo dėžutės.

12 žingsnis: Užbaigta sistema

Užbaigta sistema
Užbaigta sistema
Užbaigta sistema
Užbaigta sistema

Kai dėžutė bus visiškai surinkta, korpuso dangčius galima pakeisti. Dabar, kai šios sistemos aparatinė įranga yra baigta, laikas pereiti prie programinės įrangos.

13 žingsnis: „Arduino“kodas

„Arduino“kodo kūrimas buvo gana paprastas, nors prireikė kelių bandymų, kad jis būtų teisingas. Paprasčiausia forma kodas siunčia signalą, kad įjungtų atitinkamą relės kanalą, kai nuskaito didesnę arba lygią 90 mA srovę. Nors šis paprastas kodas buvo geras atspirties taškas, mobilieji telefonai nėra įkraunami iki 100% ir tada sėdi ir traukia labai mažai srovės. Atvirkščiai, radau, kad kai telefonas buvo įkrautas, jis kas kelias minutes trumpam pritraukdavo kelis šimtus mA. Telefonas tarsi nesandarus kibiras, kurį reikia papildyti kas kelias minutes.

Norėdami išspręsti šią problemą, sukūriau strategiją, pagal kurią kiekvienas kanalas galėtų būti vienoje iš trijų būsenų. 0 būsena apibrėžiama kaip tada, kai telefonas buvo išimtas iš įkrovimo stotelės. Praktiškai pastebėjau, kad išėmus telefoną praktiškai neteka srovė, tačiau viršutinę šios būsenos srovės ribą nustatiau 10 mA. 1 būsena yra būsena, kai telefonas yra visiškai įkrautas, bet vis dar yra doke. Jei srovės srautas nukrenta žemiau 90 mA ir yra didesnis nei 10 mA, sistema yra 1 būsenos. 2 būsena yra įkrovimo būsena, kai telefonas naudoja 90 mA ar daugiau.

Kai telefonas dedamas į doką, įjungiama 2 būsena ir ji tęsiasi įkrovimo metu. Pasibaigus įkrovimui ir srovei nukritus žemiau 90 mA, sistema yra 1 būsenoje. Šiuo metu buvo pateiktas sąlyginis teiginys, kad sistema negalėtų tiesiogiai pereiti iš 1 būsenos į 2 būseną. Tai išlaiko sistemos 1 būseną, kol telefonas pašalinta, tada ji pereina į būseną 0. Kadangi sistema gali pereiti iš 0 būsenos į 2 būseną, kai telefonas vėl dedamas ant įkroviklio ir srovės srautas pakyla virš 90 mA, būsena 2 vėl pradedama. Tik tada, kai sistema yra 2 būsenoje, signalas siunčiamas į relę, kad įjungtų šviesą.

Dar viena problema, su kuria susidūriau, yra ta, kad srovė kartais trumpam nukris žemiau 90 mA, kol telefonas buvo visiškai įkrautas. Sistema būtų perkelta į 1 būseną anksčiau, nei turėjo būti. Norėdami tai išspręsti, aš vidutiniškai vertinu dabartinius duomenis per 10 sekundžių ir tik tada, jei vidutinė dabartinė vertė nukrenta žemiau 90 mA, sistema pereis į 1 būseną.

Jei jus domina šis kodas, pridėjau „Arduino.ino“failą su dar keliais aprašymais. Apskritai tai veikia gana gerai, tačiau pastebėjau, kad kartais atrodo, kad sistema pereina į būseną 0, kai telefonas vis dar prijungtas ir visiškai įkrautas. Tai reiškia, kad kartkartėmis šviesa užsidegs kelioms sekundėms (kai ji pereis į 2 būseną) ir tada užges. Manau, kad yra ką veikti ateityje.

14 žingsnis: Baigta sistema

Baigta sistema
Baigta sistema
Baigta sistema
Baigta sistema
Baigta sistema
Baigta sistema
Baigta sistema
Baigta sistema

Įdėjau įkrovimo stotelę mūsų knygų lentynoje, o „Arduino“dėžutė buvo už kai kurių knygų. Jei tik pažvelgtumėte į jį, niekada nesuprastumėte įdėto darbo - ir net pamatę, kaip jis veikia, tai nėra teisinga. Tada vėl džiaugiuosi matydamas, kaip užsidega ir užgęsta lemputės, ir aš net pasikliavau jomis, kad pamatyčiau, ar telefonas kraunasi.

Rekomenduojamas: