Inhoudsopgave:
- Benodigdheden
- Stap 1: Weergegevens
- Stap 2: De RPi instellen en de code schrijven
- Stap 3: De Weather-API configureren
- Stap 4: De aangepaste PCB
Video: Digitale RPi LED-thermometer - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:16
Raspbian OSLeer hoe ik deze digitale LED-thermometer heb gemaakt, met een Raspberry Pi Zero W, LED-strip, een OLED-display en een aangepaste PCB.
Het bladert automatisch door een lijst met steden en geeft de temperatuur weer op het OLED-display en de LED's. Maar je kunt ook handmatig een stad selecteren om weer te geven, met de knoppen aan de zijkant. Bovendien schakelt het de LED's en de OLED uit, als het een paar minuten inactief is geweest, en gaat het weer aan als het een significante lichtverandering detecteert (bestuurd door een LDR).
Benodigdheden
- Een Raspberry Pi Zero W en SD-kaart met Raspbian OS
- Een 1,5 inch OLED-module van Waveshare
- Een 5V 2.4A-voeding voor Raspberry Pi
- Een 5m WS2812B LED Strip, 30 LEDs/m
- Schroeven, ringen, bouten en afstandhouders.
- Een aangepaste PCB, met knoppen, een schakelaar, een ldr, pin-headers en meer
- Soldeerbout en soldeer
- Hete lijm
- Houtlijm
- 4 mm en 6 mm multiplex
- 3 mm wit acryl
Stap 1: Weergegevens
Met dank aan StuffWithKirby voor zijn code over het lezen van JSON-weersgegevens in python.
Ik verzamel de weergegevens gratis van OpenWeatherMap.org, waar ze weergegevens leveren van veel grotere steden, in veel landen.
1. Begin met het maken van een GRATIS account op OpenWeatherMap.org.
2. Kopieer vervolgens uw api-key om later te gebruiken.
3. Download, unzip en open nu het bestand city.list.json.gz, zoek naar de steden die u wilt weergeven en kopieer de stads-id's voor later.
Stap 2: De RPi instellen en de code schrijven
Eerst heb ik de OLED op de Pi aangesloten en de benodigde bibliotheken voor de OLED geïnstalleerd, zoals beschreven door de fabrikant, hier.
Zorg ervoor dat de RPi is verbonden met internet
1. Schakel de I2C- en SPI-functie in raspi-config onder Interfacing-opties in. Sluit af en start opnieuw op.
2. Voer dit uit om bij te werken:
sudo apt-get update
3. Voer de volgende opdrachten uit om de benodigde bibliotheken te installeren:
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. Voer de volgende opdracht uit om het configuratiebestand te openen:
sudo nano /etc/modules
Zorg ervoor dat de volgende twee regels in het configuratiebestand staan, sluit af en start opnieuw op:
i2c-bcm2708
i2c-dev
5. Voer dit nu uit om mijn GitHub-repo te klonen:
git kloon
6. Ga naar de nieuwe map en pak RPi_GPIO-0_6_5.zip uit:
unzip RPi_GPIO-0_6_5.zip
Voer dit uit om de bibliotheek te installeren:
cd RPi_GPIO-0_6_5
sudo python setup.py installeren
7. Ga terug naar de hoofdmap door te typen door te typen:
cd /home/pi/1,5inch-OLED-met-RPi/
Of
cd..
Doe dan wat met spidev-3_2.zip.
8. Pak vervolgens bedradingPi.zip uit:
unzip bedradingPi
cd bedradingPi
En voer deze opdrachten uit:
chmod 777 build
./bouwen
Controleer de installatie met:
gpio –v
9. Ga terug naar de hoofdmap en unzip bcm2835-1_45.zip
unzip bcm2835-1_45.zip
cd bcm2835-1_45
10. Voer dit vervolgens uit om de bibliotheek te installeren:
./configureren
make sudo make check sudo make install
11. Ga opnieuw terug naar /home/pi/1.5inch-OLED-with-RPi/ en voer dit uit om de OLED te testen:
cd /Demo_Code/Python/
sudo python main.py
Daarna moest ik ook de bibliotheken voor de WS2812B LED-strip installeren, volgens deze handleiding.
Daarna was het gewoon een kwestie van de code schrijven, wat van begin tot eind ongeveer een paar maanden duurde, er aan en uit werken. Mijn code is hier te vinden op mijn GitHub.
Stap 3: De Weather-API configureren
1. Cd in LED_Thermometer_Code_and_OLED_driver:
cd LED_Thermometer_Code_and_OLED_driver
2. Open vervolgens Official_Digital_LED_Thermometer_v1-0.py:
nano Official_Digital_LED_Thermometer_v1-0.py
En scroll dan naar beneden en bewerk de api-sleutel, naar je api-sleutel, van openweathermap.org, zoals weergegeven in de afbeelding hierboven. Verander ook de stads-ID's en stadsnamen, naar de door u gewenste locaties.
Stap 4: De aangepaste PCB
Tweede prijs in de Raspberry Pi-wedstrijd 2020
Aanbevolen:
YADPF (nog een digitale fotolijst): 7 stappen (met afbeeldingen)
YADPF (YET Another Digital Picture Frame): Ik weet dat dit niet nieuw is, ik weet het, ik heb een aantal van deze projecten hier gezien, maar ik heb altijd al mijn eigen digitale fotolijst willen bouwen. Alle fotolijsten die ik heb gezien zijn leuk, maar ik was op zoek naar iets anders, ik ben op zoek naar een heel mooie fr
DIY digitale waterpas: 5 stappen (met afbeeldingen)
DIY digitale waterpas: in dit project zullen we accelerometer-IC's nader bekijken en ontdekken hoe we ze kunnen gebruiken met een Arduino. Daarna combineren we zo'n IC met een paar complementaire componenten en een 3D-geprinte behuizing om een digitale
Digitale fotocamera met gebruik van de ESP32-CAM-kaart: 5 stappen
Digitale fotocamera met behulp van het ESP32-CAM-bord: In dit bericht leren we hoe u een digitale fotocamera kunt bouwen met behulp van het ESP32-CAM-bord. Wanneer de resetknop wordt ingedrukt, neemt het bord een afbeelding, slaat deze op de microSD-kaart op en gaat vervolgens terug naar de diepe slaap. We gebruiken de EEPROM t
Een digitale schuifmaat afbreken en hoe werkt een digitale schuifmaat: 4 stappen
Een digitale schuifmaat afbreken en hoe werkt een digitale schuifmaat: Veel mensen weten hoe ze een schuifmaat moeten gebruiken om te meten. Deze tutorial leert je hoe je een digitale schuifmaat afbreekt en een uitleg over hoe de digitale schuifmaat werkt
RPi-weerstation en digitale klok: 4 stappen (met afbeeldingen)
RPi-weerstation en digitale klok: dit is een snel en eenvoudig project om te maken en een mooi display om mee te pronken. Het geeft zowel de tijd, de weersomstandigheden als de temperatuur weer. En als je het leuk vindt wat je ziet, volg me dan op Instagram en Twitter (@Anders644PI) om op de hoogte te blijven van wat ik maak.De c