
Une barrière de chemin de fer est un dispositif de sécurité utilisé pour bloquer l’accès à une voie ferrée afin de protéger les personnes et les véhicules des trains en circulation. Les barrières de chemin de fer sont généralement placées à l’entrée des passages à niveau et sont actionnées par un système de détection de mouvement qui active les barrières lorsqu’un train approche.
Les barrières de chemin de fer sont généralement constituées d’un bras métallique qui s’abaisse pour bloquer l’accès à la voie ferrée. Elles peuvent être manuelles, c’est-à-dire actionnées par un opérateur, ou automatiques, c’est-à-dire actionnées par un système de détection de mouvement. Les barrières de chemin de fer sont souvent accompagnées de panneaux d’avertissement et de feux clignotants pour alertes les personnes de l’arrivée d’un train.
Les barrières de chemin de fer sont un élément important de la sécurité ferroviaire et sont utilisées dans de nombreux pays à travers le monde pour protéger les personnes et les véhicules des trains en circulation.
Une barrière de chemin de fer contrôlée par Arduino est une barrière de chemin de fer qui est actionnée et commandée par un microcontrôleur Arduino. Arduino est une plateforme de développement de matériel et de logiciel open source qui permet aux utilisateurs de créer des projets électroniques en utilisant un microcontrôleur et des capteurs.
Pour contrôler une barrière de chemin de fer avec Arduino, il est nécessaire de connecter le microcontrôleur Arduino à un moteur ou un servomoteur qui actionne la barrière. Le microcontrôleur peut être programmé pour exécuter différentes actions en fonction de l’état de la voie ferrée et de l’approche d’un train. Par exemple, il peut être programmé pour abaisser la barrière lorsqu’un train approche et la relever lorsque le train a passé.
Il est également possible de connecter des capteurs de mouvement ou de distance à l’Arduino pour détecter l’approche d’un train et déclencher l’actionnement de la barrière en conséquence. En utilisant Arduino, il est possible de créer une barrière de chemin de fer automatisée qui peut être contrôlée de manière précise et fiable.
Dans ce projet, nous allons réaliser un système qui simulent le fonctionnement des barrières automatiques pour les chemins de fer des trains.
Nous allons concevoir ce système en utilisant:
Carte Arduino UNO
Une carte Arduino est une carte de développement électronique basée sur un microcontrôleur. Elle est conçue pour être facilement utilisable par les développeurs et les hobbyistes pour créer des projets électroniques.
Les cartes Arduino sont principalement utilisées pour contrôler des appareils électroniques en utilisant du code informatique, mais elles peuvent également être utilisées pour traiter et afficher des données. Elles sont souvent utilisées dans des projets de robotique, de domotique, de domaine de l’Internet des objets (IoT) et dans de nombreux autres domaines de l’électronique de loisir et professionnelle.
2 Capteurs HC-SR04
Le capteur HC-SR04 est un capteur de distance à ultrasons qui peut être utilisé pour mesurer la distance entre l’objet et le capteur en envoyant une impulsion ultrasonore et en mesurant le temps qu’il faut pour qu’elle soit renvoyée. Le capteur HC-SR04 comprend deux éléments transducteurs ultrasonores, un émetteur et un récepteur. L’émetteur envoie une impulsion ultrasonore qui est renvoyée par l’objet lorsqu’elle heurte sa surface. Le récepteur reçoit l’impulsion renvoyée et le temps qui s’écoule entre l’envoi de l’impulsion et sa réception est mesuré. La distance de l’objet peut alors être déterminée en utilisant la vitesse de l’onde ultrasonore et le temps mesuré.
Le capteur HC-SR04 est largement utilisé dans les projets de robotique et de domotique car il est peu coûteux, facile à utiliser et fiable. Il peut être facilement connecté à un microcontrôleur ou à un ordinateur pour permettre la mesure de la distance et la prise de décision en conséquence.
2 servomoteurs
Un servomoteur est un moteur électrique qui peut être utilisé pour commander la position, la vitesse ou la force d’un système mécanique. Les servomoteurs sont souvent utilisés dans les applications de contrôle de mouvement précis, telles que les robots, les systèmes de positionnement et les machines-outils.
Un servomoteur comprend un moteur électrique, un réducteur et un dispositif de commande. Le moteur électrique est utilisé pour fournir la force de déplacement. Le réducteur est utilisé pour réduire la vitesse et augmenter la force du moteur. Le dispositif de commande est utilisé pour contrôler la position, la vitesse ou la force du servomoteur.
Il existe plusieurs types de servomoteurs, qui diffèrent principalement par leur méthode de commande et par leur capacité de déplacement. Les servomoteurs peuvent être commandés par impulsion, par tension ou par courant. Ils peuvent également être classés selon leur capacité de déplacement en servomoteurs linéaires et en servomoteurs rotatifs.
module d’alimentation 3.3V/5V
Un module d’alimentation 3.3V/5V est un dispositif électronique utilisé pour fournir une tension de 3,3 volts ou de 5 volts à un circuit électrique. Ces modules sont souvent utilisés pour alimenter des cartes de développement électronique, des capteurs et d’autres dispositifs électroniques qui nécessitent une tension de fonctionnement stable et précise.
des LEDs
Une LED (Light Emitting Diode, ou diode électroluminescente) est un dispositif électronique qui émet de la lumière lorsqu’un courant électrique le traverse. Les LEDs sont souvent utilisées comme sources de lumière dans les équipements électroniques, les panneaux d’affichage et les éclairages, en raison de leur faible consommation d’énergie et de leur durée de vie relativement longue.
plaque d’essai
Une plaque d’essai est un type de carte de développement électronique qui permet aux développeurs de tester et de prototyper facilement des circuits électroniques. Elles sont souvent utilisées par les développeurs pour tester rapidement des idées et des conceptions avant de les intégrer à un projet plus important ou de les intégrer dans une carte de développement plus permanente.
Les plaques d’essai sont généralement basées sur un microcontrôleur, qui est un processeur facile à utiliser et à programmer qui peut être utilisé pour contrôler une variété de circuits électroniques. Les plaques d’essai incluent généralement des broches d’extension qui permettent de connecter facilement des composants électroniques tels que des capteurs, des afficheurs, des moteurs et d’autres composants.
fils de connexion
Les fils de connexion sont des fils électriques utilisés pour connecter des composants électroniques à une carte de développement ESP32. Ils sont généralement utilisés pour connecter des capteurs, des actionneurs, des afficheurs et d’autres composants à la carte ESP32 afin de créer des circuits électroniques.
Il existe deux types de fils de connexion: les fils de connexion mâle-mâle et les fils de connexion mâle-femelle. Les fils de connexion mâle-mâle sont utilisés pour connecter des composants qui ont tous deux des broches mâles, tandis que les fils de connexion mâle-femelle sont utilisés pour connecter des composants avec une broche mâle et une broche femelle.
Les fils de connexion sont généralement fabriqués en cuivre ou en alliage de cuivre et sont revêtus d’un isolant en plastique pour protéger les fils électriques et empêcher les courts-circuits. Ils sont disponibles dans une variété de couleurs pour aider à identifier et organiser les différents fils dans un circuit.
train jouet
Pour faire le montage, on a connecté:
Pour le premier capteur sonore HC-SR04 :
Pour le deuxième capteur sonore HC-SR04 :
Pour le premier servomoteur:
Pour le deuxième servomoteur:
Pour les LEDs:
Voici les programmes micropython qui permettent de :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
#include <HCSR04.h> #include <Servo.h> Servo monServomoteur1; Servo monServomoteur2; const int LED1=2; const int servo1Pin=3; const int trig1Pin = 4; const int echo1Pin = 5; const int LED2=6; const int servo2Pin=7; const int trig2Pin = 8; const int echo2Pin = 9; int position1 = 90; int position2=90; // initialisation du 1er capteur avec les broches utilisees. UltraSonicDistanceSensor distanceSensor1(trig1Pin, echo1Pin); // initialisation du 2eme capteur avec les broches utilisees. UltraSonicDistanceSensor distanceSensor2(trig2Pin, echo2Pin); void setup(){ monServomoteur1.attach(servo1Pin); monServomoteur2.attach(servo2Pin); pinMode(LED1,OUTPUT); //règle la borne numérique numéro 7 de la carte Arduino en mode sortie pinMode(LED2,OUTPUT); //règle la borne numérique numéro 8 de la carte Arduino en mode sortie } void loop(){ if((((distanceSensor1.measureDistanceCm()+1)<6)&&(distanceSensor1.measureDistanceCm()+1)>0)) {// Si le capteurs HC-SR04 détecte l'arrivee du train digitalWrite(LED1,HIGH); // La LED rouge s'allume while (position1>0){ monServomoteur1.write(position1); // la barrière s'ouvre position1--; delay(10); } }else { digitalWrite(LED1,LOW); // La LED rouge s'eteint while (position1<90){ monServomoteur1.write(position1); // la barrière s'ouvre position1++; delay(10); } } if((((distanceSensor2.measureDistanceCm()+1)<6)&&(distanceSensor2.measureDistanceCm()+1)>0)) {// Si le capteurs HC-SR04 détecte l'arrivee du train digitalWrite(LED2,HIGH); // La LED rouge s'allume while (position2>0){ monServomoteur2.write(position2); // la barrière s'ouvre position2--; delay(10); } }else { digitalWrite(LED2,LOW); // La LED rouge s'eteint while (position2<90){ monServomoteur2.write(position2); // la barrière s'ouvre position2++; delay(10); } } } |
Makanta 04-12-2222
Je peux avoir plus des connaissances sur la programmation avec Arduino ?