Spisu treści:

Zapobieganie kolizjom - wspomagane przez Pi: 6 kroków
Zapobieganie kolizjom - wspomagane przez Pi: 6 kroków

Wideo: Zapobieganie kolizjom - wspomagane przez Pi: 6 kroków

Wideo: Zapobieganie kolizjom - wspomagane przez Pi: 6 kroków
Wideo: DYSKUSJA NA RATUSZOWEJ: „Egzamin po 1 stycznia 2024” 07.12.2023 2024, Lipiec
Anonim
Zapobieganie kolizjom - obsługiwane przez Pi
Zapobieganie kolizjom - obsługiwane przez Pi

Ta instrukcja zawiera przewodnik krok po kroku dotyczący budowy systemu zapobiegania kolizjom. Aby rozpocząć należy zaopatrzyć się w następującą listę materiałów:

Raspberry PI 3 (z akordami zasilania i Ethernet), 1 płytka rozszerzająca GPIO i kabel taśmowy (GPIO), 1 duża płytka stykowa ze schematem, 2 małe płytki stykowe ze schematem, 14 kabli połączeniowych, 3 rezystory 220 Ohm, 1 dioda LED RGB, 3 przyciski przełączników, Czujnik ultradźwiękowy 1HB-SR04

Krok 1: Rozszerzenie GPIO

Rozszerzenie GPIO
Rozszerzenie GPIO
Rozszerzenie GPIO
Rozszerzenie GPIO

Podłącz kartę rozszerzeń GPIO do dużej płytki stykowej. GPIO powinno być skierowane pionowo, tak jak płytka stykowa. Przypisz lewą stronę GPIO do portów płytki stykowej D1-D20, korzystając z dostarczonego schematu. Prawa strona połączyłaby się wtedy z H1-H20. Podłącz kabel taśmowy zarówno do Raspberry Pi 3, jak i do karty rozszerzeń GPIO. Cały ten komponent będzie teraz nazywany płytą GPIO (GPIO)

Krok 2: Czujnik ultradźwiękowy

Czujnik ultradźwiękowy
Czujnik ultradźwiękowy
Czujnik ultradźwiękowy
Czujnik ultradźwiękowy

Korzystając z innej mniejszej płytki stykowej, podłącz czujnik ultradźwiękowy HR-SR04 do mniejszych portów płytki stykowej A2-5, korzystając z dostarczonego schematu. Podłącz kabel połączeniowy do mniejszej płytki stykowej (BB) E2, włóż drugi koniec do portu J1 płyty rozszerzeń GPIO. W ten sam sposób połącz jeszcze trzy zworki w następujący sposób. (BB E3, GPIO B17) (BB E4, GPIO B18)(BB E5, GPIO B20)

Krok 3: LED i rezystory

LED i rezystory
LED i rezystory
LED i rezystory
LED i rezystory
LED i rezystory
LED i rezystory

Na tej samej małej płytce stykowej użytej w poprzedniej instrukcji podłącz trzy rezystory 220 omów w następujący sposób. (E10, H10)(E12, H12)(E14, H14) Następnie podłącz zworkę z tej samej płytki stykowej E13 do szyny uziemiającej na płycie GPIO. Podłącz cztery wtyki diody LED do mniejszych portów płytki stykowej (B13)(D14)(D12)(D10). Następnie połącz trzy zworki z mniejszej płytki stykowej do płytki GPIO w przypisany sposób. (BB J10, GPIO J9) (BB J12, GPIO J8) (BB J14, GPIO J6). Ta tablica prototypowa jest teraz gotowa.

Krok 4: Ziemia

Grunt
Grunt

Użyj innej zworki, aby podłączyć płytkę GPIO J7 do uziemionej szyny zasilającej.

Krok 5: Przyciski

guziki
guziki

Używając drugiej płytki stykowej umieść górną część przełącznika przyciskowego na portach E1 i D1, umieść kolejny na E5 i D5, a trzeci na E9 i D9. Podłącz trzy zworki z dodatniej szyny zasilania na płycie GPIO do następujących portów płytki stykowej (D3) (D7) (D11). Za pomocą trzech dodatkowych kabli połączeniowych podłącz płytkę stykową do płytki rozszerzeń GPIO w następującej rezydencji: (BB D1, GPIO J16) (BB D5, GPIO J18) (BB D9, GPIO J20). Na koniec, używając ostatniego kabla połączeniowego, podłącz GPIO A1 do dodatniej szyny zasilającej. Konfiguracja fizyczna została zakończona.

Krok 6: Kod

Kod
Kod
Kod
Kod

Podłącz kabel Ethernet i kabel zasilający do Pi i do odpowiednich pozycji. Otwórz MATLAB i uruchom następujący skrypt, aby zainicjować mikrokontroler:

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

Następnie skopiuj i wklej następujące elementy do nowego skryptu o nazwie Ping, aby uruchomić system zapobiegania kolizjom:

funkcja dist = ping() trig = 19; echo = 13; test = 21; configurePin(rpi, trig, 'DigitalOutput'); configurePin(rpi, echo, 'DigitalInput'); configurePin(rpi, test, 'DigitalInput');

disp("Pomiar odległości w toku");

podczas gdy true writeDigitalPin(rpi, trig, 0); disp("Pozwalanie czujnikowi na ustabilizowanie się"); pauza(2);

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

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

podczas gdy readDigitalPin(rpi, echo) == 1 T = toc; kończyć się

czas_impulsu = T; odległość = czas_impulsu * 17150;

open = "Odległość= "; zamknij = " cm"; string = [otwarty, odległość, zamknięty]; disp(ciąg); odległość = odległość; koniec koniec

W nowym skrypcie uruchom następujący kod o nazwie status:

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

stan = 2; d = 10; %Stan: 0-Czerwony/Zatrzymaj 1-Niebieski/Wolny 2-Zielony/Rozpocznij bieg = prawda; podczas działania %d = ping(); if readDigitalPin(rpi, 21) == 1 status = 0; elseif readDigitalPin(rpi, 16) == 1 status = 1; elseif readDigitalPin(rpi, 12) == 1 status = 2; elseif d

Zalecana: