Väderstation baserat på Raspberry Pi (10 / 11 steg)

Steg 10: Project update 1 - vindriktning



Det har varit ett tag sedan bildandet av detta instructable och det blev någon förbättring.

Väderstationen körs och inlagda nu både vindhastighet och riktning. Jag kommer nu visa dig hur vindriktningen fungerar. Det är också läsa och uppladdning UV índex.

Det finns ett fåtal projekt runt som använder en inställning av reed växla att få rubriken vind. Jag har alltid trott att det gör en ganska enkel lösning, men numera med digitala kompasser verkar det lämpligare att använda en av dessa små enheter. Också, eftersom mitt mål var att köra alla sensorer på I2C bussen, jag var säker på att jag kunde hitta en som skulle passa i denna typ av buss. Så gjorde jag.

Jag använder en HMC5883L, som är 3 axis digital kompass, använder I2C bussen. Du kan hitta redo lödde moduler på ebay så billigt som 1 euro. Bara Sök och du hittar dem säkert.

En bit av råd med denna sensor. Jag tror att denna typ av sensorer är ganska känslig, eftersom jag lyckats döda en. Efter några dagar att få fel indikationer från det, fick jag en ny en och alla redas ut. Bara vara försiktig, tappa det inte alltför många ofta.

Den andra importante delen som jag använde kallas en slip ring. Vad är en slip ring? Det är en liten enhet som låter dig ha en roterande axel och anslutningar på samma gång. Det finns flera parametrar som definierar sådan anordning. En är antalet sätt (eller ledningar) och andra är märkströmmen accepterade genom ledningarna. Eftersom vi är endast läsning sensor, och i detta fall I2c, vi behöver 4 trådar och nuvarande är så lågt man kan komma.

Jag fick en 6 trσd, låg nuvarande som råkade ha axel diameter samma som det inre måttet på vissa plaströr som jag brukade bygga vane.

Olika bilder visar hur jag lyckades bygga sak. Det är inte snyggt men det dows jobbet.

PROGRAMVARA

Det är en ganska enkel sak att läsa från HCM. Jag tog några ser i databladet, gjort lite forskning på nätet, och jag fick till dessa kodrader att sätta det fungerar:

def write_byte (adress, adr, värde):
Bus.write_byte_data (adress, adr, värde)

-Förfarandet för att skriva data i en specifik adress av I2C bussen.

def median(lst):
lst = sorted(lst)
om len(lst) < 1:
returnera ingen
om len(lst) %2 == 1:
returnera lst [((len (lst) + 1) / 2)-1]
annat:
återgå float(sum(lst[(len(lst)/2)-1:(len(lst)/2)+1])) / 2,0

-Detta är ett förfarande för att få det genomsnittliga antalet en lista över avläsningar. Det kommer att behövas

write_byte (0x1E, 0, 0b01110000) # satt till 8 prover vid 15Hz
write_byte (0x1E, 1, 0b00100000) # 1.3 få LSb / Gauss 1090 (standard)
write_byte (0x1E, 2, 0b00000000) # kontinuerlig provtagning
skala = 0,92
x_offset = 45
y_offset =-82

-Behövs deklarationer för sensorn. De första 3 raderna Ställ in provet avläsningar och vinna. Fjärde anger skalningen. De 2 sista är värden att stämma upp den sensor behandlingen. De kan variera från sensorn till sensorn, men de flesta gånger de påverkar inte mycket läsning.

def get_heading():
x_out = (read_word_2c(0x1E,3) - x_offset) * skala
y_out = (read_word_2c(0x1E,7) - y_offset) * skala
z_out = (read_word_2c(0x1E,5)) * skala
försedda med = math.atan2 (y_out, x_out)
om (med < 0):
försedda med += 2 * math.pi
om ((math.degrees(bearing) + 90) < 360 och (math.degrees(bearing)+90) > 90):
rubrik = math.degrees (uthärda) + 90
# Skriv ut round(heading,0)

