Innholdsfortegnelse:
- Rekvisita
- Trinn 1: Koding som problemløsning
- Trinn 2: Koding: Få værdata
- Trinn 3: Koding: Bruk av disse dataene
- Trinn 4: Koding: Bruke RPi.GPIO og LED -dioder
- Trinn 5: Koding: Få LED -lysstyrke
- Trinn 6: Koding: siste trinn
- Trinn 7: Bygging og tilkobling
- Trinn 8: Demonstrasjon og konklusjon
Video: Bringebær PI LED værstasjon: 8 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:21
Vi opprettet en Raspberry PI Weather LED -stasjon. Den forteller brukeren hvor varm og kald en by er ved å lyse opp og dimme lysdioder. Det har også en ledelse til å fortelle dem om det regner i byen eller ikke.
Skapt av Michael Andrews og Tio Marello.
Rekvisita
Verktøy
- Loddejern
- Dremel
- Sag
Materialer
- Bringebær Pi 3 B+ ~ 40 dollar ~ 30 dollar
- Kvinne til mann Jumper ledninger ~ 7 dollar
- 3 blå og 2 røde LED -dioder ~ 11 dollar
- 100 Ohm motstander ~ 13 dollar
- 4 x 4 x 1/4 treplank ~ 5 dollar
- Lodde ~ 10 dollar
- Kobbertråd ~ 5 dollar
Trinn 1: Koding som problemløsning
Koding er problemløsning
Så, i vårt prosjekt, hva er problemet vårt? Problemet vårt er å få værdata og deretter bruke disse dataene til å fortelle lysdiodene våre om de er av eller på. Så dette deler opp problemet vårt i tre områder.
1. Få værdata
2. Bruke disse dataene
3. Bruke lysdioder
Men språket vi brukte for dette prosjektet, Python, og maskinvaren det kjører på, Python, gir oss en enkel måte å nå disse målene på.
Så, la oss starte med det første problemet, å få værdata.
Trinn 2: Koding: Få værdata
Python i seg selv kan ikke få værdata. Vi må importere to verktøy, samt en ekstern tjeneste, for å få værdata. For å gjøre dette bruker vi tre verktøy.
1. Forespørsler, en python -modul som tillater webscraping
2. Json, en python -modul som lar oss bruke JSON -filformatet
3. OpenWeather, et nettsted som kan gi oss værdata
Så vi bringer de to modulene ved å skrive denne koden øverst i python -skriptet vårt.
importforespørsler
importer json
Før vi bruker disse verktøyene, må vi imidlertid bruke Openweather. For det må vi opprette en konto på nettstedet deres og få en API -nøkkel. Følg instruksjonene på nettstedet deres, så får du en rekke bokstaver og tall som lar oss bruke tjenesten deres. Hvordan?
openweather_api_key = "260a23f27f5324ef2ae763c779c32d7e" #Vår API -nøkkel (ikke ekte)
base_call = "https://api.openweathermap.org/data/2.5/weather?q=" #OpenWeather Call #Her får vi brukerens by i form av tekstutskrift ("Skriv inn en by!") city_name = input () #Her samlet vi adressen vi skal koble til requests.get for å motta værdata full_call = base_call+city_name+"& appid ="+openweather_api_key #Til slutt kaller vi request.get med adressen vår, så konverterer vi den til en json -fil Response = requests.get (full_call) WeatherData = Response.json () #JSON -filer inneholder forskjellige variabler som vi kan få tilgang til ved hjelp av denne syntaksen #Her får vi vær -ID og temperaturen i Kelvin i byen som brukeren skrev inn WeatherID = WeatherData ["weather"] [0] ["id"] City_TemperatureK = WeatherData ["main"] ["temp"]
Her har vi koden som gir oss værdataene våre. Forespørsler, i form av requests.get, tar inn en nettstedsadresse og gir oss en fil fra dette nettstedet tilbake. OpenWeather gir oss en adresse å ringe for å gi oss værdata i form av en json. Vi samler en adresse som vi kobler til forespørsler og får en json -fil tilbake. Deretter oppretter vi to variabler og tildeler dem temperaturen og værværet i brukerens by.
Så nå, med denne koden, har vi to variabler. Vi har et weatherID og en temperatur i Kelvin
Trinn 3: Koding: Bruk av disse dataene
Nå som vi har disse to variablene, må vi forberede dem til bruk for våre lysdioder. For dette aspektet trenger vi ikke å importere noen moduler for dette.
Først konverterer vi kelvin til Fahrenheit.
Vi gjør dette ved å lage en variabel med denne syntaksen
City_TemperatureF = (City_TemperatureK - 273)*1.8 + 32
som konverterer fra Kelvin til Fahrenheit (som virkelig konverterer fra K -> C -> F)
Neste er vårt weatherID. WeatherID er en ID som Openweather gir som forteller oss om værforholdene i en by.
openweathermap.org/weather-conditions Her er en liste over dem.
Vi la merke til at alt under 700 -tallet var en slags nedbør, så vi sjekket bare om koden var under 700 for å se om det regnet.
def CheckRain (IdCode): hvis IdCode <700: return True true: return False
Med det har vi våre to variabler forberedt til bruk med våre Raspberry PI -pinner og LED -dioder.
Trinn 4: Koding: Bruke RPi. GPIO og LED -dioder
RaspberryPi kommer med et sett med mannlige pins som vi kan bruke til å kommunisere med en rekke elektriske komponenter, som i dette tilfellet er LED -dioder; Det er beslektet med Arduino og systemet. Imidlertid er Raspberry PI en datamaskin for generelle formål, i motsetning til en mikrokontroller som Arduino. Så vi må gjøre litt mer arbeid for å bruke dem. Dette består av å sette opp pinnene på Raspberry Pi. Vi gjør dette ved å bruke denne koden.
importer RPi. GPIO som GPIO #Vi importerer modulen slik at vi kan bruke den
#Sett opp pinsGPIO.setmode (GPIO. BCM) GPIO.setwarnings (False)
#Pinnene lysdiodene er koblet til. Disse kan være forskjellige hvis du bygger det, så sørg for å sammenligne og endre når det er nødvendig
Extreme_Hot_LED_PIN = 26 Hot_LED_PIN = 16
Extreme_Cold_LED_PIN = 5
Cold_LED_PIN = 6
Rain_LED_PIN = 23
#Vi går gjennom hver pin, ved hjelp av.setup -kommandoen, legger inn nummeret og setter det som en output -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_
Imidlertid ville denne koden bare la oss bruke to tilstander med led, det vil si av og på. Vi trenger det imidlertid for å kunne dempe lysene. For å gjøre dette bruker vi Pulse Width Modulation.
Bruke pulsbreddemodulasjon
Pulse Width Modulation lar oss sende ut et analogt signal ved hjelp av en digital pin. I hovedsak slår den på og av signalkilden med høy hastighet, som gjennomsnitt til en viss spenning. RPi. GPIO lar oss bruke dette, om enn med litt ekstra kode.
#Vi lager fire pinneobjekter ved å bruke kommandoen GPIO. PWM, som tar inn et kanalnummer
#Det andre tallet er antall ganger det oppdateres per sekund
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)
For det neste trinnet må du vite hvordan vi oppdaterer disse pinnene.
Vi oppdaterer pinnene ved hjelp av kommandoen
ExtremeColdLED.start (x) ColdLED.start (x)
ExtremeHotLED.start (x)
HotLED.start (x)
x i dette tilfellet vil være driftssyklusen, som bestemmer hvor mye den pulserer av. Det varierer fra 0-100, så vi må basere vår neste kode på det faktum.
Trinn 5: Koding: Få LED -lysstyrke
Fordi vi har fire forskjellige lysdioder, ønsker vi å tenne dem avhengig av hvordan. kaldt eller varmt er det i brukerens by. Vi bestemte oss for å ha fire etapper for ledet.
#Funksjoner
def getmiddleleftledintensity (TemperatureinF): #Left Equation: y = -(50/20) x + 175 #Right Equation: y = (50/20) x -75 return -(50/20)*TemperatureinF + 175
def getmiddlerightledintensity (TemperatureinF):
#Venstre ligning: y = - (50/20) x + 175 #Høyre ligning: y = (50/20) x - 75 retur (50/20)*Temperatur iF - 75
def getextremeleftledintensity (TemperatureinF):
#LeftEquation: y = - (100/30) x + 200 #RightEquation: y = (100/30) x - (400/3)
retur -(100/30)*Temperatur iF + 200
def getextremerightledintensity (TemperatureinF):
# Venstre -ligning: y = - (100/30) x + 200 # Høyre -ligning: y = (100/30) x - (400/3)
retur (100/30)*Temperatur iF - (400/3)
#Stille inn LED -lysene
def GetLEDBrightness (temp):
hvis temp <= 0: extremcoldled = 100 coldled = 100 hotled = 0 extremehotled = 0
print ("Extreme cold led:" + str (extremecoldled))
print ("Cold led:" + str (coldled)) print ("Extreme hot led" + str (extremehotled)) print ("Hot led:" + str (hotled))
ExtremeColdLED.start (extremecoldled)
ColdLED.start (coldled)
ExtremeHotLED.start (extremehotled)
HotLED.start (hotled) elif temp> = 100: extremecoldled = 0 coldled = 0 hotled = 100 extremehotled = 100
print ("Extreme cold led:" + str (extremecoldled))
print ("Cold led:" + str (coldled)) print ("Extreme hot led" + str (extremehotled)) print ("Hot led:" + str (hotled))
ExtremeColdLED.start (extremecoldled)
ColdLED.start (coldled)
ExtremeHotLED.start (extremehotled)
HotLED.start (hotled) elif 0 <temp <= 30: extremecoldled = getextremeleftledintensity (temp) - 100 coldled = 100 hotled = 0 extremehotled = 0
print ("Extreme cold led:" + str (extremecoldled))
print ("Cold led:" + str (coldled)) print ("Extreme hot led" + str (extremehotled)) print ("Hot led:" + str (hotled))
ExtremeColdLED.start (extremecoldled)
ColdLED.start (coldled)
ExtremeHotLED.start (extremehotled)
HotLED.start (hotled) elif 100> temp> = 70: extremecoldled = 0 coldled = 0 hotled = 100 extremehotled = getextremerightledintensity (temp) - 100
print ("Extreme cold led:" + str (extremecoldled))
print ("Cold led:" + str (coldled)) print ("Extreme hot led" + str (extremehotled)) print ("Hot led:" + str (hotled))
ExtremeColdLED.start (extremecoldled)
ColdLED.start (coldled)
ExtremeHotLED.start (extremehotled)
HotLED.start (hotled) elif 30 <temp <50: extremecoldled = 0 coldled = getmiddleleftledintensity (temp) hotled = 100 - coldled extremehotled = 0
print ("Extreme cold led:" + str (extremecoldled))
print ("Cold led:" + str (coldled)) print ("Extreme hot led" + str (extremehotled)) print ("Hot led:" + str (hotled))
ExtremeColdLED.start (extremecoldled)
ColdLED.start (coldled)
ExtremeHotLED.start (extremehotled)
HotLED.start (hotled) elif 50 <temp <70: hotled = getmiddlerightledintensity (temp) extremehotled = 0
coldled = 100 - hotled
ekstrem kaldt = 0
print ("Extreme cold led:" + str (extremecoldled))
print ("Cold led:" + str (coldled)) print ("Extreme hot led" + str (extremehotled)) print ("Hot led:" + str (hotled))
ExtremeColdLED.start (extremecoldled)
ColdLED.start (coldled)
ExtremeHotLED.start (extremehotled)
HotLED.start (hotled) elif temp == 50: extremecoldled = 0 coldled = 50 hotled = 50 extremehotled = 0
print ("Extreme cold led:" + str (extremecoldled))
print ("Cold led:" + str (coldled)) print ("Extreme hot led" + str (extremehotled)) print ("Hot led:" + str (hotled))
ExtremeColdLED.start (extremecoldled)
ColdLED.start (coldled)
ExtremeHotLED.start (extremehotled)
HotLED.start (hotled)
OK, denne delen av koden er veldig lang. Det er også ganske vanskelig å forklare. I hovedsak ser koden ovenfor på temperaturen i Fahrenheit, og avgjør om den er i et sett med områder. Avhengig av områdene, gir den et tall for hver lysdiode og dens lysstyrke og deretter angir lysstyrken ved å ringe kommandoen start (). Det er den raske forklaringen. Hvis det er tilstrekkelig, anbefaler jeg at du går videre til neste trinn, men hvis du vil se den lange og kjedelige forklaringen, fortsett å lese.
Da vi programmerte bestemte vi oss for at den enkleste måten å få en verdi fra en temperatur var i form av en matematisk funksjon. Så vi lagde en graf i GeoGebra for å representere forholdet mellom temperaturen vår og lysstyrken på ledningen; grunnen til at den går over 100 er at den ekstra vil gå inn i den andre ledningen. Vi løp imidlertid inn i spørsmålet om å få en enkelt funksjon til å kartlegge alle disse punktene til en enkelt funksjon. Vi trodde vi kunne bruke en parabel, men vi bestemte oss for å bare nøye oss med å bruke en rekke if -utsagn. I hovedsak er hele denne koden en stykkevis funksjon.
Funksjonene øverst er den respektive linjelegningen. Når vi har bestemt hvor temperaturen er på grafen, kjører vi den gjennom den funksjonen, får lysstyrken og sender den videre til lysdiodene.
Trinn 6: Koding: siste trinn
Til slutt legger vi til denne uttalelsen på slutten.
prøve:
while (True): GetLEDBrightness (City_TemperatureF) GetRainLED (WeatherID) time.sleep (10) unntatt KeyboardInterrupt: avslutt ()
Prøv -og -unntak -utsagnene lar oss avslutte koden ved å bruke en hurtigtast; Uansett måtte vi slå av Raspberry Pi for å starte koden på nytt. Så har vi en stund -sløyfe som går for alltid. Vi oppdaterer lysdiodene, samt oppdaterer regn -LED. Vi stopper i ti sekunder; OpenWeather tillater bare 60 anrop for data per minutt, og 10 sekunder er mange oppdateringer.
Og med det er koden vår ferdig. Nedenfor er den ferdige koden.
RaspberryPIWeatherStation.py
importforespørsler |
importRPi. GPIOasGPIO |
importjson |
importtid |
#Oppevær -idKoder mindre enn 700 er alt nedbør |
defCheckRain (IdCode): |
ifIdCode <700: |
returnTrue |
ellers: |
returner falsk |
defgetmiddleleftledintensity (TemperatureinF): |
#Venstre ligning: y =-(50/20) x + 175 |
#Høyre ligning: y = (50/20) x - 75 |
retur- (50/20)*Temperatur iF+175 |
defgetmiddlerightledintensity (TemperatureinF): |
#Venstre ligning: y =-(50/20) x + 175 |
#Høyre ligning: y = (50/20) x - 75 |
retur (50/20)*Temperatur i F-75 |
defgetextremeleftledintensity (TemperatureinF): |
#LeftEquation: y = -(100/30) x + 200 |
#RettEquation: y = (100/30) x - (400/3) |
retur- (100/30)*Temperatur i F+200 |
defgetextremerightledintensity (TemperatureinF): |
# VenstreLigning: y = -(100/30) x + 200 |
# RightEquation: y = (100/30) x - (400/3) |
retur (100/30)*Temperatur iF- (400/3) |
#GPIO -oppsett |
GPIO.setmode (GPIO. BCM) |
GPIO.setwarnings (False) |
#Nål |
Extreme_Hot_LED_PIN = 26 |
Hot_LED_PIN = 16 |
Extreme_Cold_LED_PIN = 5 |
Cold_LED_PIN = 6 |
Rain_LED_PIN = 23 |
#Pin Setup |
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: |
ekstrem kaldt = 100 |
kaldt = 100 |
hotled = 0 |
extremehotled = 0 |
print ("Extreme cold led:"+str (extremecoldled)) |
print ("Cold led:"+str (coldled)) |
print ("Extreme hot led"+str (extremehotled)) |
print ("Hot led:"+str (hotled)) |
ExtremeColdLED.start (extremecoldled) |
ColdLED.start (coldled) |
ExtremeHotLED.start (extremehotled) |
HotLED.start (hotled) |
eliftemp> = 100: |
ekstrem kaldt = 0 |
kaldt = 0 |
hotled = 100 |
extremehotled = 100 |
print ("Extreme cold led:"+str (extremecoldled)) |
print ("Cold led:"+str (coldled)) |
print ("Extreme hot led"+str (extremehotled)) |
print ("Hot led:"+str (hotled)) |
ExtremeColdLED.start (extremecoldled) |
ColdLED.start (coldled) |
ExtremeHotLED.start (extremehotled) |
HotLED.start (hotled) |
elif0 <temp <= 30: |
extremecoldled = getextremeleftledintensity (temp) -100 |
kaldt = 100 |
hotled = 0 |
extremehotled = 0 |
print ("Extreme cold led:"+str (extremecoldled)) |
print ("Cold led:"+str (coldled)) |
print ("Extreme hot led"+str (extremehotled)) |
print ("Hot led:"+str (hotled)) |
ExtremeColdLED.start (extremecoldled) |
ColdLED.start (coldled) |
ExtremeHotLED.start (extremehotled) |
HotLED.start (hotled) |
elif100> temp> = 70: |
ekstrem kaldt = 0 |
kaldt = 0 |
hotled = 100 |
extremehotled = getextremerightledintensity (temp) -100 |
print ("Extreme cold led:"+str (extremecoldled)) |
print ("Cold led:"+str (coldled)) |
print ("Extreme hot led"+str (extremehotled)) |
print ("Hot led:"+str (hotled)) |
ExtremeColdLED.start (extremecoldled) |
ColdLED.start (coldled) |
ExtremeHotLED.start (extremehotled) |
HotLED.start (hotled) |
elif30 <temp <50: |
ekstrem kaldt = 0 |
coldled = getmiddleleftledintensity (temp) |
hotled = 100-coldled |
extremehotled = 0 |
print ("Extreme cold led:"+str (extremecoldled)) |
print ("Cold led:"+str (coldled)) |
print ("Extreme hot led"+str (extremehotled)) |
print ("Hot led:"+str (hotled)) |
ExtremeColdLED.start (extremecoldled) |
ColdLED.start (coldled) |
ExtremeHotLED.start (extremehotled) |
HotLED.start (hotled) |
elif50 <temp <70: |
hotled = getmiddlerightledintensity (temp) |
extremehotled = 0 |
coldled = 100-hotled |
ekstrem kaldt = 0 |
print ("Extreme cold led:"+str (extremecoldled)) |
print ("Cold led:"+str (coldled)) |
print ("Extreme hot led"+str (extremehotled)) |
print ("Hot led:"+str (hotled)) |
ExtremeColdLED.start (extremecoldled) |
ColdLED.start (coldled) |
ExtremeHotLED.start (extremehotled) |
HotLED.start (hotled) |
eliftemp == 50: |
ekstrem kaldt = 0 |
kaldt = 50 |
hotled = 50 |
extremehotled = 0 |
print ("Extreme cold led:"+str (extremecoldled)) |
print ("Cold led:"+str (coldled)) |
print ("Extreme hot led"+str (extremehotled)) |
print ("Hot led:"+str (hotled)) |
ExtremeColdLED.start (extremecoldled) |
ColdLED.start (coldled) |
ExtremeHotLED.start (extremehotled) |
HotLED.start (hotled) |
defGetRainLED (idCode): |
ifCheckRain (idCode): |
GPIO.output (Rain_LED_PIN, GPIO. HIGH) |
ellers: |
GPIO.output (Rain_LED_PIN, GPIO. LOW) |
#Api -informasjon: Repaliser API -nøkkelen med oepnweather api -nøkkelen din |
openweather_api_key = "460a23f27ff324ef9ae743c7e9c32d7e" |
base_call = "https://api.openweathermap.org/data/2.5/weather?q=" |
print ("Skriv inn en by!") |
bynavn = input () |
full_call = base_call+city_name+"& appid ="+openweather_api_key |
#Får værdata |
Response = requests.get (full_call) |
WeatherData = Response.json () |
WeatherID = WeatherData ["weather"] [0] ["id"] |
City_TemperatureK = WeatherData ["main"] ["temp"] |
City_TemperatureF = (City_TemperatureK-273)*1.8+32#Konverter til Fahrenheit |
#LED/GPIO -ting |
print ("K:"+str (City_TemperatureK)) |
print ("F:"+str (City_TemperatureF)) |
print (WeatherID) |
prøve: |
mens (True): |
GetLEDBrightness (City_TemperatureF) |
GetRainLED (WeatherID) |
tid. sover (10) |
unntatt tastaturavbrudd: |
slutte() |
se rawRaspberryPIWeatherStation.py hostet av ❤ av GitHub
Trinn 7: Bygging og tilkobling
Puh! Etter all den kodingen kommer vi til bygningen, som er betydelig lettere. På grunn av corona -hjemmebestillinger, kunne vi ikke få tak i mange av verktøyene vi forventet å ha på skolen. Så denne delen er litt enklere enn det vi hadde tenkt. Spesifikasjonene i seg selv er også fleksible. Først tegnet vi et rektangel på en treplank. Den spesifikke størrelsen spiller egentlig ikke så stor rolle, da den ganske enkelt fungerer som en plattform for å sette lysdioder og elektronikk på.
Deretter boret vi fem 1/8 i hull i treverket vårt.
Vi kuttet deretter ut rektangelet fra planken for å bruke som plattform for elektronikken vår.
(Dette var da vi begynte; vi fant en større sag!)
Vi skyver deretter anode- og katodepinnene på ledningen inn i hullene; lysdiodene skal ligge på toppen, pærene stikker ut; holde oversikt over hvilket ben som er lengre og kortere. Vi begynte deretter å lodde sammen ledninger. Først lodder vi motstandene til LED -anodebenet (det lengre beinet).
Deretter lodder vi katodebenene til lysdiodene til en enkelt kobbertråd som vi skal bruke som jord. Det skal se slik ut.
Etter at vi har gjort det, lodder vi hannendene på hun-mannlige jumperkabler til endene på hver motstand og kobberjordledningen. Når vi har gjort det, kan vi begynne å koble ledningene til bringebær PI GPIO -pinnene. Her er et diagram! Vær imidlertid oppmerksom på at pinnene er de i den tidligere berørte koden.
Når du har gjort det, er alt du trenger å gjøre å få Python -filen til bringebær Pi og åpne terminalen. kjør "python3 RaspberryPIWeatherStation.py" og gjør deretter som det viser.
Trinn 8: Demonstrasjon og konklusjon
Takk for at du leser hele veien! Jeg legger ved python -skriptet nedenfor! Hvis det var ting vi kunne legge til, ville det sannsynligvis vært …
1. Støtte for forskjellige inngangstyper (byer, geografiske punkter, etc.)
2. Støtte for mer værinformasjon
3. Legg til en liten skjerm for å vise informasjon
Gi oss beskjed om tankene dine! Dette var et morsomt prosjekt å bygge. Vi lærte mye om forespørsler og å få internettdokumenter ved hjelp av python, og vi lærte også mye om bruk av lodding.
Anbefalt:
Grensesnitt GPS -modul med bringebær Pi: 10 trinn
Grensesnitt GPS -modul med Raspberry Pi: Hei folkens! Ønsker du å koble til en GPS -modul med Raspberry Pi? Men har du problemer med å gjøre det? "Ikke bekymre deg, jeg er her for å hjelpe deg! Du kan starte med å bruke følgende deler:
NaTaLia værstasjon: Arduino solcelledrevet værstasjon gjort den riktige måten: 8 trinn (med bilder)
NaTaLia værstasjon: Arduino solcelledrevet værstasjon gjort på riktig måte: Etter 1 års vellykket drift på 2 forskjellige steder deler jeg mine solcelledrevne værstasjonsprosjektplaner og forklarer hvordan det utviklet seg til et system som virkelig kan overleve over lang tid perioder fra solenergi. Hvis du følger
LED -blink med bringebær Pi - Hvordan bruke GPIO Pins på Raspberry Pi: 4 trinn
LED -blink med bringebær Pi | Slik bruker du GPIO -pins på Raspberry Pi: Hei folkens i denne instruksjonen, vi lærer hvordan du bruker GPIO -er til Raspberry pi. Hvis du noen gang har brukt Arduino, vet du sannsynligvis at vi kan koble LED -brytere etc. til pinnene og få det til å fungere som. få lysdioden til å blinke eller få inngang fra bryteren, så
Nettsted/WiFi -kontrollert LED -stripe med bringebær Pi: 9 trinn (med bilder)
Nettsted/WiFi -kontrollert LED -stripe med Raspberry Pi: Bakgrunn: Jeg er tenåring, og har designet og programmert små elektronikkprosjekter de siste årene, sammen med å ha deltatt i robotikkonkurranser. Jeg jobbet nylig med å oppdatere skrivebordoppsettet mitt, og jeg bestemte meg for at et fint tillegg
Start ditt første prosjekt med bringebær: Blinkende LED: 4 trinn
Start ditt første prosjekt med bringebær: Blinkende LED: I dette prosjektet skal jeg vise deg hvordan du programmerer Raspberry Pi til å få en LED til å blinke.Hvis du nesten har kjøpt en bringebærpi og du ikke vet noe hvor du skal begynne, kan dette opplæringen passer inn. I tillegg til at din Raspberry Pi kjører Raspbian, y