Სარჩევი:
- ნაბიჯი 1: ნაწილები
- ნაბიჯი 2: პროცედურა
- ნაბიჯი 3: პროგრამირება
- ნაბიჯი 4: პრობლემების მოგვარება და შეცვლა
- ნაბიჯი 5: აპარატურა
ვიდეო: ძაღლის განწყობის დეტექტორი (ჟოლოს პი): 5 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:19
ეს ინსტრუქცია შექმნილია იმისთვის, რომ მიიღოს ძაღლის ხმები და დაადგინოს უნდა მიუახლოვდეს თუ არა მათ ინდიკატორების LED- ებით. ძაღლების მეპატრონეების უმეტესობამ იცის თავისი შინაური ცხოველები და შეუძლიათ წაიკითხონ სიგნალები, რასაც ისინი გასცემენ, ამიტომ ეს ინსტრუქცია ძირითადად მიმართულია უცნობი ადამიანებისკენ, რომლებიც შეიძლება დაუკავშირდნენ თქვენს ძაღლს.
ნაბიჯი 1: ნაწილები
თქვენ დაგჭირდებათ:
- ჟოლო პი
- წითელი/მწვანე LED- ები (X2)
- მონიტორი
- კლავიატურა/მაუსი USB- ით
- WiFi Dongle
- გარე USB მიკროფონი
- 330 ohm რეზისტორი (X2)
არჩევითი ნაწილები
- გარე ჟოლოს კვების ბლოკი
- ძაღლის საყელო
ნაბიჯი 2: პროცედურა
პირველი ნაბიჯი ამ პროექტის დასაწყებად არის თქვენი ძაღლის ქცევისა და ნიმუშების დაკვირვება. თქვენ შეგიძლიათ დააწკაპუნოთ აქ მარტივი სახელმძღვანელოსთვის, თუ რას უნდა ეძებოთ. ჩემს შემთხვევაში, ჩემი ძაღლი ყვირის, როცა აღფრთოვანებულია ან უხარია ვინმეს ნახვა და ნერვიულობის ან დამძიმების დროს წყვეტს ყეფს. მომდევნო რამდენიმე ნაბიჯში მე აგიხსნით, თუ როგორ შეცვალოთ ჩემი პროგრამა თქვენი ძაღლის ქცევების მოსაწყობად.
ნაბიჯი 3: პროგრამირება
ქვემოთ მოცემულია პითონის პროგრამა, რომელიც მე გამოვიყენე ჩემი ძაღლისთვის. მომდევნო ეტაპზე მე აგიხსნით როგორ შეცვალოთ პროგრამა თქვენი ძაღლის ქცევისთვის. არ გაუშვათ პროგრამა ჯერჯერობით, რადგან ის არ იმუშავებს, სანამ არ გააკეთებთ შემდეგ ნაბიჯს.
#!/usr/bin/pythonimport pyaudio იმპორტი sys იმპორტი ძაფი დროიდან იმპორტი ძილი მასივიდან იმპორტი მასივი იმპორტი RPi. GPIO როგორც GPIO
ქერქი = 0
ყვირილი = ყალბი დაჭერა = 0 ქერქი სიგრძე = 5 შეფერხება = 0 ლოდინი = 2 დროშა = 0 წითელი = 7 მწვანე = 5 გასვლა დროშა = ყალბი
def toggleLightRed (გ):
GPIO.setmode (GPIO. BOARD) GPIO.setup (წითელი, GPIO. OUT) GPIO.output (c, True) ძილი (10) GPIO.output (c, False) print ("Red toggled")
def toggleLightGreen (გ):
GPIO.setmode (GPIO. BOARD) GPIO.setup (მწვანე, GPIO. OUT) GPIO.output (c, True) ძილი (10) GPIO.output (c, False) print ("Green toggled")
def main ():
გლობალური ქერქი გლობალური ყვირილი გლობალური გლობალური ქერქი გლობალური გვიან გლობალური დროშა გლობალური წითელი გლობალური მწვანე
ნაჭერი = 8192
FORMAT = pyaudio.paInt16 CHANNELS = 1 RATE = 44100 ბარიერი = 3000 max_value = 0 p = pyaudio. PyAudio () ნაკადი = p. გახსნილი (ფორმატი = ფორმატი, არხები = CHANNELS, განაკვეთი = RATE, შეყვანა = True, გამომავალი = True, frames_per_buffer = chunk) GPIO.setmode (GPIO. BOARD) GPIO.setup (წითელი, GPIO. OUT) GPIO.setup (მწვანე, GPIO. OUT) ცადეთ: დაბეჭდეთ "აღმოჩენის ინიციალიზაცია" ხოლო True: ცადეთ: მონაცემები = ნაკადი.კითხული (ნაჭერი) IOError as ex: if ex [1]! = pyaudio.paInputOverflowed: მონაცემების გაზრდა = '\ x00' * chunk as_ints = მასივი ('h', მონაცემები) max_value = max (as_ints) ხოლო max_value> ბარიერი: დაგვიანებით = 0 გამართვა = გამართვა+1 ცდა: data = stream.read (chunk) IOError as ex: if ex [1]! = Pyaudio.paInputOverflowed: data raise = '\ x00' * chunk as_ints = array ('h', data) max_value = max (as_ints) if hold> = barkLength: howl = True print "HOWL DETECTED" toggleLightGreen (green) GPIO.cleanup () elif hold> 0 and hold
თუ _name_ == '_ მთავარი_':
მთავარი ()
ნაბიჯი 4: პრობლემების მოგვარება და შეცვლა
Აწყობა
სანამ პროგრამას გაუშვებთ, თქვენ უნდა ჩაწეროთ შემდეგი ტერმინალში PyAudio– ს ინსტალაციისთვის:
sudo apt-get intall python-pyaudio
ამის შემდეგ შეგიძლიათ შეამოწმოთ პროგრამა, რათა დარწმუნდეთ, რომ ის გამართულად მუშაობს.
Დიაგნოსტიკა
თქვენ შეიძლება განიცადოთ შემდეგი შეცდომა:
IOError: [Errno Input overflowed] -9981
ამის გამოსასწორებლად, უბრალოდ გაზარდეთ ცვლადი ნაწილისთვის მინიჭებული რიცხვი, სანამ შეცდომა აღარ გამოჩნდება.
მოდიფიცირება
ცვლადი barkLength განსაზღვრავს რამდენჯერმე პროგრამის მარყუჟები სანამ ხმაური აღარ განიხილება როგორც ქერქი, არამედ როგორც ყმუილი. თუ თქვენი ძაღლები ყვირიან, მაგრამ ამას აკეთებენ მხოლოდ მცირეოდენი გასროლით, მაშინ უნდა შეამციროთ ეს რიცხვი.
ცვლადი წითელი და მწვანე ეხება გამომავალ პორტებს, რომლებიც გამოყენებული იქნება LED ინდიკატორებისთვის. ეს შეიძლება შეიცვალოს თქვენი საჭიროებების შესაბამისად.
მიუხედავად იმისა, რომ მე არ ვიყენებ ცვლადი შეფერხებას აქტიურად ჩემს პროგრამაში, შეიძლება აღინიშნოს, რომ მიუთითებს ყეფა ან ყვირილი.
ცვლადი შეფერხება ეხება რამდენჯერ მარყუჟს პროგრამა სადაც ხმაურის დონე ზღურბლზე მაღლაა და გამოიყენება იმის დასადგენად ხდება თუ არა ყვირილი. ეს ცვლადი არანაირად არ უნდა შეიცვალოს, რადგან ყვირილი აღმოჩენილია barkLength ცვლადის მანიპულირებით.
ბარიერის ცვლა შეიძლება შემცირდეს, თუ ქერქი არ არის ძალიან ხმამაღალი ან აწეული, თუ არის ფონური ხმაური, რომელიც შეიძლება არასწორად იქნას განმარტებული, როგორც ძაღლიდან წამოსული ხმაური.
ნაბიჯი 5: აპარატურა
ამ დროს თქვენ უნდა გქონდეთ სრულად ფუნქციონირებადი პროგრამა, რომელიც ეკრანზე აჩვენებს რას გააკეთებს ტექნიკა. პროექტის ეს წერტილი არის ის, სადაც თქვენ უნდა გადაწყვიტოთ იქნება ეს სტაციონარული მიკროფონი ერთ ადგილას (მაგ. ადგილი სახლში, სადაც ძაღლი ჩვეულებრივ ჩადის ან კონტაქტში მოდის ვიზიტორებთან) თუ პროექტი მინიმუმამდე შემცირდება და მიმაგრებულია ძაღლის საყელოზე, რათა უზრუნველყოს დაუყოვნებელი გამოხმაურება ძაღლთან ურთიერთობისას.
სტაციონარული
უმარტივესი რამ არის ყველაფერი დატოვოთ პურის დაფაზე, რადგან არ იქნება მოძრაობა, რომელსაც შეუძლია მავთულის გაწყვეტა. შეაერთეთ წითელი LED- ების კათოდები Raspberry Pi- ს და Anodes- ის Ground pin- ზე ან 330 ohm რეზისტორის საშუალებით, ან პირდაპირ Raspberry Pi- ის პინ 7 -ში. იგივე გააკეთეთ მწვანე შუქდიოდებით, მაგრამ შეაერთეთ ანოდები პინ 5 -ზე. გაუშვით პროგრამა და თქვენ უნდა გქონდეთ დასრულებული პროექტი მას შემდეგ რაც შეცვლით კოდს თქვენს საჭიროებებზე.
არასტაციონალური
მე გირჩევთ შეავსოთ სტაციონარული ვერსია ჯერ მხოლოდ იმის უზრუნველსაყოფად, რომ ყველაფერი მუშაობს და შემდეგ გადადით იქიდან, შეაერთეთ ყველაფერი ისე, რომ მავთულები არ იყოს დაუკავშირებელი ძაღლის მოძრაობასთან.
მიამაგრეთ LED- ები საყელოზე ისე, რომ ორივე კომფორტულ მდგომარეობაში იყოს და მიახლოებისას ვინმემ ნახოს.
შემდეგ დააკავშირეთ თქვენი გარე კვების ბლოკი, როგორიცაა აქ ნახული ჟოლოს პი და მიამაგრეთ იგი საყელოზე ძაღლისთვის კომფორტულად.
მას შემდეგ რაც ყველაფერი თავის ადგილზე იქნება უზრუნველყოფილი, გაუშვით და გაუშვით პროგრამა, მიამაგრეთ საყელო ძაღლს და თქვენ დაასრულებთ!
გირჩევთ:
განწყობის სპიკერი- ძლიერი სპიკერი იმისთვის, რომ განწყობის მუსიკა უკრავს გარემოს ტემპერატურაზე დაყრდნობით: 9 ნაბიჯი
Mood Speaker- ძლიერი სპიკერი Mood Music– ის დასაკრავად, გარემოს ტემპერატურაზე დაყრდნობით: გამარჯობა! ჩემი სკოლის პროექტისთვის MCT Howest Kortrijk– ში, მე გავაკეთე Mood Speaker ეს არის ჭკვიანი Bluetooth სპიკერი მოწყობილობა სხვადასხვა სენსორებით, LCD და WS2812b ledstrip შედის. სპიკერი უკრავს ფონურ მუსიკას ტემპერატურის მიხედვით, მაგრამ შეუძლია
IoT გაზის დეტექტორი არდუინოსა და ჟოლოს პიით: 5 ნაბიჯი
IoT გაზის დეტექტორი Arduino და Raspberry Pi– ით: ამ ინსტრუქციებში თქვენ ისწავლით როგორ ავაშენოთ IoT გაზის დეტექტორი Arduino– ს, Raspberry Pi– ს და MQ-5 გაზის სენსორის გამოყენებით. ამ ნაწილების გარდა თქვენ დაგჭირდებათ სამი მავთული არდუინოს გაზის სენსორთან დასაკავშირებლად. როგორც კი ეს გაკეთდება თქვენ
LED მოციმციმე ჟოლოს პი - როგორ გამოვიყენოთ GPIO ქინძისთავები ჟოლოს პიზე: 4 ნაბიჯი
LED მოციმციმე ჟოლოს პი | როგორ გამოვიყენოთ GPIO ქინძისთავები ჟოლოს Pi- ზე: გამარჯობა ბიჭებო ამ ინსტრუქციებში ჩვენ ვისწავლით თუ როგორ გამოიყენოთ Raspberry pi- ის GPIO. თუ თქვენ ოდესმე იყენებთ Arduino– ს, ალბათ იცით, რომ ჩვენ შეგვიძლია LED გადამრთველი და ა. აანთეთ LED ან მიიღეთ შეყვანა გადამრთველიდან ასე
ჟოლოს ჟოლოს საათი უყურეთ მას ესმის და იგრძენი: 5 ნაბიჯი (სურათებით)
Raspberry Pi Oled Clock Watch It Hear It and Feel It: ეს არის ჭკვიანი საათი, რომელიც აჩვენებს დროს OLED ეკრანზე და ასევე შეგიძლიათ მოისმინოთ დრო სხვადასხვა დროის ინტერვალში, რაც სავსეა ბრმა ადამიანებისთვის და ის ასევე ცვლის დროინდელ ფერს დროთა განმავლობაში ბინდის შუქი საღამოს ნარინჯისფერი ხდება ყვითელი და მოსწონს
IOT კვამლის დეტექტორი: განაახლეთ არსებული კვამლის დეტექტორი IOT– ით: 6 ნაბიჯი (სურათებით)
IOT კვამლის დეტექტორი: განაახლეთ არსებული კვამლის დეტექტორი IOT– ით: ავტორების სია, გამომგონებელი: Tan Siew Chin, Tan Yit Peng, Tan Wee Heng მეთვალყურე: დოქტორი ჩია კიმ სენგი მექანიკური და რობოტული ინჟინერიის განყოფილება, ელექტრო და ელექტრონული ინჟინერიის ფაკულტეტი, Universiti Tun ჰუსეინ ონნი მალაიზია. განაწილება