Taula de continguts:

Rellotge meteorològic del baròmetre Raspberry Pi: 9 passos (amb imatges)
Rellotge meteorològic del baròmetre Raspberry Pi: 9 passos (amb imatges)

Vídeo: Rellotge meteorològic del baròmetre Raspberry Pi: 9 passos (amb imatges)

Vídeo: Rellotge meteorològic del baròmetre Raspberry Pi: 9 passos (amb imatges)
Vídeo: 50 Путеводитель в Буэнос-Айресе Путеводитель 2024, De novembre
Anonim
Rellotge meteorològic del baròmetre Raspberry Pi
Rellotge meteorològic del baròmetre Raspberry Pi

En aquest instructiu us mostraré com construir un rellotge bàsic de termòmetre / baròmetre amb un Raspberry Pi 2 amb un sensor BMP180 I2C que es mostra en una pantalla I2C de 7 dígits Adafruit de 4 dígits. El Pi també utilitza un mòdul de rellotge I2C DS3231 en temps real per mantenir el temps quan es reinicia el Pi.

El rellotge passa per 4 etapes durant 5 segons cadascuna. Primer mostra la temperatura en centígrads, després en Fahrenheit, després la pressió baromètrica en kPa * (camina aquest nombre cap a l’esquerra a causa d’un nombre limitat de dígits) i, finalment, mostra una tendència de canvi de pressió baromètrica d’ara a la mitjana de la hora anterior.

El que fa que aquest rellotge sigui diferent és que utilitza una base de dades MySQL al Pi per registrar dades del BMP180 cada minut. Com que la pressió baromètrica actual no és tan valuosa com el seu moviment cap amunt o cap avall durant un període de temps determinat, utilitza aquesta base de dades per calcular una mitjana d’un lapse d’hores entre fa 2 hores i 1 hora i la compara amb la pressió actual. Un augment significatiu de la pressió baromètrica sol indicar una millora de les condicions meteorològiques i una gran caiguda podria advertir d’una tempesta imminent.

El rellotge està allotjat en una carcassa ABS impresa en 3D amb el BMP180 en una tapa ventilada a la part posterior del rellotge per evitar que la calor generada pel Pi afecti les lectures de temperatura. Proporcionaré l’esquema Autodesk 123D Design si voleu imprimir-ne el vostre.

El rellotge s’alimenta amb una berruga de paret USB estàndard i atrau al voltant de 450 mA en total.

No entraré en massa detalls sobre la configuració bàsica del Pi i de l’I2C, ja que s’ha tractat en molts altres instructius als quals proporcionaré enllaços.

Pas 1: prepareu el Pi

Prepareu el Pi
Prepareu el Pi

Configureu el vostre Raspberry Pi: detalls a Raspberrypi.org

  1. Baixeu-vos i instal·leu la vostra distribució Linux seleccionada en una targeta SD: he utilitzat Raspbian
  2. Connecteu el pi i arrenceu-lo
  3. Vaig utilitzar un adaptador micro WiFi per connectar el pi al meu enrutador, ja que la carcassa del rellotge enfosqueix el port Ethernet.
  4. He utilitzat el mode sense cap on es connecta al pi mitjançant SSH, de manera que tot el que necessita connectat és la potència.
  5. Configureu I2C al Pi: he seguit aquestes instruccions al lloc d'Adafruit.

Pas 2: connecteu-ho tot

Cablegeu-ho tot
Cablegeu-ho tot

Tots els mòduls que faig servir en aquest projecte són tolerants a 5 V i utilitzen I2C, que és un protocol de 2 fils que s’utilitza per comunicar-se entre ells els IC, de manera que el cablejat és bastant senzill. Connecteu tots els VCC a 5V, tots els terrenys junts i totes les línies SCA i SCL juntes segons l’esquema. Feina feta.

Pas 3: proveu el vostre I2C

Proveu el vostre I2C
Proveu el vostre I2C

Part de la instal·lació d’I2C és executar i2cdetect, que hauria de semblar a la imatge adjunta si tot està connectat correctament.

A continuació es mostren les adreces coincidents

  1. 0x70 = 7 segments de visualització
  2. 0x77 = Termòmetre / sensor de baròmetre BMP180
  3. 0x68 = DS3231 Mòdul de rellotge en temps real
  4. 0x57 = DS3231 a bord de l'EEPROM per emmagatzemar dades d'alarma.

Pas 4: Instal·leu MySQL i PhpMyAdmin

Instal·leu MySQL i PhpMyAdmin
Instal·leu MySQL i PhpMyAdmin

Instal·lar mySQL és bastant senzill si seguiu el tutorial aquí

sudo apt-get install mysql-server

També he instal·lat phpMyAdmin, que és un lloc web que funciona amb Apache que podeu utilitzar per crear i gestionar bases de dades mySQL. Tutorial aquí

sudo apt-get install phpmyadmin

Un cop instal·lada, he configurat una base de dades anomenada BP180 mitjançant phpMyAdmin amb l'estructura segons la imatge.

També faig servir un mòdul python anomenat mysqlDB que podeu instal·lar mitjançant

sudo apt-get install python-mysqldb

Pas 5: instal·leu els mòduls Python

Descarregueu i instal·leu els mòduls python següents que utilitzarà per connectar-vos als sensors.

  1. Mòdul Adafruit_BMP085
  2. Mòdul SDL_DS3231
  3. Mòdul de segment Adafruit 7

Pas 6: Codi per iniciar sessió a la base de dades

El fragment de codi següent s’utilitza per registrar la temperatura i la pressió baromètrica i es crida des d’un script cron (tasques programades de Linux) que s’executa cada 5 minuts. Per obtenir informació sobre com utilitzar el crond, consulteu aquest tutorial.

NB! No us molesteu a eliminar les meves habilitats de codificació, no sóc desenvolupador, així que sí, probablement hi ha un milió de maneres millors, ràpides, fluides i més netes de fer-ho

Notareu al codi que la temperatura disminueix 7 graus, la qual cosa equival a la calor generada pel Raspberry Pi fins i tot amb el BMP180 muntat a la part exterior de la carcassa. Quan originalment el tenia dins de la carcassa feia uns 15 graus més calents que l’ambient. Sembla ser bastant lineal, però no he tingut l'oportunitat de provar cap extrem. S’agrairia la retroalimentació de les vostres experiències.

Pas 7: Codi per mostrar la temperatura

Codi per mostrar la temp
Codi per mostrar la temp
Codi per mostrar la temperatura
Codi per mostrar la temperatura
Codi per mostrar la temp
Codi per mostrar la temp
Codi per mostrar la temp
Codi per mostrar la temp

Aquest codi es diu per circular per la pantalla segons la introducció.

Una vegada més, no sóc desenvolupador, de manera que el codi és realment aproximat, però funciona

Pas 8: recinte imprès en 3D

Recinte imprès en 3D
Recinte imprès en 3D
Recinte imprès en 3D
Recinte imprès en 3D
Recinte imprès en 3D
Recinte imprès en 3D
Recinte imprès en 3D
Recinte imprès en 3D

El següent és el disseny del recinte. Això era bastant difícil, ja que la forma és propensa a deformar-se perquè algunes parts de la carcassa exterior només tenen un gruix de 2 mm. Primer vaig dibuixar maquetes del Pi i de totes les parts i després vaig dissenyar el recinte al seu voltant. La impressió va trigar unes 7 hores al meu RapMan 3.2 (que és una impressora bastant lenta) a una profunditat de capa de 0,25.

L’esquema adjunt es realitza a Autodesk 123D Design, que crec que és una fantàstica peça de programari lliure.

Tingueu en compte que alguns dels forats com els necessaris per muntar el Pi no apareixen al disseny, ja que és millor perforar-los després en cas que la vostra impressió es deformi una mica. Amb una mà ferma, una broca de 3 mm és tot el que necessiteu. Marqueu la profunditat de la broca amb una mica de cinta adhesiva perquè no passeu accidentalment directament per la vostra impressió de 7 hores com jo.

Pas 9: coses a fer

Coses a fer
Coses a fer
  1. El rellotge en temps real va ser un afegit després d'imprimir el recinte per cinquena vegada, de manera que actualment està enganxat en calent al lateral del recinte, cosa que no sembla bo, així que m'agradaria tornar a fer el disseny i afegir-hi un lloc.
  2. Actualment, la brillantor de la pantalla de 7 segments es defineix com a la més lleugera, cosa que no és òptima per a condicions de llum intensa. M'agradaria afegir una resistència fotogràfica a la part superior del recinte i ajustar la brillantor de 7 segments en funció de les condicions de llum ambiental.
  3. Hi ha alguns problemes de disseny menors amb el cracking de la base que també es solucionaran.
  4. Qualsevol idea és benvinguda.

Espero que us hagi agradat aquest instructiu i l’hagueu inspirat prou per posar-vos en marxa. La idea és proporcionar una plataforma que pugueu utilitzar per afegir les vostres pròpies idees. Diverteix-te!

Recomanat: