ESP8266 WiFi – Temperatuur sensor TMP36 (MCP3008/ArduinoIDE)

Deze pagina beschrijft hoe je een TMP36 analoge temperatuursensor kan uitlezen op de ESP8266 met behulp van de MCP3008 chip en ArduinoIDE firmware.

Hardware

TMP36
De TMP36 is een analoge (laag-voltage) precisie temperatuur sensor, hij heeft een lineaire uitgang dat zowaar gelijk is met het aantal graden, de sensor heeft geen hardwarematige kalibratie nodig.

Afwijking: ±1°C bij +25°C / ±2°C bij −40°C en +125°C

Specificaties:

  • Voltage: 2.7 V to 5.5 VDC
  • 10 mV/°C schaal factor
  • ±2°C precisie over de temperatuur
  • ±0.5°C linearity
  • Operating Range: −40°C to +125°C

Pinout

TMP36 - pinout 
Pin:Functie
1+Vs (2.7v tot 5.5v)
2Analoge uitgang
3GND

Hoe werkt het?

De sensor geeft een voltage via de analoge pin, dat is 10 mV per graad, daar moet je 500 mV (0,5V) aftrekken en dan x 100 vermenigvuldigen.

Voorbeeld:
Is de waarde 0,71 volt dan is de temperatuur 0,71 – 0,5 = 0,21 * 100 = 21 graden.

TMP36 - grafiek

Aansluiten op de ESP-12 module

Wat heb je nodig?
1) ArduinoIDE software
2) ESP8266 ArduinoIDE board/omgeving
3) Arduino MCP3008 bibliotheek
4) Condensator 0.1uF

Sluit de TMP36 + MCP3008 aan zoals aangegeven op onderstaand schema:

esp89266 esp-12 met MCP3008 en TMP36

Script

Met onderstaande script kun je de TMP36 uitlezen via de MCP3008:

Als je nu via de Arduino software de “seriële monitor” opent, is dit het resultaat:

TMP36 - arduino console output