Съдържание:

Arduino контролна станция за телефон с лампи: 14 стъпки (със снимки)
Arduino контролна станция за телефон с лампи: 14 стъпки (със снимки)

Видео: Arduino контролна станция за телефон с лампи: 14 стъпки (със снимки)

Видео: Arduino контролна станция за телефон с лампи: 14 стъпки (със снимки)
Видео: CS50 Live, Episode 003 2024, Юли
Anonim
Image
Image
Arduino контролирана телефонна станция с лампи
Arduino контролирана телефонна станция с лампи
Arduino контролирана телефонна станция с лампи
Arduino контролирана телефонна станция с лампи

Идеята беше достатъчно проста; създайте док за зареждане на телефона, който да включва лампа само когато телефонът се зарежда. Както обаче често се случва, нещата, които изглеждат първоначално прости, могат в крайна сметка да станат малко по -сложни при изпълнението им. Това е историята за това как създадох док за зареждане на двоен телефон, който изпълнява моята проста задача.

Стъпка 1: Какво използвах

Какво използвах
Какво използвах
Какво използвах
Какво използвах
Какво използвах
Какво използвах

Това в никакъв случай не е изчерпателен списък на всичко, което използвах, но исках да дам обща представа за основните компоненти, които използвах. Включих Amazon връзки за повечето от тези компоненти. (Имайте предвид, че получавам малка комисионна от Amazon, ако използвате тези връзки. Благодаря!)

Arduino Uno: https://amzn.to/2c2onfeAdafruit 5V DC сензор за ток (x2): https://amzn.to/2citA0S2- канално твърдо реле: https://amzn.to/2cmKfkA 4-портова USB кутия: https://amzn.to/2cmKfkA 1 'USB кабел за монтаж на панел (x2): https://amzn.to/2cmKfkA 6 AB USB кабел:

