Turinys:
- Prekės
- 1 veiksmas: orų duomenys
- 2 žingsnis: RPi nustatymas ir kodo rašymas
- 3 veiksmas: „Weather“API konfigūravimas
- 4 žingsnis: pasirinktinė PCB
Video: Skaitmeninis RPi LED termometras: 6 žingsniai (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:45
Raspbian OS Sužinokite, kaip aš sukūriau šį skaitmeninį LED termometrą su „Raspberry Pi Zero W“, LED juostele, OLED ekranu ir pasirinktine PCB.
Jis automatiškai perjungia miestų sąrašą ir rodo temperatūrą OLED ekrane ir šviesos diodus. Bet taip pat galite rankiniu būdu pasirinkti rodomą miestą naudodami mygtukus šone. Be to, jis išjungs šviesos diodus ir OLED, jei jis kelias minutes buvo neaktyvus, ir vėl įsijungs, jei aptiks reikšmingą šviesos pasikeitimą (valdomas LDR).
Prekės
- Raspberry Pi Zero W ir SD kortelė su Raspbian OS
- „Waveshare“1,5 colio OLED modulis
- 5V 2,4A maitinimo šaltinis „Raspberry Pi“
- 5 m WS2812B LED juostelė, 30 šviesos diodų/m
- Varžtai, poveržlės, varžtai ir atramos.
- Individualizuota PCB su mygtukais, jungikliu, ldr, kaiščių antraštėmis ir kt
- Lituoklis ir lituoklis
- Karšti klijai
- Medienos klijai
- 4 mm ir 6 mm fanera
- 3 mm balto akrilo
1 veiksmas: orų duomenys
Kreditas „StuffWithKirby“už jo kodą skaitant JSON orų duomenis „Python“.
Aš renku orų duomenis nemokamai iš „OpenWeatherMap.org“, kur jie pateikia orų duomenis iš daugelio didesnių miestų daugelyje šalių.
1. Pradėkite nuo nemokamos paskyros „OpenWeatherMap.org“.
2. Tada nukopijuokite api raktą, kad galėtumėte jį naudoti vėliau.
3. Dabar atsisiųskite, išpakuokite ir atidarykite failą city.list.json.gz, suraskite norimus rodyti miestus ir nukopijuokite miesto ID vėliau.
2 žingsnis: RPi nustatymas ir kodo rašymas
Pirmiausia prijungiau OLED prie „Pi“ir čia įdiegiau būtinas OLED bibliotekas, kaip aprašė gamintojas.
Įsitikinkite, kad RPi yra prijungtas prie interneto
1. Įjunkite I2C ir SPI funkciją raspi-config skiltyje Sąsajos parinktys. Išeikite ir paleiskite iš naujo.
2. Vykdykite, kad atnaujintumėte:
sudo apt-get atnaujinimas
3. Norėdami įdiegti reikalingas bibliotekas, paleiskite šias komandas:
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. Norėdami atidaryti konfigūracijos failą, paleiskite šią komandą:
sudo nano /etc /modules
Įsitikinkite, kad konfigūracijos faile yra šios dvi eilutės, tada išeikite ir paleiskite iš naujo:
i2c-bcm2708
i2c-dev
5. Dabar paleiskite tai, kad klonuotumėte mano „GitHub“repą:
git klonas
6. Eikite į naują aplanką ir išpakuokite RPi_GPIO-0_6_5.zip:
išpakuokite RPi_GPIO-0_6_5.zip
Norėdami įdiegti biblioteką, paleiskite tai:
cd RPi_GPIO-0_6_5
sudo python setup.py įdiegti
7. Grįžkite į pagrindinį aplanką, įvesdami įvesdami:
cd /home/pi/1.5inch-OLED-with-RPi/
Arba
cd..
Tada atlikite kai kuriuos su spidev-3_2.zip.
8. Tada išpakuokite wiringPi.zip:
išpakuokite laidusPi
cd laidaiPi
Ir paleiskite šias komandas:
„chmod 777“konstrukcija
./ statyti
Patikrinkite diegimą naudodami:
gpio –v
9. Grįžkite į pagrindinį aplanką ir išpakuokite bcm2835-1_45.zip
išpakuokite bcm2835-1_45.zip
cd bcm2835-1_45
10. Tada paleiskite tai, kad įdiegtumėte biblioteką:
./konfigūruoti
padaryti sudo padaryti patikrinti sudo padaryti diegti
11. Vėlgi grįžkite į /home/pi/1.5inch-OLED-with-RPi/ ir paleiskite tai, kad išbandytumėte OLED:
cd/Demo_Code/Python/
sudo python main.py
Tada aš taip pat turėjau įdiegti WS2812B LED juostos bibliotekas, vadovaudamasis šiuo vadovu.
Po to tereikėjo parašyti kodą, kuris nuo pradžios iki pabaigos užtruko apie porą mėnesių, jį įjungus ir išjungus. Mano kodą galite rasti mano „GitHub“čia.
3 veiksmas: „Weather“API konfigūravimas
1. Cd į LED_Termmometer_Code_and_OLED_driver:
cd LED_Termometras_Kodas_ir_OLED_vairuotojas
2. Tada atidarykite „Official_Digital_LED_Thermometer_v1-0.py“:
nano Official_Digital_LED_Termometras_v1-0.py
Tada slinkite žemyn ir redaguokite „api“raktą į savo „api“raktą iš „openweathermap.org“, kaip parodyta aukščiau esančiame paveikslėlyje. Taip pat pakeiskite miesto ID ir miestų pavadinimus į norimas vietas.
4 žingsnis: pasirinktinė PCB
Antrasis prizas „Raspberry Pi“konkurse 2020 m
Rekomenduojamas:
„Arduino“skaitmeninis termometras: 3 žingsniai
„Arduino“pagrįstas skaitmeninis termometras: Šiame projekte sukurtas „Arduino“pagrįstas skaitmeninis termometras, kuris gali būti naudojamas kambario temperatūrai analizuoti. Termometras paprastai naudojamas kaip temperatūros matavimo priemonė. Yra įvairių principų, kuriais galima išmatuoti
Skaitmeninis termometras DHT11 naudojant ESP8266: 4 žingsniai
Skaitmeninis termometras DHT11 naudojant ESP8266: Ankstesniame straipsnyje aš jau aptariau DH11 ir kaip jį rodyti išvesties įrenginiuose, pvz., 7 segmentų, LCD, serijiniame monitoriuje ir RGB žiede. Šiame straipsnyje aš jums parodysiu, kaip stebėti temperatūrą ir drėgmę naudojant naršyklę mobiliajame telefone
Arduino pagrindu veikiantis bekontaktis infraraudonųjų spindulių termometras - IR termometras naudojant „Arduino“: 4 žingsniai
„Arduino“nekontaktinis infraraudonųjų spindulių termometras | Infraraudonųjų spindulių termometras naudojant „Arduino“: Sveiki vaikinai, šioje instrukcijoje mes pagaminsime bekontaktį termometrą naudodami arduino. Kadangi kartais skysčio/kietos medžiagos temperatūra yra per aukšta arba per žema, tada sunku su juo susisiekti ir perskaityti Temperatūra tada tokioje aplinkoje
„Arduino From Scratch“- skaitmeninis termometras: 7 žingsniai (su nuotraukomis)
„Arduino From Scratch“- skaitmeninis termometras: Man patiko kurti projektus su „Arduinos“, tačiau už 30 USD už gabalą jūsų projektai gali brangti. Taigi noriu jums parodyti, kaip galite nuo pat pradžių pasigaminti savo „Arduino“ir sutaupyti pinigų. Sukurkite savo „Arduino“už maždaug 8 USD. Dėl šio pamokomo
Daugiafunkcis skaitmeninis termometras: 5 žingsniai (su nuotraukomis)
Daugiafunkcis skaitmeninis termometras: ši instrukcija parodys, kaip sukurti daugiafunkcinę platformą su termometru, chronografu (skaičiavimo laikmatis), skaičiavimo laikmačiu ir šviesos ekranu. Jis taip pat yra platforma kitiems analoginiams jutikliams ar bet kurioms kitoms funkcijoms, kurias galite