Un pequeño artículo sobre cómo hacer un termómetro tan lindo con una pantalla e indicación de color. El termómetro funciona con Raspberry Pi Zero W.
Cambia automáticamente la lista de ciudades y muestra la temperatura en la pantalla OLED y la escala LED. También puede seleccionar una ciudad para mostrarla manualmente con los botones laterales. El termómetro tiene una función de ahorro de energía y apagará los LED y OLED si está inactivo durante varios minutos, y se encenderá nuevamente si detecta un cambio significativo en la luz (controlado por un fotorresistor).
Herramientas y materiales:
-Raspberry Pi Zero;
Módulo OLED de -1.5 pulgadas;
- Fuente de alimentación 5 V 2.4 A;
- Tira de LED WS2812B- 5 metros;
-Sujetadores;
- placa de circuito impreso;
-Accesorios para soldar;
-Pistola de pegamento;
- Cola de carpintero;
Madera contrachapada;
-Acrilo;
Corte por láser CNC;
Paso uno: datos meteorológicos
El asistente recopila datos meteorológicos de forma gratuita con OpenWeatherMap.org. Este sitio proporciona datos meteorológicos de muchas ciudades grandes en muchos países del mundo.
Primero debe registrarse en OpenWeatherMap.org.
Luego copie su clave API para su uso posterior.
A continuación, descargue, descomprima y abra el archivo city.list.json.gz.
Seleccione las ciudades deseadas y copie sus identificadores.
city.list.json.gz
Paso dos: configurar R Pi y código
Primero, el asistente conectó la pantalla a Raspberry e instaló las bibliotecas necesarias para OLED, según lo descrito por el fabricante aqui.
A continuación, debe asegurarse de que el R Pi esté conectado a Internet.
1. Habilite la función I2C y SPI en raspi-config en la sección "Opciones de interfaz". Salga y vuelva a cargar el programa.
2. Ejecute nuevamente para actualizar:
sudo apt-get update3. Ejecute los siguientes comandos para instalar las bibliotecas necesarias:
sudo apt-get install python-dev
sudo apt-get install python-smbus
sudo apt-get install python-serial
sudo apt-get install python-imaging4. Ejecute el siguiente comando para abrir el archivo de configuración:
sudo nano / etc / modulesAsegúrese de que las siguientes dos líneas estén en el archivo de configuración, luego salga y reinicie:
i2c-bcm2708
i2c-dev5 Ejecutar:
git clone https: / /github.com/Anders644PI/1.5inch-OLED-with-RPi .git6. Vaya a la nueva carpeta y descomprima RPi_GPIO-0_6_5.zip:
descomprimir RPi_GPIO-0_6_5.zipEjecute para instalar las bibliotecas:
cd RPi_GPIO-0_6_5 sudo python setup.py install7. Regrese a la carpeta principal:
cd /home/pi/1.5inch-OLED-with-RPi/
O
cd
spidev-3_2.zip.8. Luego descomprima Pi.zip:
descomprimir cableadoPi cableado de cdPiEjecute los comandos:
chmod 777 build ./buildComprobar instalación:
gpio –v9. Regrese a la carpeta principal y descomprima bcm2835-1_45.zip
descomprimir bcm2835-1_45.zip
cd bcm2835-1_4510. Ejecutar:
./configure
hacer
sudo hacer cheque
sudo make install11. Regrese a /home/pi/1.5inch-OLED-with-RPi/ nuevamente y corra para verificar la pantalla:
cd / Demo_Code / Python /
sudo python main.pyLuego, el asistente instala las bibliotecas para la tira de LED WS2812B, siguiendo esta guia.
A continuación, debe escribir y descargar el código. El código puede ser descargado aqui.
Paso tres: configurar la API del tiempo
1. Vaya a LED_Thermometer_Code_and_OLED_driver:
cd LED_Thermometer_Code_and_OLED_driver2. Luego abra Official_Digital_LED_Thermometer_v1-0.py:
nano Official_Digital_LED_Thermometer_v1-0.pyY luego desplácese hacia abajo y cambie la clave de la API a su API desde openweathermap.org, como se muestra en la imagen de arriba. Cambie también los identificadores y nombres de ciudades según la ubicación deseada.
Paso cuatro: PCB
Luego, el maestro diseñó y ordenó una placa de circuito impreso.
Paso cinco: corte por láser + ensamblaje
Luego, el maestro diseñó y cortó la caja de madera contrachapada y el difusor de acrílico.
Después de eso, el asistente instaló electrónica y tira de LED en la carcasa. Montado el caso.
El maestro imprimió los botones en una impresora 3D.
Todos los archivos se pueden encontrar y descargar en Github.
Todo esta listo.

















