Aan/uit sensoren – Reed-schakelaar
Een Reed- schakelaar bestaat uit ene glazen buisje met daarin twee metalen contacten. Als je met een magneet in de buurt komt van het contact zal het contact sluiten.
Aan/uit sensoren zijn sensoren die enkel TRUE of FALSE weergeven – 1 of 0. Afhankelijk van het type sensor wordt er een andere situatie ‘gemeten’ – schakelaar wel of niet ingedrukt, wel of geen magneet in de buurt, wel of geen geluid gemeten, ….
Hieronder ziet u per Aan/uit sensor een beschrijving van de aansluiting en werking.
Het testprogramma onderaan deze pagina is identiek voor al deze Aan/uit sensoren.
Reed-contact (magnetisme)
Deze sensor bestaat uit twee geleidende plaatjes in een glazen buisje. Wanneer je met een magneet in de buurt komt van dit buisje, dan zal het contact sluiten.
Deze sensor geeft een “1” als als het contact niet gesloten is en een “0” als als dat wel zo is. De blauwe pin mag aan eender welke IO pin van de controller verbonden worden.
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 }