Indholdsfortegnelse:

Arduino kontrolleret telefon dock med lamper: 14 trin (med billeder)
Arduino kontrolleret telefon dock med lamper: 14 trin (med billeder)

Video: Arduino kontrolleret telefon dock med lamper: 14 trin (med billeder)

Video: Arduino kontrolleret telefon dock med lamper: 14 trin (med billeder)
Video: LDmicro 22: платы Arduino с AVRDUDESS (программирование микроконтроллеров с помощью LDmicro) 2024, November
Anonim
Image
Image
Arduino kontrolleret telefon dock med lamper
Arduino kontrolleret telefon dock med lamper
Arduino kontrolleret telefon dock med lamper
Arduino kontrolleret telefon dock med lamper

Ideen var enkel nok; opret en telefonopladningsdock, der kun ville tænde en lampe, når telefonen oplades. Men som det ofte er tilfældet, kan ting, der i starten virker simple, ende med at blive lidt mere komplekse i deres udførelse. Dette er historien om, hvordan jeg oprettede en dobbelt telefonopladningsdock, der udfører min enkle opgave.

Trin 1: Hvad jeg brugte

Hvad jeg brugte
Hvad jeg brugte
Hvad jeg brugte
Hvad jeg brugte
Hvad jeg brugte
Hvad jeg brugte

Dette er på ingen måde en udtømmende liste over alt, hvad jeg brugte, men jeg ville give en generel ide om de vigtigste komponenter, jeg brugte. Jeg har inkluderet Amazon -links til de fleste af disse komponenter. (Bemærk, at jeg får en lille provision fra Amazon, hvis du bruger disse links. Tak!)

Arduino Uno: https://amzn.to/2c2onfeAdafruit 5V DC Current Sensor (x2): https://amzn.to/2citA0S2-Channel Solid State Relay: https://amzn.to/2cmKfkA 4-Port USB Box: https://amzn.to/2cmKfkA 1 'panelmonteret USB -kabel (x2): https://amzn.to/2cmKfkA 6 AB USB -kabel:

Jeg brugte også følgende forsyninger, som jeg hentede i isenkræmmeren: 4 "x4" plastrørbokse (x2) 40W Edison -pærer (x2) Lyskilde SocketTrack -lysbeslagAssorteret sort jernrør (3/8 ") Assorterede messingrørfittings3 'Forlænger CordWire Nuts

Trin 2: Eksperimentering, design og ledninger

Eksperimentering, design og ledninger
Eksperimentering, design og ledninger

For at afgøre, hvornår telefonen oplades, skal den aktuelle strøm til telefonen konstant overvåges. Selvom jeg er sikker på, at der er kredsløbsdesign, der kan måle strøm og styre et relæ baseret på det aktuelle niveau, er jeg på ingen måde en elektrisk ekspert og ville ikke gå i gang med at bygge et brugerdefineret kredsløb. Af en vis erfaring vidste jeg, at en lille mikrokontroller (Arduino) kunne bruges til at måle strøm og derefter styre et relæ for at tænde og slukke lys. Efter at have fundet en lille jævnstrømsensor fra Adafruit, begyndte jeg at eksperimentere med at tilslutte den til et USB -kabel for at måle strømmen, der strømmer gennem den, da den oplade en telefon. Et typisk USB 2.0 -kabel indeholder 4 ledninger: hvid, sort, grøn og rød. Da de sorte og røde ledninger bærer strøm gennem kablet, kan en af disse bruges til at måle strømmen - jeg brugte de røde ledninger. En typisk strømføler skal placeres på linje med strømmen (strømmen skal strømme gennem sensoren), og Adafruit -sensoren er ikke en undtagelse fra denne regel. Den røde ledning blev skåret med de to afskårne ender fastgjort til de to skrueterminaler på den aktuelle sensor. Adafruit -sensoren var forbundet til en Arduino, og jeg skrev en simpel kode for at rapportere det aktuelle flow gennem sensoren. Dette enkle eksperiment viste mig, at en opladningstelefon trak mellem 100 og 400 mA. Efter at telefonen var fuldstændig opladet, ville den nuværende strøm falde til under 100 mA, men ville ikke nå 0.

Da mit eksperiment med succes viste, at jeg kunne måle strømmen med en Arduino, designede jeg kredsløbet vist ovenfor. To 1 'panelmonterede USB-forlængerkabler ville blive tilsluttet en 4-ports ladeboks. Telefonens ladekabler ville blive tilsluttet disse forlængerkabler, hvilket gør systemet i stand til at rumme enhver form for USB -ladekabel - og forhåbentlig gøre det til "fremtidssikret telefon". De røde ledninger i forlængelseskablerne ville blive skåret og forbundet til de nuværende sensorer. De nuværende sensorer leverer information til Arduino, som igen styrer et to-kanals solid state relæ. Relæet bruges til at skifte 110V strøm til pærerne. Strøm til USB -boksen og pærer kan bindes sammen, så systemet kan bruge en enkelt stikkontakt. Jeg kan især godt lide, hvordan strøm til Arduino kan leveres af en af de ekstra USB -porte i ladeboksen.

Trin 3: Telefonstationen

Telefon Dock
Telefon Dock

Telefon docken blev bygget af 3/8 "sort rør. Jeg brugte to han-hun albuer, en T, en kort sektion, der var fuldt gevind, og en rund flange. For messingdelene øverst på docken skar jeg et 1 1/2 "langt messingrør på midten og brugte det ene halvdel til hver del. Et lille hul blev boret i T, som var stort nok til at rumme enderne af belysningskablerne. Kablerne blev bearbejdet gennem albuerne og blev JB svejset ind i messingrørene. Dette endte med at være meget sværere, end det ser ud til, da albuerne ikke var store nok indvendigt til at passe belysningskablet. Jeg endte med at rude ind i albuernes inderside, indtil de ville passe.

Hvis jeg skulle lave denne dock igen, ville jeg give den mere support til telefonen. Som du måske forventer, hvis telefonen overhovedet skubbes, når den er på docken, kan lynkabelenderne meget let bøjes. Jeg synes, det er mærkeligt, at Apple faktisk sælger en dock med en lignende ikke-understøttet konfiguration.

Trin 4: Lamperne

Lamperne
Lamperne
Lamperne
Lamperne

Jeg ville have, at lamperne havde et lignende industrielt udseende som dokken. Til den første lampe brugte jeg en generisk pæresokkel oven på en 3/8 rørflange. Nogle små messingrør forbinder basen til fatningen og supplerer messing accenterne på docken. En 40W Edison pære er virkelig stjernen Jeg ville bruge Edison pærer, da de passede perfekt til designet af denne dock, og de giver dig mulighed for at oprette en smuk lyspære.

Mens jeg hos Lowe fandt et sporlysbeslag på frihøjde, som jeg syntes var interessant. Jeg vendte beslaget på hovedet og tilføjede en rørflange for at lave basen. Soklen i sporlygtefæstet var ikke fastgjort til den, da den var designet til at blive holdt på plads af en flad pære. Da jeg brugte en Edison -pære, lavede jeg et lille aluminiumsbeslag til at holde fatningen inde i det cirkulære hus på sporlysbeslaget. Små messingsknapper blev tilføjet for at supplere resten af systemet.

Når dokken og lysene var færdige, blev de malet mat sort - bortset fra messingbitene.

Trin 5: Arduino -kabinettet

Arduino -kabinettet
Arduino -kabinettet
Arduino -kabinettet
Arduino -kabinettet
Arduino -kabinettet
Arduino -kabinettet

Jeg brugte to 4 "x 4" PVC -kabinetter til Arduino -huset. Jeg skar ventilationsåbninger i den ene side og dækslet til hvert kabinet. På siden af det ene kabinet skar jeg to rektangulære huller til panelmonterede USB -kabler. Huller med en afstand på 1 1/8 "på midten blev boret på begge sider af disse rektangulære huller og blev brugt til at fastgøre kablerne til kabinettet. Den ene side af begge kabinetter blev skåret væk, så de to kasser ville danne en enkelt kasse, når de var indstillet side om side. En 3/4 "tyk træblok blev brugt til at holde æskerne i denne side om side -konfiguration og danner også en bekvem base for dem at sidde på.

Trin 6: Tilslut USB -boks

Tilslut USB -boks
Tilslut USB -boks

Den første komponent, der skal tilføjes til kabinettet, er 4-Port USB-opladningsboks. Jeg rettede simpelthen dette på plads med dobbeltsidet tape.

Trin 7: Monter Arduino i kabinet

Mount Arduino i kabinet
Mount Arduino i kabinet
Mount Arduino i kabinet
Mount Arduino i kabinet
Mount Arduino i kabinet
Mount Arduino i kabinet

Jeg kan godt lide at bruge afstandsstykker til el -boksens frontplade til at montere elektroniske komponenter, da de er lavet af plastik og kan tilpasses til at fungere som hold -down eller stand -offs. Jeg skærer dem simpelthen op med min kniv og skubber derefter skruer igennem dem. Arduino blev monteret i den ene kabinet med små flade skruer med frontpladens afstandsstykker monteret mellem Arduino og kassen.

Når Arduino var monteret, blev et kort (6 ) USB -kabel af typen AB tilsluttet mellem USB -porten på Arduino og den nærmeste port på ladeboksen. Dette passede virkelig godt til ledningen, og jeg var faktisk nødt til at trimme tilbage de bøjede plastikstykker, der omgiver ledningen for enden af kablet, så det passer.

Trin 8: Ledningsføring og montering af relæet

Ledningsføring og montering af relæet
Ledningsføring og montering af relæet
Ledningsføring og montering af relæet
Ledningsføring og montering af relæet
Ledningsføring og montering af relæet
Ledningsføring og montering af relæet
Ledningsføring og montering af relæet
Ledningsføring og montering af relæet

Ledningerne til lamperne blev ført gennem huller i kabinettet. En ledning fra hver ledning blev forbundet til udgangene (den skiftede 120V side) af begge kanaler i solid state relæet. Korte (4 ) ledningsstykker blev forbundet til de resterende skrueterminaler ved siden af, hvor disse lampetråde var tilsluttet. Disse ledninger vil blive brugt til at levere strøm til relæets 120V -side.

På DC -siden af relæet blev der fastgjort 4 ledninger i henhold til den viste konfiguration. To af ledningerne forsyner + og - DC spændingen, der er nødvendig for relæets drift, mens de resterende to ledninger bærer de digitale signaler, som fortæller kanalerne at tænde eller slukke.

Disse 4 ledninger blev derefter fastgjort til Arduino som følger: Den røde ledning (DC+) er forbundet til 5V-stiften. Den sorte ledning (DC-) er forbundet til GND-stiften. Den brune ledning (CH1) er forbundet til den digitale udgangsstift 7 Den orange ledning (CH2) er forbundet til den digitale udgangsstift 8

Når alle ledninger var forbundet til relæet, blev det monteret i kabinettet ved hjælp af små flade skruer.

Trin 9: Tilslutning og montering af strømfølere

Kabelføring og montering af strømfølere
Kabelføring og montering af strømfølere
Kabelføring og montering af strømfølere
Kabelføring og montering af strømfølere
Kabelføring og montering af strømfølere
Kabelføring og montering af strømfølere

Kommunikation og strømledninger blev oprettet til de to nuværende sensorer ved at splejse de to sæt ledninger, der fører fra sensorerne til Arduino. Som før bruges de røde og sorte ledninger til at drive sensorerne. Disse ledninger er forbundet til Vin (rød ledning) og GND (sort ledning) stifter på Arduino. Overraskende nok kan selv kommunikationstrådene (SDA- og SDL -ledningerne) splejses sammen. Dette skyldes, at Adafruit nuværende sensorer hver kan få en unik adresse afhængigt af, hvordan deres adressestifter er loddet sammen. Hvis tavlen ikke har nogen af adressestifterne loddet sammen, adresseres tavlen som tavle 0x40 og refereres som sådan i Arduino -koden. Ved at lodde A0 -adressestifterne sammen, som det ses på diagrammet, bliver kortets adresse 0x41. Hvis kun A1 -adressestifterne er tilsluttet, ville kortet være 0x44, og hvis både A0- og A1 -benene var forbundet, ville adressen være 0x45. Da vi kun bruger to nuværende sensorer, måtte jeg kun lodde adressestifterne på bord 1 som vist.

Når brædderne var adresseret korrekt, blev de fastgjort til kabinettet ved hjælp af små messingskruer.

SDA (blå) og SCL (gule) ledninger fra sensorerne er forbundet til SDA- og SCL -benene på Arduino. Disse ben var ikke mærket på min Arduino, men de er de sidste to ben efter AREF -stiften på den digitale side af brættet.

Trin 10: Tilslut USB -forlængerkabler

Tilslut USB -forlængerkablerne
Tilslut USB -forlængerkablerne
Tilslut USB forlængerkabler
Tilslut USB forlængerkabler

Som tidligere nævnt skal USB -forlængerkablerne føre strøm gennem de nuværende sensorer. Dette blev lettere ved at splejse ledninger ind i kablernes røde ledninger. Når USB -kablerne er monteret i kabinettet, forbindes disse ledninger fra splejserne til de aktuelle sensorer. For hvert USB -kabel vil strømmen, der strømmer igennem det, strømme ned ad disse ledninger, gennem sensoren og derefter vende tilbage for at fortsætte gennem kablet til opladningstelefonen. Hanenderne på USB -kablerne blev sat i to af de åbne porte på USB -ladeboksen.

Trin 11: Tilslut strømmen

Tilslut strømmen
Tilslut strømmen

Det sidste trin i elektronikboksen er at slutte netledningen til USB -boksen og lamperne (også kaldet 120V -siden af relæet). De sorte ledninger, der fører direkte til lamperne, er forbundet til netledningens ene ledning sammen med den brune ledning fra ladeboksen. Strømkablet til ladeboksen blev simpelthen skåret med de to ledninger indeni (de er de blå og brune ledninger) fjernet. Endelig er de to hvide ledninger fra relæet ledningsfrie til den anden ledning i netledningen sammen med den blå ledning fra USB -ladeboksen.

Trin 12: Det færdige system

Det færdige system
Det færdige system
Det færdige system
Det færdige system

Når kassen er samlet helt, kan kabinetdækslerne udskiftes. Nu hvor hardwaren til dette system er færdig, er det tid til at gå videre til softwaren.

Trin 13: Arduino -koden

Udviklingen af Arduino -koden var ret ligetil, selvom det tog et par tests for at få det helt rigtigt. I sin enkleste form sender koden et signal for at drive den relevante relækanal, når den læser en strøm, der er større end eller lig med 90mA. Selvom denne simple kode var et godt udgangspunkt, oplader mobiltelefoner ikke 100% og sidder der og tegner meget lidt strøm. Jeg fandt snarere ud af, at når telefonen var opladet, ville den trække flere hundrede mA i en kort tid hvert par minutter. Det er som om telefonen er en utæt spand, der skal toppes hvert par minutter.

For at løse dette problem udviklede jeg en strategi, hvor hver kanal kunne være i en af tre stater. Tilstand 0 er defineret som når telefonen er blevet fjernet fra ladestationen. I praksis fandt jeg ud af, at der næsten ikke var strøm, da telefonen blev fjernet, men jeg satte den øvre strømgrænse for denne tilstand til 10mA. Stat 1 er staten, hvor telefonen er fuldt opladet, men stadig på docken. Hvis strømmen falder til under 90mA og er over 10mA, er systemet i tilstand 1. Status 2 er ladetilstanden, hvor telefonen tegner 90mA eller mere.

Når telefonen placeres på docken, starter tilstand 2 og fortsætter under opladning. Når opladningen er afsluttet, og strømmen falder til under 90mA, er systemet i tilstand 1. Der blev fremsat en betinget erklæring på dette tidspunkt, så systemet ikke kan fortsætte direkte fra tilstand 1 til tilstand 2. Dette holder systemet i tilstand 1, indtil telefonen er fjernet, hvorefter det går i tilstand 0. Da systemet kan fortsætte fra tilstand 0 til tilstand 2, når telefonen placeres tilbage på opladeren, og strømmen stiger over 90mA, startes tilstand 2 igen. Først når systemet er i tilstand 2, sendes signalet til relæet for at tænde lyset.

Et andet problem, jeg løb ind i, er, at strømmen undertiden kortvarigt ville falde til under 90mA, før telefonen var fuldt opladet. Dette ville sætte systemet i tilstand 1, før det skulle have. For at løse dette, gennemsnit jeg de aktuelle data over 10 sekunder, og kun hvis den gennemsnitlige nuværende værdi falder under 90mA, vil systemet gå i tilstand 1.

Hvis du er interesseret i denne kode, har jeg vedhæftet en Arduino.ino -fil med nogle flere beskrivelser i den. Samlet set fungerer det ret godt, men jeg har bemærket, at systemet nogle gange ser ud til at fortsætte med at angive 0, når telefonen stadig er tilsluttet og fuldt opladet. Det betyder, at lyset nu og da vil tænde i et par sekunder (når det går videre til tilstand 2) og derefter slukke. Noget at arbejde med i fremtiden tror jeg.

Trin 14: Det færdige system

Det færdige system
Det færdige system
Det færdige system
Det færdige system
Det færdige system
Det færdige system
Det færdige system
Det færdige system

Jeg installerede ladestationen på vores bogreol, med Arduino -boksen placeret bag nogle bøger. Hvis du blot kigger på det, ville du aldrig indse det arbejde, der gik ind i det - og selv at se det i drift gør det ikke retfærdigt. Så igen gør det mig glad at se lysene tænde og slukke, og jeg er endda kommet til at stole på dem for at se, om telefonen oplades.

Anbefalede: