Съдържание:

Метеорологичен часовник с барометър Raspberry Pi: 9 стъпки (със снимки)
Метеорологичен часовник с барометър Raspberry Pi: 9 стъпки (със снимки)

Видео: Метеорологичен часовник с барометър Raspberry Pi: 9 стъпки (със снимки)

Видео: Метеорологичен часовник с барометър Raspberry Pi: 9 стъпки (със снимки)
Видео: How to use MPU-9250 Gyroscope, Accelerometer, Magnetometer for Arduino 2024, Ноември
Anonim
Метеорологичен часовник с барометър Raspberry Pi
Метеорологичен часовник с барометър Raspberry Pi

В тази инструкция ще ви покажа как да изградите основен термометър / часовник с барометър, използвайки 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

Подгответе Pi
Подгответе Pi

Настройте своя Raspberry Pi - Подробности на Raspberrypi.org

  1. Изтеглете и инсталирайте избраната от вас дистрибуция на Linux на SD карта - използвах Raspbian
  2. Включете pi и го стартирайте
  3. Използвах микро WiFi адаптер, за да свържа pi към моя рутер, тъй като корпусът на часовника затъмнява Ethernet порта.
  4. Използвах режим без глава, когато се свързвате с pi чрез SSH, така че всичко, от което се нуждаете, е захранването.
  5. Конфигурирайте I2C на Pi - Следвах тези инструкции на сайта Adafruit.

Стъпка 2: Свържете всичко

Свържете всичко
Свържете всичко

Всички модули, които използвам в този проект, са 5V толерантни и използват I2C, който е 2 -жичен протокол, използван за интегрални схеми за комуникация помежду си, така че окабеляването е доста просто. Свържете всички VCC към 5V, всички основи заедно и всички SCA и SCL линии заедно съгласно схемата. Работата свършена.

Стъпка 3: Тествайте вашия I2C

Тествайте вашия I2C
Тествайте вашия I2C

Част от инсталацията на I2C е да стартира i2cdetect, който трябва да изглежда като приложеното изображение, ако всичко е свързано правилно.

По -долу са съответстващите адреси

  1. 0x70 = 7 сегментен дисплей
  2. 0x77 = BMP180 Термометър / сензор за барометър
  3. 0x68 = DS3231 Часовник в реално време
  4. 0x57 = DS3231 на борда на EEPROM за съхраняване на алармени данни.

Стъпка 4: Инсталирайте MySQL и PhpMyAdmin

Инсталирайте MySQL и PhpMyAdmin
Инсталирайте 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, които ще използвате за свързване към сензорите.

  1. Модул Adafruit_BMP085
  2. SDL_DS3231 модул
  3. Модул на 7 сегмента Adafruit

Стъпка 6: Код за влизане в базата данни

Кодът по -долу се използва за регистриране на температурата и барометричното налягане и се извиква от cron скрипт (планирани задачи на Linux), който се изпълнява на всеки 5 минути. За да научите как да използвате crond, разгледайте този урок.

NB! Не се притеснявайте да прехвърляте кодиращите ми умения, аз не съм разработчик, така че да, вероятно има милион по -добри, по -бързи, по -гладки и по -чисти начини да направите това

Ще забележите в кода, че температурата е намалена със 7 градуса, което е еквивалентно на топлината, генерирана от Raspberry Pi дори с BMP180, монтиран от външната страна на корпуса. Когато първоначално го имах в корпуса, беше около 15 градуса по -горещо от околното. Изглежда доста линейно, но не съм имал възможност да тествам никакви крайности. Обратната връзка от вашия опит ще бъде оценена.

Стъпка 7: Код за показване на темп

Код за показване на темп
Код за показване на темп
Код за показване на темп
Код за показване на темп
Код за показване на темп
Код за показване на темп
Код за показване на темп
Код за показване на темп

Този код е извикан да циклира през дисплея според въведението.

Отново не съм разработчик, така че кодът е наистина груб, но работи

Стъпка 8: 3D принтиран корпус

3D принтиран корпус
3D принтиран корпус
3D принтиран корпус
3D принтиран корпус
3D принтиран корпус
3D принтиран корпус
3D принтиран корпус
3D принтиран корпус

Следва дизайнът на заграждението. Това беше доста предизвикателно, тъй като формата е склонна към изкривяване, тъй като части от външната обвивка са с дебелина само 2 мм. Първо нарисувах макети на Pi и всички части и след това проектирах заграждението около него. Отпечатването отне около 7 часа на моя RapMan 3.2 (който е доста бавен принтер) на дълбочина 0,25 слоя.

Приложената схема е направена в Autodesk 123D Design, което според мен е фантастично парче безплатен софтуер.

Обърнете внимание, че някои от дупките, като тези, необходими за монтиране на Pi, не са в дизайна, тъй като е по -добре да ги пробиете след това, в случай че печатът ви се изкриви малко. Спокойна ръка 3 мм свредло е всичко, от което се нуждаете. Маркирайте дълбочината на бита с някаква маскираща лента, така че случайно да не преминете направо през своя 7 -часов печат, както направих аз.

Стъпка 9: Неща за правене

Неща за правене
Неща за правене
  1. Часовникът в реално време беше допълнение, след като корпусът беше отпечатан за пети път, така че в момента е горещо залепен отстрани на корпуса, който не изглежда добре, така че бих искал да направя отново дизайна и да добавя място за него.
  2. В момента яркостта на 7 -сегментния дисплей е настроена на най -ниската, което не е оптимално за условия на силна светлина. Бих искал да добавя фоторезистор в горната част на корпуса и да коригирам яркостта на 7 сегмента в зависимост от условията на околната светлина.
  3. Има някои малки дизайнерски проблеми с напукването на основата, които също ще бъдат отстранени.
  4. Всякакви идеи са добре дошли.

Надявам се, че тази инструкция ви е харесала и сте я намерили достатъчно вдъхновяваща, за да продължите. Идеята е да осигурите платформа, която можете да използвате, за да добавите свои собствени идеи. Забавлявай се!

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