Stap 4: Code de Arduino voor kalibratie en Temp uitlezing
De Arduino is het brood en boter van dit hele apparaat, omdat het doet het grootste deel van het werk dat bij dit project hoort. Programmeren van de Arduino kan gemakkelijk worden gedaan door te lenen aantal van Adafruit code gevonden op GitHub (https://github.com/adafruit/Adafruit-MLX90614-Library).
Deze code doet verschillende dingen. Eerst, stelt het de slaaf/meester relatie nodig voor I2C communicatie. Ten tweede, het creëert een "mlx" klasse waarmee u toegang krijgt tot de slave-object, in dit geval de MLX90614, ongelooflijk gemakkelijk. Ten derde, het biedt handige definities die in handig komen terwijl het doen van programmering nodig voor uw project.
Deze code is een bibliotheek gemaakt door Adafruit. Om het te gebruiken, een .zip bestand downloaden met .cpp en .h Ino bestanden. Breng dit .zip-map in uw bibliotheek van de Arduino door het volgende te doen:
- Open windows verkenner (of finder als je een Mac gebruikt).
- Zoek uw Program Files map in uw C:-schijf
- In de Program Files map, zoek de map van de Arduino
- Zoek in de map van de Arduino, de omslag van bibliotheken.
- Plak het .zip dossier in de omslag van bibliotheken.
Nu, kunt u het openen van uw Arduino IDE en toegang met de voorbeeldcode die is gekoppeld aan deze bibliotheek via Bestand -> voorbeelden -> Bibliotheken -> Adafruit MLX90614.
Bij het openen van deze voorbeeldcode, zijn er veel dingen die moeten worden genoteerd. Ten eerste de code voorbeelden bevat twee bibliotheken: Wire.h en AdafruitMLX90614.h. De eerste bibliotheek staat voor I2C communicatie, terwijl de tweede helpt de MLX90614 vast te stellen als een object.
U kunt met uw Arduino aangesloten op je schakeling, voert u een snelle test en zie precies wat de code produceert. U zou moeten opmerken dat een betrekkelijk nauwkeurige temperatuurmetingen als u de seriële monitor openen. Als je het gevoel alsof je schakeling is het produceren van een onnauwkeurige temperatuurmetingen, gaan in de .cpp-bestand dat is gekoppeld aan deze bibliotheek. In dit document ziet u de readTemp-methode. De code in deze methode laat ons toe om de uitvoer die is gekoppeld aan de temperatuurmetingen kalibreren. Op basis van de output die u ziet, wijzigen deze code zoals die nodig zijn om de juiste uitgang.
Het is raadzaam een vertraging toe te voegen aan de output van de Arduino voor ongeveer 1s. Hierdoor alleen gegevens wordt uitgevoerd in een tempo dat bruikbaar is (anders, er is een overweldigende hoeveelheid gegevens gegenereerd).
U hebt nu een werkende thermometer! Omdat er geen opname mechanisme of zelfs display, moeten we het toevoegen van meer functionaliteit.