Taula de continguts:

Prevenció de col·lisions: impulsat per Pi: 6 passos
Prevenció de col·lisions: impulsat per Pi: 6 passos

Vídeo: Prevenció de col·lisions: impulsat per Pi: 6 passos

Vídeo: Prevenció de col·lisions: impulsat per Pi: 6 passos
Vídeo: Вещи, которые мистеру Уэлчу больше не разрешается делать в сборнике для чтения RPG № 1-2450 2024, Desembre
Anonim
Prevenció de col·lisions: impulsat per Pi
Prevenció de col·lisions: impulsat per Pi

Aquesta instrucció us proporcionarà una guia pas a pas per a la construcció del sistema de prevenció de col·lisions. Per començar cal obtenir la següent llista de materials:

Raspberry PI 3 (amb cordes d'alimentació i Ethernet), 1 placa d'extensió GPIO i cable de cinta (GPIO), 1 tauleta de pa gran amb diagrama, 2 tauletes de pa petites amb diagrama, 14 cables de pont, 3 resistències de 220 Ohms, 1 LED RGB, 3 botons, 1HB-SR04 Sensor d'ultrasons

Pas 1: extensió GPIO

Extensió GPIO
Extensió GPIO
Extensió GPIO
Extensió GPIO

Connecteu la placa d’extensió GPIO a la tauleta de suport gran. El GPIO hauria d’estar orientat a la vertical tal i com és el tauler d’anuncis. Assigneu el costat esquerre del GPIO als ports D1-D20 de la placa de configuració mitjançant el diagrama proporcionat. El costat dret es connectaria llavors a H1-H20. Connecteu el cable de cinta tant al Raspberry Pi 3 com a la placa d’extensió GPIO. Tot aquest component ara es denominarà la placa GPIO (GPIO)

Pas 2: sensor d'ultrasons

Sensor d'ultrasons
Sensor d'ultrasons
Sensor d'ultrasons
Sensor d'ultrasons

Utilitzant un altre tauler de panell més petit, connecteu el sensor d’ultrasons HR-SR04 als ports de panell de panells A2-5 més petits mitjançant el diagrama proporcionat. Connecteu un cable de pont a la placa de pa més petita (BB) E2, introduïu l’altre extrem al port J1 de la placa d’extensió GPIO. De la mateixa manera, connecteu tres ponts més de la següent manera. (BB E3, GPIO B17) (BB E4, GPIO B18) (BB E5, GPIO B20)

Pas 3: LED i resistències

LED i resistències
LED i resistències
LED i resistències
LED i resistències
LED i resistències
LED i resistències

A la mateixa petita tauleta utilitzada en la instrucció anterior, connecteu tres resistències de 220 ohm de la manera següent. (E10, H10) (E12, H12) (E14, H14) A continuació, connecteu un pont des de la mateixa placa E13 al rail de terra de la placa GPIO. Connecteu les quatre puntes del LED als ports més petits (B13) (D14) (D12) (D10). A continuació, connecteu tres ponts des de la taula més reduïda a la placa GPIO de la manera assignada. (BB J10, GPIO J9) (BB J12, GPIO J8) (BB J14, GPIO J6). Aquesta taula de treball ja està completa.

Pas 4: terra

Terra
Terra

Utilitzeu un altre pont per connectar la placa GPIO J7 al rail de terra.

Pas 5: botons

Botons
Botons

Utilitzant el segon tauler, col·loqueu la part superior d’un interruptor de botó al port E1 i D1, col·loqueu-ne un altre a E5 i D5 i un tercer a E9 i D9. Connecteu tres ponts des del rail d'alimentació positiva de la placa GPIO als ports de la placa de suport següents (D3) (D7) (D11). Mitjançant tres cables jumper més, connecteu la placa de connexió a la placa d’extensió GPIO a la següent mansió: (BB D1, GPIO J16) (BB D5, GPIO J18) (BB D9, GPIO J20). Finalment, mitjançant l’últim cable de pont, connecteu GPIO A1 al rail d’alimentació positiva. La configuració física ja està completa.

Pas 6: Codi

Codi
Codi
Codi
Codi

Connecteu el cable Ethernet i el cable d'alimentació al Pi i a les seves respectives posicions. Obriu MATLAB i executeu el següent script per inicialitzar el microcontrolador:

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

A continuació, copieu i enganxeu el següent en un script nou, anomenat Ping, per executar el sistema de prevenció de col·lisions:

funció dist = ping () trig = 19; ressò = 13; prova = 21; configurePin (rpi, trig, 'DigitalOutput'); configurePin (rpi, echo, 'DigitalInput'); configurePin (rpi, test, 'DigitalInput');

disp ("Mesura de la distància en curs");

mentre que trueDigitalPin veritable (rpi, trig, 0); disp ("Deixar assentar el sensor"); pausa (2);

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

mentre readDigitalPin (rpi, echo) == 0 tic end

mentre readDigitalPin (rpi, echo) == 1 T = toc; final

pols_duració = T; distància = polsada * 17150;

open = "Distància ="; close = "cm"; cadena = [obert, distància, tancat]; disp (cadena); dist = distància; fi final

En un script nou, executeu el codi següent anomenat status:

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

estat = 2; d = 10; % Estat: 0-Vermell / Atura 1-Blau / Lent 2-Verd / Vés corrent = cert; mentre s'executa% d = ping (); si readDigitalPin (rpi, 21) == 1 estat = 0; elseif readDigitalPin (rpi, 16) == 1 estat = 1; elseif readDigitalPin (rpi, 12) == 1 estat = 2; elseif d

Recomanat: