Съдържание:

Предотвратяване на сблъсък- Осъществено от Pi: 6 стъпки
Предотвратяване на сблъсък- Осъществено от Pi: 6 стъпки

Видео: Предотвратяване на сблъсък- Осъществено от Pi: 6 стъпки

Видео: Предотвратяване на сблъсък- Осъществено от Pi: 6 стъпки
Видео: Настя и сборник весёлых историй 2024, Ноември
Anonim
Предотвратяване на сблъсък- Осъществено от Pi
Предотвратяване на сблъсък- Осъществено от Pi

Тази инструкция ще ви даде стъпка по стъпка ръководство за изграждането на Системата за предотвратяване на сблъсъци. За да започнете, трябва да получите следния списък с материали:

Raspberry PI 3 (със захранващи и Ethernet акорди), 1 GPIO разширителна платка и лентов кабел (GPIO), 1 голяма платка с диаграма, 2 малки платки с диаграма, 14 джъмперни кабела, 3 220 ома резистор, 1 RGB LED, 3 бутона за превключване, 1HB-SR04 Ултразвуков сензор

Стъпка 1: Разширение на GPIO

GPIO разширение
GPIO разширение
GPIO разширение
GPIO разширение

Свържете разширението GPIO към голямата макетна платка. GPIO трябва да бъде обърнат вертикално, точно както е основната платка. Присвойте лявата страна на GPIO към портовете за макет D1-D20, като използвате предоставената диаграма. Тогава дясната страна ще се свърже с H1-H20. Свържете лентовия кабел към Raspberry Pi 3 и разширението GPIO. Целият този компонент сега ще бъде наричан GPIO платка (GPIO)

Стъпка 2: Ултразвуков сензор

Ултразвуков сензор
Ултразвуков сензор
Ултразвуков сензор
Ултразвуков сензор

Използвайки друга по-малка платка, свържете ултразвуковия сензор HR-SR04 към по-малките портове за макет A2-5, като използвате предоставената диаграма. Свържете джъмпер кабел към по -малката платка (BB) E2, вмъкнете другия край в порта за разширена платка GPIO J1. По същия начин свържете още три джъмпера по следния начин. (BB E3, GPIO B17) (BB E4, GPIO B18) (BB E5, GPIO B20)

Стъпка 3: LED и резистори

LED и резистори
LED и резистори
LED и резистори
LED и резистори
LED и резистори
LED и резистори

На същата малка платка, използвана в предишната инструкция, свържете три 220 ома резистора по следния начин. (E10, H10) (E12, H12) (E14, H14) След това свържете джъмпер от същата платка E13 към заземяващата шина за захранване на GPIO платката. Свържете четирите зъба на светодиода към по -малките портове за макет (B13) (D14) (D12) (D10). След това свържете три джъмпера от по -малката платка към GPIO платката по зададения начин. (BB J10, GPIO J9) (BB J12, GPIO J8) (BB J14, GPIO J6). Този макет вече е завършен.

Стъпка 4: Заземяване

Земя
Земя

Използвайте друг джъмпер, за да свържете GPIO платка J7 към заземяващата шина.

Стъпка 5: Бутони

Бутони
Бутони

Използвайки втората чертова дъска, поставете горната част на превключвателя с бутони на портове E1 и D1, поставете друга на E5 и D5 и трета на E9 и D9. Свържете три джъмпера от положителната захранваща шина на GPIO платката към следните портове за макет (D3) (D7) (D11). Използвайки още три джъмперни кабела, свържете основната платка към разширената платка GPIO в следното имение: (BB D1, GPIO J16) (BB D5, GPIO J18) (BB D9, GPIO J20). Накрая, използвайки последния джъмпер кабел, свържете GPIO A1 към положителната захранваща шина. Физическата настройка вече е завършена.

Стъпка 6: Код

Код
Код
Код
Код

Свържете Ethernet кабела и захранващия кабел към Pi и в съответните им позиции. Отворете MATLAB и изпълнете следния скрипт, за да инициализирате микроконтролера:

rpi = raspi ('169.254.0.2', 'pi', 'малина');

След това копирайте и поставете следното в нов скрипт, наречен Ping, за да стартирате системата за предотвратяване на сблъсъци:

функция dist = ping () триг = 19; ехо = 13; тест = 21; configurePin (rpi, trig, 'DigitalOutput'); configurePin (rpi, echo, 'DigitalInput'); configurePin (rpi, test, 'DigitalInput');

disp ("Измерване на разстояние в ход");

докато true writeDigitalPin (rpi, trig, 0); disp ("Оставяне на сензора да се утаи"); пауза (2);

writeDigitalPin (rpi, trig, 1); пауза (0,002); writeDigitalPin (rpi, trig, 0);

докато readDigitalPin (rpi, echo) == 0 тиков край

докато readDigitalPin (rpi, echo) == 1 T = toc; край

pulse_duration = T; разстояние = pulse_duration * 17150;

open = "Разстояние ="; close = "cm"; низ = [отваряне, разстояние, затваряне]; disp (низ); dist = разстояние; край край

В нов скрипт изпълнете следния код с име status:

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

статус = 2; d = 10; %Статус: 0-червен/стоп 1-син/бавен 2-зелен/върви = вярно; докато работи %d = ping (); ако readDigitalPin (rpi, 21) == 1 статус = 0; elseif readDigitalPin (rpi, 16) == 1 статус = 1; elseif readDigitalPin (rpi, 12) == 1 статус = 2; иначе г

Препоръчано: