Სარჩევი:

დისტანციის სენსორის კამერა: 4 ნაბიჯი
დისტანციის სენსორის კამერა: 4 ნაბიჯი

ვიდეო: დისტანციის სენსორის კამერა: 4 ნაბიჯი

ვიდეო: დისტანციის სენსორის კამერა: 4 ნაბიჯი
ვიდეო: Imilab EC4 100 დღე დატენვის გარეშე!!! (Xiaomi ხარისხი) 2024, ნოემბერი
Anonim
დისტანციის სენსორის კამერა
დისტანციის სენსორის კამერა

ეს ინსტრუქცია გაჩვენებთ თუ როგორ უნდა გააკეთოთ დისტანციური სენსორის კამერა ჟოლოს პიის გამოყენებით. ეს პროექტი გამოიყენებს ჟოლოს პი და გამოიყენებს პითონს 3 ამ პროექტში კოდირებისათვის დისტანციის სენსორული კამერა ჯერ 100 სმ -ია, შემდეგ დახუჭავს RGB LED და გადაიღებს სურათს. შემდეგ იმის საჩვენებლად, რომ ფოტო გადაღებულია, მაშინ RGB LED იქნება მყარი ლურჯი ფერი. შემდეგ ფოტოზე წვდომისათვის მიდიხართ ჟოლოს პი -ის მაგიდაზე, რომელზეც ფოტოა გადაღებული.

თქვენ დაგჭირდებათ:

  • 1x ჟოლო პი
  • 1x T-Cobbler
  • 1x სრული ზომის პურის დაფა
  • 1x Pi კამერა
  • 1x RGB LED (კათოდი)
  • 1x დისტანციის სენსორი
  • 1x 330 Ω რეზისტორი
  • 1x 560 Ω რეზისტორი
  • ლურჯი მავთულები
  • შავი მავთულები
  • წითელი მავთულები

Ნაბიჯი 1:

გამოსახულება
გამოსახულება

შეიძინეთ ნაწილები და მიამაგრეთ T-Cobbler Raspberry Pi და breadboard. შემდეგი დააყენეთ მიწა და დენის მავთულები. 5,0 ვ-დან გაჭერით და გაშალეთ წითელი მავთული იმდენად, რამდენადაც T-Cobbler- ზე 5.0 ვ-ის შემდგომ ხვრელში მოთავსდება და ერთ მხარეს დაფაზე დადებით და უარყოფით ლაქებს დადებთ. შემდეგ გააკეთე ის, რაც ახლახან გააკეთე, მაგრამ შავი მავთულით შეიყვანე GND და ეს გადადის უარყოფით ნაწილში. ამის შემდეგ გადადით პურის დაფის მეორე მხარეს და დააკავშირეთ ორი დადებითი მხარე ერთმანეთთან და ორი უარყოფითი მხარე მავთულხლართებით ისე, რომ დადებითი იყოს წითელი და უარყოფითი შავი. როგორც ეს სქემატურია ნაჩვენები

ნაბიჯი 2:

გამოსახულება
გამოსახულება

აიღეთ დისტანციის სენსორი, RGB LED და pi კამერა და განათავსეთ ისინი pi და breadboard- ზე. შეაერთეთ pi კამერა ჟოლოს pi მითითებულ პოზიციაში. შემდეგ მოათავსეთ RGB LED პურის დაფაზე და დარწმუნდით, რომ ყველა სრულად მიდის იმ ხვრელში, რომელშიც თქვენ ჩასვამთ. წაიკითხეთ რა RGB LED გაქვთ და შენიშნეთ რომელი ტყვია არის რა. შემდეგ იპოვეთ ადგილი დისტანციის სენსორისთვის პურის დაფაზე, სადაც არაფერია გზაში. ყურადღება მიაქციეთ, რომელი ლიდერობა მიდის სად, რადგან თქვენ უნდა იცოდეთ შემდეგი ნაბიჯისათვის.

ნაბიჯი 3:

გამოსახულება
გამოსახულება

ახლა დაასრულეთ მიკროსქემის გაყვანილობა და იპოვნეთ სწორი რეზისტორები სწორი პოზიციისთვის. ასე რომ, ძალაუფლების გამოსახატავად მე გამოვიყენე წითელი მავთულები, გრუნტისთვის გამოვიყენე შავი მავთულები, ხოლო GPIO მავთულხლართებისთვის მე გამოვიყენე ლურჯი მავთულები. და ამ ნაბიჯში ჩვენ ასევე დავაყენებთ რეზისტორებს სწორ ადგილას მანძილის სენსორით. საჭიროების შემთხვევაში დაიცავით სქემა, თუ როგორ უნდა დააკავშიროთ ეს წრე.

ნაბიჯი 4:

გამოსახულება
გამოსახულება

ახლა ამ ნაბიჯისათვის ჩვენ ვიქოდებით კოდირება და ამისათვის ჩვენ ვიყენებთ პითონს 3. რაც უნდა მოხდეს არის ის, რომ თუ u და მანძილი სენსორებს შორის მანძილი 100 სმ -ზე მეტია მაშინ კამერა გადაიღებს ფოტოს. მაგრამ ფოტოსურათამდე ის წითლად ანათებს და ფოტოს შემდეგ ის იქნება მყარი ლურჯი.

პითონ 3 კოდი

იმპორტი RPi. GPIO როგორც GPIO პიქამერიდან იმპორტი PiCamera დროიდან იმპორტი ძილის დრო, დრო gpiozero იმპორტი LED, ღილაკი

კამერა = PiCamera ()

GPIO.setmode (GPIO. BCM)

GPIO_TRIGGER = 13GPIO_ECHO = 19 წითელი = LED (16) მწვანე = LED (20) ლურჯი = LED (21) ისევ = ჭეშმარიტი

GPIO.setwarnings (ყალბი) GPIO.setup (GPIO_TRIGGER, GPIO. OUT) GPIO.setup (GPIO_ECHO, GPIO. IN)

def RedLight (): red.blink () green.on () blue.on ()

def BlueLight (): red.on () green.on () blue.off ()

def GreenLight (): red.on () green.off () blue.on ()

def მანძილი (): GPIO.output (GPIO_TRIGGER, True)

ძილი (0.00001) GPIO.output (GPIO_TRIGGER, ყალბი)

StartTime = დრო () StopTime = დრო ()

ხოლო GPIO.input (GPIO_ECHO) == 0: StartTime = დრო ()

ხოლო GPIO.input (GPIO_ECHO) == 1: StopTime = დრო ()

TimeElapsed = StopTime - StartTime მანძილი = (TimeElapsed * 34300) / 2

დაბრუნების მანძილი

სცადეთ: კიდევ ერთხელ: dist = მანძილი () თუ dist> 100: camera.start_preview () RedLight () RedLight () ძილი (5) camera.capture ('/home/pi/Desktop/Image.jpg') camera.stop_preview () BlueLight () ისევ = ყალბი ბეჭდვა ("გაზომილი მანძილი = %.1f სმ" % dist) ძილი (1)

# გადატვირთვა CTRL + კლავიატურის გამოკლებით დაჭერით შეაფერხეთ: ბეჭდვა ("გაზომვა შეჩერებულია მომხმარებლის მიერ") GPIO.cleanup ()

გირჩევთ: