Passage à niveau en zone de stockage

Gérer un passage à niveau en zone de stockage.

Contraintes:

Deux capteurs

Obligation de quitter les capteurs en entrée et sortie du passage à niveau.

Le dossier comprend:

Programmes Arduino V1.

Porogramme Arduino V2.

Schéma de câblage en PDF.

Schéma Nano.

Diverses documentations.

Liste du matériel.

Dossier Kicad en Gerber.

Dossier Kicad en PDF.

Téléchargements en fin d'article

Datasheet:

http://www.ee.ic.ac.uk/pcheung/teaching/DE1_EE/stores/sg90_datasheet.pdf

MarronNoirGND
RougeRouge+5V
OrangeJauneCommande

Librairie Servo: Traduction avec Google traduction

La bibliothèque Servo prend en charge jusqu’à 12 moteurs sur la plupart des cartes Arduino et 48 sur l’Arduino Mega. Sur les cartes autres que la Mega, l’utilisation de la bibliothèque désactive la fonctionnalité analogWrite() (PWM) sur les broches 9 et 10, qu’il y ait ou non un servo sur ces broches.
Sur le Mega, jusqu’à 12 servos peuvent être utilisés sans interférer avec la fonctionnalité PWM ; l’utilisation de 12 à 23 moteurs désactivera le PWM sur les broches 11 et 12.

Plus d’info : https://www.arduino.cc/reference/en/libraries/servo/

attach()

servo.attach(pin)
servo.attach(pin, min, max)

Attachez la variable servo à une broche. Notez que dans Arduino IDE 0016 et versions antérieures, la bibliothèque Servo prend en charge les servos sur seulement deux broches : 9 et 10.

servo: une variable de type Servo
Pin: le numéro de la broche à laquelle le servo est attaché
Min: min (facultatif) : la largeur d’impulsion, en microsecondes, correspondant à l’angle minimum (0 degré) sur le servo (par défaut : 544)
Max : (optional): the pulse width, in microseconds, corresponding to the maximum (180 degree) angle on the servo (defaults to 2400)

write()

servo.write(angle)

servo: a variable of type Servo
angle: the value to write to the servo, from 0 to 180

Écrit une valeur sur le servo, contrôlant l’arbre en conséquence. Sur un servo standard, cela définira l’angle de l’arbre (en degrés), déplaçant l’arbre vers cette orientation. Sur un servo à rotation continue, cela définira la vitesse du servo (0 étant la pleine vitesse dans un sens, 180 étant la pleine vitesse dans l’autre et une valeur proche de 90 signifiant aucun mouvement)

writeMicroseconds()

servo.writeMicroseconds(us)

Écrit une valeur en microsecondes (us) sur le servo, contrôlant l’arbre en conséquence. Sur un servo standard, cela définira l’angle de l’arbre. Sur les servos standard, une valeur de paramètre de 1 000 correspond à fond dans le sens inverse des aiguilles d’une montre, 2 000 à fond dans le sens des aiguilles d’une montre et 1 500 au milieu.
A noter que certains constructeurs ne suivent pas cette norme de très près et que les servos répondent souvent à des valeurs comprises entre 700 et 2300. N’hésitez pas à augmenter ces points finaux jusqu’à ce que le servo ne continue plus à augmenter sa portée. Notez cependant que tenter de faire passer un servo au-delà de ses points limites (souvent indiqué par un grognement) est un état à courant élevé et doit être évité.

Les servos à rotation continue répondront à la fonction writeMicrosecond d’une manière analogue à la fonction d’écriture.

read()

servo.read()

Lire l’angle actuel du servo (la valeur passée au dernier appel à write())

attached()

servo.attached()

Vérifiez si la variable servo est attachée à une broche..

detach()

servo.detach()

Détachez la variable Servo de sa broche. Si toutes les variables servo sont détachées, alors les broches 9 et 10 peuvent être utilisées pour la sortie PWM avec analogWrite().

Programme V1 Passage à niveau en zone de stockage

Programme V2 Passage à niveau en zone de stockage

Programme V3 Passage à niveau en zone de stockage

Fichiers STL Passage à niveau en zone de stockage

Schéma Passage à niveau en zone de stockage

Schéma Nano

Liste matériel Passage à niveau en zone de stockage

Fichier Gerber Passage à niveau en zone de stockage (Kicad 7.0)

Fichiers PDF Passage à niveau en zone de stockage (Kicad 7.0)

Accès Github

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Article précédent

Arduino: DHT22 et LCD 2*16

Article suivant

Gestion de sons sur maquette trains