Elif math.degrees (uthärda) + 90 == 360:
rubrik = 0
# Skriv ut round(heading,0)
annat:
rubrik = math.degrees (uthärda)-270
# Skriv ut round(heading,0)
returnera rubriken

-Detta är det huvudsakliga behandlingen förfarandet. Det ger dig rubriken Vane i grader från 0 till 359

Så nu när vi har alla deklarationer och procedurer, är det enda saknas förbi infoga nästa nummer i huvudprogrammet:

dir = 0
lista = range(500)
skriva ut ("läsa 500 gånger vindriktning avgränsade med 10mS för utjämning slutliga läsning...")
för dd i intervall (0, 500):
lista [dd] = get_heading()
Time.Sleep(0.01)
riktning = median(lista)
skriva ut ("gjort!")
skriva ut ("vind dir är", riktning)

Jag hittade att göra bara en behandling skulle leda till stora variationer i riktningen, så gör vi här tar 500 mätningar avgränsad med 10mS varje och mata genomsnittet av alla värden. Alla tryckta rader kan tas bort eftersom de tjänar endast för felsökning ändamål.

Glöm inte att uppdatera ladda upp linjen till wunderground, nu har vi mer data, så du måste sätta i windir = håll, i mitt fall.

Cheers, gott folk!

Se Steg
Relaterade Ämnen

Aquarium LED Light Controller baserat på Raspberry Pi

Att ha ett akvarium är bra för en hobby och för ett yrke.En av de viktigaste komponenterna i ett akvarium är ordentlig belysningssystemet (bland andra).Det finns mycket litteratur på internet om detta tema, från de mycket grundläggande på timer switc...

Hem (rum) Temprature och luftfuktighet Monitor med webb-baserat diagram - Raspberry Pi

Enkelt sätt att övervaka din, hem, rum, garage liten fabrik eller någon annan förlägger temperatur och luftfuktighet från var som helst i världen via internet.Det mycket roligt och mycket enkel.Steg 1: Konceptet Raspberry Pi får den Home(Room) temper...

Bärbar infödda MOD spelare baserat på Raspberry PI (spelar MOD, S3M, det, XM etc...). Använder BassPlay bibliotek.

Description:Hallon-PI grundval av ursprunglig MOD player för att spela musik moduler MOD, S3M, det, XM bland andra.Den använder kommandoradsverktyget spelare baserad på bas-play bibliotek.Kort beskrivning av musik moduler:Musik moduler påbörjar från...

GNU/Linux-distributionen för Raspberry Pi med Yocto projektet att bygga

Raspberry Pi är förmodligen den mest populära låga kostnader enkel bräde computern på marknaden. Det används skall erbjuda för Internet av saker och andra inbäddade projekt. Flera GNU/Linuxdistributioner har utmärkt stöd för Raspberry Pi och det finn...

Stå ensam videoövervakningssystem med Raspberry Pi

Självstudierna här beskriver hur man bygger en stå ensam videoövervakningssystem baserat på Raspberry Pi.Vi kommer att använda en Raspberry Pi kamera som kontinuerligt in video på en usb-enhet. Detta skapar videofiler på 15 minuter kontinuerligt. Med...

Fireside Internet Radio Player för äldre användare - byggd med Raspberry Pi

Inledning:Idag har vi fantastiska tillgång till bra strömmande innehåll: musik, nyheter, väder, berättelser, etc. Men är denna åtkomst begränsad till dem som kan navigera dagens elektroniska apparater. Detta projekt bygger på en tro som äldre vill oc...

Raspberry Pi Audio Player

en minimalistisk musikspelaren baserat på Raspberry Pi modell B med HifiBerry DAC och ATXRaspi makt controllerJag gjorde detta med hjälp av min far (också ekonomiskt).Inspirerad av: http://www.hifiberry.com/forums/topic/small-media-... och http://www...

DIY vindmätaren och Windvane för fristående väderstation

