فهرست مطالب:
تصویری: آشکارساز خلق و خوی سگ (تمشک پای): 5 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:56
این دستورالعمل به گونه ای طراحی شده است که صداهایی را که یک سگ ایجاد می کند بگیرد و تعیین کند که آیا باید با 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 متصل کرده و آن را به گونه ای که برای سگ راحت است به یقه محکم کنید.
وقتی همه چیز در جای خود ثابت شد ، برنامه را اجرا کنید ، یقه را به سگ وصل کنید ، و کار شما تمام شد!
توصیه شده:
چراغ خلق و خوی فوق العاده: 5 مرحله (همراه با تصاویر)
چراغ خلق و خوی فوق العاده: رنگ ها و احساسات از هم جدا نیستند. رنگ ها نقش بسیار مهمی در ایجاد فضای خلق و خوی دارند. این می تواند ما را خوشحال یا غمگین ، ناامید یا آرام کند ، متمرکز یا منحرف کند. تنها کاری که باید انجام دهید این است که رنگ مناسبی را تنظیم کنید تا روز خود را به روز تبدیل کنید
(فای) لامپ خلق و خوی: 8 مرحله (همراه با تصاویر)
(WiFi) Mood Lamp: در این دستورالعمل ، به شما نشان خواهم داد که چگونه یک لامپ خلقی بسیار آسان و ارزان بسازید. لامپ را می توان با LED های RGB و میکروکنترلر سازگار با WiFi ارتقا داد
RGB LED و نور خلق و خوی تنفسی: 8 مرحله
چراغ RGB و نور خلقی تنفسی: LED RGB & amp؛ Breathing Mood Light یک نور شب ساده است که شامل دو حالت است. برای حالت اول ، می توانید رنگ LED RGB را با چرخاندن سه مقاومت متغیر تغییر دهید ، و برای حالت دوم ، حالت تنفس را نشان می دهد
چشمک زدن LED با تمشک پای - نحوه استفاده از پین های GPIO در رزبری پای: 4 مرحله
چشمک زدن LED با تمشک پای | نحوه استفاده از پین های GPIO در Raspberry Pi: سلام بچه ها در این دستورالعمل نحوه استفاده از GPIO's Raspberry pi را یاد می گیریم. اگر تا به حال از آردوینو استفاده کرده اید ، احتمالاً می دانید که ما می توانیم سوئیچ LED و غیره را به پین های آن وصل کرده و آن را مانند کار کنیم. چشمک بزنید یا ورودی را از سوئیچ دریافت کنید تا
آشکارساز دود IOT: آشکارساز دود موجود را با IOT به روز کنید: 6 مرحله (همراه با تصاویر)
آشکارساز دود IOT: آشکارساز دود موجود را با IOT به روز کنید: فهرست مشارکت کنندگان ، مخترع: Tan Siew Chin ، Tan Yit Peng ، Tan Wee Heng ناظر: دکتر Chia Kim Seng گروه مهندسی مکاترونیک و رباتیک ، دانشکده مهندسی برق و الکترونیک ، Universiti Tun حسین اونن مالزی. توزیع