Arduino UNO R4 - Deursensor

Deze tutorial leert u hoe u een Arduino UNO R4 en een deursensor kunt gebruiken om de open of gesloten staat van uw deur of raam te monitoren. We leren hoe u de deursensor installeert en aansluit op de Arduino, en vervolgens hoe u de Arduino programmeert om de staat van de deursensor uit te lezen.

Arduino UNO R4 deursensor

Over de Deursensor

Pinout

De deursensor bestaat uit twee delen:

  • Een reed switch met twee metalen connectoren
  • Een magneet
Deursensor Pinout

Net als een gewone schakelaar of knop hoeven we GEEN onderscheid te maken tussen de twee pinnen van de reed switch.

Hoe het Werkt

De magneet wordt bevestigd aan de deur of het raam dat beweegt, en de reed switch wordt bevestigd aan het deurkozijn dat niet beweegt. Wanneer de deur gesloten is, zijn deze twee delen dicht bij elkaar.

  • Wanneer de magneet dicht bij de reed switch is, sluit het reed switch circuit.
  • Wanneer de magneet ver van de reed switch is, opent het reed switch circuit.
Deursensor Hoe het Werkt Pinout

※ Notiz:

De reed switch geeft GEEN LOW of HIGH signalen direct. Het toont alleen open of gesloten toestanden. Hoe we deze aansluiten op de Arduino UNO R4 bepaalt of de pin LOW, HIGH leest, of een zwevende waarde heeft (wat onvoorspelbaar is). Om deze zwevende waarde te voorkomen, moeten we een pull-up of pull-down weerstand aansluiten op de pin van de Arduino UNO R4.

Als we een pin van de reed switch aansluiten op GND, en de andere pin op een input pin van de Arduino UNO R4 met een pull-up weerstand (deze kan ingebouwd zijn of apart toegevoegd):

  • Wanneer de magneet dicht bij de reed switch is, leest de Arduino UNO R4 input pin LOW.
  • Wanneer de magneet ver van de reed switch is, leest de Arduino UNO R4 input pin HIGH.

Dus:

  • Om erachter te komen of de deur open of gesloten is, kijk naar de input pin van de Arduino UNO R4:
    • Als de pin LOW toont, is de deur gesloten.
    • Als de pin HIGH toont, is de deur open.
  • Om te weten wanneer de deur opent of sluit, let op veranderingen in de staat van de Arduino UNO R4 input pin:
    • Een verandering van LOW naar HIGH betekent dat de deur opengaat.
    • Een verandering van HIGH naar LOW betekent dat de deur sluit.

Bedradingsschema

Arduino UNO R4 Deursensor Bedradingsschema

This image is created using Fritzing. Click to enlarge image

Zie De beste manier om Arduino Uno R4 en andere componenten van stroom te voorzien.

Hoe te Programmeren voor Deursensor

  • De Arduino UNO R4 pin wordt ingesteld op digitale input modus met behulp van de functie pinMode(). Bijvoorbeeld pin 9.
pinMode(9, INPUT_PULLUP);
  • Leest de staat van de Arduino UNO R4 pin met behulp van de digitalRead() functie.
int door_state = digitalRead(9);

Arduino UNO R4 Code - Controleer Deur Open en Gesloten Staat

/* * Deze Arduino UNO R4 code is ontwikkeld door newbiely.nl * Deze Arduino UNO R4 code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/arduino-uno-r4/arduino-uno-r4-door-sensor */ #define DOOR_SENSOR_PIN 9 // The Arduino UNO R4 pin connected to door sensor's pin int door_state; void setup() { Serial.begin(9600); // initialize serial pinMode(DOOR_SENSOR_PIN, INPUT_PULLUP); // set arduino pin to input pull-up mode } void loop() { door_state = digitalRead(DOOR_SENSOR_PIN); // read state if (door_state == HIGH) { Serial.println("The door is open"); } else { Serial.println("The door is closed"); } }

Snelle Stappen

Volg deze instructies stap voor stap:

  • Als dit uw eerste keer is met de Arduino Uno R4 WiFi/Minima, raadpleeg dan de tutorial over het instellen van de omgeving voor Arduino Uno R4 WiFi/Minima in de Arduino IDE.
  • Verbind de componenten volgens het meegeleverde schema.
  • Verbind het Arduino Uno R4 board met uw computer met behulp van een USB kabel.
  • Start de Arduino IDE op uw computer.
  • Selecteer het juiste Arduino Uno R4 board (bijv., Arduino Uno R4 WiFi) en COM poort.
  • Kopieer de bovenstaande code en open deze in Arduino IDE.
  • Klik op de Upload knop in Arduino IDE om de code naar de Arduino UNO R4 te uploaden.
  • Breng de magneet dicht bij de reed switch en verplaats deze vervolgens weg van de reed switch.
  • Controleer de resultaten op de Serial Monitor.
COM6
Send
The door is open The door is open The door is closed The door is closed The door is closed The door is closed The door is closed The door is open The door is open
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Arduino UNO R4 Code - Detecteer Deur-opening en Deur-sluiting Events

/* * Deze Arduino UNO R4 code is ontwikkeld door newbiely.nl * Deze Arduino UNO R4 code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/arduino-uno-r4/arduino-uno-r4-door-sensor */ #define DOOR_SENSOR_PIN 9 // The Arduino UNO R4 pin connected to door sensor's pin int door_state; // current state of door sensor int prev_door_state; // previous state of door sensor void setup() { Serial.begin(9600); // initialize serial pinMode(DOOR_SENSOR_PIN, INPUT_PULLUP); // set arduino pin to input pull-up mode door_state = digitalRead(DOOR_SENSOR_PIN); // read state } void loop() { prev_door_state = door_state; // save the last state door_state = digitalRead(DOOR_SENSOR_PIN); // read new state if (prev_door_state == LOW && door_state == HIGH) { // state change: LOW -> HIGH Serial.println("The door opening is detected"); // TODO: turn on alarm, light or send notification ... } else if (prev_door_state == HIGH && door_state == LOW) { // state change: HIGH -> LOW Serial.println("The door closing is detected"); // TODO: turn off alarm, light or send notification ... } }
  • Kopieer de code en open deze in de Arduino IDE.
  • Klik op de Upload knop in de Arduino IDE om de code naar uw Arduino UNO R4 over te zetten.
  • Breng een magneet dicht bij de reed switch en verplaats deze vervolgens weg van de reed switch.
  • Controleer de resultaten op de Serial Monitor.
COM6
Send
The door closing is detected The door opening is detected
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Video Tutorial

We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.

Gerelateerde Tutorials

※ ONZE BERICHTEN

  • U bent welkom om de link naar deze tutorial te delen. Gebruik onze inhoud echter niet op andere websites. We hebben veel moeite en tijd gestoken in het maken van de inhoud, respecteer alstublieft ons werk!