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

Ուլտրաձայնային տվիչ ՝ օբյեկտների դիրքային փոփոխությունները գրավելու համար. 3 քայլ
Ուլտրաձայնային տվիչ ՝ օբյեկտների դիրքային փոփոխությունները գրավելու համար. 3 քայլ

Video: Ուլտրաձայնային տվիչ ՝ օբյեկտների դիրքային փոփոխությունները գրավելու համար. 3 քայլ

Video: Ուլտրաձայնային տվիչ ՝ օբյեկտների դիրքային փոփոխությունները գրավելու համար. 3 քայլ
Video: SERob (snap) Ուլտրաձայնային հեռաչափից կախված սերվո շարժիչի արագություն 2024, Նոյեմբեր
Anonim
Ուլտրաձայնային տվիչ ՝ օբյեկտների դիրքային փոփոխությունները գրավելու համար
Ուլտրաձայնային տվիչ ՝ օբյեկտների դիրքային փոփոխությունները գրավելու համար

Կարևոր է ապահովել ձեր արժեքավոր իրերը, կաղ կլիներ, եթե ամբողջ օրը շարունակեք պահպանել ձեր ամրոցը: Ազնվամորու pi տեսախցիկի միջոցով կարող եք լուսանկարել ճիշտ պահին: Այս ուղեցույցը կօգնի ձեզ նկարահանել տեսանյութ կամ նկարել, երբ փոփոխությունները զգացվեն սահմանային տարածքում:

Սարքավորումներ:

  1. Ազնվամորի Պի 2/3/4
  2. Ուլտրաձայնային ցուցիչ
  3. Pi տեսախցիկ
  4. Ցատկողներ

Քայլ 1: Միացումներ

Միացումներ
Միացումներ
  • ՓՈՐՁԵՔ RPI4B 17 -ին
  • VCC- ից RPI4B 5V
  • GND- ից RPI4B GND- ին
  • Էխո դեպի 470-ohm դիմադրություն դեպի միացում -1
  • GND- ից 1K ohm դիմադրություն միացման -1-ին
  • միացում -1-ը RPI4B 4-ին

Շղթայի սխեման պատրաստված է circuito.io- ի միջոցով, այն ունի բոլոր ամենահայտնի միկրոկոնտրոլերները, տվիչները և այլն, և հարթակը հեշտ է օգտագործել սկսնակների համար

Քայլ 2: Վերբեռնեք ծածկագիրը

Վերբեռնեք ծածկագիրը
Վերբեռնեք ծածկագիրը
Վերբեռնեք ծածկագիրը
Վերբեռնեք ծածկագիրը

Նախքան սցենարը գործարկելը, ստեղծեք թղթապանակ ՝ տերմինալը բացող հետևյալ հրամանների միջոցով, այնուհետև խմբագրեք սցենարի ֆայլը:

pi@raaspberrypi: mkdir լրատվամիջոց

pi@raaspberrypi: nano masë.py

Կոդն օգտագործում է տեսախցիկի և GPIO գրադարաններ: Խաչաձև ստուգեք GPIO_TRIGGER և GPIO_ECHO կապումներն արտաքինից պատշաճ կերպով կապված են Raspberry Pi- ի 17-րդ և 4-րդ կապումներին:

Պատճենեք և տեղադրեք ստորև նշված կոդը կամ մուտքագրեք python ֆայլի մեջ և անվանեք այն որպես «masë.py»

#Librariesimport RPi. GPIO որպես GPIO ներմուծման ժամանակ ներմուծում os picamera- ից ներմուծում PiCamera # Camera Mode camera = PiCamera () camera.rotation = 180 # Մեկնաբանեք այս տողը, եթե պատկերը կատարյալ անկյունագծով է #GPIO Mode GPIO.setmode (GPIO. BCM) GPIO.setwarnings (False) #set GPIO Pins GPIO_TRIGGER = 17 GPIO_ECHO = 4 #set GPIO ուղղություն (IN / OUT) GPIO.setup (GPIO_TRIGGER, GPIO. OUT) GPIO.setup (GPIO_ECHO, GPIO. IN) def հեռավորությունը () սահմանել Trigger- ը HIGH GPIO.output (GPIO_TRIGGER, True) # սահմանել Trigger 0.01ms- ից հետո LOW time.sleep (0.00001) GPIO.output (GPIO_TRIGGER, False) StartTime = time.time () StopTime = time.time () # խնայել StartTime while GPIO.input (GPIO_ECHO) == 0: StartTime = time.time () # խնայել ժամանման ժամանակը, մինչ GPIO.input (GPIO_ECHO) == 1: StopTime = time.time () # մեկնարկի և ժամանման ժամանակի միջև տարբերություն = StopTime - StartTime # բազմապատկեք ձայնային արագությամբ (34300 սմ / վ) # և բաժանեք 2 -ով, քանի որ այնտեղ և հետևի հեռավորությունը = (TimeElapsed * 34300) / 2 վերադարձի հեռավորությունը, եթե _name_ == '_main_': camera.start_preview (alpha = 200) try: while True: dist = distance () print ("Measured Distance = %.1f cm" % dist) if dist <= 20: # փոխել այս արժեքը ըստ ձեր կարգավորման այժմ = ժամանակ.ctime (). փոխարինել ("", "-") camera.capture ("media/image % s.jpg" % now) print ("Image պահված է media/image- % s.jpg" % now) # camera.start_recording ("media/video- % s.h264" % now) # Մեկնաբանեք սա ՝ տեսանյութ # տպելու համար («Տեսանյութը պահված է media/image- % s.jpg» % հիմա) # քուն (5) # Մեկնաբանեք սա տեսանյութ վերցնել 5 վայրկյան ժամանակ: GPIO.cleanup ()

Քայլ 3: Գործարկեք ծածկագիրը

Գործարկեք ծածկագիրը
Գործարկեք ծածկագիրը
Գործարկեք ծածկագիրը
Գործարկեք ծածկագիրը
Գործարկեք ծածկագիրը
Գործարկեք ծածկագիրը
Գործարկեք ծածկագիրը
Գործարկեք ծածկագիրը

Այժմ գործարկեք սցենարը որպես

pi@raspberrypi: python masë.py

Հեռավորությունը չափվում է յուրաքանչյուր 3 վայրկյանում (կարող եք փոխել սցենարի արժեքը) և տպվում է էկրանին, եթե օբյեկտը հայտնաբերվի 20 սանտիմետրերի սահմաններում, pi տեսախցիկը լուսանկարում է և պահում մեդիա թղթապանակում:

Այլապես, կարող եք տեսանյութ նկարահանել ՝ մեկնաբանություններ չնշելով կամ հեռացնելով հեշթեգները (#) սցենարային տողերից, որոնք նշվում են որպես մեկնաբանություններ: Կարող եք նաև երկարացնել տեսանյութի տևողությունը ՝ պարզապես ավելացնելով/նվազեցնելով «time.sleep (5)» արժեքը:

Happy Circuiting!

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