Lätt, mobila IR-termometer (4 / 8 steg)
Steg 4: Kod Arduino för kalibrering och Temp avläsning
Arduino är bröd och smör i hela enheten eftersom den gör merparten av det arbete som förknippas med detta projekt. Programmera Arduino kan lätt ordnas genom att låna några av Adafruits kod finns på GitHub (https://github.com/adafruit/Adafruit-MLX90614-Library).
Denna kod gör flera saker. För det första fastställs slav/master förhållandet nödvändiga för I2C kommunikation. För det andra skapar det en "mlx" klass som gör att komma åt objektet slav, i detta fall MLX90614, otroligt lätt. För det tredje ger bekväm definitioner som komma till hands medan du gör programmering krävs för ditt projekt.
Denna kod är en biblioteket skapats av Adafruit. För att använda den, ladda ner en zip-fil som innehåller .cpp, .h och .ino filer. Överför denna zip mapp till Arduino-biblioteket genom att göra följande:
- Öppna windows explorer (eller finder om du använder en Mac).
- Leta upp din Program arkivera broschyren i din C: driva
- I Program-mappen, leta reda på mappen Arduino
- I Arduino-mappen, leta reda på mappen bibliotek.
- Klistra in .zip-filen i mappen bibliotek.
Nu kan du öppna upp din Arduino IDE och tillgång exempelkod är associerade med detta bibliotek genom att gå filen -> exempel -> bibliotek -> Adafruit MLX90614.
När du öppnar denna exempelkod, finns det många saker som bör noteras. Första exempel koden innehåller två bibliotek: Wire.h och AdafruitMLX90614.h. Det första biblioteket tillåter I2C meddelande medan andra hjälper till att fastställa MLX90614 som ett objekt.
Med din Arduino ansluten till din krets, kan du köra ett snabbt test och se exakt vad koden producerar. Du bör märka en relativt korrekt temperatur läsning om du öppnar den Serial monitorn. Om du tycker din krets producerar en felaktig temperatur läsning, gå in den .cpp fil som är associerad med detta bibliotek. I detta dokument ser du metoden readTemp. Koden i metoden tillåter oss att kalibrera utdata är associerad med den temperaturavläsningen. Baserat på utdata du ser, ändra denna kod som behövs för att säkerställa lämpliga.
Vi rekommenderar att lägga till en försening i produktionen av Arduino av ca 1s. Detta gör bara data som ska ut i en takt som är användbara (annars finns det en överväldigande mängd data som genereras).
Du har nu en fungerande termometer! Eftersom det förekommer ingen inspelning mekanism eller ens display, vi behöver lägga till mer funktionalitet.