תוכן עניינים:
וִידֵאוֹ: גלאי מצב רוח לכלבים (פטל פטל): 5 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:16
מדריך זה מיועד לקחת את הצלילים שכלב משמיע ולקבוע אם יש לפנות אליהם או לא בעזרת נוריות חיווי. רוב בעלי הכלבים מכירים את חיות המחמד שלהם ויכולים לקרוא את האותות שהם מוציאים ולכן המדריך הזה מופנה בעיקר לזרים שעלולים לבוא במגע עם הכלב שלך.
שלב 1: חלקים
אתה תצטרך:
- פאי פטל
- נוריות אדומות/ירוקות (X2)
- צג
- מקלדת/עכבר עם USB
- Dongle WiFi
- מיקרופון USB חיצוני
- נגד 330 אוהם (X2)
חלקי חילוף
- ספק כוח חיצוני של פטל פי
- קולר לכלב
שלב 2: נוהל
הצעד הראשון להתחלת הפרויקט הוא להתבונן בהתנהגויות ובדפוסים הקשורים לכלב שלך. אתה יכול ללחוץ כאן למדריך פשוט על מה שאתה צריך לחפש. במקרה שלי, הכלב שלי מיילל בכל פעם שהיא מתרגשת או שמחה לראות מישהו ונובחת לסירוגין כשהיא עצבנית או מחמירה. בשלבים הבאים אסביר כיצד לשנות את התוכנית שלי על מנת להתאים להתנהגויות של הכלב שלך.
שלב 3: תכנות
להלן תוכנית Python בה השתמשתי עבור הכלב שלי. בשלב הבא אסביר כיצד לשנות את התוכנית להתנהגות הכלב שלך. אל תריץ את התוכנית עדיין מכיוון שהיא לא תעבוד עד שתעשה את השלב הבא.
#!/usr/bin/pythonimport pyaudio יבוא sys חוט ייבוא מעת לעת שינה יבוא ממערך יבוא מערך RPi. GPIO כ- GPIO
לנבוח = 0
יללה = החזקת שווא = 0 נביחות אורך = 5 עיכוב = 0 המתנה = 2 דגל = 0 אדום = 7 ירוק = 5 יציאה Flag = שווא
def toggleLightRed (ג):
GPIO.setmode (GPIO. BOARD) GPIO.setup (אדום, GPIO. OUT) GPIO.output (c, True) שינה (10) GPIO.output (c, False) הדפסה ("אדום מסומן")
def toggleLightGreen (ג):
GPIO.setmode (GPIO. BOARD) GPIO.setup (ירוק, GPIO. OUT) GPIO.output (c, True) שינה (10) GPIO.output (c, False) הדפסה ("ירוק מחליף")
def main ():
נביחה גלובלית יללה גלובלית אחיזה נביחה גלובלית עיכוב גלובאלי באורך דגל גלובלי אדום גלובלי ירוק
נתח = 8192
FORMAT = pyaudio.paInt16 ערוצים = RATE 1 = 44100 סף = 3000 max_value = 0 p = pyaudio. PyAudio () stream = p.open (פורמט = FORMAT, ערוצים = CHANNELS, rate = RATE, input = True, output = True, frames_per_buffer = נתח) GPIO.setmode (GPIO. BOARD) GPIO.setup (אדום, GPIO. OUT) GPIO.setup (ירוק, GPIO. OUT) נסה: הדפס "איתור מאתחל" בעוד True: try: data = stream.read (נתח) למעט IOError כמו לשעבר: אם ex [1]! = pyaudio.paInputOverflowed: העלאת נתונים = '\ x00' * נתח as_ints = מערך ('h', נתונים) max_value = max (as_ints) בעוד max_value> סף: delay = 0 החזק = החזק+ניסיון אחד: data = stream.read (נתח) למעט IOError כמו לשעבר: אם ex [1]! = Pyaudio.paInputOverflowed: העלה נתונים = '\ x00' * נתח as_ints = מערך ('h', נתונים) max_value = max (as_ints) אם החזק> = barkLength: howl = הדפסה אמיתית "HOWL DETECTED" toggleLightGreen (ירוק) GPIO.cleanup () elif hold> 0 והחזק
אם _name_ == '_ עיקר_':
רָאשִׁי()
שלב 4: פתרון בעיות ושינוי
להכין
לפני שתפעיל את התוכנית יהיה עליך להקליד את הדברים הבאים במסוף כדי להתקין את PyAudio:
sudo apt-get intall python-pyaudio
לאחר מכן תוכל לבדוק ולהפעיל את התוכנית כדי לוודא שהיא פועלת כראוי.
פתרון תקלות
אתה עלול להיתקל בשגיאה הבאה:
IOError: [קלט ארנו עלה על גדותיו] -9981
כדי לתקן זאת, פשוט הגדל את המספר שהוקצה לגוש המשתנה עד שהשגיאה לא תופיע עוד.
שינוי
משתנה barkLength מכתיב את מספר הפעמים שהתוכנית לולאה לפני שרעש כבר לא נתפס כקליפה, אלא כיללה. אם כלביך מייללים אך עושה זאת רק לפרץ קצר אז עליך להקטין מספר זה.
המשתנים אדום וירוק מתייחסים ליציאות הפלט שישמשו את מחווני ה- LED. ניתן לשנות אותם בהתאם לצרכיך.
למרות שאני לא משתמש בעיכוב המשתנה באופן פעיל בתוכנית שלי, ניתן לראות זאת כדי להצביע על תדירות הנביחות או היללות.
החזקת המשתנה מתייחסת לכמה פעמים התוכנית לולאה כאשר רמת הרעש נמצאת מעל הסף ומשמשת לקביעת אם מתרחשת יללה. אין לשנות את המשתנה הזה בשום צורה כיוון שמזהות יללות באמצעות מניפולציה של משתנה barkLength.
ניתן להוריד את משתנה הסף אם הקליפה אינה חזקה במיוחד או מוגבהת אם יש רעשי רקע העלולים להתפרש בצורה לא נכונה כרעש הנובע מהכלב.
שלב 5: חומרה
בשלב זה אמורה להיות לך תוכנית המתפקדת באופן מלא המציגה למסך מה החומרה תעשה. נקודה זו בפרויקט היא המקום בו עליך להחליט אם מדובר במיקרופון נייח הממוקם במקום אחד (למשל מקום בבית בו הכלב בדרך כלל פוקד או בא במגע עם מבקרים) או אם המינימום של הפרויקט יהיה ממוזער. ומחובר לצווארון הכלב על מנת לספק משוב מיידי לאדם המתקשר עם הכלב.
יַצִיב
הדבר הכי קל לעשות הוא להשאיר הכל על קרש לחם מכיוון שלא תהיה תנועה שעלולה לנתק חוטים. חבר את הקתודות של הלדים האדומים לסיכה הארקה ב- Raspberry Pi והאנודות או דרך נגד 330 אוהם או ישר לתוך סיכה 7 של ה- Raspberry Pi. עשו את אותו הדבר עם הנורות הירוקות אך חיברו את האנודות לסיכה 5. הפעל את התוכנית וכדאי שיהיה לך פרויקט שהושלם לאחר שתשנה את הקוד לצרכיך.
לא נייח
הייתי ממליץ להשלים את הגרסה הנייחת קודם כל רק כדי לוודא שהכל עובד ואז להמשיך הלאה משם על ידי הלחמה של הכל כדי שאף חוט לא יתחבר מהתנועה של הכלב.
חבר את הנורות לצווארון כך ששניהם נמצאים במצב נוח ויוכלו להיראות על ידי מישהו כשהם מתקרבים.
לאחר מכן חבר את ספק הכוח החיצוני שלך כמו זה הנראה כאן לפאי הפטל והדק אותו לצווארון בצורה נוחה לכלב.
לאחר שהכל מאובטח במקומו, הפעל את התוכנית, חבר את הצווארון לכלב וסיימת!
מוּמלָץ:
מנורת מצב רוח LED 1 $ עם ATtiny13 ו- WS2812: 7 שלבים
מנורת מצב רוח LED 1 $ עם ATtiny13 ו- WS2812: זוהי מנורת מצב רוח בעלות נמוכה עם ארבעה מצבים. ניצוץ קשת. ניצוץ אור נע פעם אחר פעם כלפי מעלה ומשנה בהדרגה את הצבע. זוהר קשת. זוהר יציב המשנה בהדרגה את הצבע .3. הדמיית נרות .4. כבוי.אתה יכול
מנורת מצב רוח LED מודפסת תלת -ממדית: 15 שלבים (עם תמונות)
מנורת מצב רוח LED מודפסת תלת מימדית: תמיד היה לי הקסם הזה עם מנורות, כך שהיכולת לשלב בין הדפסה תלת מימדית וארדואינו לנורות הייתה משהו שהייתי צריך להמשיך. הרעיון פשוט מאוד והתוצאה היא אחת הוויזואליות המספקות ביותר חוויות שאתה יכול לשים
אורות מצב רוח MQTT עם ESP32: 4 שלבים (עם תמונות)
אורות מצב הרוח של MQTT עם ESP32: כבר הרבה זמן התפתתי לקפוץ על עגלת ה- LED, אז רצתי החוצה והרמתי פס LED לשעשע איתו. בסופו של דבר הכנתי את אורות הרוח האלה. ניתן לשלוט בהם באמצעות MQTT, מה שמאפשר להוסיף כל מיני חכמים. זהו
רמקול מצב רוח- רמקול רב עוצמה לנגינת מצב רוח על סמך טמפרטורת הסביבה: 9 שלבים
רמקול מצב רוח- רמקול רב עוצמה לנגינת מצב רוח על סמך טמפרטורת הסביבה: היי! לפרויקט בית הספר שלי ב- MCT Howest Kortrijk, הכנתי רמקול מצב רוח זה מכשיר רמקול Bluetooth חכם עם חיישנים שונים, LCD ו- WS2812b רצועת LED כלולה. הרמקול מנגן מוזיקת רקע המבוססת על הטמפרטורה אך יכול
תחנת רוח לגלישת רוח המבוססת על MQTT ו- AWS: 3 שלבים (עם תמונות)
תחנת רוח לגלישת רוח המבוססת על MQTT & AWS: בשנג'ן, יש הרבה חופים יפים. בימי הקיץ, הספורט האהוב עלי ביותר הוא שייט. עבור ענף השייט, אני עדיין מתנע, אני אוהב את התחושה של מי הים שנוגעים בפניי, ועוד, יש לי הרבה חברים חדשים עם הספורט הזה. אבל בשביל