Automatische deur met Arduino en ultrasone sensor bouwen
Onderdelen en benodigdheden
- 1× Adafruit RGB Backlight LCD 16x2
- 1× Ultrasone sensor HC-SR04
- 1× Buzzer
- 1× DC-motor
- 1× Arduino UNO
- 1× Motor shield (L293D)
- 1× Dupont-draden (algemeen)
Apps en online services
- Arduino IDE
Over dit project
Automatisch deuropenen met ultrasone sensor HR-SC04
Dit project realiseert een systeem dat automatisch deuren opent en sluit bij detectie van een persoon of object. Het systeem wordt bestuurd door een Arduino-microcontroller en omvat een DC-motor voor de Schuifdeur (tandstang-aandrijving), een LCD voor statusweergave, een buzzer voor geluidssignalen en een controller voor openen/sluiten.
Het is een mechatronisch systeem ontworpen volgens de zeven stappen van mechatronisch ontwerp.
Stap 1: Hardware verzamelen
Materialen:
- Computer met Arduino IDE
- Arduino-controller (UNO R3)
- HR-SC04 ultrasone sensor (bereik 2-400 cm, nauwkeurigheid 3 mm)
- 12V DC-motor (specificaties in origineel)
- LCD 16×2 dot matrix
- Piezo-buzzer
- Motorshield L293D (beschermt Arduino tegen hoge stroom)
- Mechanische elementen (acrylaatplaten voor prototype)
- Dupont-draden
- Voeding
Tools: Multimeter, soldeerbout (optioneel).
Stap 2: Arduino-programma
De code kan direct geüpload worden vanuit de bijgevoegde .ino-file.
Stap 3: Hardware-aansluitingen
Alle componenten aansluiten volgens schema. Pins kunnen aangepast worden aan beschikbare pinnen op je board.
Stap 4: Programma uploaden en voeding
Upload de sketch, voed het systeem en test de werking.
Code
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 8, 9, 1);
const int trigPin = 7;
const int echoPin = 4;
const int mt_En_Pin1 = 2;
const int mt_IN1_Pin2 = 3;
const int mt_IN2_Pin3 = 6;
int buzz = 10;
long duration;
int distance;
void setup() {
lcd.clear();
lcd.begin(16, 2);
lcd.print("WELCOME");
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(mt_En_Pin1, OUTPUT);
pinMode(mt_IN1_Pin2, OUTPUT);
pinMode(mt_IN2_Pin3, OUTPUT);
Serial.begin(9600);
pinMode(buzz, OUTPUT);
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2;
if (distance <= 5) {
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(mt_En_Pin1, HIGH);
analogWrite(mt_IN1_Pin2, 50);
analogWrite(mt_IN2_Pin3, 0);
delay(2000);
analogWrite(mt_IN1_Pin2, 0);
analogWrite(mt_IN2_Pin3, 0);
delay(1000);
tone(buzz, 1000);
delay(1000);
tone(buzz, 1000);
delay(1000);
noTone(buzz);
delay(3000);
lcd.clear();
lcd.setCursor(0, 1);
lcd.print("Please Enter");
delay(1000);
analogWrite(mt_IN1_Pin2, 0);
analogWrite(mt_IN2_Pin3, 50);
delay(3000);
} else {
digitalWrite(13, LOW);
digitalWrite(mt_En_Pin1, LOW);
analogWrite(mt_IN1_Pin2, 50);
analogWrite(mt_IN2_Pin3, 0);
}
}
Aangepaste onderdelen en behuizingen
Schema's
Productieproces
- Bouw een Universele IR-remote met Arduino: Stap-voor-stap Handleiding
- Een Arduino Iron Man bouwen: onderdelen, sensoren en stapsgewijze handleiding
- Find Me: Slimme Item Locator met Arduino en Bluetooth
- Maak een Aangepaste 'Punchable' Toetsenbordknop met Arduino: Stap-voor-Stap Handleiding
- Interactieve LED-matrix deurdisplay met PIR-bewegingsensor – Arduino vakantiegroet
- De massa van de aarde meten met Arduino: een stapsgewijze DIY-gids
- Contactloze Automatische Deuropener met Temperatuurdetectie
- Bouw een Aangepaste Arduino Joystick Stuurwiel voor Gaming
- Maak Muzikale Tonen met Arduino: Stapsgewijze Handleiding
- Arduino Nano eetrobot bouwen: stap-voor-stap handleiding
- Bouw een Real-time Digitale Kompas met Arduino & Processing