Arduino Nano - Deursensor - Servo Motor

Deze tutorial legt uit hoe u een Arduino Nano en een deursensor gebruikt om een servo motor aan te sturen. In detail:

Deze procedure wordt telkens herhaald.

Hardware Vereist

1×Official Arduino Nano
1×Alternatief: DIYables ATMEGA328P Nano Development Board
1×USB A naar Mini-B USB-kabel
1×Deursensor
1×Servomotor
1×Jumper Draden
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 Servo Motor en Deursensor

Als u niet bekend bent met servo motoren en deursensoren (inclusief pinouts, hoe ze werken en hoe u ze programmeert), kunnen de volgende tutorials u helpen:

Aansluitdiagram

Arduino Nano deursensor servo motor aansluitdiagram

This image is created using Fritzing. Click to enlarge image

Let op: het hierboven getoonde aansluitdiagram is alleen geschikt voor een servo motor met een laag koppel. Als de motor trilt in plaats van te draaien, moet een externe voeding worden gebruikt om meer stroom aan de servo motor te leveren. Hieronder ziet u het aansluitdiagram met een externe voeding voor de servo motor.

Arduino Nano deursensor servo motor externe voeding aansluitdiagram

This image is created using Fritzing. Click to enlarge image

Vergeet niet de GND van de externe voeding te verbinden met de GND van de Arduino Nano.

Arduino Nano Code - Deursensor Bestuurt Servo Motor

/* * 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-servo-motor */ #include <Servo.h> #define DOOR_SENSOR_PIN 3 // The Arduino Nano pin connected to the door sensor's pin #define SERVO_PIN 2 // The Arduino Nano pin connected to the servo motor Servo servo; // create servo object to control a servo int angle = 0; // The current angle of servo motor 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 servo.attach(SERVO_PIN); // attaches the servo on pin 9 to the servo object servo.write(angle); 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 == LOW && door_state == HIGH) { Serial.println("The door-opening event is detected"); // change angle of servo motor if (angle == 0) angle = 90; else if (angle == 90) angle = 0; // rotate the servo motor to the angle position servo.write(angle); } }

Snelle Stappen

  • Verbind een Arduino Nano met uw computer via een USB-kabel.
  • Open de Arduino IDE, selecteer de juiste board en poort.
  • Kopieer de meegeleverde 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.
  • Breng een magneet dicht bij de reed switch en haal deze weer weg. Herhaal dit meerdere keren.
  • Bekijk de hoek waarnaar de servo motor draait.

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.

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