Съдържание:
- Стъпка 1: Подгответе Pi
- Стъпка 2: Свържете всичко
- Стъпка 3: Тествайте вашия I2C
- Стъпка 4: Инсталирайте MySQL и PhpMyAdmin
- Стъпка 5: Инсталирайте Python модули
- Стъпка 6: Код за влизане в базата данни
- Стъпка 7: Код за показване на темп
- Стъпка 8: 3D принтиран корпус
- Стъпка 9: Неща за правене
Видео: Метеорологичен часовник с барометър Raspberry Pi: 9 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:51
В тази инструкция ще ви покажа как да изградите основен термометър / часовник с барометър, използвайки Raspberry Pi 2 с BMP180 I2C сензор, показващ се на 4 -цифрен 7 -сегментен I2C дисплей на Adafruit. Pi също използва DS231 часовник I2C часовник в реално време, за да следи времето, когато Pi се рестартира.
Часовникът преминава през 4 етапа за по 5 секунди всеки. Първо показва температурата в Целзий, след това във Фаренхайт, след това барометричното налягане в kPa *(то върви това число наляво поради ограничен брой цифри) и накрая показва тенденция на промяна на барометричното налягане между сега и средната стойност на предишен час.
Това, което прави този часовник различен от повечето, е, че той използва база данни MySQL на Pi, за да регистрира данни от BMP180 всяка минута. Тъй като текущото барометрично налягане не е толкова ценно, колкото движението му нагоре или надолу за определен период от време, то използва тази база данни, за да изчисли средно за часовия интервал между 2 часа и 1 час преди и го сравнява с текущото налягане. Значително повишаване на барометричното налягане обикновено показва подобрение на метеорологичните условия в сравнение с големия спад може да предупреди за предстояща буря.
Часовникът се помещава в 3D отпечатан корпус от ABS с BMP180 във вентилирана капачка на гърба на часовника, за да се предотврати въздействието на топлината, генерирана от Pi, върху температурните показания. Ще ви представя схемата на Autodesk 123D Design, ако искате да отпечатате своя собствена.
Часовникът се захранва със стандартна USB брадавица за стена и извлича общо около 450 mA.
Няма да навлизам в твърде много подробности относно основната настройка на Pi и I2C, тъй като това беше обхванато в много други инструкции, към които ще предоставя връзки.
Стъпка 1: Подгответе Pi
Настройте своя Raspberry Pi - Подробности на Raspberrypi.org
- Изтеглете и инсталирайте избраната от вас дистрибуция на Linux на SD карта - използвах Raspbian
- Включете pi и го стартирайте
- Използвах микро WiFi адаптер, за да свържа pi към моя рутер, тъй като корпусът на часовника затъмнява Ethernet порта.
- Използвах режим без глава, когато се свързвате с pi чрез SSH, така че всичко, от което се нуждаете, е захранването.
- Конфигурирайте I2C на Pi - Следвах тези инструкции на сайта Adafruit.
Стъпка 2: Свържете всичко
Всички модули, които използвам в този проект, са 5V толерантни и използват I2C, който е 2 -жичен протокол, използван за интегрални схеми за комуникация помежду си, така че окабеляването е доста просто. Свържете всички VCC към 5V, всички основи заедно и всички SCA и SCL линии заедно съгласно схемата. Работата свършена.
Стъпка 3: Тествайте вашия I2C
Част от инсталацията на I2C е да стартира i2cdetect, който трябва да изглежда като приложеното изображение, ако всичко е свързано правилно.
По -долу са съответстващите адреси
- 0x70 = 7 сегментен дисплей
- 0x77 = BMP180 Термометър / сензор за барометър
- 0x68 = DS3231 Часовник в реално време
- 0x57 = DS3231 на борда на EEPROM за съхраняване на алармени данни.
Стъпка 4: Инсталирайте MySQL и PhpMyAdmin
Инсталирането на mySQL е доста лесно, ако следвате урока тук
sudo apt-get install mysql-server
Също така инсталирах phpMyAdmin, който е уеб сайт, работещ на Apache, който можете да използвате за създаване и управление на MySQL бази данни. Урок тук
sudo apt-get install phpmyadmin
След като инсталирам, създадох база данни, наречена BP180, използвайки phpMyAdmin със структурата според изображението.
Използвам и модул на python, наречен mysqlDB, който можете да инсталирате с помощта
sudo apt-get install python-mysqldb
Стъпка 5: Инсталирайте Python модули
Изтеглете и инсталирайте следните модули на python, които ще използвате за свързване към сензорите.
- Модул Adafruit_BMP085
- SDL_DS3231 модул
- Модул на 7 сегмента Adafruit
Стъпка 6: Код за влизане в базата данни
Кодът по -долу се използва за регистриране на температурата и барометричното налягане и се извиква от cron скрипт (планирани задачи на Linux), който се изпълнява на всеки 5 минути. За да научите как да използвате crond, разгледайте този урок.
NB! Не се притеснявайте да прехвърляте кодиращите ми умения, аз не съм разработчик, така че да, вероятно има милион по -добри, по -бързи, по -гладки и по -чисти начини да направите това
Ще забележите в кода, че температурата е намалена със 7 градуса, което е еквивалентно на топлината, генерирана от Raspberry Pi дори с BMP180, монтиран от външната страна на корпуса. Когато първоначално го имах в корпуса, беше около 15 градуса по -горещо от околното. Изглежда доста линейно, но не съм имал възможност да тествам никакви крайности. Обратната връзка от вашия опит ще бъде оценена.
Стъпка 7: Код за показване на темп
Този код е извикан да циклира през дисплея според въведението.
Отново не съм разработчик, така че кодът е наистина груб, но работи
Стъпка 8: 3D принтиран корпус
Следва дизайнът на заграждението. Това беше доста предизвикателно, тъй като формата е склонна към изкривяване, тъй като части от външната обвивка са с дебелина само 2 мм. Първо нарисувах макети на Pi и всички части и след това проектирах заграждението около него. Отпечатването отне около 7 часа на моя RapMan 3.2 (който е доста бавен принтер) на дълбочина 0,25 слоя.
Приложената схема е направена в Autodesk 123D Design, което според мен е фантастично парче безплатен софтуер.
Обърнете внимание, че някои от дупките, като тези, необходими за монтиране на Pi, не са в дизайна, тъй като е по -добре да ги пробиете след това, в случай че печатът ви се изкриви малко. Спокойна ръка 3 мм свредло е всичко, от което се нуждаете. Маркирайте дълбочината на бита с някаква маскираща лента, така че случайно да не преминете направо през своя 7 -часов печат, както направих аз.
Стъпка 9: Неща за правене
- Часовникът в реално време беше допълнение, след като корпусът беше отпечатан за пети път, така че в момента е горещо залепен отстрани на корпуса, който не изглежда добре, така че бих искал да направя отново дизайна и да добавя място за него.
- В момента яркостта на 7 -сегментния дисплей е настроена на най -ниската, което не е оптимално за условия на силна светлина. Бих искал да добавя фоторезистор в горната част на корпуса и да коригирам яркостта на 7 сегмента в зависимост от условията на околната светлина.
- Има някои малки дизайнерски проблеми с напукването на основата, които също ще бъдат отстранени.
- Всякакви идеи са добре дошли.
Надявам се, че тази инструкция ви е харесала и сте я намерили достатъчно вдъхновяваща, за да продължите. Идеята е да осигурите платформа, която можете да използвате, за да добавите свои собствени идеи. Забавлявай се!
Препоръчано:
IoT барометър: 5 стъпки (със снимки)
IoT барометър: Измерете и регистрирайте температура и атмосферно налягане с този IoT барометър. Искам да представя IoT барометър. Той позволява измерване и съхраняване на данни за температурата и налягането в платформата IoT на Adafruit. Публикувал съм подобен проект, който
ESP8266 Мрежов часовник без RTC - Nodemcu NTP Часовник Няма RTC - ИНТЕРНЕТЕН ЧАСОВНИК ПРОЕКТ: 4 стъпки
ESP8266 Мрежов часовник без RTC | Nodemcu NTP Часовник Няма RTC | ИНТЕРНЕТЕН ЧАСОВНИК ПРОЕКТ: В проекта ще се прави часовник проект без RTC, ще отнеме време от интернет с помощта на wifi и ще го покаже на дисплея st7735
Метеорологичен часовник Raspi-Nextion: 7 стъпки
Метеорологичен часовник Raspi-Nextion: Виждайки толкова много различни часовници, изградени с arduino и малинов Pi, ме вдъхнови. И аз исках да направя такъв. Започнах с използването на arduino mega с ESP8266, но открих, че 8266 wifi има твърде много хълцане. Реших да използвам резервен Pi, който имах (Raspb
Метеорологичен часовник: 11 стъпки (със снимки)
Метеорологичен часовник: Актуализация с електрическа схема и схема на фриттинг Направих две предпоставки: Това е първият ми инструктаж Аз съм невеж италианец, който не е учил английски в училище и затова помолих за помощ на: https: //translate.google.itStart с благодарност
Барометър за настроение на часовника Nixie: 7 стъпки (със снимки)
Барометър за настроение Nixie Clock: Необелязана жертва на Progress е анероидният домашен барометър. Тези дни може би все още ще можете да намерите примери в домовете на хора над деветдесет, но милиони други са на бунището или в ebay. Истината е, че барометърът от старата школа не ми помогна