Analoga vindbommen med Auto ställa in (2 / 8 steg)
Steg 2: Projektet utmaningar och lösningar
För det första, när du arbetar med analog till digital konvertering tidigare, jag har märkt betydande "drift" runt lägsta och högsta värden och så lite kod kommer att behöva skrivas att motverka detta fenomen. För det andra kan vind ibland vara extremt turbulent vilket gör det mycket svårt att få en korrekt produktionsvärde. Om vinden ständigt förändras från, säg, söderut till västra vi vill behandla våra uppgifter på ett sådant sätt att det skulle ge den vanligaste riktningen, inte bara medelvärdet eller "betyder", skulle annars vi bara få ett värde av southen-west. För att förklara mer i detalj - vinden kan svänga från syd till väst och tillbaka igen, men faktiskt det mestadels kommer från syd-syd-väst. Om detta börjar att skada dina hjärnceller, sympatiserar jag helt!
Lyckligtvis har vi lösningar på båda ovanstående problem - vi tar så många avläsningar som systemminnet och hastighet kommer att möjliggöra och bygga några enormt stora matriser av siffror. Vi gör sedan en kontinuerlig logg över hur många gånger varje del av matrisen är hit och sedan slutligen spotta ut de mest populära. I digital wind vane projektet jag skrev några ganska clunky kod att beräkna det "mode" och nu, med kraften av några extra näringsrik kaffe granulat, jag har minskat den koden till något mer sublima!
Slutligen, efter ca tio minuter, bara när våra matriser ska explodera arduino i en miljon bitar av kisel damm, vi hämta en enda vind riktning värde t.ex 215 med en andra arduino och alla många nollställs.
Nu när vi börjar känna ganska glib om vår tekniska förmåga, analoga vindbommen chuckar på oss 2 mer stora problem - en: med den rekommenderade 100K på plats, det producerar inte ett sant linjär utgång och två: den har en död zon runt Nordpolen på ca 3 grader. Först mina hjärnceller började få panik på möjligheterna att lösa icke-linearitet men då kom de ihåg att vinden är alltid något turbulenta så uppstod frågan: hur exakt vi verkligen behöver vara? Behöver vi verkligen att titta in i en massa detaljer på icke-linearitet kurvan? Sunt förnuft då kom till undsättning och kurvan fick hackad och rätade till 2 enkla raka linjer, med en spets i 240 grader. Enkelt!