Talaan ng mga Nilalaman:

Pag-iwas sa banggaan- Pinapagana ng Pi: 6 Hakbang
Pag-iwas sa banggaan- Pinapagana ng Pi: 6 Hakbang

Video: Pag-iwas sa banggaan- Pinapagana ng Pi: 6 Hakbang

Video: Pag-iwas sa banggaan- Pinapagana ng Pi: 6 Hakbang
Video: 12 ‘PARENTING MISTAKES’ NA NAKASISIRA NG BUHAY NG ANAK 2024, Hulyo
Anonim
Pag-iwas sa banggaan- Pinapagana ng Pi
Pag-iwas sa banggaan- Pinapagana ng Pi

Ang Instructable na ito ay magbibigay sa iyo ng isang sunud-sunod na gabay sa pagtatayo ng The Collision Prevent System. Upang simulan ang isa ay dapat makakuha ng sumusunod na listahan ng mga materyales:

Raspberry PI 3 (may kapangyarihan at Ethernet chords), 1 GPIO Extension Board at Ribbon Cable (GPIO), 1 Malaking Breadboard na may diagram, 2 maliit na mga breadboard na may diagram, 14 na jumper cables, 3 220 Ohms resistor, 1 RGB LED, 3 button switch, 1HB-SR04 Ultrasonic sensor

Hakbang 1: Extension ng GPIO

GPIO Extension
GPIO Extension
GPIO Extension
GPIO Extension

Ikonekta ang GPIO extension board sa malaking breadboard. Ang GPIO ay dapat na nakaharap sa patayo tulad din ng breadboard. Italaga ang kaliwang bahagi ng GPIO sa mga breadboard port D1-D20 gamit ang ibinigay na diagram. Ang kanang bahagi pagkatapos ay kumokonekta sa H1-H20. Ikonekta ang ribbon cable sa parehong Raspberry Pi 3 at ang GPIO extension board. Ang buong sangkap na ito ay tatukoy bilang GPIO board (GPIO)

Hakbang 2: Ultrasonic Sensor

Ultrasonic Sensor
Ultrasonic Sensor
Ultrasonic Sensor
Ultrasonic Sensor

Gamit ang isa pang mas maliit na breadboard, ikonekta ang HR-SR04 ultrasonic sensor sa mas maliit na mga port ng breadboard A2-5 gamit ang ibinigay na diagram. Ikonekta ang isang jumper cable sa mas maliit na breadboard (BB) E2, ipasok ang kabilang dulo sa GPIO extension board port J1. Sa parehong pamamaraan, ikonekta ang tatlong iba pang mga jumper sa sumusunod na paraan. (BB E3, GPIO B17) (BB E4, GPIO B18) (BB E5, GPIO B20)

Hakbang 3: LED at Resistors

LED at Resistors
LED at Resistors
LED at Resistors
LED at Resistors
LED at Resistors
LED at Resistors

Sa parehong maliit na breadboard na ginamit sa nakaraang tagubilin, ikonekta ang tatlong 220 ohm resistors sa sumusunod na fashion. (E10, H10) (E12, H12) (E14, H14) Pagkatapos ay ikonekta ang isang lumulukso mula sa parehong breadboard E13 sa ground power rail sa GPIO board. Ikonekta ang apat na prongs ng LED sa mas maliit na mga port ng breadboard (B13) (D14) (D12) (D10). Pagkatapos ay ikonekta ang tatlong mga jumper mula sa mas maliit na breadboard sa GPIO board sa itinalagang fashion. (BB J10, GPIO J9) (BB J12, GPIO J8) (BB J14, GPIO J6). Kumpleto na ang breadboard na ito.

Hakbang 4: Mababang

Lupa
Lupa

Gumamit ng isa pang jumper upang ikonekta ang GPIO board J7 sa ground power rail.

Hakbang 5: Mga Pindutan

Mga Pindutan
Mga Pindutan

Gamit ang pangalawang breadboard ilagay ang tuktok ng isang switch ng pindutan sa port E1 at D1, maglagay ng isa pa sa E5 at D5, at isang pangatlo sa E9 at D9. Ikonekta ang tatlong mga jumper mula sa positibong power rail sa board ng GPIO patungo sa mga sumusunod na port ng breadboard (D3) (D7) (D11). Gamit ang tatlong iba pang mga jumper cables, ikonekta ang breadboard sa GPIO extension board sa sumusunod na manor: (BB D1, GPIO J16) (BB D5, GPIO J18) (BB D9, GPIO J20). Sa wakas, gamit ang huling jumper cable, ikonekta ang GPIO A1 sa positibong power rail. Kumpleto na ang pisikal na pag-setup.

Hakbang 6: Code

Code
Code
Code
Code

Ikonekta ang Ethernet cable at power cable sa Pi at sa kani-kanilang posisyon. Buksan ang MATLAB at patakbuhin ang sumusunod na script upang simulan ang micro-controller:

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

Pagkatapos kopyahin at i-paste ang sumusunod sa isang bagong script, na tinatawag na Ping, upang patakbuhin ang system ng pag-iwas sa banggaan:

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

disp ("Isinasagawa ang Pagsukat sa Distansya");

habang ang tunay na writeDigitalPin (rpi, trig, 0); disp ("Hinahayaan ang sensor na tumira"); i-pause (2);

isulatDigitalPin (rpi, trig, 1); pag-pause (0.002); isulatDigitalPin (rpi, trig, 0);

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

habang binabasaDigitalPin (rpi, echo) == 1 T = toc; magtapos

pulse_duras = T; distansya = pulse_duration * 17150;

buksan = "Distansya ="; isara = "cm"; string = [bukas, distansya, malapit]; disp (string); dist = distansya; pagtatapos ng wakas

Sa isang bagong script, patakbuhin ang sumusunod na code na pinangalanang katayuan:

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

katayuan = 2; d = 10; % Status: 0-Red / Stop 1-Blue / Slow 2-Green / Go running = true; habang tumatakbo% d = ping (); kung readDigitalPin (rpi, 21) == 1 katayuan = 0; kung hindi man basahin angDigitalPin (rpi, 16) == 1 katayuan = 1; kung hindi man basahin angDigitalPin (rpi, 12) == 1 katayuan = 2; kung hindi man d

Inirerekumendang: