ESP8266 WiFi – LDR uitlezen (MCP3008/ArduinoIDE)
Deze pagina beschrijft hoe je een LDR (lichtgevoelige weerstand) kan uitlezen op de ESP8266 met behulp van de MCP3008 chip en ArduinoIDE firmware.
Hardware:
De LDR
De weerstand van de LDR is afhankelijk van de hoeveelheid licht. De afkorting LDR betekend lightdepent resistance. In het donker is de weerstand erg groot. Dan kan het wel tot 10 000 000 ohm. Als er fel licht op de LDR valt, is de weerstand kleiner. (100 ohm, afhankelijk van het type LDR)
Een LDR kan je gebruiken als sensor in een lichtsterktemeter. Hoe meer licht er op de LDR valt:
– des te kleiner de weerstand van de LDR
– en des te groter is de stroomsterkte van de LDR.
Om de LDR uit te lezen heb je een vaste weerstand nodig (bijvoorbeeld 220 ohm of 1K ohm), de weerstand functioneert dan als een spanningsdeler, zo kun je de spanning aflezen via de analoge uitgang (waarde 5v = 1024, waarde 0v = 0)
Aansluiten op de ESP-12 module
Wat heb je nodig?
1) ArduinoIDE software
2) ESP8266 ArduinoIDE board/omgeving
3) Arduino MCP3008 bibliotheek
4) Een weerstand 220 of 1000 Ohm (afhankelijk van je LDR waarde)
Sluit de LDR + MCP3008 aan zoals aangegeven op onderstaand schema:
Script
Met onderstaande script kun je de LDR uitlezen via de MCP3008:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
#include <MCP3008.h> // MCP3008 pin configuratie #define CLOCK_PIN 2 #define MISO_PIN 5 #define MOSI_PIN 4 #define CS_PIN 14 MCP3008 adc(CLOCK_PIN, MOSI_PIN, MISO_PIN, CS_PIN); // configureer de MCP3008 constructor. void setup() { Serial.begin(9600); // Start de seriele poort op 9600 baud. } void loop() { // print LDR waarde via seriele monitor Serial.print("LDR waarde: "); Serial.print(adc.readADC(0)); // lees kanaal 1 van de MCP3008 ADC. Serial.println(""); delay(100); // wacht 100 ms } |