Jag skulle vilja dela några kunskaper om väderstation. Som vi hört många gånger om väderstation och vissa människor vill bygga sin egen väderstation i deras hem.Väderstationen är helt enkelt en sak eller instrument som används för att mäta (känsla) v...

Hackgyver väderstation

Sedan en tid på min hackerspace, en av vår medlem (futex) gjorde en väderstation med en Raspberry Pi.Efter som tittar på hans arbete hade jag idén att göra en men istället för att använda en RPi som plateform jag har fokuserat mitt arbete på Arduino,...

Lägga till Bluetooth-tangentbord till Rpi2 Kali

Hej. Länge sedan gjorde jag "HacKErBox ke" baserat på Raspberry Pi 2. Nu kommer jag visa hur du lägger till en bluetooth dongle och hur man koppla ihop ett bluetooth-tangentbord till Raspberry Pi 2. Kom ihåg att detta instructable är lämplig för...

CupBot - 3D tryckt Robotics plattform

Här är en stor helg robotics projekt som du kan genomföra kallas CupBots baserat på Raspberry Pi och BeagleBone svart som är kreditkort storlek datorer och även 3D-utskrifter...De flesta 3D tryckta delar är gemensamma för både versionen av CupBot och...

Pandora's Clock: Nixie rör klocka och Pandora internetradio

En Nixie rör klocka med Pandora Internet Radio, baserat på Raspberry Pi med en egen designade fall, LCD-skärm, WiFi-anslutning, förstärkare och högtalare. Detta är den mest unika klockradio hittar du någonsin!Detta är också kanske den dyraste sak jag...

Natur Tracker: mappningen med Intel Edison

Data är vackra. Och långt från "förstöra poesi av regnbågen" (Keats), ett vetenskapligt förhållningssätt kan hjälpa oss att bättre uppskatta de saker vi tycker är kul. Här, vi har tagit ett kit med IoT godsaker och ihop dem till en enhet chock f...

PI - nyheter läsaren

Detta är ett projekt baserat på Raspberry Pi. Det är en "bot" som går till internet för att rubriker och läser dem för dig. Den använder också en röst erkännandesystem för att interagera med dig.Steg 1: Se projektet i åtgärdSteg 2: Komplett hand...

Högeffektiv dubbel spänning hög nuvarande (upp till 3A) strömförsörjning

jag var ute efter en dubbel spänning nätaggregat inledningsvis att driva en gammal hårddisk med 12V och 5V. Jag ville bygga en home server baserat på Raspberry Pi. Jag insåg senare att jag hade en nyare hårddisk som behövde endast 5V. Då hade jag red...

Ännu en annan PipBoy 3000! (Märket "K") Ett pågående arbete

INTRODUKTIONHälsningar!Detta blir min magra försök att skriva en Instructable om mina ansträngningar att bygga en fullt funktionell PipBoy 3000 (modell "K") * baserat på Raspberry Pi.Först lite bakgrund om mig själv, min motivation och förmåga o...

Lightning! Lightning detektorn för Raspberry Pi väderstation (uppdaterad)

I detta Instructable kommer du lära dig:Hur man a Anslut en Lightning detektor till en Solar Powered väderstationHur att utforma och placera lightning detektorn för bästa perfomanceHur du samlar in data för att se Lightning historien när det händerHu...

Raspberry Pi Internet väderstation

Detta Instructable visar dig hur man bygger en riktigt cool Raspberry Pi Internet-baserade väderstation. Faktiskt, att kalla denna bygga en "väderstation" är lite av ett under uttalande. Detta bygga skulle lätt kunna utvidgas för att ge mycket m...

Bygga en Raspberry Pi SUPER väderstation

Låt oss inse det, vi människor prata om vädret en hel ⛅️. Den genomsnittliga person talar om vädret fyra gånger om dagen, i genomsnitt 8 minuter och 21 sekunder. Göra matten och som uppgår till totalt 10 månader av ditt liv som du kommer att spendera...