Analoge sensoren
Analoge sensoren geven een spanning af tussen 0volt en 3.3 volt. Wanneer deze spanning wordt ingelezen via één van de analoge ingangen van de controller wordt deze spanning omgezet in een waarde tussen 0 en 1023 (10 bit).
Deze waarde zal recht of omgekeerd evenredig zijn met de gemeten grootheid, maar is niet noodzakelijk lineair.
De gemeten waarde geeft dus de gemeten spanning weer en zal nog moeten gekalibreerd worden (door deze te vergelijken met een geijkte meter) om een gemeten grootheid weer te geven.
Potentiometer – regelbare weerstand
Een potentiometer of variabele weerstand bestaat intern uit een ronde baan met weerstandsmateriaal. Tussen de twee buitenste pinnen meet je altijd de volledige weerstand. Door aan de potmeter te draaien schuift er intern een geleidende loper over deze weerstandsbaan. Deze loper in geconnecteerd met de middelste pin. Door de potmeter op deze manier aan te sluiten kan je de ingelezen waarde laten variëren tussen 0 en 1023.
.
Joystick – regelbare weerstand
Deze joystick bestaat uit twee potentiometers en 1 drukknop. Deze potmeters zijn in te lezen als analoge ingang. De drukknop is in te lezen als digitale ingang.
Programmatie Analoge sensoren
Analoge sensoren kunnen allemaal met hetzelfde basisprogramma worden ingelezen.
Basisprogramma Analoge sensoren
// Brainbox iot - e2cre8.be - Jan 2021 // Demoprogramma inlezen analoge sensoren #define sensorPin A0 // bepaal op welke ANaloge pin het signaal wordt ingelezen int sensorValue = 0; // Declareer variabele void setup() { Serial.begin(9600); // init seriele monitor } void loop() { sensorValue = analogRead(sensorPin); // lees analoge waarde in variabele Serial.print("Analog Value : "); // print tekst op seriele monitor Serial.println(sensorValue); // print waarde op seriele monitor delay(1000); // Wacht 1 sec }
Demo-programma voor alle Aan/Uit sensoren
Onderstaand demo programma is ideaal om de werking van uw Aan/uit sensor te testen. Open zeker ook de Seriële Plotter via >> Hulpmiddelen >> Seriële plotter. Die geeft mooi grafisch weer welke meetwaarde de sensor weergeeft.
/*E2CRE8 - Dec2021 - Demoprogramma Digitale (ON/OFF) Sensors * Als de input een hoog signaal geeft, zal de led op het processorbordje branden. * Zet zeker ook de Seriele plotter open - deze geeft mooi grafisch weer hoe de input reageert. */ #define Led LED_BUILTIN //define LED pin #define Din 21 //define digital input pîn int val; //define digital variable val void setup() { pinMode(Led, OUTPUT); //define LED as a output port pinMode(Din, INPUT); //define shock sensor as a output port Serial.begin(9600); } void loop() { val = digitalRead(Din); //read the value of the digital interface to val if (val == HIGH) //Wanneer de input hoog is { digitalWrite(Led, HIGH); // LED AAN Serial.print("ON/OFF VALUE IS:" ); // print text (enkel seriele monitor) Serial.println(1); // print waarde - ook seriele plotter } else { digitalWrite(Led, LOW); // LED UIT Serial.print("ON/OFF VALUE IS:" ); // print text (enkel seriele monitor) Serial.println(0); // print waarde } delay(10); // deze delay staat hier enkel om de seriele plotter te vertragen - mag weggehaald worden }