Un petit article sobre com fer un termòmetre tan simpàtic amb pantalla i indicació de color. El termòmetre funciona amb el Raspberry Pi Zero W.
Canvia automàticament la llista de ciutats i mostra la temperatura a la pantalla OLED i escala LED. També podeu seleccionar una ciutat per visualitzar-la manualment mitjançant els botons laterals. El termòmetre té una funció d’estalvi d’energia i apagarà els leds i els OLED si està inactiu durant diversos minuts i s’encendrà de nou si detecta un canvi important de llum (controlat per un fotorresistor).
Eines i materials:
-Raspberry Pi Zero;
Mòdul OLED de 1.1,5 polzades;
- Alimentació 5 V 2,4 A;
- LED banda WS2812B- 5 metres;
-Atxulladors;
- placa de circuit imprès;
-Accessoris de venda;
-Pistola de vidre;
- Cola de fusteria;
-Placat;
-Acryl;
Tall làser CNC;
Primer pas: Dades meteorològiques
L’assistent recopila de forma gratuïta les dades meteorològiques OpenWeatherMap.org. Aquest lloc proporciona dades meteorològiques de moltes grans ciutats de molts països del món.
Primer cal registrar-se a OpenWeatherMap.org.
A continuació, copieu la vostra clau d’API per a un ús posterior.
A continuació, descarregueu, descomprimiu i obriu el fitxer city.list.json.gz.
Seleccioneu les ciutats desitjades i copieu-ne els identificadors.
city.list.json.gz
Segon segon: configureu R Pi i codi
Primer, l'assistent va connectar la pantalla a Raspberry i va instal·lar les biblioteques necessàries per a OLED, tal i com descriu el fabricant aquí.
A continuació, heu d’assegurar-vos que el R Pi està connectat a Internet.
1. Habiliteu la funció I2C i SPI en raspi-config a la secció "Opcions d'interfície". Sortiu i torneu a carregar el programa.
2. Torna a executar per actualitzar:
Actualització sudo apt-get
3. Executeu les ordres següents per instal·lar les biblioteques necessàries:
sudo apt-get install python-dev
sudo apt-get install python-smbus
sudo apt-get install python-serial
sudo apt-get install python-imaging
4. Executeu la següent comanda per obrir el fitxer de configuració:
sudo nano / etc / modules
Assegureu-vos que les dues línies següents es troben al fitxer de configuració i, a continuació, sortiu i reinicieu:
i2c-bcm2708
i2c-dev
5 Execució:
clon de git https: / /github.com/Anders644PI/1.5inch-OLED-with-RPi .git
6. Vés a la nova carpeta i descomprimeix RPi_GPIO-0_6_5.zip:
descomprimiu RPi_GPIO-0_6_5.zip
Executeu per instal·lar les biblioteques:
instal·lació del cd RPi_GPIO-0_6_5 sudo python setup.py
7. Torneu a la carpeta principal:
cd /home/pi/1.5inch-OLED-with-RPi/
O
cd
spidev-3_2.zip.
8. A continuació, descomprimeix Pi.zip:
descomprimiu el cablejat
Executeu les ordres:
chmod 777 build ./ build
Comproveu la instal·lació:
gpio –v
9. Torna a la carpeta principal i descomprimeix bcm2835-1_45.zip
descomprimiu bcm2835-1_45.zip
cd bcm2835-1_45
10. Córrer:
./configurar
fer
sudo make check
sudo make install
11. Torneu a /home/pi/1.5inch-OLED-with-RPi/ de nou i executeu per comprovar la pantalla:
cd / Demo_Code / Python /
sudo python main.py
L'assistent a continuació instal·la les biblioteques per a la tira LED WS2812B, següent aquesta guia.
A continuació, cal escriure i descarregar el codi. El codi es pot descarregar aquí.
Tercer pas: Configura l’API meteorològica
1. Vés a LED_Thermometer_Code_and_OLED_driver:
cd LED_Thermometer_Code_and_OLED_driver
2. A continuació, obriu Official_Digital_LED_Thermometer_v1-0.py:
nano Official_Digital_LED_Thermometer_v1-0.py
A continuació, desplaceu-vos cap avall i canvieu la tecla d'api a l'api de openweathermap.org, tal com es mostra a la imatge de dalt. També canvieu els identificadors i els noms de la ciutat segons la ubicació desitjada.
Quatre pas: PCB
A continuació, el mestre va dissenyar i ordenar una placa de circuit imprès.
Cinquè pas: Tall làser + muntatge
A continuació, el mestre va dissenyar i retallar la caixa de xapes i el difusor fet d’acrílic.
Després d'això, s'ha instal·lat l'assistent electrònica i tira LED a la carcassa. Muntat el cas.
El botó va imprimir els botons en una impressora 3D.
Es poden trobar i descarregar tots els fitxers a Github.
Tot està a punt.