Arduino Nano - Deursensor - LED

Deze tutorial legt uit hoe u de Arduino Nano en een deursensor gebruikt om de LED te besturen. We behandelen twee verschillende toepassingen:

Toepassing 1 - De LED gaat aan als de deur open is en uit als de deur gesloten is. De toestand van de LED is gesynchroniseerd met de status van de deursensor. In detail:

Toepassing 2 - De LED verandert van status (aan/uit) elke keer dat de deur geopend wordt. Meer specifiek:

Hardware Benodigd

1×Official Arduino Nano
1×Alternatief: DIYables ATMEGA328P Nano Development Board
1×USB A naar Mini-B USB kabel
1×Deursensor
1×LED Kit
1×LED (red)
1×220 ohm weerstand
1×Breadboard (experimenteerprint)
1×Jumperdraden
1×(Aanbevolen) Schroefklem Uitbreidingsboard voor Arduino Nano
1×(Aanbevolen) Breakout Uitbreidingsboard voor Arduino Nano
1×(Aanbevolen) Stromsplitter voor Arduino Nano

Of u kunt de volgende kits kopen:

1×DIYables Sensorkit (30 sensoren/displays)
1×DIYables Sensorkit (18 sensoren/displays)
Openbaarmaking: Sommige van de links in deze sectie zijn Amazon-affiliate links. We kunnen een commissie ontvangen voor aankopen die via deze links worden gedaan, zonder extra kosten voor u. We waarderen uw steun.

Over LED en Deursensor

Als u niet bekend bent met een LED en deursensor (inclusief pinout, werking en programmering), kunnen de volgende tutorials u helpen:

Bedradingsschema

Arduino Nano deursensor LED bedrading schema

This image is created using Fritzing. Click to enlarge image

Toepassing 1 - De LED staat in sync met de status van de deursensor

Arduino Nano Code

/* * Deze Arduino Nano code is ontwikkeld door newbiely.nl * Deze Arduino Nano code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/arduino-nano/arduino-nano-door-sensor-led */ #define DOOR_SENSOR_PIN 2 // The Arduino Nano pin connected to the door sensor's pin #define LED_PIN 3 // The Arduino Nano pin connected to the LED int door_state; void setup() { Serial.begin(9600); // Initialize the Serial to communicate with the Serial Monitor. pinMode(DOOR_SENSOR_PIN, INPUT_PULLUP); // set arduino pin to input pull-up mode pinMode(LED_PIN, OUTPUT); // set arduino pin to output mode } void loop() { door_state = digitalRead(DOOR_SENSOR_PIN); // read state if (door_state == HIGH) { Serial.println("The door is open");; digitalWrite(LED_PIN, HIGH); // turn on LED } else { Serial.println("The door is closed"); digitalWrite(LED_PIN, LOW); // turn off LED } }

Snel aan de slag

  • Verbind een Arduino Nano via een USB-kabel met uw computer.
  • Start de Arduino IDE en selecteer het juiste board en de juiste poort.
  • Kopieer de code en open deze in de Arduino IDE.
  • Klik op de Upload knop in de Arduino IDE om de code te compileren en te uploaden naar de Arduino Nano.
Arduino IDE Upload Code
  • Open en sluit de deur.
  • Bekijk de verandering in de LED-status.

U zult zien dat de LED-status synchroon loopt met de status van de deursensor.

Code-uitleg

Bekijk de regel-voor-regel uitleg die in de commentaren van de broncode is opgenomen!

Toepassing 2 - Deursensor schakelt LED aan/uit

Arduino Nano Code - Deursensor schakelt LED aan/uit

/* * Deze Arduino Nano code is ontwikkeld door newbiely.nl * Deze Arduino Nano code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/arduino-nano/arduino-nano-door-sensor-led */ #define DOOR_SENSOR_PIN 2 // The Arduino Nano pin connected to the door sensor's pin #define LED_PIN 3 // The Arduino Nano pin connected to the LED int led_state = LOW; // The current state of LED int prev_door_state; // The previous state of door sensor int door_state; // The current state of door sensor void setup() { Serial.begin(9600); // Initialize the Serial to communicate with the Serial Monitor. pinMode(DOOR_SENSOR_PIN, INPUT_PULLUP); // set arduino pin to input pull-up mode pinMode(LED_PIN, OUTPUT); // set arduino pin to output mode door_state = digitalRead(DOOR_SENSOR_PIN); } void loop() { prev_door_state = door_state; // save the last state door_state = digitalRead(DOOR_SENSOR_PIN); // read new state if (prev_door_state == HIGH && door_state == LOW) { // state change: HIGH -> LOW Serial.println("The door-closing event is detected"); // toggle state of LED led_state = !led_state; // control LED according to the toggled state digitalWrite(LED_PIN, led_state); } }

Code-uitleg

U vindt de uitleg in de commentaarregels van de bovenstaande Arduino Nano code.

In de code is de uitdrukking led_state = !led_state gelijk aan de volgende code:

if(led_state == LOW) led_state = HIGH; else led_state = LOW;

Snel aan de slag

  • Kopieer de code en open deze in de Arduino IDE.
  • Upload de code naar de Arduino Nano.
  • Open en sluit de deur meerdere keren.
  • Bekijk de verandering in de LED-status.

U zult zien dat de LED-status elke keer verandert zodra de deur wordt geopend.

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.

Reacties

※ 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!