Съдържание:
- Консумативи
- Стъпка 1: Откъсване на лентата
- Стъпка 2: Dark Sky Pi
- Стъпка 3: Кодът
- Стъпка 4: Unicorn HAT & Servo
- Стъпка 5: Jiggle на слушалките
- Стъпка 6: Монтаж
- Стъпка 7: Тиха обсесия
Видео: 1984 WeatherMan Pi: 7 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:51
Този преносим касетофон сега е околен IoT метеорологичен дисплей със стил от началото на 80 -те, показващ анимация „текущи условия“, превъртаща графика на температурата и вероятността от дъжд през прозореца на лентата. Когато метеорологичните условия се променят, сервоуправляемите слушалки отгоре се размърдат напред-назад като фин сигнал.
Отваряйки функционалната лента, можем да видим, че прашните оригинални компоненти са заменени с Raspberry Pi Zero W, Pimoroni Unicorn Hat HD (LED Matrix) и малко серво. Данните за времето се извличат с помощта на скрипт на Python, който запитва ултра точния API на Dark Sky Weather, съобразен с конкретното ми местоположение.
Това е проста, но красиво изглеждаща и функционална IoT конструкция, която седи на противоположния високоговорител на бюрото на моя брояч в YouTube, тихо ме държи в течение с времето.
Консумативи
Raspberry Pi Zero
Pimoroni Unicorn HAT HD
Малко серво
1984 Hitachi SP-1 Лични стерео и слушалки
USB WiFi адаптер
2 мм резбован прът
Sugru (черно и сиво)
Магнит GeoMag
Стъпка 1: Откъсване на лентата
Получих този прекрасен стар касетофон от свекърва ми през септември и моментално се влюбих в емблематичния му вид и набитите бутони. Истинското привличане обаче беше този голям прозорец с лента - след като го притежавах около 15 секунди, извадих линийка и с учудване установих, че до мм е със същия размер като стандартната Raspberry Pi HAT (хардуер, прикрепен отгоре).
Само това откритие беше достатъчно, за да пробие моя проект с часовник с кукувица по -надолу в списъка „to do“и започнах работа веднага, като демонтирах плейъра.
Разкъсването мина доста добре и в крайна сметка получих три отделни парчета, с които да работя - успях да счупя няколко пластмасови части, но нищо, което не можеше да бъде залепено отново.
Стъпка 2: Dark Sky Pi
Използвам Dark Sky на телефона си от известно време и бях наистина впечатлен от точността на прогнозите, така че се зарадвах да видя, че предлагат изчерпателен API, който мога да използвам в този проект. нагоре също!
Първо отидете на https://darksky.net/dev и се регистрирайте за безплатен акаунт - „пробен“акаунт ви позволява да правите 1000 заявки за API на ден, което е достатъчно за опресняване на всеки 1,5 минути - достатъчно често дори за моя Британско ниво на мания за времето.
След като се регистрирате, ще получите „Секретен ключ“- това е, което ви е необходимо за достъп до данните и се използва в скрипта на Python, така че дръжте го удобно (и, знаете ли, в тайна).
Започнах с адаптирането на скрипт, който използвах в изграждането на брояча на абонатите на YouTube, който използва модула Requests в Python за извличане на API данни. Скриптът, който използвах, е на GitHub, просто трябва да добавите своя ключ за Dark Sky API и, разбира се, да замените вашите собствени стойности на Latitude & Longitude.
Събирането на данни за текущите метеорологични условия беше доста лесно и реших да използвам елементите „Икона“, „Вероятност за валежи“и „Температура“.
Стъпка 3: Кодът
Ако искате да използвате повторно или трамплин от кода, който използвах, той е в хранилището на WeatherMan на GitHub - клонирайте или изтеглете папката „weather“в папката „pi“на вашия Raspberry Pi.
Основните функции на скрипта са както следва:
weatherman.py
Това е основният скрипт, който извлича метеорологичните данни от Dark Sky. Ще трябва да настроите акаунт в Dark Sky на адрес https://darksky.net/dev и да поставите своя секретен ключ в скрипта, където е посочен. Също така ще трябва да поставите географската ширина и дължина на метеорологичното местоположение, което ви интересува - това може да бъде намерено в Google Карти, просто щракнете с десния бутон и изберете „Какво има тук?“и ще получите изскачащ прозорец, показващ географската ширина/дължина на местоположението.
След извличане на данните от API weatherman.py предава параметри на няколко по -малки скрипта, за да стартира анимациите и промяната на слушалките.
Скриптът е настроен да се стартира при стартиране, като редактирате стартовия файл …
sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
… и добавя:
@python3 /home/pi/weather/weatherman.py &
в края на файла.
icon.py
Този скрипт взема параметър „текущи условия“от скрипта weatherman.py и го използва за показване на анимация за времето 16x16 - всички те се съхраняват в папката „икони“и са част от стандартната документация на Unicorn HAT HD. Можете лесно да редактирате-p.webp
phones.py
Ако метеорологичните условия са се променили от последната заявка за API (или това е ново зареждане и не вали сняг), тогава този скрипт се извиква от weatherman.py и инструктира сервото да „джигува“напред -назад, за да ви предупреди, че условията са променен.
precip.py
Този скрипт приема параметър "вероятност за валежи" от weatherman.py и показва линии в синьо на Unicorn HAT, отнасящи се до % вероятност. Ако 100% всички 16 реда ще светят в синьо, ако 50% само 8 реда и т.н.
temp.py
Друг стандартен скрипт на Pimoroni, този взема параметър „temp“от weatherman.py и го показва с превъртащ се текст. Той е настроен да използва шрифта на Herkules truetype (в папката "fonts"), но може да използва стандартен шрифт, ако предпочитате. Можете дори да го подобрите, така че показаният текст да променя цвета си в зависимост от стойността на температурата!
Стъпка 4: Unicorn HAT & Servo
Възможността да се сдобия с метеорологичните данни беше страхотна, но сега трябваше да я покажа на Unicorn HAT. Погледнах различни набори от икони за времето в интернет и бях на половината от адаптирането им, когато разбрах, че има пример за времето, включен в документацията на Pimoroni - и това включваше анимации за времето!
Това спести огромно количество работа и аз заработих за нула време, с анимирана икона за текущите условия, малко превъртащ се текст за температурата и графика за % валежи (което включваше лека математика). Държах скриптовете отделно и използвах модула Subprocess на Python за предаване на параметри насам -натам.
Добавянето на серво е идеалното превозно средство за тези сигнали, тъй като ще създаде малко шум и ще привлече вниманието, без да бъде прекалено досадно. Тъй като HAT вече заема много от пиновете на Pi, запоявах серво кабелите към долната страна на платката, използвайки Pin 17, за да контролирам движението на серво, използвайки Pulse Width Modulation.
Захранването на серво от Pi не беше идеално, но винаги щеше да се използва само за мигновено клатене, така че прецизността тук не е голяма работа. Той се свързва, както е показано на диаграмата, с кафяв кабел към GND, червен към 5v и оранжев (контролния кабел) към GPIO17.
Накрая редактирах някои от файловете за анимация на времето в GIMP, за да добавя моите лични щрихи, като прилепи на луната и усмихнато лице на слънцето. Добавих и персонализирана анимация на касетофон „Old Tech New Spec“, която да се възпроизвежда при стартиране, само за забавление.
Стъпка 5: Jiggle на слушалките
Идеята на WeatherMan беше, че той пасивно щеше да седи на високоговорителя на бюрото ми, като от време на време показваше времето, но аз исках да направи малко повече! Слушалките, които идваха с него, бяха препечени, но класически 80 -те, затова реших да направя нещо с тях. След като свалих всички кабели и горещо залепих счупения, останах с три части, 3.5 мм щепсел, бутон с формата на ромб и самите телефони върху тяхната гъвкава метална лента.
Идеята ме впечатли, че ако мога да намеря някакъв начин за монтиране на телефоните отгоре на устройството, мога да ги накарам да се въртят напред -назад със серво и да използвам това като допълнително известие.
Първо пробих 3,5 мм щепсела и демонтирах диамантения превключвател, след което ги плъзнах върху парче резбован прът. След това залепих гайка към пластмасов конектор, така че пръчката да може да седи сигурно (и направо) върху серво. В другия край на пръта добавих друга гайка. Накрая използвах сив Sugru, за да свържа горната част на пръта към лентата за слушалки, а също и да прикрия гайката в долната част на монтажа. Ако не сте чували за Sugru, това е леещо се лепило, което се предлага в малки цветни сашета - формова се като Play -Doh, но залепва като суперлепило и се втвърдява като пластмаса!
С неотдавнашното студено време на Sugru бяха необходими няколко дни, за да се втвърди напълно, но слушалките и стойката им скоро бяха готови за окончателно сглобяване.
Стъпка 6: Монтаж
Pi, HAT и Servo работиха добре на пейката, така че следващата работа беше да ги вкараме в случая. Преди да започна с големите компоненти, използвах малко останало сиво Sugru, за да фиксирам копчето за сила на звука, гнездото за слушалки и превключвателя за „метална лента“, подреждайки козметиката. Също така залепих оригиналните бутони за възпроизвеждане, спиране, FF и Rew към парче пластмасов тръбопровод, така че да останат на точното място. Жалко, че този път не използвахте повторно нито един от бутоните, но всъщност нямаше какво да контролират!
Използвах последния от сивия Sugru, за да задържа сервото на място, като валът му пробива през увеличения гнездо за слушалки. Преминавайки към другата половина на кутията, след това използвах черен Sugru, за да закрепя модула HAT и Pi към вратата на лентата, така че да се отворят с нея. Наистина ми хареса последното малко докосване - фиксирането в магнит GeoMag, така че вратата да се държи здраво затворена.
Събирането на двете половини беше нервен бизнес, тъй като се страхувах, че Pi & Servo ще се сблъскат един с друг, но в крайна сметка имаше около милиметър, който да остане, много в книгата ми. Тъй като фънки отварящата се врата щеше да даде пълен достъп до интериора за бъдещо обслужване, току -що залепих двете половини заедно и след избърсването на мазните ми пръстови отпечатъци поставих комплекта слушалки отгоре - готово!
Стъпка 7: Тиха обсесия
Втора награда в конкурса за повторна употреба
Препоръчано:
LED светлина (и) със захранване от батерията със слънчево зареждане: 11 стъпки (със снимки)
LED светлини (и), захранвани от батерии, със слънчево зареждане: Жена ми учи хората как да правят сапун, повечето от часовете й бяха вечер и тук през зимата се стъмва около 16:30 ч. Някои от нейните ученици имаха проблеми с намирането на нашите къща. Имахме табела отпред, но дори и с улично осветление
Лек хак за стая със зрителни увреждания със слухови увреждания: 7 стъпки (със снимки)
Лек хак на стаята със слухови увреждания на вратата: Проблем: баща ми е регистриран като глух, а майка ми е с увреден слух и поради това често им е трудно да чуят звънеца на вратата. Това би могло да бъде проблем, претърпян и от много други.Купиха мигащ светлинен звънец на вратата, за да им помогнат с
Висящи бижута със слънчево захранване на сърцето със светкавици: 11 стъпки (със снимки)
Висящи бижута със слънчево захранване за сърце: Тази инструкция е за сърце със слънчева енергия с пулсиращ червен светодиод. Той измерва около 2 " до 1,25 ", включително USB раздела. Той има една дупка през горната част на дъската, което улеснява окачването. Носете го като огърлица, обеци, връзки на щифт
Сандък със съкровище Zelda (със светлини и звук): 12 стъпки (със снимки)
Zelda Treasure Chest (With Lights & Sound): Здравейте на всички! Бях голям фен на игрите Legend of Zelda, когато бях по -малък, но мисля, че почти всеки знае емблематичната мелодия, която свири, когато отворите сандък в играта, просто звучи толкова вълшебно! В тази инструкция ще ви покажа как
Персонализиран часовник със стрелки за снимки: 5 стъпки (със снимки)
Персонализиран часовник със стрелки за снимки: Някои хора наблюдават часовника. Сега всеки може да бъде часовник. Други проекти персонализират лицето на часовника. Този персонализира стрелките на часовника. Изглежда скъп, но е по -малко от 5 долара и около 30 минути на часовник. Перфектен за Chr