Obsah:
- Zásoby
- Krok 1: Kódovanie ako riešenie problému
- Krok 2: Kódovanie: Získanie údajov o počasí
- Krok 3: Kódovanie: Použitie týchto údajov
- Krok 4: Kódovanie: Použitie RPi.GPIO a LED diód
- Krok 5: Kódovanie: Získanie jasu LED
- Krok 6: Kódovanie: posledné kroky
- Krok 7: Budovanie a zapojenie
- Krok 8: Demonštrácia a záver
Video: Meteostanica LED Raspberry PI: 8 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:57
Vytvorili sme meteorologickú LED stanicu Raspberry PI. Rozsvietením a stmievaním diód LED informuje používateľa o tom, aké je mesto teplé a studené. Tiež má vedúce k tomu, aby im povedal, či v meste, do ktorého písali, prší alebo nie.
Autormi sú Michael Andrews a Tio Marello.
Zásoby
Nástroje
- Spájkovačka
- Dremel
- Videl
Materiály
- Raspberry Pi 3 B+ ~ 40 dolárov ~ 30 dolárov
- Prepojovacie vodiče medzi ženami a mužmi ~ 7 dolárov
- 3 modré a 2 červené LED diódy ~ 11 dolárov
- Rezistory 100 ohmov ~ 13 dolárov
- 4 x 4 x 1/4 drevené dosky ~ 5 dolárov
- Spájka ~ 10 dolárov
- Medený drôt ~ 5 dolárov
Krok 1: Kódovanie ako riešenie problému
Kódovanie je riešenie problémov
Aký je teda v našom projekte náš problém? Našim problémom je získať údaje o počasí a potom ich použiť na informovanie našich diód LED, či sú vypnuté alebo zapnuté. Tým sa náš problém rozdeľuje na tri oblasti.
1. Získanie údajov o počasí
2. Použitie týchto údajov
3. Použitie LED diód
Jazyk, ktorý sme použili pre tento projekt, Python, a hardvér, na ktorom beží, Python, nám však poskytujú ľahký spôsob, ako tieto ciele dosiahnuť.
Začnime teda prvým problémom, získaním údajov o počasí.
Krok 2: Kódovanie: Získanie údajov o počasí
Samotný Python nemôže získať údaje o počasí. Na získanie údajov o počasí musíme importovať dva nástroje a tiež externú službu. Na tento účel používame tri nástroje.
1. Žiadosti, modul pythonu, ktorý umožňuje vytváranie webových klipov
2. Json, modul pythonu, ktorý nám umožňuje používať formát súboru JSON
3. OpenWeather, webová stránka, ktorá nám môže poskytnúť údaje o počasí
Prinášame teda dva moduly tak, že tento kód napíšeme do hornej časti nášho pythonového skriptu.
žiadosti o import
importovať json
Pred použitím týchto nástrojov však musíme použiť Openweather. Na to musíme vytvoriť účet na ich webe a získať kľúč API. Postupujte podľa pokynov na ich webových stránkach a dostanete reťazec písmen a číslic, ktorý nám umožní využiť ich službu. Ako?
openweather_api_key = "260a23f27f5324ef2ae763c779c32d7e" #Náš kľúč API (nie je skutočný)
base_call = "https://api.openweathermap.org/data/2.5/weather?q=" #OpenWeather Call #Tu dostaneme mesto používateľa vo forme textovej tlače ("Napíšte do mesta!") city_name = vstup () #Tu sme zostavili adresu, ktorú pripojíme k požiadavkám. Získať informácie o počasí full_call = base_call+city_name+"& appid ="+openweather_api_key #Nakoniec s našou adresou zavoláme request.get a potom ju skonvertujeme do súboru json Response = requests.get (full_call) WeatherData = Response.json () #JSON súbory obsahujú rôzne premenné, ku ktorým máme prístup pomocou tejto syntaxe #Tu získame ID počasia a teplotu v Kelvinoch mesta, ktoré používateľ zadal do WeatherID = WeatherData ["počasie"] [0] ["id"] City_TemperatureK = WeatherData ["main"] ["temp"]
Tu máme kód, ktorý nám poskytuje údaje o počasí. Žiadosti vo forme requests.get získajú adresu webovej stránky a vrátia nám súbor z tejto webovej stránky. OpenWeather nám dáva adresu, na ktorú máme zavolať, a tak nám poskytnúť údaje o počasí vo forme json. Zostavíme adresu, ktorú vložíme do požiadaviek a dostaneme súbor json späť. Potom vytvoríme dve premenné a priradíme ich teplote a počasiu v meste používateľa.
Takže teraz, s týmto kódom, máme dve premenné. Máme ID počasia a teplotu v Kelvinoch
Krok 3: Kódovanie: Použitie týchto údajov
Teraz, keď máme tieto dve premenné, musíme ich pripraviť na použitie pre naše LED diódy. Z tohto hľadiska na to nemusíme importovať žiadne moduly.
Najprv prevádzame kelvin na Fahrenheita.
Vykonáme to vytvorením premennej s touto syntaxou
City_TemperatureF = (City_TemperatureK - 273)*1,8 + 32
ktorý prevádza z Kelvinov na Fahrenheita (čo je skutočne prevod z K -> C -> F)
Ďalej je naše ID počasia. WeatherID je ID, ktoré poskytuje Openweather a ktoré nám hovorí o poveternostných podmienkach mesta.
openweathermap.org/weather-conditions Tu je ich zoznam.
Všimli sme si, že všetko pod číslom 700 je nejaký druh zrážok, a tak sme len skontrolovali, či je kód nižší ako 700, aby sme zistili, či prší.
def CheckRain (IdCode): ak IdCode <700: return True else: návrat False
Vďaka tomu máme pripravené dve premenné na použitie s našimi pinmi Raspberry PI a LED diódami.
Krok 4: Kódovanie: Použitie RPi. GPIO a LED diód
RaspberryPi je dodávaný so sadou samčích kolíkov, ktoré môžeme použiť na komunikáciu s veľkým počtom elektrických komponentov, ktorými sú v tomto prípade LED diódy; je to podobné Arduinu a jeho systému. Raspberry PI je však počítač na všeobecné použitie, na rozdiel od mikrokontroléra, akým je Arduino. Preto musíme urobiť trochu viac práce, aby sme ich mohli používať. Pozostáva z nastavenia pinov na Raspberry Pi. Robíme to pomocou tohto kódu.
import RPi. GPIO ako GPIO #Modul importujeme, aby sme ho mohli používať
#Nastavte pinsGPIO.setmode (GPIO. BCM) GPIO.setwarnings (False)
#Kolíky, do ktorých sú zapojené diódy LED. Ak ich vytvoríte, môžu sa líšiť, preto ich v prípade potreby porovnajte a zmeňte
Extreme_Hot_LED_PIN = 26 Hot_LED_PIN = 16
Extreme_Cold_LED_PIN = 5
Cold_LED_PIN = 6
Rain_LED_PIN = 23
#Prepíname každý pin pomocou príkazu.setup, zadáme jeho číslo a nastavíme ho ako výstupný pin
GPIO.setup (Rain_LED_PIN, GPIO. OUT) GPIO.setup (Extreme_Cold_LED_PIN, GPIO. OUT) GPIO.setup (Cold_LED_PIN, GPIO. OUT) GPIO.setup (Hot_LED_PIN, GPIO. OUT) GPIO.setup (Extreme_Hot_L
Tento kód by nám však umožnil použiť iba dva stavy s diódou LED, to znamená zapnuté a vypnuté. Potrebujeme však, aby bolo možné stlmiť svetlá. Na tento účel používame moduláciu šírky impulzu.
Použitie modulácie šírky impulzu
Modulovanie šírky impulzu nám umožňuje prenášať analógový signál pomocou digitálneho kolíka. V zásade zapína a vypína zdroj signálu vysokou rýchlosťou, ktorá sa priemeruje na určité napätie. RPi. GPIO nám to umožňuje používať, aj keď s nejakým kódom navyše.
#Štyrpinové objekty vytvárame pomocou príkazu GPIO. PWM, ktorý preberá číslo kanála
#Druhé číslo je počet aktualizácií za sekundu
ExtremeHotLED = GPIO. PWM (Extreme_Hot_LED_PIN, 100) HotLED = GPIO. PWM (Hot_LED_PIN, 100)
ExtremeColdLED = GPIO. PWM (Extreme_Cold_LED_PIN, 100)
ColdLED = GPIO. PWM (Cold_LED_PIN, 100)
V ďalšom kroku budete musieť vedieť, akým spôsobom tieto piny aktualizujeme.
Piny aktualizujeme pomocou príkazu
ExtremeColdLED.start (x) ColdLED.start (x)
ExtremeHotLED.start (x)
HotLED.start (x)
x by v tomto prípade bol pracovný cyklus, ktorý určuje, koľko sa pulzuje. Pohybuje sa od 0 do 100, takže z tejto skutočnosti musíme vychádzať pri nasledujúcom kóde.
Krok 5: Kódovanie: Získanie jasu LED
Pretože máme štyri rôzne LED diódy, chceme ich rozsvietiť podľa toho, ako. v meste používateľa je zima alebo teplo. Rozhodli sme sa mať pre led štyri etapy.
#Funkcie
def getmiddleleftledintensity (TemperatureinF): #Left Equation: y = -(50/20) x + 175 #Right Equation: y = (50/20) x -75 return -(50/20)*TemperatureinF + 175
definovaná intenzita (teplota vF):
#Ľavá rovnica: y = - (50/20) x + 175 #Pravá rovnica: y = (50/20) x - 75 návrat (50/20)*Teplota vF - 75
def getextremeleftledintensity (TemperatureinF):
#LeftEquation: y = - (100/30) x + 200 #RightEquation: y = (100/30) x - (400/3)
návrat -(100/30)*Teplota voF + 200
def getextremerightledintensity (TemperatureinF):
# Ľavá rovnica: y = - (100/30) x + 200 # Pravá rovnica: y = (100/30) x - (400/3)
návrat (100/30)*Teplota vF - (400/3)
#Nastavenie LED svetiel
def GetLEDBrightness (temp):
ak je teplota <= 0: extrémne chladená = 100 za studena = 100 za horúca = 0 extrémne horúca = 0
vytlačiť („Extrémne chladné diódy:“+ str (extrémne chladené))
tlač („Studená LED:“+ str (za studena)) tlač („Extrémne horúca LED“+ str (extrémne horúca)) tlač („Horúca LED:“+ str (horúca))
ExtremeColdLED.start (extrémne chladný)
ColdLED.start (za studena)
ExtremeHotLED.start (extremehotled)
HotLED.start (za tepla) elif teplota> = 100: extrémne chladná = 0 za studena = 0 za tepla = 100 extrémne horko = 100
vytlačiť („Extrémne chladné diódy:“+ str (extrémne chladené))
tlač („Studená LED:“+ str (za studena)) tlač („Extrémne horúca LED“+ str (extrémne horúca)) tlač („Horúca LED:“+ str (horúca))
ExtremeColdLED.start (extrémne chladný)
ColdLED.start (za studena)
ExtremeHotLED.start (extremehotled)
HotLED.start (hotled) elif 0 <temp <= 30: extremecoldled = getextremeleftledintensity (temp) - 100 coldled = 100 hotled = 0 extremehotled = 0
vytlačiť („Extrémne chladné diódy:“+ str (extrémne chladené))
tlač („Studená LED:“+ str (za studena)) tlač („Extrémne horúca LED“+ str (extrémne horúca)) tlač („Horúca LED:“+ str (horúca))
ExtremeColdLED.start (extrémne chladný)
ColdLED.start (za studena)
ExtremeHotLED.start (extremehotled)
HotLED.start (hotled) elif 100> teplota> = 70: extrémne chladná = 0 za studena = 0 za tepla = 100 extrémne horúca = getextremerightledintensity (temp) - 100
vytlačiť („Extrémne chladné diódy:“+ str (extrémne chladené))
tlač („Studená LED:“+ str (za studena)) tlač („Extrémne horúca LED“+ str (extrémne horúca)) tlač („Horúca LED:“+ str (horúca))
ExtremeColdLED.start (extrémne chladný)
ColdLED.start (za studena)
ExtremeHotLED.start (extremehotled)
HotLED.start (hotled) elif 30 <temp <50: extremecoldled = 0 coldled = getmiddleleftledintensity (temp) hotled = 100 - coldled extremehotled = 0
vytlačiť („Extrémne chladné diódy:“+ str (extrémne chladené))
tlač („Studená LED:“+ str (za studena)) tlač („Extrémne horúca LED“+ str (extrémne horúca)) tlač („Horúca LED:“+ str (horúca))
ExtremeColdLED.start (extrémne chladný)
ColdLED.start (za studena)
ExtremeHotLED.start (extremehotled)
HotLED.start (hotled) elif 50 <temp <70: hotled = getmiddlerightledintensity (temp) extremehotled = 0
za studena = 100 - za tepla
extrémne chladný = 0
vytlačiť („Extrémne chladné diódy:“+ str (extrémne chladené))
tlač („Studená LED:“+ str (za studena)) tlač („Extrémne horúca LED“+ str (extrémne horúca)) tlač („Horúca LED:“+ str (horúca))
ExtremeColdLED.start (extrémne chladný)
ColdLED.start (za studena)
ExtremeHotLED.start (extremehotled)
HotLED.start (hotled) elif temp == 50: extremecoldled = 0 coldled = 50 hotled = 50 extremehotled = 0
vytlačiť („Extrémne chladné diódy:“+ str (extrémne chladené))
tlač („Studená LED:“+ str (za studena)) tlač („Extrémne horúca LED“+ str (extrémne horúca)) tlač („Horúca LED:“+ str (horúca))
ExtremeColdLED.start (extrémne chladný)
ColdLED.start (za studena)
ExtremeHotLED.start (extremehotled)
HotLED.start (za tepla)
Dobre, táto časť kódu je naozaj dlhá. Tiež je to dosť ťažké vysvetliť. Vyššie uvedený kód v zásade sleduje teplotu vo Fahrenheite a určuje, či je v skupine rozsahov. V závislosti od rozsahov udáva číslo pre každú LED a jej jas a potom jas nastaví zavolaním príkazu start (). To je rýchle vysvetlenie. Ak to stačí, odporúčam vám prejsť na ďalší krok, ale ak chcete vidieť dlhé a únavné vysvetľovanie, čítajte ďalej.
Keď sme programovali, rozhodli sme sa, že najľahší spôsob, ako získať hodnotu z teploty, je vo forme matematickej funkcie. V GeoGebre sme teda vytvorili graf, ktorý reprezentuje vzťah medzi našou teplotou a našim jasom LED; dôvod, prečo presahuje 100, je ten, že figurant by išiel do druhej diódy LED. Narazili sme však na problém získania jednej funkcie na mapovanie všetkých týchto bodov na jednu funkciu. Mysleli sme si, že môžeme použiť parabolu, ale rozhodli sme sa uspokojiť s použitím série príkazov if. V podstate je celý tento kód čiastočnou funkciou.
Funkcie v hornej časti sú príslušnou rovnicou čiar. Keď v grafe určíme, kde je teplota, spustíme ju touto funkciou, získame jas a prenesieme ju na diódy.
Krok 6: Kódovanie: posledné kroky
Nakoniec toto vyhlásenie pridáme na koniec.
skús:
while (True): GetLEDBrightness (City_TemperatureF) GetRainLED (WeatherID) time.sleep (10) okrem KeyboardInterrupt: quit ()
Príkazy try a except nám umožňujú ukončiť kód pomocou klávesovej skratky; v každom prípade by sme museli vypnúť Raspberry Pi, aby sme kód reštartovali. Potom tu máme cyklus, ktorý beží navždy. Aktualizujeme LED diódy a tiež aktualizujeme dažďovú LED diódu. Pozastavíme sa na desať sekúnd; OpenWeather umožňuje iba 60 hovorov za dáta za minútu a 10 sekúnd je veľa aktualizácií.
A tým je náš kód hotový. Nasleduje hotový kód.
RaspberryPIWeatherStation.py
dovozné žiadosti |
importRPi. GPIOasGPIO |
importjson |
čas importu |
#Openweather idCodes menej ako 700 sú všetky zrážky |
defCheckRain (IdCode): |
ifIdCode <700: |
returnTrue |
inak: |
returnFalse |
defgetmiddleleftledintensity (Teplota vF): |
#Rovnica vľavo: y =-(50/20) x + 175 |
#Pravá rovnica: y = (50/20) x - 75 |
návrat-(50/20)*Teplota priF+175 |
hustota defgetmiddlerightled (teplota vF): |
#Rovnica vľavo: y =-(50/20) x + 175 |
#Pravá rovnica: y = (50/20) x - 75 |
návrat (50/20)*Teplota vF-75 |
extrémne nízka ľavá intenzita (teplota vF): |
#LeftEquation: y = -(100/30) x + 200 |
#RightEquation: y = (100/30) x - (400/3) |
návrat-(100/30)*Teplota priF+200 |
defgetextremerightledintensity (teplota vF): |
# LeftEquation: y = -(100/30) x + 200 |
# RightEquation: y = (100/30) x - (400/3) |
návrat (100/30)*Teplota vF- (400/3) |
#GPIO nastavenie |
GPIO.setmode (GPIO. BCM) |
GPIO.setwarnings (False) |
#Piny |
Extreme_Hot_LED_PIN = 26 |
Hot_LED_PIN = 16 |
Extreme_Cold_LED_PIN = 5 |
Cold_LED_PIN = 6 |
Rain_LED_PIN = 23 |
#Nastavenie kolíka |
GPIO.setup (Rain_LED_PIN, GPIO. OUT) |
GPIO.setup (Extreme_Cold_LED_PIN, GPIO. OUT) |
GPIO.setup (Cold_LED_PIN, GPIO. OUT) |
GPIO.setup (Hot_LED_PIN, GPIO. OUT) |
GPIO.setup (Extreme_Hot_LED_PIN, GPIO. OUT) |
ExtremeHotLED = GPIO. PWM (Extreme_Hot_LED_PIN, 100) |
HotLED = GPIO. PWM (Hot_LED_PIN, 100) |
ExtremeColdLED = GPIO. PWM (Extreme_Cold_LED_PIN, 100) |
ColdLED = GPIO. PWM (Cold_LED_PIN, 100) |
defGetLEDBrightness (temp): |
iftemp <= 0: |
extrémne chladný = 100 |
za studena = 100 |
hotled = 0 |
extrémna vzdialenosť = 0 |
vytlačiť („Extrémne chladné diódy:“+str (extrémne chladené)) |
tlač („Studená LED:“+str (za studena)) |
tlač („Extrémne horúce LED“+str (extrémne horúce)) |
vytlačiť („Hot led:“+str (hotled)) |
ExtremeColdLED.start (extrémne chladný) |
ColdLED.start (za studena) |
ExtremeHotLED.start (extremehotled) |
HotLED.start (za tepla) |
eliftemp> = 100: |
extrémne chladný = 0 |
za studena = 0 |
hotled = 100 |
extrémna vzdialenosť = 100 |
vytlačiť („Extrémne chladné diódy:“+str (extrémne chladené)) |
tlač („Studená LED:“+str (za studena)) |
tlač („Extrémne horúce LED“+str (extrémne horúce)) |
vytlačiť („Hot led:“+str (hotled)) |
ExtremeColdLED.start (extrémne chladný) |
ColdLED.start (za studena) |
ExtremeHotLED.start (extremehotled) |
HotLED.start (za tepla) |
elif0 <teplota <= 30: |
extremecoldled = getextremeleftledintensity (temp) -100 |
za studena = 100 |
hotled = 0 |
extrémna vzdialenosť = 0 |
vytlačiť („Extrémne chladné diódy:“+str (extrémne chladené)) |
tlač („Studená LED:“+str (za studena)) |
tlač („Extrémne horúce LED“+str (extrémne horúce)) |
vytlačiť („Hot led:“+str (hotled)) |
ExtremeColdLED.start (extrémne chladný) |
ColdLED.start (za studena) |
ExtremeHotLED.start (extremehotled) |
HotLED.start (za tepla) |
elif100> teplota> = 70: |
extrémne chladný = 0 |
za studena = 0 |
hotled = 100 |
extremehotled = getextremerightledintensity (temp) -100 |
vytlačiť („Extrémne chladné diódy:“+str (extrémne chladené)) |
tlač („Studená LED:“+str (za studena)) |
tlač („Extrémne horúce LED“+str (extrémne horúce)) |
vytlačiť („Hot led:“+str (hotled)) |
ExtremeColdLED.start (extrémne chladný) |
ColdLED.start (za studena) |
ExtremeHotLED.start (extremehotled) |
HotLED.start (za tepla) |
elif30 <teplota <50: |
extrémne chladný = 0 |
za studena = dostať strednú intenzitu doľava (teplota) |
hotled = 100-studený |
extrémna vzdialenosť = 0 |
vytlačiť („Extrémne chladné diódy:“+str (extrémne chladené)) |
tlač („Studená LED:“+str (za studena)) |
tlač („Extrémne horúce LED“+str (extrémne horúce)) |
vytlačiť („Hot led:“+str (hotled)) |
ExtremeColdLED.start (extrémne chladný) |
ColdLED.start (za studena) |
ExtremeHotLED.start (extremehotled) |
HotLED.start (za tepla) |
elif50 <teplota <70: |
hotled = getmiddlerightledintensity (temp) |
extrémna vzdialenosť = 0 |
za studena = 100 za tepla |
extrémne chladný = 0 |
vytlačiť („Extrémne chladné diódy:“+str (extrémne chladené)) |
tlač („Studená LED:“+str (za studena)) |
tlač („Extrémne horúce LED“+str (extrémne horúce)) |
vytlačiť („Hot led:“+str (hotled)) |
ExtremeColdLED.start (extrémne chladný) |
ColdLED.start (za studena) |
ExtremeHotLED.start (extremehotled) |
HotLED.start (za tepla) |
eliftemp == 50: |
extrémne chladný = 0 |
za studena = 50 |
hotled = 50 |
extrémna vzdialenosť = 0 |
vytlačiť („Extrémne chladné diódy:“+str (extrémne chladené)) |
tlač („Studená LED:“+str (za studena)) |
tlač („Extrémne horúce LED“+str (extrémne horúce)) |
vytlačiť („Hot led:“+str (hotled)) |
ExtremeColdLED.start (extrémne chladný) |
ColdLED.start (za studena) |
ExtremeHotLED.start (extremehotled) |
HotLED.start (za tepla) |
defGetRainLED (idCode): |
ifCheckRain (idCode): |
GPIO.output (Rain_LED_PIN, GPIO. HIGH) |
inak: |
GPIO.output (Rain_LED_PIN, GPIO. LOW) |
#Api information: Repalce API key with your oepnweather api key |
openweather_api_key = "460a23f27ff324ef9ae743c7e9c32d7e" |
base_call = "https://api.openweathermap.org/data/2.5/weather?q=" |
vytlačiť („Napíšte do mesta!“) |
city_name = vstup () |
full_call = základný hovor+názov mesta+"& appid ="+openweather_api_key |
#Získavanie údajov o počasí |
Response = requests.get (full_call) |
WeatherData = Response.json () |
WeatherID = WeatherData ["počasie"] [0] ["id"] |
City_TemperatureK = WeatherData ["main"] ["temp"] |
City_TemperatureF = (City_TemperatureK-273)*1,8+32#Previesť na stupne Fahrenheita |
#Veci LED/GPIO |
vytlačiť ("K:"+str (City_TemperatureK)) |
vytlačiť ("F:"+str (City_TemperatureF)) |
vytlačiť (WeatherID) |
skús: |
while (True): |
GetLEDBrightness (City_TemperatureF) |
GetRainLED (WeatherID) |
time.sleep (10) |
okremKeyboardInterrupt: |
skončiť () |
zobraziť rawRaspberryPIWeatherStation.py hostené s ❤ od GitHub
Krok 7: Budovanie a zapojenie
Fíha! Po tom všetkom kódovaní sa dostávame k budove, ktorá je výrazne jednoduchšia. Kvôli objednávkam pobytu na koróne doma sme sa nemohli dostať k mnohým nástrojom, ktoré sme v škole očakávali. Táto časť je teda o niečo jednoduchšia, ako sme chceli. Flexibilné sú aj samotné špecifiká. Najprv sme na drevenú dosku nakreslili obdĺžnik. Na konkrétnej veľkosti príliš nezáleží, pretože slúži jednoducho ako platforma na nasadenie diód a elektroniky.
Potom sme do nášho kúska dreva vyvŕtali päť 1/8.
Potom sme z dosky vystrihli obdĺžnik, ktorý bude slúžiť ako platforma pre našu elektroniku.
(To bolo vtedy, keď sme začínali; našli sme väčšiu pílu!)
Potom zatlačíme anódové a katódové kolíky LED do otvorov; LED diódy by mali byť položené na vrchu a žiarovky by mali vyčnievať; sledujte, ktorá noha je dlhšia a kratšia. Potom sme sa pustili do spájkovania drôtov. Najprv spájkujeme odpory na anódovú nohu LED (dlhšia noha).
Potom spájkujeme katódové nohy LED na jeden medený drôt, ktorý použijeme ako uzemnenie. Malo by to vyzerať takto.
Potom urobíme to, že spájame samčie konce prepojovacích káblov samica-samec na koncové konce každého odporu a medený uzemňovací vodič. Akonáhle to urobíme, môžeme začať zapojiť vodiče do malinových PI GPIO pinov. Tu je diagram! Všimnite si však, že kolíky sú tie, ktoré boli v predtým dotknutom kóde.
Akonáhle máte všetko zapojené, teraz stačí dostať súbor Python na malinový Pi a otvoriť terminál. spustite „python3 RaspberryPIWeatherStation.py“a potom urobte, ako ukazuje.
Krok 8: Demonštrácia a záver
Ďakujeme, že ste to prečítali až do konca! Nižšie pripojím skript pythonu! Ak by sme mohli niečo pridať, pravdepodobne by to bolo …
1. Podpora rôznych typov vstupov (mestá, geografické body atď.)
2. Podpora pre ďalšie informácie o počasí
3. Pridajte malú obrazovku na zobrazenie informácií
Dajte nám vedieť svoje myšlienky! Bol to zábavný projekt na výstavbu. Naučili sme sa veľa o požiadavkách a získavaní internetových dokumentov pomocou pythonu a tiež sme sa naučili veľa o spájkovaní.
Odporúča:
Meteostanica s dlhým dosahom HC-12 a senzory DHT: 9 krokov
Meteostanica s dlhým dosahom HC-12 a senzory DHT: V tomto návode sa naučíme, ako vytvoriť vzdialenú diaľkovú meteorologickú stanicu pomocou dvoch senzorov dht, modulov HC12 a LCD displeja I2C. Pozrite si video
Meteostanica WIFI s Magicbitom (Arduino): 6 krokov
WIFI meteorologická stanica s Magicbit (Arduino): Tento tutoriál ukazuje, ako vytvoriť meteorologickú stanicu z Magicbit pomocou Arduina, ktorá dokáže získať podrobnosti z vášho chytrého telefónu
Meteostanica so závesným zariadením: 7 krokov (s obrázkami)
Meteostanica so závesným zariadením: V tomto návode vám ukážem, ako si postaviť vlastnú závesnú meteorologickú stanicu, ktorá je vyrobená z CNC MDF rezaných laserom. Krokový motor poháňa každý prevodový stupeň a Arduino meria teplotu a vlhkosť pomocou DHT
Meteostanica NaTaLia: Meteostanica Arduino poháňaná solárnou energiou urobila správnu cestu: 8 krokov (s obrázkami)
Meteostanica NaTaLia: Meteostanica poháňaná solárnou energiou Arduino urobila správnu cestu: Po 1 roku úspešnej prevádzky na 2 rôznych miestach zdieľam svoje plány projektov solárnej elektrárne a vysvetľujem, ako sa vyvinul do systému, ktorý môže skutočne prežiť dlhý čas. obdobia zo slnečnej energie. Ak budete postupovať
Meteostanica Acurite 5 v 1 s použitím Raspberry Pi a Weewx (ostatné meteorologické stanice sú kompatibilné): 5 krokov (s obrázkami)
Meteostanica Acurite 5 v 1 pomocou Raspberry Pi a Weewx (ostatné meteorologické stanice sú kompatibilné): Keď som si kúpil meteorologickú stanicu Acurite 5 v 1, chcel som mať možnosť zistiť počasie doma, keď som bol preč. Keď som sa vrátil domov a nastavil som, zistil som, že buď musím mať displej pripojený k počítaču, alebo si kúpiť ich inteligentný rozbočovač,