Mundarija:
- 1 -qadam: GPIO kengaytmasi
- 2 -qadam: Ultrasonik sensor
- 3 -qadam: LED va rezistorlar
- 4 -qadam: er
- 5 -qadam: tugmalar
- 6 -qadam: kod
Video: To'qnashuvning oldini olish- Pi: 6 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:26
Bu ko'rsatma sizga to'qnashuvning oldini olish tizimini yaratish bo'yicha bosqichma-bosqich ko'rsatma beradi. Ishni boshlash uchun siz quyidagi materiallar ro'yxatini olishingiz kerak:
Raspberry PI 3 (quvvat va chekilgan akkordlar bilan), 1 GPIO kengaytma taxtasi va tasma kabeli (GPIO), diagrammasi bo'lgan 1 ta katta non paneli, diagrammasi bo'lgan 2 ta kichik stol, 14 ta o'tish kabeli, 3 220 Ohm qarshilik, 1 ta RGB LED, 3 tugmachali kalit., 1HB-SR04 Ultrasonik sensor
1 -qadam: GPIO kengaytmasi
GPIO kengaytma kartasini katta panelga ulang. GPIO xuddi vertikal tomonga qaragan bo'lishi kerak. Taqdim etilgan diagramma yordamida GPIO-ning chap tomonini D1-D20 taxta portlariga belgilang. O'ng tomon H1-H20 ga ulanadi. Lenta kabelini Raspberry Pi 3 va GPIO kengaytma kartasiga ulang. Endi bu komponent GPIO platasi (GPIO) deb nomlanadi.
2 -qadam: Ultrasonik sensor
Boshqa kichikroq taxtadan foydalanib, HR-SR04 ultratovushli sensorni kichikroq A2-5 portli portiga ulangan diagramma yordamida ulang. O'tish kabelini kichikroq E2 taxtasiga (BB) ulang, ikkinchi uchini GPIO uzatma platasining J1 portiga joylashtiring. Xuddi shu tarzda, yana uchta o'tish moslamasini quyidagi tarzda ulang. (BB E3, GPIO B17) (BB E4, GPIO B18) (BB E5, GPIO B20)
3 -qadam: LED va rezistorlar
Oldingi yo'riqnomada ishlatilgan xuddi shu kichik non panelida uchta 220 ohmli rezistorni quyidagi usulda ulang. (E10, H10) (E12, H12) (E14, H14) Keyin, xuddi shu E13 non panelidagi o'tish moslamasini GPIO platasidagi er quvvat rampasiga ulang. LEDning to'rtta vilkasini kichikroq non paneli (B13) (D14) (D12) (D10) ga ulang. Keyin kichikroq taxtadan uchta o'tish moslamasini GPIO kartasiga belgilangan usulda ulang. (BB J10, GPIO J9) (BB J12, GPIO J8) (BB J14, GPIO J6). Bu non paneli endi tugadi.
4 -qadam: er
GPIO J7 platasini er usti elektr tarmog'iga ulash uchun boshqa o'tish moslamasidan foydalaning.
5 -qadam: tugmalar
Ikkinchi paneldan foydalanib, E1 va D1 portidagi tugmachaning yuqori qismini, E5 va D5 -da, uchinchisini E9 va D9 -da joylashtiring. GPIO kartasidagi musbat elektr o'tkazgichdan uchta o'tish moslamasini quyidagi (D3) (D7) (D11) portli portlarga ulang. Yana uchta o'tish kabelidan foydalanib, non panelini GPIO uzatma kartasiga quyidagi usulda ulang: (BB D1, GPIO J16) (BB D5, GPIO J18) (BB D9, GPIO J20). Oxir -oqibat, oxirgi o'tish kabelidan foydalanib, GPIO A1 -ni musbat elektr uzatgichiga ulang. Hozirgi vaqtda jismoniy sozlash tugallandi.
6 -qadam: kod
Ethernet kabeli va quvvat kabelini Pi -ga ulang va ularni tegishli joylariga ulang. MATLAB-ni oching va mikrokontrolerni ishga tushirish uchun quyidagi skriptni ishga tushiring:
rpi = raspi ('169.254.0.2', 'pi', 'malina');
Keyin to'qnashuvlarning oldini olish tizimini ishga tushirish uchun quyidagilarni nusxa ko'chiring va Ping deb nomlangan yangi skriptga joylashtiring:
dist = ping () trig = 19 funktsiyasi; echo = 13; test = 21; configurePin (rpi, trig, 'DigitalOutput'); configurePin (rpi, echo, 'DigitalInput'); configurePin (rpi, test, 'DigitalInput');
disp ("Masofani o'lchash davom etmoqda");
haqiqiy writeDigitalPin (rpi, trig, 0); disp ("Sensorni o'rnatishga ruxsat berish"); pauza (2);
writeDigitalPin (rpi, trig, 1); pauza (0,002); writeDigitalPin (rpi, trig, 0);
readDigitalPin (rpi, echo) == 0 tic oxiri
readDigitalPin (rpi, echo) == 1 T = toc; oxiri
pulse_duration = T; masofa = pulse_duration * 17150;
ochiq = "Masofa ="; yopish = "sm"; string = [ochiq, masofa, yopilish]; disp (satr); dist = masofa; oxiri oxiri
Yangi skriptda status nomli quyidagi kodni ishga tushiring:
configurePin (rpi, 21, 'DigitalInput'); configurePin (rpi, 16, 'DigitalInput'); configurePin (rpi, 12, "DigitalInput");
holat = 2; d = 10; %Holat: 0-Qizil/To'xtash 1-Moviy/Sekin 2-Yashil/Yugurish = to'g'ri; %d = ping () ishlayotganda; agar readDigitalPin (rpi, 21) == 1 holat = 0; elseif readDigitalPin (rpi, 16) == 1 holat = 1; elseif readDigitalPin (rpi, 12) == 1 holat = 2; boshqa d
Tavsiya:
LEGO robotining oldini olish uchun to'siqlar: 8 qadam (rasmlar bilan)
To'siqlardan qochish LEGO robotidan: Biz LEGO -ni yaxshi ko'ramiz va biz ham Crazy Circuits -ni yaxshi ko'ramiz, shuning uchun biz ikkalasini devorlarga va boshqa narsalarga yugurishning oldini oladigan oddiy va qiziqarli robotga birlashtirishni xohladik. Biz sizga o'z uyimizni qanday qurganimizni ko'rsatamiz va o'zingiz yaratishingiz uchun kerakli asoslarni aytib beramiz.
Arduino Nano yordamida robotning oldini olish: 5 qadam
Arduino Nano yordamida robotni to'sib qo'ymaslik: Men bu ko'rsatmada Arduino yordamida robotni chetlab o'tishga qanday to'siq qo'yish mumkinligini tasvirlab beraman
LEDning yonishini qanday oldini olish mumkin?: 5 qadam
LEDning yonishini qanday oldini olish mumkin? LED yorug'lik chiqaruvchi diodni anglatadi, bu yarimo'tkazgichli qurilma, u oqim oqimi paytida ma'lum rangdagi ko'rinadigan nurni chiqaradi
Arduino yordamida uy ichidagi gaz oqishini oldini olish: 3 qadam
Arduino yordamida uy ichidagi gaz oqishining oldini olish. Men bu ko'rsatmada gaz oqishi paytida LPG tsilindrining gaz tugmachasini avtomatik ravishda yopadigan prototip tayyorladim. LPG hidsiz va uning hidi uchun etil merkaptan agenti qo'shilgan, shuning uchun uni oqish paytida sezish mumkin
Zoom portlashni qanday oldini olish mumkin: 9 qadam
Zoom portlashni qanday oldini olish mumkin: Hech kim sizning ma'ruzangiz davomida begona odamlar uchrashuvini to'xtatishni yoqtirmaydi. Zoom yaxshi biladi, bu bugungi kunda asosiy muammoga aylandi. Ushbu qo'llanmada siz zum bombardimonini boshdan kechirganlarga taklif qilinadigan qadamlar ro'yxati keltirilgan. V