Inhoudsopgave:

Arduino bestuurd telefoondock met lampen - Ajarnpa
Arduino bestuurd telefoondock met lampen - Ajarnpa

Video: Arduino bestuurd telefoondock met lampen - Ajarnpa

Video: Arduino bestuurd telefoondock met lampen - Ajarnpa
Video: Eenvoudige Homebridge-zelfstudie - Bedien uw Arduino met Apple Homekit en Siri! 2024, November
Anonim
Image
Image
Arduino bestuurd telefoondock met lampen
Arduino bestuurd telefoondock met lampen
Arduino bestuurd telefoondock met lampen
Arduino bestuurd telefoondock met lampen

Het idee was eenvoudig genoeg; maak een telefoonoplaadstation dat alleen een lamp aan zou doen als de telefoon aan het opladen was. Echter, zoals vaak het geval is, kunnen dingen die in eerste instantie eenvoudig lijken, uiteindelijk een beetje ingewikkelder worden in hun uitvoering. Dit is het verhaal van hoe ik een oplaadstation voor twee telefoons heb gemaakt dat mijn eenvoudige taak volbrengt.

Stap 1: Wat ik heb gebruikt

Wat ik heb gebruikt
Wat ik heb gebruikt
Wat ik heb gebruikt
Wat ik heb gebruikt
Wat ik heb gebruikt
Wat ik heb gebruikt

Dit is geenszins een uitputtende lijst van alles wat ik heb gebruikt, maar ik wilde een algemeen idee geven van de belangrijkste componenten die ik heb gebruikt. Ik heb Amazon-links toegevoegd voor de meeste van deze componenten. (Merk op dat ik een kleine commissie van Amazon krijg als je deze links gebruikt. Bedankt!)

Arduino Uno: https://amzn.to/2c2onfeAdafruit 5V DC-stroomsensor (x2): https://amzn.to/2citA0S2-kanaals solid-state relais: https://amzn.to/2cmKfkA 4-poorts USB-box: https://amzn.to/2cmKfkA 1' USB-kabel voor paneelmontage (x2): https://amzn.to/2cmKfkA 6 AB USB-kabel:

Ik heb ook de volgende benodigdheden gebruikt die ik bij de ijzerhandel heb gekocht: 4 "x4" plastic buisdozen (x2) 40W Edison-gloeilampen (x2) Gloeilampfitting Spoorlichtbeugel Geassorteerde zwarte ijzeren pijp (3/8 ") Geassorteerde messing buisfittingen3 ' VerlengsnoerDraadmoeren

Stap 2: Experimenteren, Ontwerp & Bedrading

Experimenteren, Ontwerp & Bedrading
Experimenteren, Ontwerp & Bedrading

Om te bepalen wanneer de telefoon aan het opladen was, zou de stroom naar de telefoon constant moeten worden gecontroleerd. Hoewel ik zeker weet dat er circuitontwerpen zijn die stroom kunnen meten en een relais kunnen besturen op basis van het huidige niveau, ben ik geenszins een elektrische expert en wilde ik niet beginnen met het bouwen van een aangepast circuit. Uit ervaring wist ik dat een kleine microcontroller (Arduino) kan worden gebruikt om stroom te meten en vervolgens een relais te besturen om lichten aan en uit te schakelen. Nadat ik een kleine gelijkstroomsensor van Adafruit had gevonden, begon ik te experimenteren met het aansluiten op een USB-kabel om de stroom te meten die er doorheen vloeide terwijl het een telefoon oplaadde. Een typische USB 2.0-kabel bevat 4 draden: wit, zwart, groen en rood. Omdat de zwarte en rode draden stroom door de kabel voeren, kan elk van deze worden gebruikt om de stroomsterkte te meten - ik gebruikte de rode draden. Een typische stroomsensor moet in lijn met de stroom worden geplaatst (de stroom moet door de sensor stromen), en de Adafruit-sensor is geen uitzondering op deze regel. De rode draad werd doorgesneden met de twee afgesneden uiteinden bevestigd aan de twee schroefklemmen op de stroomsensor. De Adafruit-sensor was verbonden met een Arduino en ik schreef een eenvoudige code om de stroom door de sensor te rapporteren. Dit eenvoudige experiment liet me zien dat een oplaadtelefoon tussen de 100 en 400 mA trok. Nadat de telefoon volledig was opgeladen, zou de stroom onder de 100 mA vallen, maar zou de 0 niet bereiken.

Met mijn experiment dat met succes aantoonde dat ik de stroom met een Arduino kon meten, ontwierp ik het hierboven getoonde circuit. Twee 1' paneelgemonteerde USB-verlengkabels zouden worden aangesloten op een 4-poorts oplaaddoos. De oplaadkabels van de telefoon zouden worden aangesloten op deze verlengkabels, waardoor het systeem geschikt is voor elke soort USB-oplaadkabel - en hopelijk "toekomstig telefoonbestendig" wordt. De rode draden van de verlengkabels zouden worden doorgeknipt en aangesloten op de stroomsensoren. De stroomsensoren leveren informatie aan de Arduino, die op zijn beurt een tweekanaals solid-state relais aanstuurt. Het relais wordt gebruikt om de 110V stroom naar de gloeilampen te schakelen. De stroom naar de USB-box en gloeilampen kunnen aan elkaar worden gekoppeld, zodat het systeem één stopcontact kan gebruiken. Ik vind het vooral leuk hoe stroom naar de Arduino kan worden geleverd door een van de extra USB-poorten in de oplaaddoos.

Stap 3: Het telefoondock

Het telefoondock
Het telefoondock

Het telefoondock is gemaakt van een 3/8 "zwarte pijp. Ik gebruikte twee mannelijk-vrouwelijke ellebogen, een T, een kort gedeelte dat volledig van schroefdraad was voorzien en een ronde flens. Voor de koperen onderdelen aan de bovenkant van het dock heb ik een 1 1/2 "lange koperen pijp doormidden en gebruikte de ene helft voor elk onderdeel. In de T werd een klein gaatje geboord dat groot genoeg was voor de uiteinden van de verlichtingskabels. De kabels werden door de ellebogen gewerkt en werden met JB gelast in de koperen buizen. Dit bleek uiteindelijk een stuk moeilijker dan het lijkt, omdat de ellebogen niet groot genoeg waren om het uiteinde van de verlichtingskabel door te laten. Uiteindelijk heb ik de binnenkant van de ellebogen geruimd totdat ze zouden passen.

Als ik dit dock opnieuw zou moeten maken, zou ik het meer ondersteuning voor de telefoon geven. Zoals je mag verwachten, kunnen de bliksemkabeluiteinden heel gemakkelijk worden gebogen als de telefoon helemaal wordt ingedrukt wanneer deze op het dock staat. Ik vind het vreemd dat Apple eigenlijk een dock verkoopt met een vergelijkbare niet-ondersteunde configuratie.

Stap 4: De lampen

De lampen
De lampen
De lampen
De lampen

Ik wilde dat de lampen een industriële look zouden hebben die vergelijkbaar was met die van het dok. Voor de eerste lamp heb ik een generieke lampfitting gebruikt bovenop een 3/8 pijpflens. Sommige kleine koperen pijpen verbinden de basis met de fitting en vullen de koperen accenten op het dok aan. Een 40W Edison-lamp is echt de ster Ik wilde Edison-lampen gebruiken omdat ze perfect passen bij het ontwerp van dit dock en je hiermee een prachtige lamp met zichtbare lamp kunt maken.

Toen ik bij Lowe's een beugel voor een spoorverlichting vond, vond ik dat interessant. Ik draaide de beugel ondersteboven en voegde een pijpflens toe om de basis te maken. De fitting in de track light mount was er niet aan bevestigd omdat deze ontworpen was om op zijn plaats te worden gehouden door een platte lamp. Omdat ik een Edison-lamp gebruikte, heb ik een kleine aluminium beugel gemaakt om de fitting in de ronde behuizing van de spoorlichtbeugel te houden. Kleine koperen knoppen werden toegevoegd om de rest van het systeem aan te vullen.

Toen het dok en de lichten klaar waren, werden ze matzwart geverfd - behalve de koperen stukjes.

Stap 5: De Arduino-behuizing

De Arduino-behuizing
De Arduino-behuizing
De Arduino-behuizing
De Arduino-behuizing
De Arduino-behuizing
De Arduino-behuizing

Ik gebruikte twee 4 "x 4" PVC-behuizingen voor de Arduino-behuizing. Ik sneed ventilatiesleuven in één kant en het deksel van elke behuizing. Aan de zijkant van de ene behuizing heb ik twee rechthoekige gaten gesneden voor de op het paneel gemonteerde USB-kabels. Aan weerszijden van deze rechthoekige gaten werden gaten geboord met een tussenafstand van 1 1/8" in het midden en werden gebruikt om de kabels aan de behuizing te bevestigen. Een kant van beide behuizingen was weggesneden zodat de twee dozen een enkele doos zouden vormen wanneer ze naast elkaar gezet. Een 3/4" dik houten blok werd gebruikt om de dozen in deze configuratie naast elkaar te houden en vormt ook een handige basis om op te zitten.

Stap 6: USB-box aansluiten

USB-box aansluiten
USB-box aansluiten

Het eerste onderdeel dat aan de behuizing wordt toegevoegd, is de 4-poorts USB-oplaaddoos. Ik heb dit eenvoudig op zijn plaats vastgezet met dubbelzijdig plakband.

Stap 7: Arduino in behuizing monteren

Monteer Arduino in behuizing
Monteer Arduino in behuizing
Monteer Arduino in behuizing
Monteer Arduino in behuizing
Monteer Arduino in behuizing
Monteer Arduino in behuizing

Ik gebruik graag afstandhouders voor elektrische boxen om elektronische componenten te monteren, omdat ze van plastic zijn en kunnen worden aangepast om te werken als houders of afstandhouders. Ik snij ze gewoon in stukken met mijn mes en duw er dan schroeven doorheen. De Arduino was gemonteerd in de ene behuizingsdoos met kleine platte schroeven met de faceplate-afstandhouders gemonteerd tussen de Arduino en de doos.

Nadat de Arduino was gemonteerd, werd een korte (6 ) USB-kabel van het type AB aangesloten tussen de USB-poort van de Arduino en de dichtstbijzijnde poort van de oplaaddoos. Dit was echt een strakke pasvorm voor het snoer en ik moest eigenlijk terugknippen de buigzame plastic stukjes rond de draad aan het einde van de kabel, zodat deze zou passen.

Stap 8: Bedrading en montage van het relais

Bedrading en montage van het relais
Bedrading en montage van het relais
Bedrading en montage van het relais
Bedrading en montage van het relais
Bedrading en montage van het relais
Bedrading en montage van het relais
Bedrading en montage van het relais
Bedrading en montage van het relais

De snoeren naar de lampen werden door gaten in de behuizing gevoerd. Een draad van elk snoer werd aangesloten op de uitgangen (de geschakelde 120V-zijde) van beide kanalen van het solid-state relais. Korte (4 ) draadsecties werden aangesloten op de resterende schroefklemmen naast waar deze lampdraden waren aangesloten. Deze draden zullen worden gebruikt om de 120V-zijde van het relais van stroom te voorzien.

Aan de DC-zijde van het relais waren 4 draden bevestigd volgens de getoonde configuratie. Twee van de draden leveren de + en - gelijkspanning die nodig is voor de werking van het relais, terwijl de overige twee draden de digitale signalen dragen, die de kanalen vertellen om aan of uit te schakelen.

Deze 4 draden werden vervolgens als volgt aan de Arduino bevestigd: De rode draad (DC+) is verbonden met de 5V-pin. De zwarte draad (DC-) is verbonden met de GND-pin. De bruine draad (CH1) is verbonden met de digitale output pin 7De oranje draad (CH2) is verbonden met de digitale output pin 8

Nadat alle draden op het relais waren aangesloten, werd het met kleine schroeven met platte kop in de behuizing gemonteerd.

Stap 9: Bedrading en montage van de stroomsensoren

Bedrading en montage van de stroomsensoren
Bedrading en montage van de stroomsensoren
Bedrading en montage van de stroomsensoren
Bedrading en montage van de stroomsensoren
Bedrading en montage van de stroomsensoren
Bedrading en montage van de stroomsensoren

Communicatie- en stroomdraden zijn gemaakt voor de twee stroomsensoren door de twee sets draden die van de sensoren naar de Arduino leiden, te splitsen. Net als voorheen worden de rode en zwarte draden gebruikt om de sensoren van stroom te voorzien. Deze draden zijn verbonden met de Vin (rode draad) en GND (zwarte draad) pinnen van de Arduino. Verrassend genoeg kunnen zelfs de communicatiedraden (de SDA- en SDL-draden) aan elkaar worden gesplitst. Dit komt omdat de Adafruit-stroomsensoren elk een uniek adres kunnen krijgen, afhankelijk van hoe hun adrespinnen aan elkaar zijn gesoldeerd. Als het bord geen van de adrespinnen aan elkaar heeft gesoldeerd, wordt het bord geadresseerd als bord 0x40 en wordt er als zodanig naar verwezen in de Arduino-code. Door de A0-adrespinnen aan elkaar te solderen, zoals te zien is in het diagram, wordt het adres van het bord 0x41. Als alleen de A1-adrespinnen zijn aangesloten, zou het bord 0x44 zijn en als zowel de A0- als de A1-pinnen zijn aangesloten, zou het adres 0x45 zijn. Omdat we slechts twee stroomsensoren gebruiken, hoefde ik alleen de adrespinnen op bord 1 te solderen, zoals afgebeeld.

Nadat de platen correct waren geadresseerd, werden ze met kleine koperen schroeven aan de behuizing bevestigd.

De SDA (blauw) en SCL (geel) draden van de sensoren zijn verbonden met de SDA- en SCL-pinnen op de Arduino. Deze pinnen waren niet gelabeld op mijn Arduino, maar het zijn de laatste twee pinnen na de AREF-pin aan de digitale kant van het bord.

Stap 10: Sluit de USB-verlengkabels aan

Sluit de USB-verlengkabels aan
Sluit de USB-verlengkabels aan
Sluit de USB-verlengkabels aan
Sluit de USB-verlengkabels aan

Zoals eerder vermeld, moeten de USB-verlengkabels stroom door de stroomsensoren voeren. Dit werd mogelijk gemaakt door draden in de rode draden van de kabels te splitsen. Zodra de USB-kabels in de behuizing zijn gemonteerd, worden deze draden van de splitsingen aangesloten op de stroomsensoren. Voor elke USB-kabel zal de stroom die er doorheen stroomt langs deze draden door de sensor stromen en dan terugkeren om door de kabel naar de oplaadtelefoon te gaan. De mannelijke uiteinden van de USB-kabels werden aangesloten op twee van de open poorten van de USB-oplaaddoos.

Stap 11: Sluit de stroom aan

Sluit de stroom aan
Sluit de stroom aan

De laatste stap in de elektronicabox is om het netsnoer aan te sluiten op de USB-box en lampen (ook bekend als de 120V-zijde van het relais). De zwarte draden die rechtstreeks naar de lampen leiden, zijn verbonden met de ene draad van het netsnoer samen met de bruine draad van de oplaaddoos. De stroomkabel naar de oplaaddoos werd eenvoudig doorgesneden met de twee draden erin (het zijn de blauwe en bruine draden) die werden verwijderd. Ten slotte zijn de twee witte draden van het relais samen met de blauwe draad van de USB-oplaaddoos vastgemaakt aan de andere draad van het netsnoer.

Stap 12: Het voltooide systeem

Het voltooide systeem
Het voltooide systeem
Het voltooide systeem
Het voltooide systeem

Zodra de doos volledig is gemonteerd, kunnen de deksels van de behuizing worden vervangen. Nu de hardware voor dit systeem klaar is, is het tijd om over te gaan op de software.

Stap 13: De Arduino-code

De ontwikkeling van de Arduino-code was redelijk eenvoudig, hoewel er een paar tests nodig waren om het precies goed te krijgen. In zijn eenvoudigste vorm stuurt de code een signaal om het juiste relaiskanaal van stroom te voorzien wanneer deze een stroomsterkte leest die groter is dan of gelijk is aan 90 mA. Hoewel deze eenvoudige code een goed startpunt was, laden mobiele telefoons niet op tot 100% en blijven ze daar zitten en trekken ze heel weinig stroom. Integendeel, ik ontdekte dat als de telefoon eenmaal was opgeladen, deze om de paar minuten enkele honderden mA zou trekken voor een korte tijd. Het is alsof de telefoon een lekkende emmer is die om de paar minuten moet worden bijgevuld.

Om dit probleem op te lossen, heb ik een strategie ontwikkeld waarbij elk kanaal zich in een van de drie staten zou kunnen bevinden. Status 0 wordt gedefinieerd als wanneer de telefoon uit het oplaadstation is verwijderd. In de praktijk ontdekte ik dat er vrijwel geen stroom vloeide toen de telefoon werd verwijderd, maar ik stelde de bovenste stroomlimiet van deze toestand in op 10 mA. Status 1 is de status waarin de telefoon volledig is opgeladen, maar nog steeds op het dock. Als de stroom onder 90 mA en boven 10 mA komt, bevindt het systeem zich in status 1. Status 2 is de oplaadstatus, waarbij de telefoon 90 mA of meer verbruikt.

Wanneer de telefoon op het dock wordt geplaatst, wordt status 2 geactiveerd en gaat deze door tijdens het opladen. Zodra het opladen is voltooid en de stroom onder 90mA zakt, bevindt het systeem zich in status 1. Op dit punt is een voorwaardelijke verklaring afgelegd, zodat het systeem niet rechtstreeks van status 1 naar status 2 kan gaan. Hierdoor blijft het systeem in status 1 totdat de telefoon is verwijderd, waarna het in toestand 0 komt. Aangezien het systeem van toestand 0 naar toestand 2 kan gaan, wanneer de telefoon weer op de oplader wordt geplaatst en de stroomsterkte boven 90mA stijgt, wordt toestand 2 opnieuw gestart. Pas als het systeem in stand 2 staat, wordt het signaal naar het relais gestuurd om het licht aan te doen.

Een ander probleem dat ik tegenkwam, is dat de stroom soms kort onder de 90 mA zou vallen voordat de telefoon volledig was opgeladen. Dit zou het systeem in staat 1 brengen voordat het zou moeten. Om dit op te lossen, neem ik het gemiddelde van de huidige gegevens over 10 seconden en alleen als de gemiddelde stroomwaarde onder 90mA komt, gaat het systeem naar status 1.

Als je geïnteresseerd bent in deze code, heb ik een Arduino.ino-bestand bijgevoegd met wat meer beschrijvingen erin. Over het algemeen werkt het redelijk goed, maar ik heb gemerkt dat het systeem soms lijkt door te gaan naar status 0 als de telefoon nog is aangesloten en volledig is opgeladen. Dit betekent dat het licht zo nu en dan een paar seconden aangaat (wanneer het in stand 2) gaat en dan uitgaat. Iets om aan te werken voor de toekomst denk ik.

Stap 14: Het voltooide systeem

Het voltooide systeem
Het voltooide systeem
Het voltooide systeem
Het voltooide systeem
Het voltooide systeem
Het voltooide systeem
Het voltooide systeem
Het voltooide systeem

Ik heb het oplaadstation op onze boekenplank geïnstalleerd, met de Arduino-doos achter enkele boeken. Als je er gewoon een blik op werpt, zou je nooit beseffen hoeveel werk erin is gestoken - en zelfs om het in werking te zien, doet het geen recht. Maar nogmaals, het maakt me blij om de lichten aan en uit te zien gaan, en ik ben er zelfs op gaan vertrouwen om te zien of de telefoon wordt opgeladen.

Aanbevolen: