Table des matières:

Prévention des collisions - optimisé par Pi : 6 étapes
Prévention des collisions - optimisé par Pi : 6 étapes

Vidéo: Prévention des collisions - optimisé par Pi : 6 étapes

Vidéo: Prévention des collisions - optimisé par Pi : 6 étapes
Vidéo: Webinaire - Organiser son Safety Day en 6 étapes ! 2024, Novembre
Anonim
Prévention des collisions - Propulsé par Pi
Prévention des collisions - Propulsé par Pi

Ce Instructable vous donnera un guide étape par étape pour la construction du système de prévention des collisions. Pour commencer, il faut se procurer la liste de matériaux suivante:

Raspberry PI 3 (avec câbles d'alimentation et Ethernet), 1 carte d'extension GPIO et câble ruban (GPIO), 1 grande planche à pain avec schéma, 2 petites planches à pain avec schéma, 14 câbles de démarrage, 3 résistances 220 Ohms, 1 LED RVB, 3 interrupteurs à bouton, 1HB-SR04 Capteur à ultrasons

Étape 1: Extension GPIO

Extension GPIO
Extension GPIO
Extension GPIO
Extension GPIO

Connectez la carte d'extension GPIO à la grande maquette. Le GPIO doit être orienté à la verticale, tout comme la planche à pain. Attribuez le côté gauche du GPIO aux ports de la maquette D1-D20 à l'aide du schéma fourni. Le côté droit se connecterait alors à H1-H20. Connectez le câble plat au Raspberry Pi 3 et à la carte d'extension GPIO. L'ensemble de ce composant sera désormais appelé la carte GPIO (GPIO)

Étape 2: Capteur à ultrasons

Capteur à ultrasons
Capteur à ultrasons
Capteur à ultrasons
Capteur à ultrasons

À l'aide d'une autre planche à pain plus petite, connectez le capteur à ultrasons HR-SR04 aux ports de la planche à pain plus petits A2-5 à l'aide du schéma fourni. Connectez un câble de démarrage à la plus petite maquette (BB) E2, insérez l'autre extrémité dans le port J1 de la carte d'extension GPIO. De la même manière, connectez trois autres cavaliers de la manière suivante. (BB E3, GPIO B17) (BB E4, GPIO B18) (BB E5, GPIO B20)

Étape 3: LED et résistances

LED et Résistances
LED et Résistances
LED et Résistances
LED et Résistances
LED et Résistances
LED et Résistances

Sur la même petite planche à pain utilisée dans l'instruction précédente, connectez trois résistances de 220 ohms de la manière suivante. (E10, H10)(E12, H12)(E14, H14) Ensuite, connectez un cavalier de la même maquette E13 au rail d'alimentation au sol sur la carte GPIO. Connectez les quatre broches de la LED aux ports plus petits de la maquette (B13)(D14)(D12)(D10). Ensuite, connectez trois cavaliers de la plus petite maquette à la carte GPIO de la manière assignée. (BB J10, GPIO J9) (BB J12, GPIO J8) (BB J14, GPIO J6). Cette maquette est maintenant terminée.

Étape 4: Terre

Sol
Sol

Utilisez un autre cavalier pour connecter la carte GPIO J7 au rail d'alimentation au sol.

Étape 5: Boutons

Boutons
Boutons

À l'aide de la deuxième planche à pain, placez le haut d'un interrupteur à bouton sur les ports E1 et D1, placez-en un autre sur E5 et D5 et un troisième sur E9 et D9. Connectez trois cavaliers du rail d'alimentation positif de la carte GPIO aux ports suivants de la maquette (D3) (D7) (D11). À l'aide de trois autres câbles de démarrage, connectez la maquette à la carte d'extension GPIO de la manière suivante: (BB D1, GPIO J16) (BB D5, GPIO J18) (BB D9, GPIO J20). Enfin, à l'aide du dernier câble de démarrage, connectez GPIO A1 au rail d'alimentation positif. La configuration physique est maintenant terminée.

Étape 6: Coder

Code
Code
Code
Code

Connectez le câble Ethernet et le câble d'alimentation au Pi et dans leurs positions respectives. Ouvrez MATLAB et exécutez le script suivant pour initialiser le microcontrôleur:

rpi = raspi('169.254.0.2', 'pi', 'framboise');

Ensuite, copiez et collez ce qui suit dans un nouveau script, appelé Ping, pour exécuter le système de prévention des collisions:

fonction dist = ping() trig = 19; écho = 13; essai = 21; configurePin(rpi, trig, 'DigitalOutput'); configurePin(rpi, echo, 'DigitalInput'); configurePin(rpi, test, 'DigitalInput');

disp("Mesure de la distance en cours");

tandis que true writeDigitalPin(rpi, trig, 0); disp("Laisser le capteur s'installer"); pause(2);

writeDigitalPin(rpi, trig, 1); pause (0,002); writeDigitalPin(rpi, trig, 0);

tandis que readDigitalPin(rpi, echo) == 0 tic end

tandis que readDigitalPin(rpi, echo) == 1 T = toc; finir

durée_impulsion = T; distance = durée_impulsion * 17150;

ouvert = "Distance="; fermer = " cm"; string = [ouvrir, distance, fermer]; disp(chaîne); dist = distance; fin fin

Dans un nouveau script, exécutez le code suivant nommé status:

configurePin(rpi, 21, 'DigitalInput'); configurePin(rpi, 16, 'DigitalInput'); configurePin(rpi, 12, 'DigitalInput');

état = 2; d = 10; %Status: 0-Rouge/Arrêt 1-Bleu/Lent 2-Vert/Aller en cours d'exécution = vrai; lors de l'exécution de %d = ping(); si readDigitalPin(rpi, 21) == 1 état = 0; elseif readDigitalPin(rpi, 16) == 1 status = 1; elseif readDigitalPin(rpi, 12) == 1 status = 2; sinon d

Conseillé: