0% ont trouvé ce document utile (0 vote)
40 vues8 pages

Billy Arduino

billy Arduino

Transféré par

tekousenders
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
40 vues8 pages

Billy Arduino

billy Arduino

Transféré par

tekousenders
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Code Arduino Uno pour un mini portail automatique sans relais

Composants:

* Carte Arduino Uno

* Moteur pas à pas

* Lecteur RFID

* Capteur à ultrasons

* Écran LCD

* Alimentation électrique

Câblage:

* Moteur pas à pas:

* Broches 10, 11, 12, 13 à la carte Arduino Uno

* Lecteur RFID:

* Broche RX à la broche 2 de la carte Arduino Uno

* Broche TX à la broche 3 de la carte Arduino Uno

* Capteur à ultrasons:

* Broche Trig à la broche 9 de la carte Arduino Uno

* Broche Echo à la broche 10 de la carte Arduino Uno

* Écran LCD:

* Broches 8, 9, 4, 5, 6, 7 à la carte Arduino Uno (broches D4 à D9)

Code:

#include <LiquidCrystal.h>

#include <RFID.h>

Const int trigPin = 9;

Const int echoPin = 10;

LiquidCrystal lcd(8, 9, 4, 5, 6, 7); // LCD pins

RFID rfid(2, 3); // RFID pins


Int motorPin1 = 10; // Motor control pin 1

Int motorPin2 = 11; // Motor control pin 2

Int motorPin3 = 12; // Motor control pin 3

Int motorPin4 = 13; // Motor control pin 4

Int switchPin = 3; // Switch pin

Int distance = 0; // Distance from the ultrasonic sensor

Void setup() {

Serial.begin(9600); // Initialize serial communication

Lcd.begin(16, 2); // Initialize LCD display

pinMode(motorPin1, OUTPUT); // Set motor control pins as output

pinMode(motorPin2, OUTPUT);

pinMode(motorPin3, OUTPUT);

pinMode(motorPin4, OUTPUT);

pinMode(switchPin, INPUT); // Set switch pin as input

// Initialize RFID reader

Rfid.init();

Void loop() {

// Read RFID tag

If (rfid.readTag()) {

Serial.print(“Tag ID: “);

Serial.println(rfid.getTag());

openGate(); // Open the gate


}

// Read switch state

If (digitalRead(switchPin) == HIGH) {

openGate(); // Open the gate

// Check for obstacles using ultrasonic sensor

Distance = measureDistance();

If (distance < 50) { // If an obstacle is detected

closeGate(); // Close the gate

lcd.print(“Obstacle detected!”);

} else {

Lcd.print(“Distance: “);

Lcd.print(distance);

Lcd.print(“ cm”);

Void openGate() {

// Control the motor to open the gate

For (int I = 0; I < 100; i++) { // Rotate the motor for a specific number of steps

digitalWrite(motorPin1, HIGH);

delayMicroseconds(1000);

digitalWrite(motorPin1, LOW);

digitalWrite(motorPin2, HIGH);

delayMicroseconds(1000);

digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, HIGH);

delayMicroseconds(1000);

digitalWrite(motorPin3, LOW);

digitalWrite(motorPin4, HIGH);

delayMicroseconds(1000);

digitalWrite(motorPin4, LOW);

Void closeGate() {

// Control the motor to close the gate

For (int I = 0; I < 100; i++) { // Rotate the motor in the opposite direction

digitalWrite(motorPin4, HIGH);

delayMicroseconds(1000);

digitalWrite(motorPin4, LOW);

digitalWrite(motorPin3, HIGH);

delayMicroseconds(1000);

digitalWrite(motorPin3, LOW);

digitalWrite(motorPin2, HIGH);

delayMicroseconds(1000);

digitalWrite(motorPin2, LOW);

digitalWrite(motorPin1, HIGH);

delayMicroseconds(1000);

digitalWrite(motorPin1, LOW);
}

Int measureDistance() {

Long duration;

Code Arduino Uno pour un mini portail automatique

Composants:

* Carte Arduino Uno

* Moteur pas à pas

* Lecteur RFID

* Capteur à ultrasons

* Écran LCD

* Relais

* Alimentation électrique

Câblage:

* Moteur pas à pas:

* Broches 10, 11, 12, 13 à la carte Arduino Uno

* Lecteur RFID:

* Broche RX à la broche 2 de la carte Arduino Uno

* Broche TX à la broche 3 de la carte Arduino Uno

* Capteur à ultrasons:

* Broche Trig à la broche 9 de la carte Arduino Uno

* Broche Echo à la broche 10 de la carte Arduino Uno

* Écran LCD:

* Broches 8, 9, 4, 5, 6, 7 à la carte Arduino Uno (broches D4 à D9)

* Relais:

* Broche IN1 à une broche de la carte Arduino Uno (par exemple, D2)

* Broche IN2 à une autre broche de la carte Arduino Uno (par exemple, D3)
Code:

#include <LiquidCrystal.h>

#include <RFID.h>

const int trigPin = 9;

const int echoPin = 10;

LiquidCrystal lcd(8, 9, 4, 5, 6, 7); // LCD pins

RFID rfid(2, 3); // RFID pins

int relayPin = 2; // Relay pin

int switchPin = 3; // Switch pin

int distance = 0; // Distance from the ultrasonic sensor

void setup() {

Serial.begin(9600); // Initialize serial communication

lcd.begin(16, 2); // Initialize LCD display

pinMode(relayPin, OUTPUT); // Set relay pin as output

pinMode(switchPin, INPUT); // Set switch pin as input

// Initialize RFID reader

rfid.init();

void loop() {

// Read RFID tag

if (rfid.readTag()) {
Serial.print("Tag ID: ");

Serial.println(rfid.getTag());

openGate(); // Open the gate

// Read switch state

if (digitalRead(switchPin) == HIGH) {

openGate(); // Open the gate

// Check for obstacles using ultrasonic sensor

distance = measureDistance();

if (distance < 50) { // If an obstacle is detected

closeGate(); // Close the gate

lcd.print("Obstacle detected!");

} else {

lcd.print("Distance: ");

lcd.print(distance);

lcd.print(" cm");

void openGate() {

digitalWrite(relayPin, LOW); // Activate relay to open the gate

delay(5000); // Wait for 5 seconds

digitalWrite(relayPin, HIGH); // Deactivate relay

void closeGate() {
digitalWrite(relayPin, LOW); // Activate relay to close the gate

delay(5000); // Wait for 5 seconds

digitalWrite(relayPin, HIGH); // Deactivate relay

int measureDistance() {

long duration;

digitalWrite(trigPin, LOW);

delayMicroseconds(2);

digitalWrite(trigPin, HIGH);

delayMicroseconds(10);

digitalWrite(trigPin, LOW);

duration = pulseIn(echoPin, HIGH);

return distance = duration * 0.034 / 2;

Explication du code:

* La fonction setup() initialise les broches, les bibliothèques et le module RFID.

* La fonction loop() vérifie si un tag RFID a été lu ou si l'interrupteur a été activé. Si l'un ou l'autre est
vrai, la fonction openGate() est appelée pour ouvrir le portail.

* La fonction loop() vérifie également la présence d'obstacles à l'aide du capteur à ultrasons. Si un


obstacle est détecté, la fonction closeGate() est appelée pour fermer le portail.

* La fonction openGate() active le relais pendant 5 secondes pour ouvrir le portail.

* La fonction closeGate() active le relais pendant 5 secondes pour fermer le portail.

* La fonction measureDistance() utilise le capteur à ultrasons pour mesurer la distance à un objet.

Remarques:

* Ce code est un exemple

* https://medium.com/geekculture/blindspot-monitoring-system-using-arduino-uno-a5a8dd074280

* https://github.com/bambanggunawanid/projek-pkl

Vous aimerez peut-être aussi