Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
Raspbian OS Zjistěte, jak jsem vytvořil tento digitální LED teploměr s Raspberry Pi Zero W, LED páskem, OLED displejem a vlastní deskou plošných spojů.
Automaticky cykluje podle seznamu měst a zobrazuje teplotu na OLED displeji a LED diodách. Můžete však také ručně vybrat město, které chcete zobrazit, pomocí tlačítek na boku. Kromě toho vypne LED a OLED, pokud je několik minut neaktivní, a znovu se zapne, pokud zjistí významnou změnu světla (řízeno LDR).
Zásoby
- Raspberry Pi Zero W a SD karta s OS Raspbian
- 1,5palcový OLED modul od Waveshare
- 5V 2,4A napájecí zdroj pro Raspberry Pi
- 5m WS2812B LED pásek, 30 LED/m
- Šrouby, podložky, šrouby a podpěry.
- Vlastní PCB s tlačítky, přepínačem, ldr, kolíkovými hlavičkami a dalšími
- Páječka a pájka
- Horké lepidlo
- Lepidlo na drevo
- překližka 4 mm a 6 mm
- 3 mm bílý akryl
Krok 1: Data o počasí
Kredit StuffWithKirby za jeho kód při čtení dat o počasí JSON v pythonu.
Shromažďuji data o počasí zdarma z OpenWeatherMap.org, kde dodávají data o počasí z mnoha větších měst, v mnoha zemích.
1. Začněte vytvořením účtu ZDARMA na OpenWeatherMap.org.
2. Potom zkopírujte klíč API pro pozdější použití.
3. Nyní stáhněte, rozbalte a otevřete soubor city.list.json.gz, vyhledejte města, která chcete zobrazit, a zkopírujte ID měst na později.
Krok 2: Nastavení RPi a psaní kódu
Nejprve jsem připojil OLED k Pi a nainstaloval potřebné knihovny pro OLED, jak je popsáno výrobcem, zde.
Ujistěte se, že je RPi připojen k internetu
1. Povolte funkci I2C a SPI v raspi-config v části Možnosti rozhraní. Ukončete a restartujte.
2. Spusťte toto pro aktualizaci:
sudo apt-get update
3. Chcete -li nainstalovat potřebné knihovny, spusťte následující příkazy:
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. Spusťte následující příkaz a otevřete konfigurační soubor:
sudo nano /etc /modules
Ujistěte se, že jsou v konfiguračním souboru následující dva řádky, poté ukončete a restartujte:
i2c-bcm2708
i2c-dev
5. Nyní spusťte toto klonování mého GitHub repo:
klon git
6. Přejděte do nové složky a rozbalte soubor RPi_GPIO-0_6_5.zip:
rozbalit RPi_GPIO-0_6_5.zip
Spusťte toto a nainstalujte knihovnu:
cd RPi_GPIO-0_6_5
instalace sudo python setup.py
7. Vraťte se do hlavní složky zadáním:
cd /home/pi/1,5inch-OLED-with-RPi/
Nebo
cd..
Poté proveďte některé pomocí spidev-3_2.zip.
8. Poté rozbalte kabelážPi.zip:
rozbalte kabeláž Pi
cd kabelážPi
A spusťte tyto příkazy:
chmod 777 build
./stavět
Zkontrolujte instalaci pomocí:
gpio –v
9. Vraťte se do hlavní složky a rozbalte soubor bcm2835-1_45.zip
rozbalte bcm2835-1_45.zip
cd bcm2835-1_45
10. Poté spusťte toto a nainstalujte knihovnu:
./configure
make sudo make check sudo make install
11. Vraťte se zpět na /home/pi/1.5inch-OLED-with-RPi/ a spusťte toto, abyste otestovali OLED:
cd/Demo_Code/Python/
sudo python main.py
Poté jsem také musel nainstalovat knihovny pro LED pás WS2812B podle tohoto průvodce.
Poté už to bylo jen o napsání kódu, což trvalo asi pár měsíců od začátku do konce, zapracováním a vypínáním. Můj kód najdete na mém GitHubu zde.
Krok 3: Konfigurace Weather API
1. Cd do ovladače LED_Thermometer_Code_and_OLED_driver:
cd LED_Thermometer_Code_and_OLED_driver
2. Poté otevřete Official_Digital_LED_Thermometer_v1-0.py:
nano Official_Digital_LED_Thermometer_v1-0.py
A pak přejděte dolů a upravte klíč api na svůj klíč API z openweathermap.org, jak je znázorněno na obrázku výše. Také změňte ID měst a názvy měst na požadovaná místa.
Krok 4: Vlastní PCB
Druhá cena v soutěži Raspberry Pi Contest 2020