Bygga en datalogger för din trådlösa sensornätverk (8 / 9 steg)
Steg 8: Programmera MEGA logger och ställa in klockan
Datalogger är programmerad i Arduino miljön, så du behöver en dator med denna programvara installerad.http://www.Arduino.cc/en/main/Software
Hämta vår kod MegaSerialLogger på http://github.com/salamandersensors/MegaSerialLogger/archives/master
Denna kod är Adafruit ljus och Temperaturlogger koden, modifierats för att acceptera seriell data, formatera den och upptäcka tecken 7E som betecknar början och slutet av varje datapaket. Det finns också en ny rad RTC.begin() eftersom det verkar fungera bättre av någon anledning med våra setup. Annars var inte klockan börjar.
Även du kommer att behöva dowmload RTCLib och sdfatlib från Adafruit, sätta dessa mappar i din dokument -> Arduino -> bibliotek mapp och lägger till deras. h-filer till ditt projekt. Jag tvivlar fortfarande använder WString men det är fortfarande där.
I filen SD2Card.h i mappen SDFat bibliotek måste du avkommentera linjen som säger
#define MEGA_SOFT_SPI
Detta låter Mega tillgång på SD-kortet på SPI stiften. Annars får du en "kort init" fel-- och om du kör någon diagnostik som SDFatInfo får du samma resultat med och utan ett SD-kort i uttaget. Detta har ingenting att göra med formatering kortet--det är bara att MEGA inte blir SPI signalen på rätt stiften, eller finns det en lödning fel som lämnade stiften kopplas bort.
Hit "verifiera" som är kompilera i Arduino-miljö. Starta om Arduino om det inte är att hitta din nyligen tillagda filer! Den MEGA flera hårdvara serieportar betyder att du kan kommunicera med datorn på Serial (alla Arduinos gemensamma seriell port) på 9600 bps utan att störa 57600 TelosB signalen på Serial 1. Arduino Serial Monitor kan du titta på de byte som kommer in från TelosB.
Hur man ställer klockan på datalogger: avkommentera raden "RTC.adjust" i MegaSerialLogger, kompilera, installera och köra. Klockan sätts vid kompileringen av programmet. Sedan recomment, sammanställa, installera och köra det som din datalogger program från den punkten på så det inte återställa klockan varenda gång. Måste upprepa om du någonsin ta ut små batteriet på datalogger (gör inte detta) och vill att det ska rapportera i realtid.