Բովանդակություն:

Բախումների կանխարգելում. Powered by Pi: 6 Steps
Բախումների կանխարգելում. Powered by Pi: 6 Steps

Video: Բախումների կանխարգելում. Powered by Pi: 6 Steps

Video: Բախումների կանխարգելում. Powered by Pi: 6 Steps
Video: Դաս 8 4 ԶՀ ի բուժական մոտեցումները 2024, Նոյեմբեր
Anonim
Բախումների կանխարգելում. Մշակվում է Pi- ի կողմից
Բախումների կանխարգելում. Մշակվում է Pi- ի կողմից

Այս Instructable- ը ձեզ կտա քայլ առ քայլ ուղեցույց «Բախումների կանխարգելման համակարգի» կառուցման համար: Սկսելու համար անհրաժեշտ է ձեռք բերել նյութերի հետևյալ ցուցակը.

Ազնվամորի 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 նավահանգիստներին` օգտագործելով տրված դիագրամը: Միացրեք jumper մալուխը ավելի փոքր տախտակին (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 տախտակի վերգետնյա հոսանքի ռելսին: LED- ի չորս ծայրերը միացրեք տախտակի ավելի փոքր նավահանգիստներին (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): Վերջապես, օգտագործելով վերջին jumper մալուխը, GPIO A1- ը միացրեք դրական էներգիայի ռելսին: Ֆիզիկական կարգավորումն այժմ ավարտված է:

Քայլ 6: Կոդ

Կոդ
Կոդ
Կոդ
Կոդ

Միացրեք Ethernet մալուխը և հոսանքի մալուխը Pi- ին և համապատասխան դիրքերին: Բացեք MATLAB- ը և գործարկեք հետևյալ սցենարը ՝ միկրոհսկիչը նախաստորագրելու համար.

rpi = raspi ('169.254.0.2', 'pi', 'ազնվամորի');

Այնուհետև պատճենեք և տեղադրեք հետևյալը նոր սցենարի մեջ, որը կոչվում է Ping, բախումների կանխարգելման համակարգը գործարկելու համար.

գործառույթը dist = ping () trig = 19; արձագանք = 13; թեստ = 21; configurePin (rpi, trig, 'DigitalOutput'); configurePin (rpi, echo, 'DigitalInput'); configurePin (rpi, test, 'DigitalInput');

disp («Հեռավորության չափումը ընթացքի մեջ է»);

իսկական writeDigitalPin (rpi, trig, 0); disp («Թույլ տալ, որ սենսորը տեղավորվի»); դադար (2);

writeDigitalPin (rpi, trig, 1); դադար (0.002); writeDigitalPin (rpi, trig, 0);

իսկ readDigitalPin (rpi, echo) == 0 tic վերջ

readDigitalPin (rpi, echo) == 1 T = toc; վերջ

զարկերակային տևողություն = T; հեռավորություն = զարկերակային տևողություն * 17150;

բաց = "Հեռավորություն ="; փակել = "սմ"; տող = [բաց, հեռավորություն, փակում]; դիսպ (տող); dist = հեռավորություն; վերջ վերջ

Նոր սցենարում գործարկեք հետևյալ ծածկագիրը ՝ անվանված կարգավիճակը.

configurePin (rpi, 21, «DigitalInput»); configurePin (rpi, 16, «DigitalInput»); configurePin (rpi, 12, «DigitalInput»);

կարգավիճակ = 2; d = 10; %Կարգավիճակ. մինչ աշխատում է %d = ping (); եթե readDigitalPin (rpi, 21) == 1 կարգավիճակ = 0; elseif readDigitalPin (rpi, 16) == 1 կարգավիճակ = 1; elseif readDigitalPin (rpi, 12) == 1 կարգավիճակ = 2; այլևս դ

Խորհուրդ ենք տալիս: