Мазмуну:
- 1 -кадам: Бөлүктөр
- 2 -кадам: тартиби
- 3 -кадам: Программалоо
- 4 -кадам: Мүчүлүштүктөрдү оңдоо жана өзгөртүү
- 5 -кадам: Аппараттык
Video: Dog Mood Detector (Raspberry Pi): 5 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:41
Бул Instructable ит чыгарган үндөрдү кабыл алуу үчүн жана аларга индикатор LEDлер менен жакындоо керекпи же жокпу аныктоо үчүн иштелип чыккан. Көпчүлүк иттер үй жаныбарларын билишет жана алар берген сигналдарды окуй алышат, андыктан бул Нускама көбүнчө сиздин ит менен байланышта боло турган бейтааныш адамдарга багытталган.
1 -кадам: Бөлүктөр
Сага керек болот:
- Raspberry Pi
- Кызыл/Жашыл LED (X2)
- Monitor
- USB менен клавиатура/чычкан
- WiFi Dongle
- Тышкы USB микрофону
- 330 Ом резистору (X2)
Кошумча бөлүктөр
- Тышкы Raspberry Pi Power Supply
- Каргы
2 -кадам: тартиби
Бул долбоорду баштоонун биринчи кадамы - итиңиз менен байланышкан жүрүм -турумду жана калыптарды байкоо. Сиз бул жерди чыкылдата аласыз, сиз издеп жаткан нерсе боюнча жөнөкөй жол көрсөткүч. Менин учурда, менин итим кимдир бирөөнү көргөндө кубанган же кубанган сайын ыйлайт жана толкунданганда же күчөгөндө үзүл -кесил үрө берет. Кийинки бир нече кадамдарда мен иттин жүрүм -турумуна ылайыкташуу үчүн программамды кантип өзгөртүү керектигин түшүндүрөм.
3 -кадам: Программалоо
Төмөндө мен итим үчүн колдонгон Python программасы. Кийинки кадамда мен иттин жүрүм -туруму үчүн программаны кантип өзгөртүү керектигин түшүндүрөм. Программаны азырынча иштетпеңиз, анткени ал кийинки кадамды жасамайынча иштебейт.
№!
кабык = 0
howl = False hold = 0 barkLength = 5 кечигүү = 0 күтүү = 2 желек = 0 кызыл = 7 жашыл = 5 чыгууFlag = False
def toggleLightRed (c):
GPIO.setmode (GPIO. BOARD) GPIO.setup (кызыл, GPIO. OUT) GPIO.output (c, True) уйку (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 CHANNELS = 1 RATE = 44100 threshold = 3000 max_value = 0 p = pyaudio. PyAudio () stream = p.open (format = FORMAT, channels = CHANNELS, rate = RATE, input = True, output = True, frames_per_buffer = chunk) GPIO.setmode (GPIO. BOARD) GPIO.setup (кызыл, GPIO. OUT) GPIO.setup (жашыл, GPIO. OUT) аракет кылыңыз: Print "Detection initialized" while True: try: data = stream.read (chunk) IOErrorдон башка ex: if ex [1]! = pyaudio.paInputOverflowed: data = '\ x00' * chunk as_ints = array ('h', data) max_value = max (as_ints) while max_value> босого: delay = 0 hold = hold+1 try: data = stream.read (chunk) IOErrorден башка ex: if ex [1]! = Pyaudio.paInputOverflowed: 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_':
негизги ()
4 -кадам: Мүчүлүштүктөрдү оңдоо жана өзгөртүү
Жайгашуу
Программаны иштетүүдөн мурун PyAudio орнотуу үчүн Терминалга төмөнкүлөрдү терүү керек болот:
sudo apt-get intall python-pyaudio
Ушундан кийин, программанын туура иштешин текшерүү үчүн, аны текшере аласыз.
Мүчүлүштүктөрдү оңдоо
Сиз төмөнкү катага дуушар болушу мүмкүн:
IOError: [Errno Input overflowed] -9981
Муну оңдоо үчүн, ката мындан ары көрүнмөйүнчө, өзгөрмө бөлүккө берилген санды көбөйтүңүз.
Өзгөртүлүүдө
BarkLength өзгөрмөсү ызы -чуу мындан ары кабык катары эмес, боздоонун алдында программанын канча жолу айланарын аныктайт. Эгерде иттериңиз ыйласа, бирок муну кыска жарылуу үчүн гана жасаса, анда бул санды азайтыңыз.
Кызыл жана жашыл өзгөрмөлөр LED көрсөткүчтөрү үчүн колдонула турган чыгаруу портторун билдирет. Булар сиздин муктаждыктарыңызга ылайык өзгөртүлүшү мүмкүн.
Мен өзгөрүлмөлүү кечигүүнү программамда активдүү колдонбосом да, ал үрүп же улуунун жыштыгын көрсөтүп турат.
Өзгөртмө кармоо, ызы -чуунун босогодон жогору турган программасынын циклдерин канча жолу билдирет жана ыйлоо болуп жаткандыгын аныктоо үчүн колдонулат. Бул өзгөрмө barkLength өзгөрмөсүнүн манипуляциясы аркылуу ыйлоо аныкталгандыктан эч кандай өзгөртүлбөшү керек.
Эгерде кабык өтө катуу болбосо же көтөрүлбөсө, босого өзгөрмөнү төмөндөтсө болот, эгерде иттен чыккан ызы -чуу катары туура эмес чечмелениши мүмкүн.
5 -кадам: Аппараттык
Дал ушул учурда сизде жабдыктын эмне кылып жатканын экранга көрсөтүүчү толук иштей турган программа болушу керек. Долбоордун бул жери - бул бир жерге орнотулган стационардык микрофон болобу же жокпу, ошону чечишиңиз керек (мисалы, ит адатта көп келген же коноктор менен байланышта болгон жер) же долбоор минималдаштырылабы жана ит менен баарлашкан адамга токтоосуз жооп берүү үчүн иттин жакасына бекитилет.
Стационардык
Эң оңой нерсе - баарын нанга калтыруу, анткени зымдарды ажыратуучу кыймыл болбойт. Кызыл LEDдын катоддорун Raspberry Piдеги аноддорго жана 330 омдук резистор аркылуу же түз эле Raspberry Piдин 7 пинине туташтырыңыз. Жашыл светодиоддор менен да ушундай кылыңыз, бирок аноддорду 5 -пинге туташтырыңыз. Программаны иштетиңиз жана кодду муктаждыктарыңызга өзгөрткөндөн кийин сизде бүткөн долбоор болушу керек.
Стационардык эмес
Мен стационардык версияны бүтүрүүнү сунуштайм, баары иштейт жана андан кийин ошол жерден жылып, иттин кыймылынан эч кандай зымдар үзүлбөйт.
Светодиоддорду жакага бекиткиле, ошондо алар экөө тең ыңгайлуу абалда болушат жана жакындаганда кимдир бирөөлөргө көрүнүп калат.
Кийинки, тышкы энергия булагыңызды БУЛ ЖЕРДЕ малина пи -ге туташтырып, жакага итке ыңгайлуу кылып бекемдеңиз.
Баары өз ордуна келгенден кийин, программаны иштетип, жаканы итке байлаңыз, сиз бүттүңүз!
Сунушталууда:
Автоматтык Dog Feederrr !!: 4 кадам
Automatic Dog Feederrr !!: Оңой, Пайдалуу жана Ден соолуктуу
Auto Dog Feeder: 6 кадам
Auto Dog Feeder: Бул менин Auto Pet Feeder долбоорум. Менин атым Паркер, мен 11 -класста окуйм жана бул долбоорду 2020 -жылдын 11 -ноябрында CCA (Course Culminating Activity) катары түздүм, бул долбоордо мен сизге Arduino UNO менен үй жаныбарларын автоматтык түрдө кантип азыктандырууну көрсөтөм
Жөнөкөй Robo-Dog (фортепиано баскычтарынан, оюнчук мылтыктан жана чычкандан жасалган): 20 кадам (сүрөттөр менен)
Жөнөкөй Robo-Dog (фортепиано баскычтарынан, оюнчук мылтыктан жана чычкандан жасалган): О, Азербайжан! Оттун өлкөсү, улуу меймандостук, боорукер адамдар жана сулуу аялдар (… кечиресиз, аял! Албетте, менин сизге гана көзүм бар, менин сулуу balaca ana өрдөкбурун жубайым!). Бирок, чынын айтсам, бул жаратуучу үчүн абдан оор жер, айрыкча, ж
Dog Dog Trainer: 5 кадам
Dog Dog Trainer: AKC маалыматы боюнча, (https://www.akc.org/expert-advice/nutrition/how-many-times-a-day-should-a-dog-eat/) тоют иттер үчүн абдан маанилүү, жана кутунун өлчөмү дагы ит күнүнө жей турган жемдердин санын чектейт, "Ветеринардык
Raspberry Pi Automatic Dog Feeder & Live Video Streamer: 3 кадам
Raspberry Pi Automatic Dog Feeder & Live Video Streamer: Бул менин Raspberry PI менен иштөөчү автоматтык ит багуучу. Мен эртең мененки саат 11ден кечки 9га чейин иштечүмүн. Мен аны убагында тамактандырбасам, менин итим жинди болуп калат. Автоматтык түрдө азыктандыргычтарды сатып алуу үчүн google менен таанышыңыз, алар Индияда жок жана импорттоо кымбат