Stap 5: Software
Voor het compileren van de software voor dit gecombineerd IR en Type K thermokoppel module moet u eerst het installeren van drie (3) bibliotheken. De pfodIRTemp bibliotheek voor de IR-sensor voor temperatuur, de pfodMAX31855 -bibliotheek voor de Adafruit type K thermokoppel module, de pollingAnalogRead -bibliotheek voor de controle van de spanning van de batterij. Na het installeren van deze 3 bibliotheken kunt u compileren de schets van de CombinedIRTypeK.ino .
Freetronics en Adafruit leveren bibliotheken voor de IR-sensor en de module van de thermokoppel type K, respectievelijk. Echter deze bibliotheken gebruiken wachten loops en vertragingen voor het verzamelen van de lezingen, hoewel de vertragingen in de Ardafruit K thermokoppel typebibliotheek klein zijn. Met behulp van deze bibliotheken zou blokkeren de FioV3 van de behandeling van pfod opdrachten en antwoorden versturen wanneer een temperatuur lezing werd gemaakt.
Om dit te overwinnen en te houden van de FioV3 inspelen op bluetooth/wifi communicatie schreef ik nieuwe bibliotheken die vermeden gebruik wachten loops en vertragingen.
Zoals hierboven vermeld bevat het FioV3 bord een ingebouwde batterijlader. De code voor deze module bevat ook een spanningsbeveiliger batterij zodat u wordt gewaarschuwd wanneer de module moet worden aangesloten op de USB de accu bij te laden. Het lezen van de accuspanning vereist een A/D-conversie, maar de methode van de AnalogRead() geboden door de standaardcode Arduino kent twee tekortkomingen. Een het blokkeert de hoofdlus wanneer een AnalogRead() doorgaans 15 tot 22mS vertraging voor elke AnalogRead() plaatsvindt. De tweede fout is dat de standaard bibliotheek voor de Arduino niet het eerste resultaat negeren doet nadat de referentie spanning heeft gewijzigd, zoals aanbevolen door de Atmel datasheets voor de micro-processors gebruikt door de Arduino. De pollingAnalogRead bibliotheek beide die problemen oplost en wordt gebruikt door deze software.
Kalibratie van de batterij meting
De spanning van de referentie voor de ADC heeft brede tolerantie (+/-10%), zodat de batterij spanning meting moet worden gekalibreerd. In mijn geval ik 4.14V voor 586 telt, d.w.z. graven gemeten * 0.0071 == volt. Dus een cutoff spanning van 3.6V = 510 telt. Daaronder verschijnt het menu "Opladen Now" \
Conclusie
Tot zover deze build.