Агуулгын хүснэгт:

Нохойны сэтгэл санааны илрүүлэгч (Raspberry Pi): 5 алхам
Нохойны сэтгэл санааны илрүүлэгч (Raspberry Pi): 5 алхам

Видео: Нохойны сэтгэл санааны илрүүлэгч (Raspberry Pi): 5 алхам

Видео: Нохойны сэтгэл санааны илрүүлэгч (Raspberry Pi): 5 алхам
Видео: ПОЧЕМУ Я ЖДУ L4D3 2024, May
Anonim
Нохойны сэтгэл санааны илрүүлэгч (Raspberry Pi)
Нохойны сэтгэл санааны илрүүлэгч (Raspberry Pi)

Энэхүү зааварчилгаа нь нохойны гаргаж буй дуу чимээг хүлээн авч, индикаторын LED -ээр ойртох ёстой эсэхийг тодорхойлох зорилготой юм. Ихэнх нохой эзэмшигчид гэрийн тэжээвэр амьтдаа мэддэг бөгөөд тэд өгч буй дохиог уншиж чаддаг тул энэхүү зааварчилгаа нь ихэвчлэн таны нохойтой харьцаж болзошгүй танихгүй хүмүүст зориулагдсан болно.

Алхам 1: эд анги

Эд анги
Эд анги
Эд анги
Эд анги
Эд анги
Эд анги

Танд хэрэгтэй болно:

  • Raspberry Pi
  • Улаан/Ногоон LED (X2)
  • Хяналт
  • USB -тэй гар/хулгана
  • WiFi Dongle
  • Гадаад USB микрофон
  • 330 ом эсэргүүцэл (X2)

Нэмэлт хэсгүүд

  • Гадаад Raspberry Pi цахилгаан хангамж
  • Нохойн хүзүүвч

Алхам 2: Процедур

Процедур
Процедур

Энэхүү төслийг эхлүүлэх эхний алхам бол нохойтойгоо холбоотой зан байдал, хэв маягийг ажиглах явдал юм. Та хайж буй зүйлийнхээ талаар энгийн гарын авлагыг ЭНД дарж авах боломжтой. Миний хувьд нохой маань хэн нэгэнтэй уулзахдаа баярлах, баярлах тоолондоо уйлж, сандарсан эсвэл хүндрэх үедээ үе үе хуцдаг. Дараагийн хэдэн алхам дээр би нохойныхоо зан төлөвт нийцүүлэхийн тулд програмаа хэрхэн өөрчлөх талаар тайлбарлах болно.

Алхам 3: Програмчлал

Програмчлал
Програмчлал

Миний нохойнд ашигладаг Python програмыг доор харуулав. Дараагийн алхамд би нохойныхоо зан төлөвт зориулсан програмыг хэрхэн өөрчлөх талаар тайлбарлах болно. Дараагийн алхамыг хийх хүртэл ажиллахгүй тул програмыг одоохондоо бүү ажиллуулаарай.

№!

холтос = 0

howl = Худал барих = 0 barkLength = 5 саатал = 0 хүлээх = 2 туг = 0 улаан = 7 ногоон = 5 гарахFlag = Худал

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 босго = 3000 max_value = 0 p = pyaudio. PyAudio () урсгал = p.open (формат = FORMAT, сувгууд = 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 (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) from IOError as 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 -р зүү рүү холбоно уу. Ногоон LED -тэй ижил зүйлийг хий, гэхдээ анодуудыг 5 -р зүү рүү холбоно уу. Програмыг ажиллуулаарай, хэрэв та кодыг өөрийн хэрэгцээнд нийцүүлэн өөрчилсөн бол танд дууссан төсөл байх ёстой.

Хөдөлгөөнгүй

Нохойны хөдөлгөөнөөс ямар ч утас салахгүй байхын тулд бүх зүйл ажиллаж байгаа эсэхийг баталгаажуулахын тулд эхлээд суурин хувилбарыг бөглөхийг зөвлөж байна.

LED -үүдийг хүзүүвч рүү бэхлээрэй, ингэснээр тэд хоёулаа тохь тухтай байрлалтай байх бөгөөд ойртох тусам хэн нэгэнд харагдах боломжтой болно.

Дараа нь бөөрөлзгөнө пи -ийг ЭНДЭЭС үзсэн гадаад тэжээлээ холбож, нохойнд эвтэйхэн байдлаар хүзүүвчээр бэхлээрэй.

Бүх зүйл баталгаатай болсны дараа програмаа ажиллуулаад хүзүүвчээ нохойнд залга, тэгвэл та бэлэн боллоо!

Зөвлөмж болгож буй: