Съдържание:
- Стъпка 1: Регистрирайте се за информация за астрономията
- Стъпка 2: Компоненти
- Стъпка 3: Компютърният софтуер
- Стъпка 4: Веригата
- Стъпка 5: Кодът
- Стъпка 6: Окончателно сглобяване
Видео: Безжичен лунен фазов тракер: 6 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:53
Лунният фазов тракер е малко, полупреносимо устройство, което ви позволява да събирате критична информация за Луната. Устройството отчита параметри като видимото осветление, фазата, изгрева на луната и зададеното време и др.
Това устройство е от съществено значение за всеки, който се интересува от наука или астрономия и осигурява чудесна декорация за настолен офис и със сигурност е начало на разговор.
Проектът е сравнително прост и изисква устройство, свързано с интернет, като ESP32, но винаги можете да адаптирате кода да работи с WiFi щит, Ethernet щит или друго свързано с интернет устройство, което може да имате. Лунният фазов тракер е проектиран да работи с литиево-полимерни батерии и много енергийно ефективен дисплей с електронно мастило, който не само осигурява прекрасен екран за гледане, но и задържа последното изображение, дори ако захранването се изключи!
Стъпка 1: Регистрирайте се за информация за астрономията
Тази стъпка е абсолютно важна (макар и скучна), тъй като използваме онлайн API за събиране на нашата информация. Въпреки че е възможно да се изчислят фазите на луната, осветеността и т.н., това е досадна задача. API, който използваме, предоставя актуална информация от метеорологичните станции на живо и системите за наблюдение, така че данните, които получаваме, са резултати от реалния свят, а не тези на изчислените стойности.
Преминете към Weather Underground, кликнете върху „регистриране“и попълнете цялата си информация. Профилът е напълно безплатен, както и вашите API обаждания, стига да не заявите твърде много резултати на минута или да надхвърлите 500 заявки на ден. Уверете се, че сте маркирали тази страница, винаги можете да се върнете по -късно и да използвате API за статистика за времето и друга страхотна информация. След като създадете своя акаунт, отидете на сайта на API, щракнете върху „ключ за покупка“и изберете безплатния план, просто трябва да въведете няколко подробности и ще имате проблеми с идентификатора на ключа на devoloper. Този идентификатор е уникален за вас и трябва да бъде запазен като частен. Предоставих ключа си в примерния код на Arduino, който ще разгледаме малко по -късно. Вие сте повече от добре дошли да използвате моя Key ID за целите на тестването, но силно препоръчвам да се регистрирате за своя собствена.
След като имате своя уникален идентификационен номер, можете да преминете към информацията за API на астрономията, която честно казано е много гола. Ще намерите прост пример, който изглежда така:
api.wunderground.com/api/8c6dc2e5c6f36de9/a…
Този URL адрес е изключително важен, тъй като именно това ни дава цялата информация, която ни е необходима, за да направим нашия проект. Продължете, щракнете върху връзката, ще видите резултати за Сидни, като фаза на луната, осветление и друга добра информация. Погледнете URL адреса, ще видим Сидни, Австралия и дълъг код, който започва с "8c6dcwe …". Този код е вашият идентификатор на ключ, който взехме по -рано. Променете този код с вашия уникален идентификатор и вижте как работи, трябва да получите точно същия резултат. Опитайте да си поиграете с локации. За себе си в Южна Африка използвам Йоханесбург и ZA.
Стъпка 2: Компоненти
Така че сега за интересните неща. Ще ни трябват няколко компонента, не много и нито един от тях не е изключително скъп и аз предоставих Amazon връзки за компонентите, които използвах. Имайте предвид, че ако се справяте добре с програмирането, не се колебайте да използвате всеки дисплей или интернет устройство, което имате на разположение. За моята конструкция използвах следното:
Waveshare E-Ink SPI 4.2 "SPI дисплей
- ESP32 Dev Board (Generic)
- Adafruit Power Boost 500
- 5000mAh Lipo батерия
- Лента (Protoboard)
Понякога ще ви трябват основни инструменти като:
- Поялник
- Припой
- Мултиметър
- Калибър
- Свредло за отделяне на следи на протоборд
- Тел
- Тел отрезки
- Лепило (горещото лепило ще работи)
- Лаптоп с инсталиран Arduino IDE
Единственият усъвършенстван инструмент, от който може да се нуждаете, е 3D принтер, за да направите корпуса. Ако нямате такъв, това е добре, направете корпуса си от дърво и ръчни триони или каквото имате. И да, моят 3D принтер е стар и прашен хаха.
Стъпка 3: Компютърният софтуер
Преди да започнем да работим по схемата и програмирането, първо ще се нуждаем от най -новата версия на Arduino IDE, която можете да намерите тук.
Тъй като използваме ESP32 с ядро Arduino, ще трябва да инсталираме това ядро в Arduino IDE. Следвайте това просто ръководство от Github, което ви показва какъв софтуер и конфигурация ще трябва да направите, за да можете да използвате вашата ESP32 dev платка в Arduino IDE.
Ще ни трябват и две допълнителни библиотеки, за да работи системата ни. Първият е библиотека на Arduino JSON, която ни позволява да четем и анализираме JSON заявки, което е точно това, което получаваме от Weather Underground. Можете да изтеглите тези две библиотеки от моя личен Dropbox или по -долу. След като имате файловете, ги извлечете и ги поставете в папката на библиотеката си Arduino. Обикновено се намира в библиотеките C: / Users / YOUR_NAME / Documents / Arduino \. Уверете се, че рестартирате вашата IDE, в противен случай Arduino няма да вземе новите допълнения. Основният код на Arduino SRC също е в тази папка. Библиотеката съдържа и модифицирана версия на извадката, предоставена от дисплеите на Waveshare. Файловете са променени, за да работят на модула ESP32 с техните GPIO и аз внедрих нов "шрифт", който съдържа всички изображения за различните фази на Луната.
Стъпка 4: Веригата
Добре, така че схемата за това е изключително проста и изисква само няколко компонента и проводници.
Общата идея е, че имаме Lipo зарядно устройство, усилващ преобразувател, който да ни даде 5V, а след това и ESP32 Dev Kit, който намалява напрежението до 3.3V. Този 3.3V се използва и за дисплея Waveshare E-Ink. Да, това е малко неефективно поради усилване и след това слизане с линеен регулатор, но ESP32 работи в много ужасен диапазон на напрежение. Някъде около 2.5 - 3.6V. Това не е подходящо за проекти за батерии, особено за такива, които използват литиево -полимерни клетки.
Основното окабеляване е както следва:
- Усилващ преобразувател 5V изход Vin & GND на ESP32 Dev Kit
- ESP32 3.3V 3.3V & GND E-Ink дисплей
- ESP32 PIN 18 CLK E-Ink дисплей
- ESP32 PIN 23 DIN/MOSI E-Ink дисплей
- ESP32 PIN 5 CS/SS E-Ink дисплей
- ESP32 PIN 32 DC E-Ink дисплей
- ESP32 PIN 33 RST Дисплей за електронно мастило
- ESP32 PIN34 BUSY E-Ink дисплей
Можете да видите, че окабеляването е много просто и моите DIY табла отне само около 15 минути. Уверете се, че сте проверили за къси съединения с мултицет, преди да осигурите захранване.
Премахнах и светодиодите от моята ESP32 и Lipo усилвателна платка, за да спестя около 40mA енергия по време на спящ режим. Това ще помогне на батериите да издържат малко по -дълго. Можете да внедрите превключвател на захранването, схема за пестене на енергия, автоматично изключване и т.н., ако желаете. Можете да разширите този проект и да го направите толкова сложен, колкото искате.
Стъпка 5: Кодът
Кодът може да бъде намерен в предоставената папка по време на стъпка 3 или можете да изтеглите.ino файла отдолу. Ще трябва да инсталирате свързаните библиотеки, както е споменато в стъпка 3, за да работи всичко заедно. Няма много какво да се каже за тази стъпка, тъй като кодът се доставя в работно състояние. Уверете се, че сте поставили своя SSID и мрежова парола, преди да тествате програмата, винаги можете да стартирате ESP32 WiFi Scan, за да откриете всички безжични мрежи наблизо, но в моята програма информацията за мрежата е зададена само в код и код. Може би можете да го промените, за да попитате към каква мрежа искате да се свържете:)
Кодът е сравнително прост и ще прекарам известно време в коментирането и усъвършенстването му през следващите няколко седмици. По принцип се свързваме с мрежа, в моя случай с моята домашна мрежа. След това се опитваме да се свържем с Weather Underground и да получим JSON текста от уеб страницата. След това библиотеката ArduinoJSON се използва за извличане. или анализирайте JSON кода в char масиви или низове, които ни позволяват да манипулираме стойностите, преди да ги покажем на потребителя. Последният бит код е строго за програмиране на графичния интерфейс и е направен чрез опит и грешка. Погледнах дисплея, увеличих или намалих позицията на активите и пуснах кода отново, докато не бях доволен от това как изглеждат размерът на шрифта, оформлението и изображенията.
Приложих режим на дълбок сън за ESP32, за да пестя енергия. По подразбиране е 60 секунди, но предлагам да промените стойността на нещо като час или два, тъй като актуализациите не се случват поне за няколко часа. Примерът приема секунди, затова се уверете, че правите преобразуванията правилно.
Използвах и програмата The Dot Factory за генериране на шестнадесетични масиви за нов шрифт. Този шрифт се използва за генериране на "изображения" за фазите на луната. Ако искате да редактирате файла с шрифтове, уверете се, че използвате гореспоменатата програма за генериране. Това е малко объркващо, тъй като библиотеката E-Ink не е документирана добре и по-голямата част от моя успех беше благодарение на опитите и грешките. Когато прекарвам повече време с този код, ще актуализирам Instructable, за да предоставя повече информация за моите констатации.
Шрифтът, използван за фазите на луната, трябва да бъде направен съгласно стандартно оформление ASCII. Ако отворите font24 в папката EPD-master, можете да видите оформлението, където първата графика е идентифицирана с бяло пространство, втората е "!" (удивителен знак) и така нататък. Ще видите, че изтеглям свързания шрифт, използвайки номер 3 или символ на хаштаг в последния бит на кода (функция getLunarChar). Това е така, защото Arduino очаква стандарта ASCII от 32 до 127. Тъй като използваме шрифтове, които нямат нищо общо с действителните шрифтове и по -скоро графична матрица на фазата на луната, трябва да гарантираме, че символът ASCII препраща към избраното от нас изображение на фазата на луната. Това означава, че използването на! знак, нашият шрифт на лунната фаза ни показва втората графика на фазата на луната в този списък. Ако погледнете шрифта на лунната фаза, ще видите цял куп лунни фази, всички с различни нива на осветеност. В бъдеще ще добавя още код, за да използвам всички графики, които сме внедрили. В момента използваме само няколко, но графиките вече са реализирани в шрифта на лунната фаза и просто трябва да бъдат внедрени в кода, за да се използват.
Стъпка 6: Окончателно сглобяване
Последната част от изграждането и най -удовлетворяващата е процесът на сглобяване. Проектирах и отпечатах 3D корпус, който пасва на дъската ми. Проектът е много самостоятелен, няма професионални платки или единно стандартно оформление. В по -голямата си част кутията, която използвах, е достатъчно голяма, за да побере всяко липо зарядно устройство или усилващ преобразувател, което решите да използвате. Докато те осигуряват същата основна функционалност, спомената в тази инструкция, тогава трябва да сте добре.
Използвах 4 винта, за да държа горната и долната половина на корпуса заедно и горещо лепило за монтиране на моята схема „направи си сам“. Използвах много малки капки лепило, за да държа батерията, но ако имах повече време, щях да направя персонализирана скоба за цялата електроника.
Аз също реших да направя дупка за заключващ бутон на гърба. Това изключва батерията от усилвателния конвертор, което е полезно, ако не планирате да работите с устройството денонощно. За съжаление усилващият преобразувател все още използва енергия, дори ако вашият ESP32 е в режим на дълбок сън.
Като цяло съм много доволен от резултата. Научих много, докато използвах ESP32 и мога да се видя да го използвам за различни проекти в бъдеще.
Ако имате въпроси, не се колебайте да попитате, ще бъда повече от готов да помогна и ако откриете грешки в тази инструкция, моля, уведомете ме.
РЕДАКТИРАНЕ: Всъщност направих CNC машина малка кутия вместо 3D печатната версия, което виждате в представените изображения.
РЕДАКТИРАНЕ: В представените изображения виждаме пълнолуние с 99% осветеност. Следователно белият кръг, докато Луната преминава през типичните си фази, образът на Луната ще се промени съответно. Допълнителни изображения ще бъдат качени, докато Луната напредва през своите фази, така че можете да получите представяне на графиките.
Вицешампион в космическото предизвикателство
Препоръчано:
Направи си сам GPS тракер --- Приложение Python: 5 стъпки (със снимки)
DIY GPS Tracker --- Приложение Python: Участвах в колоездене преди две седмици. След като приключих, исках да проверя маршрута и скоростта, която карах по това време. За съжаление не беше постигнато. Сега използвам ESP32, за да направя GPS тракер и ще го използвам, за да запиша моя маршрут за колоездене
Лунен часовник с дракон: 8 стъпки (със снимки)
Лунен часовник с дракон: *** Вписването в моя блог https://blog.familie-fratila.de/bone-dragon-moonlight-clock/ *** Преди време построих часовник за хола си, тъй като не намерих нищо, което да има поне поносим дизайн :-) Разбира се, синът ми, като видя това, имаше искания
Безжичен робот Arduino, използващ безжичен модул HC12: 7 стъпки
Безжичен робот Arduino, използващ безжичен модул HC12: Здравейте, добре дошли отново. В предишната си публикация обясних какво е H мостова верига, интегрална схема на драйвер на двигател L293D, интегрирана интегрална схема на драйвер на двигател L293D за управление на двигатели с висок ток и как можете да проектирате и направите своя собствена платка за двигател на двигател L293D
Малък часовник за лунен прилив: 5 стъпки (със снимки)
Tiny Moon Tide Clock: Това е проект, който се прави с Аляска SeaLife Center. Те се интересуваха от проект, свързан с морето, който би включил учениците им в електронно строителство и мониторинг на океанската среда. Дизайнът е сравнително евтин за изграждане
Проникнете безжичен звънец на вратата в безжичен алармен превключвател или превключвател за включване/изключване: 4 стъпки
Хакнете безжичен звънец на вратата в безжичен алармен превключвател или превключвател за включване/изключване: Наскоро изградих алармена система и я инсталирах в къщата си. Използвах магнитни превключватели на вратите и ги свързах по тавана. Прозорците бяха друга история и трудното окабеляване не беше опция. Имах нужда от безжично решение и това е