Съдържание:
- Стъпка 1: Части
- Стъпка 2: Процедура
- Стъпка 3: Програмиране
- Стъпка 4: Отстраняване на неизправности и промяна
- Стъпка 5: Хардуер
Видео: Детектор за кучешко настроение (Raspberry Pi): 5 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:53
Тази инструкция е предназначена да приема звуците, които издава кучето, и да определи дали трябва да се приближи или не с помощта на светодиодни индикатори. Повечето собственици на кучета познават своите домашни любимци и могат да четат сигналите, които издават, така че тази инструкция е насочена най -вече към непознати, които могат да влязат в контакт с вашето куче.
Стъпка 1: Части
Ще имаш нужда:
- Малина Пи
- Червени/зелени светодиоди (X2)
- Монитор
- Клавиатура/мишка с USB
- WiFi Dongle
- Външен USB микрофон
- Резистор 330 ома (X2)
Допълнителни части
- Външно захранване Raspberry Pi
- Кучешки нашийник
Стъпка 2: Процедура
Първата стъпка към започването на този проект е да наблюдавате поведението и моделите, свързани с вашето куче. Можете да кликнете ТУК за просто ръководство за това какво трябва да търсите. В моя случай кучето ми вие, когато е развълнувано или щастливо да види някого и лае периодично, когато е нервно или влошено. В следващите няколко стъпки ще обясня как да променя програмата си, за да приспособя поведението на вашето куче.
Стъпка 3: Програмиране
По -долу е програмата Python, която използвах за кучето си. В следващата стъпка ще обясня как да променя програмата за поведението на вашето куче. Не стартирайте програмата все още, тъй като тя няма да работи, докато не направите следващата стъпка.
#!/usr/bin/pythonimport pyaudio импортира нишка за импортиране на система от време за импортиране на сън от масив за импортиране на масив импортиране на RPi. GPIO като GPIO
кора = 0
howl = False hold = 0 barkLength = 5 delay = 0 wait = 2 flag = 0 red = 7 green = 5 exitFlag = False
def toggleLightRed (c):
GPIO.setmode (GPIO. BOARD) GPIO.setup (червен, GPIO. OUT) GPIO.output (c, Вярно) спящ (10) GPIO.output (c, False) печат ("Червен превключен")
def toggleLightGreen (c):
GPIO.setmode (GPIO. BOARD) GPIO.setup (зелен, GPIO. OUT) GPIO.output (c, True) спящ (10) GPIO.output (c, False) печат ("Зелено превключено")
def main ():
глобална кора глобален вой вой глобална задръжка глобална кора Дължина глобално забавяне глобален флаг глобално червено глобално зелено
парче = 8192
FORMAT = pyaudio.paInt16 КАНАЛИ = 1 RATE = 44100 праг = 3000 max_value = 0 p = pyaudio. PyAudio () поток = p.open (формат = FORMAT, канали = КАНАЛИ, скорост = RATE, вход = вярно, изход = вярно, frame_per_buffer = chunk) GPIO.setmode (GPIO. BOARD) GPIO.setup (червено, GPIO. OUT) GPIO.setup (зелено, GPIO. OUT) опит: отпечатайте "Откриване инициализирано", докато True: опитайте: data = stream.read (chunk), с изключение на IOError като ex: if ex [1]! = pyaudio.paInputOverflowed: raise data = '\ x00' * chunk as_ints = array ('h', data) max_value = max (as_ints) докато max_value> праг: delay = 0 задържане = задържане+1 опит: data = stream.read (chunk) с изключение на IOError като ex: if ex [1]! = Pyaudio.paInputOverflowed: raise data = '\ x00' * chunk as_ints = array ('h', data) max_value = max (as_ints) if hold> = barkLength: howl = True print "HOWL DETECTED" toggleLightGreen (зелено) GPIO.cleanup () elif hold> 0 и задръжте
ако _name_ == '_main_':
main ()
Стъпка 4: Отстраняване на неизправности и промяна
Настройвам
Преди да стартирате програмата, ще трябва да въведете следното в терминала, за да инсталирате PyAudio:
sudo apt-get intall python-pyaudio
След това можете да тествате програмата, за да се уверите, че работи правилно.
Отстраняване на неизправности
Може да получите следната грешка:
IOError: [Errno Input overflowed] -9981
За да поправите това, просто увеличете броя, присвоен на променливата част, докато грешката вече не се появява.
Промяна
Променливата barkLength диктува колко пъти програмата се затваря, преди шумът вече да не се разглежда като кора, а като вой. Ако кучетата вият, но го правят само за кратко, тогава трябва да намалите този брой.
Променливите червено и зелено се отнасят до изходните портове, които ще се използват за светодиодните индикатори. Те могат да бъдат променени според вашите нужди.
Въпреки че не използвам променливото забавяне активно в програмата си, може да се наблюдава, че показва честотата на лай или вой.
Променливата задържане се отнася до това колко пъти програмата се затваря, където нивото на шума е над прага, и се използва за определяне дали се чува вой. Тази променлива не трябва да се променя по никакъв начин, тъй като вой се открива чрез манипулиране на променливата barkLength.
Праговата променлива може да бъде намалена, ако кората не е много силна или повишена, ако има фонов шум, който би могъл да бъде тълкуван погрешно като шум, излъчван от кучето.
Стъпка 5: Хардуер
В този момент трябва да имате напълно функционираща програма, която да показва на екрана какво ще прави хардуерът. Тази точка в проекта е мястото, където трябва да решите дали това ще бъде стационарен микрофон, който е поставен на едно място (напр. Място в къщата, където кучето обикновено ходи или влиза в контакт с посетители), или дали проектът ще бъде минимизиран и прикрепен към яката на кучето, за да осигури незабавна обратна връзка на лицето, което взаимодейства с кучето.
Стационарен
Най -лесното нещо, което трябва да направите, е да оставите всичко на макет, тъй като няма да има движение, което да откъсне проводниците. Свържете катодите на червените светодиоди към заземяващия щифт на Raspberry Pi и анодите или чрез резистор от 330 ома, или направо в щифт 7 на Raspberry Pi. Направете същото със зелените светодиоди, но свържете анодите към щифт 5. Стартирайте програмата и трябва да имате завършен проект, след като промените кода според вашите нужди.
Нестационарен
Бих препоръчал първо да завършите стационарната версия, само за да се уверите, че всичко работи и след това да продължите оттам, като запоявате всичко заедно, така че нито един проводник да не се откъсне от движението на кучето.
Прикрепете светодиодите към яката, така че и двете да са в удобно положение и да могат да бъдат видени от някой, когато се приближат.
След това свържете външното си захранване, като това, което виждате ТУК, към малиновото пи и го закрепете към яката по начин, удобен за кучето.
След като всичко е фиксирано на място, продължете и стартирайте програмата, прикрепете яката към кучето и сте готови!
Препоръчано:
LED лампа за настроение за $ 1 с ATtiny13 и WS2812: 7 стъпки
LED лампа за настроение за 1 долар с ATtiny13 и WS2812: Това е евтина лампа за настроение с четири режима. Дъгова искра. Искра светлина се движи нагоре след време и постепенно променя цвета. Сияние на дъгата. Стабилен блясък, който постепенно променя цвета. Симулация на огън на свещи.4. Изключен. Можете да
3D печатна LED лампа за настроение: 15 стъпки (със снимки)
3D печатна LED лампа за настроение: Винаги съм имала това увлечение по лампите, така че възможността да комбинирам 3D печат и Arduino със светодиоди беше нещо, което трябваше да преследвам. Концепцията е много проста и резултатът е един от най -удовлетворяващите визуални опит, който можете да предадете
MQTT Светлини за настроение с ESP32: 4 стъпки (със снимки)
MQTT Mood Lights С ESP32: Бях изкушен от доста време да скоча на LED лентата, затова изтичах и взех LED лента, с която да си играя. В крайна сметка направих тези светлини за настроение. Те могат да бъдат контролирани с MQTT, което прави възможно добавянето на всякакви интелигентности
Говорител за настроение- мощен говорител за възпроизвеждане на музика на настроение въз основа на околната температура: 9 стъпки
Mood Speaker- Мощен говорител за възпроизвеждане на музика на настроение въз основа на температурата на околната среда: Здравейте! За моя училищен проект в MCT Howest Kortrijk направих Mood Speaker, това е интелигентно Bluetooth устройство с различни сензори, LCD и WS2812b Включен светодиод. Високоговорителят възпроизвежда фонова музика въз основа на температурата, но може
IOT детектор за дим: Актуализирайте съществуващ детектор за дим с IOT: 6 стъпки (със снимки)
IOT Smote Detector: Актуализирайте съществуващия детектор на дим с IOT: Списък на сътрудниците, Изобретател: Tan Siew Chin, Tan Yit Peng, Tan Wee Heng Надзорник: Д -р Chia Kim Seng Катедра по мехатронно и роботизирано инженерство, Факултет по електротехника и електронно инженерство, Universiti Tun Хюсеин Он Малайзия. Разпространение