Използвах и следните консумативи, които взех в магазина за хардуер: 4 "x4" пластмасови кутии за тръбопроводи (x2) 40W електрически крушки Edison (x2) гнездо за електрическа крушка гнездо за светлинна колона, сортирани черни железни тръби (3/8 ") различни фитинги от месингови тръби3 'Удължителни гайки CordWire

Стъпка 2: Експериментиране, проектиране и окабеляване

Експериментиране, проектиране и окабеляване
Експериментиране, проектиране и окабеляване

За да се определи кога телефонът се зарежда, текущият поток към телефона трябва да бъде постоянно наблюдаван. Въпреки че съм сигурен, че има схеми, които могат да измерват тока и да контролират реле въз основа на текущото ниво, в никакъв случай не съм електрически експерт и не исках да се занимавам с изграждането на персонализирана схема. От известен опит знаех, че малък микроконтролер (Arduino) може да се използва за измерване на тока и след това да се управлява реле за включване и изключване на светлините. След като намерих малък сензор за постоянен ток от Adafruit, започнах да експериментирам с свързването му към USB кабел за измерване на тока, протичащ през него, докато зарежда телефона. Типичният USB 2.0 кабел съдържа 4 проводника: бял, черен, зелен и червен. Тъй като черният и червеният проводник носят захранване през кабела, всеки от тях може да се използва за измерване на текущия поток - използвах червените проводници. Типичният токов сензор трябва да бъде поставен в съответствие с потока на тока (токът трябва да тече през сензора) и сензорът Adafruit не е изключение от това правило. Червеният проводник е отрязан, като двата отрязани края са прикрепени към двете винтови клеми на сензора за ток. Сензорът Adafruit беше свързан с Arduino и написах прост код, за да докладвам текущия поток през сензора. Този прост експеримент ми показа, че зареждащият телефон извлича между 100 и 400 mA. След като телефонът е напълно зареден, текущият поток ще падне под 100 mA, но няма да достигне 0.

С моя експеримент, който успешно демонстрира, че мога да измервам текущия поток с Arduino, проектирах схемата, показана по -горе. Два 1-инчови USB кабела за монтиране на панел ще бъдат свързани към 4-портова кутия за зареждане. Кабелите за зареждане на телефона ще бъдат свързани към тези удължителни кабели, което ще позволи на системата да побере всякакъв вид USB кабел за зареждане - и да се надяваме, че това ще бъде „доказателство за бъдещи телефони“. Червените проводници на удължителните кабели ще бъдат отрязани и свързани към текущите сензори. Текущите сензори доставят информация към Arduino, което от своя страна контролира двуканално твърдо реле. Релето се използва за превключване на 110V захранването към крушките. Захранването към USB кутията и електрическите крушки могат да бъдат свързани заедно, което позволява на системата да използва един контакт. Особено ми харесва как захранването на Arduino може да бъде осигурено от един от допълнителните USB портове в кутията за зареждане.

Стъпка 3: Докинг станцията за телефона

Докинг станцията за телефон
Докинг станцията за телефон

Докинг станцията за телефон е изградена от 3/8 "черна тръба. Използвах два мъжки и женски лакътя, Т, къса секция с пълна резба и кръгъл фланец. За месинговите части в горната част на дока, изрязах 1 1/2 "дълга месингова тръба наполовина и използвана една половина за всяка част. В Т е пробита малка дупка, която е достатъчно голяма, за да побере краищата на осветителните кабели. Кабелите бяха обработени през лактите и бяха заварени JB в месинговите тръби. В крайна сметка това беше много по -трудно, отколкото изглежда, тъй като лактите не бяха достатъчно големи отвътре, за да се поберат през осветлението. В крайна сметка разробих вътрешностите на лактите, докато се поберат.

Ако трябваше да направя този док отново, бих му дал повече поддръжка за телефона. Както можете да очаквате, ако телефонът изобщо бъде натиснат, когато е на дока, краищата на мълния могат да бъдат огънати много лесно. Смятам за странно, че Apple всъщност продава док с подобна неподдържана конфигурация.

Стъпка 4: Лампите

Лампите
Лампите
Лампите
Лампите

Исках лампите да имат подобен промишлен вид на този на дока. За първата лампа използвах общ гнездо за крушка, поставено върху 3/8 тръбен фланец. Някои малки месингови тръби свързват основата към гнездото и допълват месинговите акценти на дока. 40W крушка Edison наистина е звездата Исках да използвам крушки Edison, тъй като те перфектно се вписват в дизайна на този док и ви позволяват да създадете красива лампа с открита крушка.

Докато бях в Lowe's, открих скоба за осветление, която смятах за интересна. Обърнах скобата с главата надолу и добавих тръбен фланец, за да направя основата. Гнездото в стойката за осветление на коловоза не беше прикрепено към него, тъй като беше проектирано да се държи на място с плоска крушка. Тъй като използвах крушка Edison, направих малка алуминиева скоба, която да държи гнездото вътре в кръговия корпус на скобата за осветление на коловоза. Малки месингови копчета бяха добавени, за да допълнят останалата част от системата.

След като докът и светлините бяха завършени, те бяха боядисани в матово черно - с изключение на месинговите битове.

Стъпка 5: Корпусът Arduino

Корпусът Arduino
Корпусът Arduino
Корпусът Arduino
Корпусът Arduino
Корпусът Arduino
Корпусът Arduino

Използвах два 4 "x 4" PVC корпуса за корпуса на Arduino. Нарязах вентилационните отвори на едната страна и капака на всеки корпус. Отстрани на единия корпус изрязах два правоъгълни отвора за USB кабелите за монтаж на панела. От двете страни на тези правоъгълни отвори бяха пробити дупки на разстояние 1 1/8 "в центъра и бяха използвани за закрепване на кабелите към корпуса. Едната страна на двете кутии беше отрязана, така че двете кутии да образуват една кутия, когато са поставени един до друг. 3/4 "дебел дървен блок беше използван за задържане на кутиите в тази конфигурация един до друг и също така представлява удобна основа, върху която да седят.

Стъпка 6: Прикрепете USB кутия

Прикрепете USB кутия
Прикрепете USB кутия

Първият компонент, който трябва да се добави към кутията, е 4-портовата USB кутия за зареждане. Просто фиксирах това на място с двустранна лента.

Стъпка 7: Монтирайте Arduino в кутията

Монтирайте Arduino в кутия
Монтирайте Arduino в кутия
Монтирайте Arduino в кутия
Монтирайте Arduino в кутия
Монтирайте Arduino в кутия
Монтирайте Arduino в кутия

Харесва ми да използвам дистанционни елементи за лицеви панели на електрически кутии, за да монтирам електронни компоненти, тъй като те са изработени от пластмаса и могат да бъдат адаптирани да работят като задържане или задържане. Просто ги нарязвам с ножа си и след това натискам винтове през тях. Arduino беше монтиран в една кутия с малки винтове с плоска глава с дистанционни елементи на лицевата плоча, монтирани между Arduino и кутията.

След като Arduino беше монтиран, между USB порта на Arduino и най -близкия порт на кутията за зареждане беше свързан къс (6 ) AB тип USB кабел. Това беше наистина плътно прилягане на кабела и всъщност трябваше да отрежа обратно пластмасовите битове, заобикалящи проводника в края на кабела, така че да се побере.

Стъпка 8: Окабеляване и монтиране на релето

Окабеляване и монтиране на релето
Окабеляване и монтиране на релето
Окабеляване и монтиране на релето
Окабеляване и монтиране на релето
Окабеляване и монтиране на релето
Окабеляване и монтиране на релето
Окабеляване и монтиране на релето
Окабеляване и монтиране на релето

Кабелите към лампите се подаваха през отвори в кутията. Един проводник от всеки кабел беше свързан към изходите (включената 120V страна) на двата канала на твърдотелното реле. Кратки (4 ) участъци от проводника бяха свързани към останалите винтови клеми, в непосредствена близост до мястото на свързване на тези проводници на лампата. Тези проводници ще се използват за захранване на 120V страната на релето.

От DC страната на релето, 4 проводника бяха прикрепени според показаната конфигурация. Два от проводниците доставят + и - DC напрежение, необходимо за работата на релето, докато останалите два проводника носят цифровите сигнали, които казват на каналите да се включват или изключват.

След това тези 4 проводника бяха прикрепени към Arduino, както следва: Червеният проводник (DC+) е свързан към щифта 5 V. Черният проводник (DC-) е свързан към щифта GND. Кафявият проводник (CH1) е свързан към цифровия изходен извод 7 Оранжевият проводник (CH2) е свързан към изхода за цифров изход 8

След като всички проводници бяха свързани към релето, то беше монтирано в корпуса с помощта на малки винтове с плоска глава.

Стъпка 9: Окабеляване и монтиране на токовите сензори

Окабеляване и монтиране на токовите сензори
Окабеляване и монтиране на токовите сензори
Окабеляване и монтиране на токовите сензори
Окабеляване и монтиране на токовите сензори
Окабеляване и монтиране на токовите сензори
Окабеляване и монтиране на токовите сензори

Комуникационни и захранващи проводници бяха създадени за двата токови сензора чрез снаждане на двата комплекта проводници, водещи от сензорите към Arduino. Както и преди, червеният и черният проводник се използват за захранване на сензорите. Тези проводници са свързани към щифтовете Vin (червен проводник) и GND (черен проводник) на Arduino. Изненадващо, дори комуникационните проводници (кабелите SDA и SDL) могат да бъдат снадени заедно. Това е така, защото на сензорите за ток Adafruit може всеки да получи уникален адрес в зависимост от това как техните щифтове за адрес са споени заедно. Ако на платката няма споени нито един от адресните щифтове, платката се адресира като платка 0x40 и ще бъде посочена като такава в кода на Arduino. Чрез запояване на щифтовете за адрес A0 заедно, както се вижда на диаграмата, адресът на платката става 0x41. Ако са свързани само щифтове за адрес A1, платката ще бъде 0x44, а ако и двата пина A0 и A1 са свързани, адресът ще бъде 0x45. Тъй като използваме само два сензора за ток, трябваше само да запоя адресните щифтове на борда 1, както е показано.

След като дъските бяха адресирани правилно, те бяха прикрепени към корпуса с помощта на малки месингови винтове.

Проводниците SDA (синьо) и SCL (жълто) от сензорите са свързани към щифтовете SDA и SCL на Arduino. Тези щифтове не бяха обозначени на моя Arduino, но те са последните два пина след щифта AREF от цифровата страна на платката.

Стъпка 10: Свържете USB удължителните кабели

Свържете USB удължителните кабели
Свържете USB удължителните кабели
Свържете USB удължителните кабели
Свържете USB удължителните кабели

Както бе споменато по -рано, USB удължителните кабели трябва да преминават ток през сензорите за ток. Това беше улеснено чрез снаждане на проводници в червените проводници на кабелите. След като USB кабелите са монтирани в кутията, тези проводници от съединенията са свързани към сензорите за ток. За всеки USB кабел, токът, протичащ през него, ще тече по тези проводници, през сензора и след това ще се върне, за да продължи през кабела към зареждащия телефон. Мъжките краища на USB кабелите бяха включени в два от отворените портове на USB кутията за зареждане.

Стъпка 11: Свържете захранването

Свържете захранването
Свържете захранването

Последната стъпка в кутията за електроника е да свържете захранващия кабел към USB кутията и лампите (известен още като 120V страната на релето). Черните проводници, водещи директно към лампите, са свързани към един проводник на захранващия кабел заедно с кафявия проводник от кутията за зареждане. Захранващият кабел към кутията за зареждане беше просто отрязан, като двата проводника вътре (те са сините и кафявите проводници) бяха отстранени. И накрая, двата бели проводника от релето са прикрепени към другия проводник на захранващия кабел заедно със синия проводник от USB кутията за зареждане.

Стъпка 12: Завършената система

Завършената система
Завършената система
Завършената система
Завършената система

След като кутията е напълно сглобена, капаците на корпуса могат да бъдат сменени. Сега, когато хардуерът на тази система е завършен, е време да преминем към софтуера.

Стъпка 13: Кодът на Arduino

Разработването на кода на Arduino беше доста лесно, въпреки че бяха необходими няколко теста, за да се получи точно така. В най -простата си форма кодът изпраща сигнал за захранване на съответния релеен канал винаги, когато отчита токов поток, който е по -голям или равен на 90mA. Докато този прост код беше добра отправна точка, мобилните телефони не се зареждат до 100% и след това седят и черпят много малко ток. По -скоро установих, че след като телефонът се зареди, той ще изтегли няколкостотин mA за кратко на всеки няколко минути. Сякаш телефонът е течаща кофа, която трябва да се допълва на всеки няколко минути.

За да реша този проблем, разработих стратегия, при която всеки канал може да бъде в едно от трите състояния. Състояние 0 се дефинира, когато телефонът е изваден от докинг станцията за зареждане. На практика установих, че практически не тече ток, когато телефонът е изваден, но зададох горната граница на тока на това състояние на 10mA. Състояние 1 е състоянието, в което телефонът е напълно зареден, но все още е на дока. Ако текущият поток падне под 90mA и е над 10mA, системата е в състояние 1. Състояние 2 е състоянието на зареждане, където телефонът черпи 90mA или повече.

Когато телефонът е поставен на дока, състоянието 2 се инициира и продължава по време на зареждане. След като зареждането приключи и токът падне под 90mA, системата е в състояние 1. На този етап беше направено условно изявление, така че системата да не може да премине директно от състояние 1 в състояние 2. Това поддържа системата в състояние 1, докато телефонът не е отстранен, в който момент той влиза в състояние 0. Тъй като системата може да премине от състояние 0 в състояние 2, когато телефонът се постави обратно на зарядното устройство и токът се повиши над 90mA, състояние 2 се стартира отново. Само когато системата е в състояние 2, сигналът се изпраща към релето за включване на светлината.

Друг проблем, с който се сблъсках, е, че токът понякога би паднал за кратко под 90mA, преди телефонът да бъде напълно зареден. Това би поставило системата в състояние 1 преди да е трябвало. За да поправя това, аз осреднявам текущите данни за 10 секунди и само ако средната стойност на тока падне под 90mA, системата ще влезе в състояние 1.

Ако се интересувате от този код, прикачих файл с Arduino.ino с още някои описания в него. Като цяло работи доста добре, но забелязах, че понякога системата изглежда преминава в състояние 0, когато телефонът все още е свързан и напълно зареден. Това означава, че от време на време светлината ще светне за няколко секунди (когато премине в състояние 2) и след това ще изгасне. Предполагам, че трябва да се работи за бъдещето.

Стъпка 14: Готовата система

Готовата система
Готовата система
Готовата система
Готовата система
Готовата система
Готовата система
Готовата система
Готовата система

Инсталирах зарядното устройство за зареждане на нашия рафт с книги, като кутията Arduino се намира зад някои книги. Ако просто го погледнете, никога няма да осъзнаете работата, която е влязла в него - и дори да го видите в действие не е справедливо. Отново ме прави щастлив да видя как светлините светват и угасват и дори съм разчитал на тях, за да видя дали телефонът се зарежда.

Препоръчано: