Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-13 06:58
Raspbian OS Aflați cum am realizat acest termometru digital LED, cu un Raspberry Pi Zero W, bandă LED, un afișaj OLED și un PCB personalizat.
Ciclează automat o listă de orașe și afișează temperatura pe afișajul OLED și LED-urile. Dar puteți selecta și manual un oraș pentru afișare, cu butoanele din lateral. În plus, va opri LED-urile și OLED-ul, dacă a fost inactiv de câteva minute și se va aprinde din nou, dacă detectează o schimbare semnificativă a luminii (controlată de un LDR).
Provizii
- Un Raspberry Pi Zero W și card SD cu Raspbian OS
- Un modul OLED de 1,5 inci de la Waveshare
- O sursă de alimentare de 5V 2.4A pentru Raspberry Pi
- O bandă LED de 5 m WS2812B, 30 de LED-uri / m
- Șuruburi, șaibe, șuruburi și separatoare.
- Un PCB personalizat, cu butoane, un comutator, un ldr, pin-headers și multe altele
- Fier de lipit și lipit
- Lipici fierbinte
- Lipici de lemn
- placaj de 4mm și 6mm
- acrilic alb de 3 mm
Pasul 1: Date meteo
Merită StuffWithKirby pentru codul său de citire a datelor meteo JSON în python.
Colectez datele despre vreme gratuit de la OpenWeatherMap.org, unde furnizează date despre vreme din multe orașe mai mari, din multe țări.
1. Începeți prin a vă crea un cont GRATUIT pe OpenWeatherMap.org.
2. Apoi copiați api-cheia pentru a o utiliza mai târziu.
3. Acum descărcați, dezarhivați și deschideți fișierul city.list.json.gz și căutați orașele pe care doriți să le afișați și copiați identitatea orașului pentru mai târziu.
Pasul 2: Configurarea RPi și scrierea codului
Mai întâi am conectat OLED la Pi și am instalat aici bibliotecile necesare pentru OLED, așa cum este descris de producător.
Asigurați-vă că RPi este conectat la internet
1. Activați funcția I2C și SPI în raspi-config sub Opțiuni de interfață. Ieșiți și reporniți.
2. Rulați acest lucru pentru a actualiza:
sudo apt-get update
3. Rulați următoarele comenzi pentru a instala bibliotecile necesare:
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. Rulați următoarea comandă pentru a deschide fișierul de configurare:
sudo nano / etc / modules
Asigurați-vă că următoarele două linii sunt în fișierul de configurare, apoi ieșiți și reporniți:
i2c-bcm2708
i2c-dev
5. Acum rulați acest lucru pentru a clona repo GitHub:
git clone https: / /github.com/Anders644PI/1.5inch-OLED-with-RPi.git
6. Accesați noul folder și dezarhivați RPi_GPIO-0_6_5.zip:
dezarhivați RPi_GPIO-0_6_5.zip
Rulați acest lucru pentru a instala biblioteca:
cd RPi_GPIO-0_6_5
sudo python setup.py instalare
7. Reveniți la folderul principal, tastând tastând:
cd /home/pi/1.5inch-OLED-with-RPi/
Sau
cd..
Apoi faceți unele cu spidev-3_2.zip.
8. Apoi dezarhivați wiringPi.zip:
dezarhivați cablajul Pi
cablare cdPi
Și rulați aceste comenzi:
chmod 777 build
./construi
Verificați instalarea cu:
gpio –v
9. Reveniți la folderul principal și dezarhivați bcm2835-1_45.zip
dezarhivați bcm2835-1_45.zip
cd bcm2835-1_45
10. Apoi rulați acest lucru, pentru a instala biblioteca:
./configure
make sudo make check sudo make install
11. Reveniți din nou la /home/pi/1.5inch-OLED-with-RPi/ și rulați acest lucru, pentru a testa OLED:
cd / Demo_Code / Python /
sudo python main.py
Apoi a trebuit să instalez și bibliotecile pentru banda LED WS2812B, urmând acest ghid.
După aceea, a fost doar o chestiune de scriere a codului, care a durat aproximativ câteva luni de la început până la sfârșit, lucrând la el și la oprit. Codul meu poate fi găsit pe GitHub aici.
Pasul 3: Configurarea API-ului Weather
1. Cd în LED_Thermometer_Code_and_OLED_driver:
cd LED_Termometer_Code_and_OLED_driver
2. Apoi deschideți Official_Digital_LED_Thermometer_v1-0.py:
nano Official_Digital_LED_Thermometer_v1-0.py
Și apoi derulați în jos și editați cheia api, la cheia dvs. api, din openweathermap.org, așa cum se arată în imaginea de mai sus. De asemenea, schimbați numele de oraș și numele orașelor, în locațiile dorite.
Pasul 4: PCB personalizat
Premiul II la Concursul Raspberry Pi 2020