Stap 2: Arduino code, bekabeling en eerste testen
OK, zoals het uitgangssignaal is een analoge spanning, is de bedrading van de Arduino en de schets heel eenvoudig. De sensor, pins naar beneden en naar boven, de tekst is:
- verlaten stift: Vdd -> naar 5v van de Arduino
- middelste pin: Vout-pin van de arduino A0 >
- rechts pin: GND -> naar arduino GND
De code is gekoppeld. Het is een eenvoudige analoge lezing. Als u de maatregel wilt nauwkeuriger, gebruik ik een eenvoudige lus om 5 temperaturen waarden en voor het berekenen van de gemiddelde temperatuur.
Op bladzijde 11 van het gegevensblad, de sensor formule voor de functie van de overdracht wordt gegeven: Vout Tc = * Ta + V0c
Met:
- Vout: de output spanning (lees van de arduino)
- TC: Temperatuurcoëfficiënt
- Ta: Omgevingstemperatuur (we zijn op zoek naar deze waarde)
- V0c: sensor uitgangsspanning bij 0° C
Deze laatste waarde is gegeven in het "DC elektrische karakteristieken" tabel, pagina 3 van het gegevensblad. Voor mijn sensor (de MCP9700), is deze waarde 500 mV.
Het betekent dat, voor mijn Arduino, dat de omgevingstemperatuur temp formule is:
Temperatuur = ((TensionAnalog /204.8) - 0,5) / 0.01;
- TensionAnalog is de ruwe waarde ontleend aan de analoge pin. De arduino ADC is een bereik van 10 bits, dus het lezen waardebereik 1024 is (2 ^ 10) voor 5 volt, en 0 voor 0 volt. Dus om een waarde in volt, moet u de analoge waarde delen door 1024/5 = 204.8
- De 0,5 is de waarde V0C in volt (500 mV)
- 0,01 is de temperatuurcoëfficiënt Tc (10 mV / ° C)
Mij troep opwaarts de sensor en de sensor van mijn weerstation op mijn raam, om het vergelijken van de temperaturen.
Na een paar minuten staat mijn station dat de omgevingstemperatuur 26.4. Ondertussen, de sensor zegt dat de temperatuur... 24,8 ° C. Wij zijn in de tolerantie van de Microchip, maar niet genoeg nauwkeurige.
Laten we dit te veranderen!