Arduino - Solenoid Slot

De Solenoid Slot wordt ook wel Electric Strike Lock genoemd. Het kan worden gebruikt om een kast, lade of deur te vergrendelen of ontgrendelen. In deze handleiding leren we hoe u een solenoid slot kunt bedienen met Arduino.

Een alternatief voor het Solenoid Slot is het Electromagnetic Lock. U kunt hier meer over leren in de Arduino - Electromagnetic Lock tutorial.

Hardware Benodigd

1×Arduino Uno R3
1×USB 2.0 kabel type A/B
1×Solenoid Slot
1×Relais
1×12V Voeding Adapter
1×DC Voeding Jack
1×(Aanbevolen) Schroefklem Block Shield voor Arduino Uno
1×(Aanbevolen) Breadboard-Shield voor Arduino Uno
1×(Aanbevolen) Behuizing voor Arduino Uno
1×(Aanbevolen) Prototyping Basisplaat & Breadboard Kit voor Arduino Uno

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 het Solenoid Slot

Pinout

Het solenoid slot heeft twee draden:

  • Positieve (+) draad (rood): moet verbonden worden met 12V van de DC voeding
  • Negatieve (-) draad (zwart): moet verbonden worden met GND van de DC voeding
Pinout Solenoid Slot

Hoe Het Werkt

  • Wanneer het Solenoid Slot wordt gevoed, wordt de vergrendelingspen (strike) uitgeschoven ⇒ de deur is vergrendeld
  • Wanneer het Solenoid Slot NIET wordt gevoed, trekt de vergrendelingspen (strike) zich terug ⇒ de deur is ontgrendeld

※ Notiz:

Het solenoid slot werkt meestal op 12V, 24V of 48V voeding. Daarom kunnen we het solenoid slot NIET direct op een Arduino pin aansluiten. We moeten het slot via een relais op de Arduino aansluiten.

Als we het solenoid slot verbinden met een relais (normaal-open modus):

  • Wanneer het relais open is, is de deur ontgrendeld
  • Wanneer het relais gesloten is, is de deur vergrendeld

Door de Arduino op het relais aan te sluiten, kunnen we de Arduino programmeren om het solenoid slot te bedienen. Leer meer over relais in de Arduino - Relay tutorial.

Bedradingsschema

Arduino Solenoid Slot Bedradingsschema

This image is created using Fritzing. Click to enlarge image

Het werkelijke bedradingsschema:

Arduino Solenoid Slot echte aansluiting

Arduino Code

De onderstaande code vergrendelt/ontgrendelt de deur iedere 5 seconden

/* * Deze Arduino code is ontwikkeld door newbiely.nl * Deze Arduino code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/arduino/arduino-solenoid-lock */ // constants won't change const int RELAY_PIN = A5; // the Arduino pin, which connects to the IN pin of relay // the setup function runs once when you press reset or power the board void setup() { // initialize digital pin 3 as an output. pinMode(RELAY_PIN, OUTPUT); } // the loop function runs over and over again forever void loop() { digitalWrite(RELAY_PIN, HIGH); // uhlock the door delay(5000); digitalWrite(RELAY_PIN, LOW); // lock the door delay(5000); }

Snelle Stappen

  • Kopieer bovenstaande code en open deze met de Arduino IDE
  • Klik op de Upload knop in de Arduino IDE om de code naar de Arduino te uploaden
  • Bekijk de status van de vergrendelingspen

Arduino - Knop Bedient Solenoid Slot

  • Bedradingsschema
Arduino Knop Solenoid Slot Bedradingsschema

This image is created using Fritzing. Click to enlarge image

  • Arduino Code
/* * Deze Arduino code is ontwikkeld door newbiely.nl * Deze Arduino code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/arduino/arduino-solenoid-lock */ #include <ezButton.h> // constants won't change const int BUTTON_PIN = 12; // Arduino pin connected to button's pin const int RELAY_PIN = A5; // Arduino pin connected to relay's pin ezButton button(BUTTON_PIN); // create ezButton object that attach to pin 12; void setup() { Serial.begin(9600); // initialize serial pinMode(RELAY_PIN, OUTPUT); // set arduino pin to output mode button.setDebounceTime(50); // set debounce time to 50 milliseconds digitalWrite(RELAY_PIN, LOW); // lock the door } void loop() { button.loop(); // MUST call the loop() function first if(button.isPressed()) { Serial.println("The button is pressed"); digitalWrite(RELAY_PIN, HIGH); // unlock the door in 10 seconds delay(10000); // 10 seconds digitalWrite(RELAY_PIN, LOW); // lock the door again } }

Snelle Stappen

  • Installeer de ezButton library. Zie Hoe te doen
  • Kopieer bovenstaande code en open het met Arduino IDE
  • Klik op de Upload knop in Arduino IDE om de code te uploaden naar Arduino
  • Druk één keer op de knop
  • Bekijk de status van de vergrendelingspen gedurende 10 seconden

※ Notiz:

In bovenstaande code gebruiken we de delay functie. Daarom is debouncing van de knop niet nodig. We bieden echter ook code met debouncing aan voor het geval u meer taken wilt uitvoeren zonder delay te gebruiken. Zie Hoe millis() te gebruiken in plaats van delay()

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.

Bekijk onze video-tutorial voor een visuele begeleiding bij dit project! De video biedt extra inzichten en helpt u snel aan de slag te gaan met het Solenoid Slot en Arduino.

Opmerkingen

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