فهرست مطالب:

آشکارساز خلق و خوی سگ (تمشک پای): 5 مرحله
آشکارساز خلق و خوی سگ (تمشک پای): 5 مرحله

تصویری: آشکارساز خلق و خوی سگ (تمشک پای): 5 مرحله

تصویری: آشکارساز خلق و خوی سگ (تمشک پای): 5 مرحله
تصویری: قدرت فک استخوان شکن کن کورسو 🔥😳 2024, نوامبر
Anonim
آشکارساز خلق و خوی سگ (تمشک پای)
آشکارساز خلق و خوی سگ (تمشک پای)

این دستورالعمل به گونه ای طراحی شده است که صداهایی را که یک سگ ایجاد می کند بگیرد و تعیین کند که آیا باید با LED های نشانگر به آنها نزدیک شود یا نه. اکثر صاحبان سگها حیوانات خانگی خود را می شناسند و می توانند سیگنال هایی را که از آنها می دهند بخوانند ، بنابراین این دستورالعمل بیشتر به غریبه هایی که ممکن است با سگ شما تماس پیدا کنند ، هدایت می شود.

مرحله 1: قطعات

قطعات
قطعات
قطعات
قطعات
قطعات
قطعات

شما نیاز خواهید داشت:

  • تمشک پای
  • LED های قرمز/سبز (X2)
  • مانیتور
  • صفحه کلید/موس با USB
  • دانگل وای فای
  • میکروفون USB خارجی
  • مقاومت 330 اهم (X2)

قطعات اختیاری

  • منبع تغذیه رزبری پای خارجی
  • قلاده سگ

مرحله 2: روش

روش
روش

اولین قدم برای شروع این پروژه مشاهده رفتارها و الگوهای مربوط به سگ است. برای راهنمای ساده در مورد آنچه که باید به دنبال آن باشید می توانید اینجا کلیک کنید. در مورد من ، سگ من هر زمان که از دیدن کسی هیجان زده یا خوشحال است زوزه می کشد و هنگام عصبی شدن یا تشدید به طور متناوب پارس می کند. در چند مرحله بعدی توضیح خواهم داد که چگونه برنامه خود را تغییر دهید تا رفتارهای سگ شما را برآورده کند.

مرحله 3: برنامه نویسی

برنامه نويسي
برنامه نويسي

در زیر برنامه پایتون است که برای سگم استفاده کردم. در مرحله بعد توضیح خواهم داد که چگونه برنامه را برای رفتار سگ خود تغییر دهید. برنامه را هنوز اجرا نکنید زیرا تا مرحله بعدی کار نمی کند ، کار نمی کند.

#!/usr/bin/pythonimport pyaudio import sys thread import from time import sleep from array import array import RPi. GPIO as GPIO

پوست = 0

زوزه = نگه داشتن اشتباه = 0 پوست طول = 5 تاخیر = 0 انتظار = 2 پرچم = 0 قرمز = 7 سبز = 5 خروج پرچم = نادرست

def toggleLightRed (c):

GPIO.setmode (GPIO. BOARD) GPIO.setup (قرمز ، GPIO. OUT) GPIO.output (c ، True) sleep (10) GPIO.output (c ، False) print ("قرمز تغییر وضعیت")

def toggleLightGreen (c):

GPIO.setmode (GPIO. BOARD) GPIO.setup (سبز ، GPIO. OUT) GPIO.output (c ، True) sleep (10) GPIO.output (c ، False) print ("Green toggled")

def main ():

global bark global howl global hold global globalleeng جهانی تاخیر جهانی پرچم جهانی قرمز جهانی سبز سبز

قطعه = 8192

FORMAT = pyaudio.paInt16 CHANNELS = 1 RATE = 44100 آستانه = 3000 max_value = 0 p = pyaudio. PyAudio () stream = p.open (format = FORMAT، channel = CHANNELS، rate = RATE، input = True، output = True، frames_per_buffer = chunk) GPIO.setmode (GPIO. BOARD) GPIO.setup (قرمز ، GPIO. OUT) GPIO.setup (سبز ، GPIO. OUT) سعی کنید: چاپ "تشخیص اولیه شد" در حالیکه True: try: data = stream.read (تکه) بجز IOError به عنوان مثال: اگر ex [1]! = pyaudio.paInputOverflowed: raise data = '\ x00' * chunk as_ints = array ('h'، data) max_value = max (as_ints) while max_value> threshold: delay = 0 hold = hold+1 try: data = stream.read (chunk) به جز IOError as ex: if ex [1]! = pyaudio.paInputOverflowed: raise data = '\ x00' * chunk as_ints = array ('h'، data) max_value = max (as_ints) if hold> = barkLength: howl = چاپ واقعی "HOWL DETECTED" toggleLightGreen (سبز) GPIO.cleanup () elif hold> 0 و نگه دارید

اگر _name_ == '_main_':

اصلی ()

مرحله 4: عیب یابی و اصلاح

عیب یابی و اصلاح
عیب یابی و اصلاح
عیب یابی و اصلاح
عیب یابی و اصلاح
عیب یابی و اصلاح
عیب یابی و اصلاح

برپایی

قبل از اجرای برنامه ، برای نصب PyAudio باید موارد زیر را در ترمینال تایپ کنید:

sudo apt-get intall python-pyaudio

پس از این کار می توانید برنامه را به صورت آزمایشی اجرا کنید تا از عملکرد صحیح آن مطمئن شوید.

عیب یابی

ممکن است خطای زیر را تجربه کنید:

IOError: [ورودی Errno سرریز شد] -9981

برای رفع این مشکل ، به سادگی تعداد اختصاص داده شده به قطعه متغیر را افزایش دهید تا خطا دیگر ظاهر نشود.

اصلاح کردن

متغیر barkLength تعداد دفعاتی را حلقه می کند که برنامه قبل از اینکه نویز دیگر به عنوان یک پارس دیده نشود ، بلکه به عنوان یک زوزه در نظر گرفته می شود. اگر سگهای شما زوزه می کشند اما این کار را فقط برای یک انفجار کوتاه انجام می دهند ، باید این تعداد را کاهش دهید.

متغیرهای قرمز و سبز به پورت های خروجی اشاره می کنند که برای نشانگرهای LED استفاده می شود. این موارد را می توان متناسب با نیازهای شما تغییر داد.

اگرچه من از تأخیر متغیر به طور فعال در برنامه خود استفاده نمی کنم ، اما می توان مشاهده کرد که فرکانس پارس یا زوزه کشیدن را نشان می دهد.

نگه داشتن متغیر به چند بار حلقه شدن برنامه در جایی که سطح نویز بالاتر از آستانه است و برای تعیین اینکه آیا زوزه ای در حال وقوع است استفاده می شود. این متغیر نباید به هیچ وجه اصلاح شود زیرا زوزه ها از طریق دستکاری متغیر barkLength تشخیص داده می شوند.

اگر پوست درخت زیاد بلند نباشد یا در صورت وجود نویز زمینه ای که می تواند به عنوان نویز ناشی از سگ تعبیر نشود ، می توان متغیر آستانه را کاهش داد.

مرحله 5: سخت افزار

سخت افزار
سخت افزار
سخت افزار
سخت افزار
سخت افزار
سخت افزار

در این مرحله است که باید یک برنامه کاملاً کارآمد داشته باشید که سخت افزار را انجام دهد. این نقطه در پروژه جایی است که شما باید تصمیم بگیرید که آیا این یک میکروفون ثابت است که در یک مکان تنظیم شده است (به عنوان مثال مکانی در خانه که معمولاً سگ در آنجا رفت و آمد می کند یا با بازدیدکنندگان تماس می گیرد) یا اینکه پروژه به حداقل می رسد و به یقه سگ متصل می شود تا بازخورد فوری را برای فردی که با سگ در ارتباط است ارائه دهد.

ثابت

ساده ترین کار این است که همه چیز را روی تخته نان بگذارید زیرا هیچ حرکتی که بتواند سیم ها را جدا کند وجود نخواهد داشت. کاتدهای LED های قرمز را به پین Ground در رزبری پای و آندها یا از طریق مقاومت 330 اهم یا مستقیماً به پین 7 رزبری پای وصل کنید. همین کار را با LED های سبز انجام دهید اما Anodes را به پین 5 متصل کنید. برنامه را اجرا کنید و پس از اصلاح کد به نیازهای خود ، باید یک پروژه کامل داشته باشید.

غیر ثابت

من توصیه می کنم ابتدا نسخه ثابت را تکمیل کنید تا مطمئن شوید که همه چیز در حال کار است و سپس با لحیم کاری همه چیز را از آنجا حرکت دهید تا هیچ سیمی با حرکت سگ وصل نشود.

LED ها را به یقه وصل کنید تا هر دو در موقعیت راحتی قرار بگیرند و با نزدیک شدن به وسیله آنها بتوان آنها را مشاهده کرد.

سپس منبع تغذیه خارجی خود را مانند آنچه در اینجا مشاهده کرده اید به تمشک pi متصل کرده و آن را به گونه ای که برای سگ راحت است به یقه محکم کنید.

وقتی همه چیز در جای خود ثابت شد ، برنامه را اجرا کنید ، یقه را به سگ وصل کنید ، و کار شما تمام شد!

توصیه شده: