Mục lục:
- Bước 1: Các bộ phận
- Bước 2: Thủ tục
- Bước 3: Lập trình
- Bước 4: Khắc phục sự cố và sửa đổi
- Bước 5: Phần cứng
Video: Máy dò tâm trạng của chó (Raspberry Pi): 5 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:34
Có thể hướng dẫn này được thiết kế để nghe âm thanh của chó và xác định xem chúng có nên được tiếp cận hay không bằng đèn LED chỉ báo. Hầu hết những người nuôi chó đều biết vật nuôi của họ và có thể đọc được các tín hiệu mà chúng phát ra, vì vậy Tài liệu hướng dẫn này chủ yếu hướng về những người lạ có thể tiếp xúc với con chó của bạn.
Bước 1: Các bộ phận
Bạn sẽ cần:
- Raspberry Pi
- Đèn LED đỏ / xanh lục (X2)
- Màn hình
- Bàn phím / chuột với USB
- WiFi Dongle
- Micrô USB bên ngoài
- Điện trở 330 ohm (X2)
Phần tùy chọn
- Nguồn cung cấp Raspberry Pi bên ngoài
- Vòng cổ chó
Bước 2: Thủ tục
Bước đầu tiên để bắt đầu dự án này là quan sát các hành vi và khuôn mẫu liên quan đến con chó của bạn. Bạn có thể nhấp vào ĐÂY để xem hướng dẫn đơn giản về những gì bạn nên tìm kiếm. Trong trường hợp của tôi, con chó của tôi hú lên bất cứ khi nào nó phấn khích hoặc vui mừng khi nhìn thấy ai đó và sủa liên tục khi lo lắng hoặc trầm trọng hơn. Trong vài bước tiếp theo, tôi sẽ giải thích cách sửa đổi chương trình của tôi để phù hợp với các hành vi của con chó của bạn.
Bước 3: Lập trình
Dưới đây là chương trình Python mà tôi đã sử dụng cho con chó của mình. Trong bước tiếp theo, tôi sẽ giải thích cách sửa đổi chương trình cho hành vi của con chó của bạn. Đừng chạy chương trình ngay vì nó sẽ không hoạt động cho đến khi bạn thực hiện bước tiếp theo.
#! / usr / bin / pythonimport pyaudio nhập hệ thống nhập chuỗi từ thời gian nhập chế độ ngủ từ mảng nhập mảng nhập RPi. GPIO dưới dạng GPIO
sủa = 0
howl = False hold = 0 sủaLength = 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, True) sleep (10) GPIO.output (c, False) print ("Red toggled")
def toggleLightGreen (c):
GPIO.setmode (GPIO. BOARD) GPIO.setup (xanh lục, GPIO. OUT) GPIO.output (c, True) sleep (10) GPIO.output (c, False) in ("Green toggled")
def main ():
toàn cầu sủa toàn cầu tru toàn cầu giữ toàn cầu sủa toàn cầu
chunk = 8192
FORMAT = pyaudio.paInt16 CHANNELS = 1 RATE = 44100 ngưỡng = 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 (xanh lục, GPIO. OUT) thử: in "Đã khởi tạo phát hiện" trong khi True: try: data = stream.read (chunk) ngoại trừ IOError as ex: if ex [1]! = pyaudio.paInputOverflowed: raise data = '\ x00' * chunk as_ints = array ('h', data) max_value = max (as_ints) while max_value> ngưỡng: delay = 0 hold = hold + 1 try: data = stream.read (chunk) ngoại trừ IOError as ex: if ex [1]! = Pyaudio.paInputOverflowed: raise data = '\ x00' * chunk as_ints = array ('h', data) max_value = max (as_ints) if hold> = shellLength: howl = True print "HOWL DETECTED" toggleLightGreen (xanh lục) GPIO.cleanup () elif hold> 0 and hold
nếu _name_ == '_main_':
chủ chốt()
Bước 4: Khắc phục sự cố và sửa đổi
Cài đặt
Trước khi chạy chương trình, bạn sẽ cần nhập thông tin sau vào Terminal để cài đặt PyAudio:
sudo apt-get intall python-pyaudio
Sau đó, bạn có thể chạy thử chương trình để đảm bảo rằng nó đang hoạt động bình thường.
Xử lý sự cố
Bạn có thể gặp lỗi sau:
IOError: [Errno Input đã bị tràn] -9981
Để khắc phục điều này, chỉ cần tăng số lượng được gán cho chunk biến cho đến khi lỗi không còn xuất hiện nữa.
Sửa đổi
Biến shellLength quy định số lần chương trình lặp lại trước khi tiếng ồn không còn được xem là tiếng sủa nữa mà là tiếng hú. Nếu chó của bạn hú lên nhưng chỉ kêu trong một khoảng thời gian ngắn thì bạn nên giảm con số này xuống.
Các biến màu đỏ và xanh lá cây đề cập đến các cổng đầu ra sẽ được sử dụng cho các chỉ báo LED. Chúng có thể được thay đổi để phù hợp với nhu cầu của bạn.
Mặc dù tôi không chủ động sử dụng độ trễ biến đổi trong chương trình của mình, nhưng nó có thể được quan sát để chỉ ra tần suất sủa hoặc hú.
Biến giữ liên quan đến số lần chương trình lặp lại trong đó mức ồn vượt quá ngưỡng và được sử dụng để xác định xem có tiếng hú đang diễn ra hay không. Biến này không nên được sửa đổi theo bất kỳ cách nào vì tiếng hú được phát hiện thông qua thao tác của biến độ dài.
Biến ngưỡng có thể được hạ xuống nếu tiếng sủa không quá lớn hoặc lớn lên nếu có tiếng ồn xung quanh có thể bị hiểu nhầm là tiếng ồn phát ra từ con chó.
Bước 5: Phần cứng
Tại thời điểm này, bạn nên có một chương trình hoạt động đầy đủ hiển thị trên màn hình những gì phần cứng sẽ làm. Điểm này trong dự án là nơi bạn nên quyết định xem đây sẽ là một micrô cố định được đặt ở một nơi (ví dụ: một nơi trong nhà mà con chó thường lui tới hoặc tiếp xúc với khách) hay liệu dự án sẽ được thu nhỏ và gắn vào cổ chó để cung cấp phản hồi ngay lập tức cho người tương tác với chó.
Đứng im
Điều đơn giản nhất để làm là để mọi thứ trên breadboard vì sẽ không có chuyển động nào có thể làm tách dây. Kết nối cực âm của đèn LED đỏ với chân Đất trên Raspberry Pi và Cực dương thông qua điện trở 330 ohm hoặc thẳng vào chân 7 của Raspberry Pi. Làm tương tự với đèn LED Xanh nhưng kết nối Cực dương với chân 5. Chạy chương trình và bạn sẽ có một dự án hoàn thành sau khi bạn đã sửa đổi mã theo nhu cầu của mình.
Không văn phòng phẩm
Tôi khuyên bạn nên hoàn thành phiên bản tĩnh trước tiên chỉ để đảm bảo rằng mọi thứ đang hoạt động và sau đó chuyển từ đó bằng cách hàn mọi thứ lại với nhau để không có dây nào trở nên không kết nối với chuyển động của con chó.
Gắn các đèn LED vào cổ áo để chúng ở vị trí thoải mái và có thể được ai đó nhìn thấy khi họ đến gần.
Tiếp theo, kết nối nguồn điện bên ngoài của bạn, chẳng hạn như nguồn điện được thấy ở đây với pi mâm xôi và cố định nó vào cổ áo theo cách thoải mái cho con chó.
Khi mọi thứ đã được đảm bảo an toàn, hãy tiếp tục và chạy chương trình, gắn vòng cổ vào chú chó và bạn đã hoàn tất!
Đề xuất:
Làm giá đỡ cho máy ảnh DSLR với giá chưa đến 6 đô la bằng cách sử dụng ống PVC (Chân máy / Chân máy cho mọi máy ảnh): 6 bước
Làm giá đỡ cho máy ảnh DSLR với giá chưa đến 6 đô la bằng cách sử dụng ống PVC (Monopod / chân máy cho mọi máy ảnh): Có …. Bạn có thể tự làm giá đỡ chỉ với một số ống PVC và chữ T. Nó rất nhẹ … Nó được cân bằng hoàn hảo … Nó rắn chắc … Nó thân thiện với khả năng tùy chỉnh … Tôi là Sooraj Bagal và tôi sẽ chia sẻ kinh nghiệm của mình về giá đỡ máy ảnh này mà tôi đã tạo cho
Thiết lập trang web với trình tạo trang của Google: 6 bước
Thiết lập trang web với Trình tạo trang của Google: Cách thiết lập trang web với Trình tạo trang mới của Google Labs. (Cách tạo một trang web 100mb đơn giản miễn phí và có nó trong một buổi chiều.) Bao gồm cách, liên kết trang biểu mẫu với trang, liên kết đến các trang khác, liên kết đến tệp html đã tải lên, bao gồm hình ảnh,
Hợp nhất trang web của bạn (Trình tạo trang của Google) với Picasa trên Anbom dòng: 5 bước
Hợp nhất trang web của bạn (Trình tạo trang của Google) với Picasa trên Anbom dòng: Xin chào, đây là tài liệu hướng dẫn đầu tiên của tôi, hãy tận hưởng nó! tiếp tục với hướng dẫn này Thiết lập một trang web với Trình tạo trang của Google
Hộp Barbie: Hộp ngụy trang / Hộp bùng nổ cho máy nghe nhạc Mp3 của bạn: 4 bước (có hình ảnh)
Hộp Barbie: Hộp ngụy trang / Hộp bùng nổ cho máy nghe nhạc Mp3 của bạn: Đây là một hộp đựng bảo vệ có đệm cho máy nghe nhạc mp3 của bạn, cũng có thể chuyển đổi giắc cắm tai nghe sang 1/4 inch, có thể hoạt động như một hộp bùng nổ khi lật công tắc và ngụy trang máy nghe nhạc mp3 của bạn thành một máy nghe nhạc đầu những năm chín mươi hoặc hành vi trộm cắp tương tự tôi
Cách biến điện thoại di động LG EnV 2 của bạn thành một Modem quay số di động cho máy tính xách tay (hoặc máy tính để bàn) của bạn: 7 bước
Cách biến điện thoại di động LG EnV 2 của bạn thành một Modem quay số di động cho máy tính xách tay (hoặc máy tính để bàn) của bạn: Tất cả chúng ta đều có nhu cầu sử dụng Internet ở những nơi không thể, chẳng hạn như trong ô tô hoặc trong kỳ nghỉ, nơi họ tính một khoản tiền đắt đỏ mỗi giờ để sử dụng wifi của họ. cuối cùng, tôi đã nghĩ ra một cách đơn giản để