Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Raspbian OSDowiedz się, jak zrobiłem ten cyfrowy termometr LED, z Raspberry Pi Zero W, taśmą LED, wyświetlaczem OLED i niestandardową płytką drukowaną.
Automatycznie cyklicznie przemyśla listę miast i wyświetla temperaturę na wyświetlaczu OLED i diodach LED. Ale możesz również ręcznie wybrać miasto do wyświetlenia za pomocą przycisków z boku. Ponadto wyłączy diody LED i OLED, jeśli były nieaktywne przez kilka minut, i włączy się ponownie, jeśli wykryje znaczną zmianę światła (sterowane przez LDR).
Kieszonkowe dzieci
- Raspberry Pi Zero W i karta SD z systemem Raspbian OS
- 1,5-calowy moduł OLED firmy Waveshare
- Zasilacz 5V 2.4A dla Raspberry Pi
- Taśma LED WS2812B 5m, 30 diod/m
- Śruby, podkładki, śruby i elementy dystansowe.
- Niestandardowa płytka drukowana z przyciskami, przełącznikiem, ldr, pin-headerami i nie tylko
- Lutownica i lutownica
- Gorący klej
- Klej do drewna
- Sklejka 4mm i 6mm
- biały akryl 3mm
Krok 1: Dane pogodowe
Podziękowania dla StuffWithKirby za jego kod dotyczący odczytywania danych pogodowych JSON w Pythonie.
Zbieram dane pogodowe za darmo z OpenWeatherMap.org, gdzie dostarczają dane pogodowe z wielu większych miast w wielu krajach.
1. Zacznij od założenia DARMOWEGO konta na OpenWeatherMap.org.
2. Następnie skopiuj klucz api, aby użyć go później.
3. Teraz pobierz, rozpakuj i otwórz plik city.list.json.gz, wyszukaj miasta, które chcesz wyświetlić, i skopiuj identyfikator miasta na później.
Krok 2: Konfiguracja RPi i pisanie kodu
Najpierw podłączyłem OLED do Pi i zainstalowałem niezbędne biblioteki dla OLED, zgodnie z opisem producenta tutaj.
Upewnij się, że RPi jest podłączony do Internetu
1. Włącz funkcję I2C i SPI w raspi-config w Opcjach interfejsu. Wyjdź i uruchom ponownie.
2. Uruchom to, aby zaktualizować:
aktualizacja sudo apt-get
3. Uruchom następujące polecenia, aby zainstalować niezbędne biblioteki:
sudo apt-get zainstaluj python-dev
sudo apt-get zainstaluj python-smbus sudo apt-get zainstaluj python-serial sudo apt-get zainstaluj python-imaging
4. Uruchom następujące polecenie, aby otworzyć plik konfiguracyjny:
sudo nano /etc/moduły
Upewnij się, że następujące dwa wiersze znajdują się w pliku konfiguracyjnym, a następnie wyjdź i uruchom ponownie:
i2c-bcm2708
i2c-dev
5. Teraz uruchom to, aby sklonować moje repozytorium GitHub:
klon git https:// /github.com/Anders644PI/1.5inch-OLED-with-RPi.git
6. Przejdź do nowego folderu i rozpakuj RPi_GPIO-0_6_5.zip:
rozpakuj RPi_GPIO-0_6_5.zip
Uruchom to, aby zainstalować bibliotekę:
cd RPi_GPIO-0_6_5
sudo python setup.py zainstalować
7. Wróć do głównego folderu, wpisując, wpisując:
cd /home/pi/1,5 cala-OLED-z-RPi/
Lub
Płyta CD..
Następnie zrób trochę spidev-3_2.zip.
8. Następnie rozpakuj okablowaniePi.zip:
rozpakuj okablowaniePi
okablowanie cdPi
I uruchom te polecenia:
kompilacja chmod 777
./budować
Sprawdź instalację za pomocą:
gpio-v
9. Wróć do głównego folderu i rozpakuj bcm2835-1_45.zip
rozpakuj bcm2835-1_45.zip
cd bcm2835-1_45
10. Następnie uruchom to, aby zainstalować bibliotekę:
./konfiguruj
make sudo make check sudo make install
11. Ponownie wróć do /home/pi/1.5inch-OLED-with-RPi/ i uruchom to, aby przetestować OLED:
cd /Kod_demo/Python/
sudo python main.py
Następnie musiałem również zainstalować biblioteki dla taśmy LED WS2812B, postępując zgodnie z tym przewodnikiem.
Potem wystarczyło napisać kod, co zajęło kilka miesięcy od początku do końca, pracując nad nim z przerwami. Mój kod można znaleźć na moim GitHub tutaj.
Krok 3: Konfiguracja interfejsu API pogody
1. CD do LED_Thermometer_Code_and_OLED_driver:
cd LED_Kod_Termometru_i_Sterownik_OLED
2. Następnie otwórz Official_Digital_LED_Thermometer_v1-0.py:
nano Official_Digital_LED_Termometr_v1-0.py
A następnie przewiń w dół i edytuj klucz api, do swojego klucza api, z openweathermap.org, jak pokazano na powyższym obrazku. Zmień także identyfikatory miasta i nazwy miast na żądane lokalizacje.
Krok 4: Niestandardowa płytka drukowana
II nagroda w konkursie Raspberry Pi 2020