Arduino Wind Chill maskin (7 / 10 steg)
Steg 7: Software Design och kalibrering
Den bifogade Arduino software(MTSAnemometer.zip) har till blick för hög/låg övergångar på Digital 4, räkna dem och logga sedan in det till den seriella porten på datorn. Programvaran kommer att avgöra hur ofta du vill logga data till SD-kortet. Denna programvara är inställd på 2 andra prover. Detta kan ändras genom att ändra värdet för SampInterval.
Här är den betydande delen av programvara slingan.
Vinden kalkylator ser för hög
om (digitalRead(WindPin)==HIGH)
{
SeeHigh = sant;
digitalWrite (greenLEDpin, låg);
}
Leta efter låg således en hög till låg övergång
annat if (SeeHigh == true)
{
Increment counter
CntRPM ++;
SeeHigh = false; Börja om
digitalWrite(greenLEDpin,HIGH);
}
Efter två sekunder har gått
RPM=CntRPM*(60.0/SampInterval);
Kod förklaring: Först leta jag efter en hög på vindmätaren Digital 4 (Windpin). När det går höga, ställer jag SeeHigh true. För felsökningsändamål, stänga jag av en grön lysdiod. Sedan när Digital 4 går låg och SeeHigh har ställts in vet då jag att vindmätaren hade övergått från hög till låg och en rotation (RPM) har inträffat. Så jag öka CntRPM och även slå på den gröna lysdioden så att jag kan säga att den fungerar.
Efter två sekunder har gått, multiplicera jag CntRPM med 30 att få RPM (varv per minut).
Kalibreringen:
Problem: Så hur avgör ni hur vindmätaren RPM avser MPH? Det finns flera lösningar beroende på vilken utrustning du har tillgängliga. Jag kommer att lista tre. Alla dessa kräver att du har ett sätt att Visa varvtal från Arduino. Min Arduino kod visas data till en dator/laptop ansluten till Arduino med USB. Om du inte har en laptop, skulle ett alternativ vara att skriva om koden för att visa data på en LCD sköld.
Hårdvarukrav: Din bärbara dator behöver en USB-port eller två. Min gamla laptop bara har bara en USB 1.0 port men fungerar bra med en USB-hubb.
Arduino krav: Installera min Arduino kod till Arduino. Anslut Arduino till den bärbara datorn USB-port.
Vindmätaren Setup: Jag fast vindmätaren församlingen i min bil är baksätet dörren öppnade fönster. Botten av PVC: N var klämmas mellan sätet och dörren. Eller du kanske kunna lägga den i dörren kortplatsen som du stänger dörren med. Min sätena har overhead handtag för alla säten att komma in och ut. Jag tog en sträng, loopas runt handtaget och PVC att hålla vindmätaren upprätt. Om PVC: N är rörande vissa utsatta del av bilen, sätta något mellan som en mjuk trasa. Noggrant Stäng fönstret delvis. (Se bild) Koppla sensorer till Arduino.
Solution1: Om du har en bärbar dator och en bil, köra programmet med seriell terminal på 9600 baud. (Se exempelruta utdata)
Säkerhet första: idealiskt, detta bör ske med en person att hjälpa. En vindstilla dag, plocka en rak, platt, öde väg och farthållare för en känd MPH. Ett typiskt problem är att de flesta hastighetsmätare är lediga. Du kan kontrollera detta genom att hitta några highway mil markörer och att ta reda på hur lång tid det faktiskt tar för att gå en mil på vissa påstådda hastighet.
Se vad RPM på Arduino serial-uttaget är. (Serial-uttaget också visar MPH och Twc men dessa värden är baserade på min vindmätaren kalibrering.) Ta bilens kända MPH och dela det med RPM och Anslut den till Arduino koden. Här är Arduino koden. Ersätt.054 med din beräkning.
MPH = RPM*.054; Kalibreringsvärde
Solution2: Om du har en bärbar dator och en bil och en fristående GPS, köra programmet med en seriell terminal.
Säkerhet första: idealiskt, detta bör ske med en person att hjälpa. En vindstilla dag, plocka en rak, platt, öde väg och ange farthållare. Ta MPH från GPS och dela det med RPM och Anslut den till Arduino koden som ovan. Förresten, kan du också bestämma hur långt bort din bil hastighetsmätare är. Om din GPS läser i knop per timme, multiplicera det med 1.151 att få MPH.
Solution3: Jag har en laptop och en bil och en NMEA GPS som ansluter till min laptop USB. Jag ansluten Arduino och GPS till min laptop, och körde min VB Express programvara. Se bifogad. Detta program bör fungera med alla Arduino och en USB NMEA-kompatibla GPS. Min är en USGlobalSat BU-353.
För att installera min kalibrering programvara, kopiera cpublish.zip till en katalog på den bärbara datorn, packa upp den, kontrollera att du har en Internetanslutning och kör installationsprogrammet.
Du måste också installera USB-drivrutinen för GPS.
Mitt program installationen kräver USB/com port numrerar för GPS och Arduino. Dessa listas under Enhetshanteraren under portar. Min GPS kallas Prolific. Min Arduino kommer upp som USB-seriell Port.
Om du har några problem, har min GPS Instructable lite mer tips.
Börja mitt program (se bild), koppla in rätt com-portnummer. Klicka på knappen Uppdatera. Du bör se GPS-data visar och Arduino data på botten.
Säkerhet första: idealiskt, detta bör ske med en person att hjälpa. En vindstilla dag, plocka en rak, platt, öde väg och ange farthållare. Nu är mitt program automatisk så det blir det MPH (konverterade från NMEA knop per timme) från GPS och RPM från Arduino. Jag försökte faktiskt, flera olika hastigheter. Skriv ner de gånger när du körde med farthållare.
Gå tillbaka till mitt program, klicka på Spara (ignorera eventuella meddelanden). Skriv in ett filnamn och observera filens plats. Mitt program kommer att spara data till en. CSV fil så jag ritade data till ett Excel-diagram (se bild). Detta visar ett ganska linjärt samband. Ta ett prov MPH från GPS och dela det med RPM och Anslut den till Arduino koden som ovan. Jag använde detta för att avgöra.054 multiplikatorn visas i programmet.
Om du inte har Excel, kan du också använda gratis Google Docs eller Open Office. Uppritade diagrammet för några olika MPHs ser ganska trasig men det är ganska linjär. (se diagram)
För att kontrollera din kalibrering, ladda Arduino med din kalibrering och kör igen de ovannämnda undersökningarna. Arduino MPH bör vara nära "faktiska" MPH men förmodligen kommer att hoppa över och under den.