Mục lục:
Video: Giắc nhảy điều khiển bằng giọng nói- Phiên bản Google Voice AIY: 3 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:32
Vì vậy, bạn đã có bộ giọng nói AIY đó cho Giáng sinh và đã chơi với nó, làm theo hướng dẫn. Thật buồn cười, nhưng bây giờ?
Dự án được mô tả trong phần sau trình bày một thiết bị đơn giản có thể được xây dựng bằng AIY voice HAT cho Raspberry Pi. Nó sử dụng hệ thống nhận dạng giọng nói của Google để điều khiển đèn LED và hai servo, điều khiển các cánh tay và chân của giắc cắm bằng một bánh răng rất đơn giản.
Phần mềm hoạt động trong nền là một sửa đổi của tập lệnh servo_demo.py, như nó đã được mô tả trong hướng dẫn sử dụng bộ giọng nói AIY. Chỉ cần làm theo các hướng dẫn được cung cấp ở đó để thiết lập phần cứng và phần mềm. Bản thân thiết bị này rất dễ chế tạo và không yêu cầu nhiều kỹ năng thủ công. Ngoài ra, một con dao cắt, một mũi khoan và một mỏ hàn sẽ rất hữu ích.
Nếu bạn kích hoạt hệ thống nhận dạng giọng nói bằng một cái nháy mắt của tay và nói 'giơ tay lên', giắc nhảy sẽ nâng cao tay và chân, 'trung tâm bàn tay' sẽ di chuyển cả hai servo về vị trí chính giữa và khi 'đặt tay xuống' thì tay và chân sẽ được hạ xuống. Ở "left up", tay và chân trái sẽ nâng lên và ở "right down" thì tay phải hạ xuống, ngược lại ở "right up". "Nhảy", sẽ làm cho nó nhảy, ít nhất là như vậy. Nó cũng đang nói chuyện, hãy xem video đính kèm.
Vì vậy, với một chút nỗ lực, bạn có thể chế tạo robot khiêu vũ, trò chuyện và ca hát của riêng mình.
Để đơn giản hóa việc sử dụng nó, đặc biệt là đối với trẻ nhỏ và để nâng cao yếu tố 'ma thuật', nút trên hộp AIY đã được thay thế làm kích hoạt bằng cảm biến tiệm cận. Để đơn giản hơn, tôi đã sử dụng một đột phá cảm biến khoảng cách kỹ thuật số từ Pololu để nhận biết nếu một vật thể ở gần hơn 5 cm và có thể được sử dụng giống như một nút bấm. Đèn LED cho biết khi nào thiết bị đang chờ lệnh, đang nghe hoặc “đang suy nghĩ”. Servos, cảm biến và đèn LED được điều khiển bởi thư viện phần mềm GPIOZero.
Nguyên mẫu được xây dựng từ các tấm xốp PVC, Forex, có thể được cắt rất dễ dàng bằng dao cắt và dán lại, nhưng cũng khá ổn định. Hãy thoải mái xây dựng một phiên bản lớn hơn, đẹp hơn, cải tiến hơn hoặc lạ mắt hơn, nhưng sẽ rất tốt nếu bạn ghi lại và trình bày những cải tiến của mình.
Bạn có thể sử dụng cả hai mặt của thân xe, tùy thuộc vào việc bạn muốn trình bày thiết bị di chuyển hoặc bố trí đẹp mắt, thân thiện với trẻ em. --------- "Hampelmann" là thuật ngữ tiếng Đức có nghĩa là "nhảy dây", có một số ý nghĩa nhất định.
Bước 1: Vật liệu được sử dụng
Raspberry Pi 3; 32 bảng tại Pimoroni, Vương quốc Anh
Bộ giọng nói AIY; 25 bảng tại Pimoroni, Vương quốc Anh
Cảm biến khoảng cách kỹ thuật số Pololu đột phá với cảm biến Sharp, 5 cm; 5,90 € tại Exp-tec.de
Hai servo 9g
Hai đèn LED trắng và một điện trở
Một số đầu cắm và cáp jumper
Một tấm Forex 2 mm, 250 x 500 mm; 1,70 € tại Modulor, Berlin, Đức
Vít M3, đai ốc và vòng đệm, để kết nối tất cả các bộ phận chuyển động. Tôi đã sử dụng sáu vít Nylon 10 và 16 mm.
Sáu vít và đai ốc M2, để cố định các servo vào các tấm và kết nối các tay đòn và bánh răng của Servos.
Một vài giọt keo nhựa
Bước 2: Lắp ráp và sử dụng thiết bị
Liên quan đến bộ giọng nói AIY, chỉ cần làm theo hướng dẫn trong phần mô tả đi kèm với bộ, bao gồm cả phần về servo. Tôi muốn khuyên bạn nên hàn một số đầu cắm ba chân vào các cổng servo trên thiết bị ngắt giọng nói AIY, vì vậy bạn có thể kết nối servo, cảm biến và đèn LED rất dễ dàng với HAT.
Liên quan đến giắc cắm, bạn có thể sử dụng các bản vẽ mà tôi đã cung cấp ở đây dưới dạng tệp svg- và PDF làm mẫu hoặc chỉ cần sửa đổi chúng theo ý tưởng của riêng bạn. Bạn có thể muốn giữ bố cục cơ bản của bánh răng dẫn động chân và cánh tay của kích nhảy, đảm bảo rằng khoảng cách giữa điểm xoay và bánh răng tại servo, tay và chân là như nhau.
Ngoài ra, bạn cũng có thể tạo ra một phiên bản có tay và chân được điều khiển trực tiếp bởi bốn servo riêng biệt hoặc bởi một thiết bị tiên tiến hơn.
Sử dụng bản vẽ, cắt các mảnh từ tấm Forex, bìa cứng hoặc ván ép và khoan các lỗ ở các vị trí thích hợp. Dán các mảnh khoảng cách vào các điểm xoay của cánh tay và chân, đảm bảo sự liên kết tốt của các lỗ.
Cố định các servo và các bộ phận chuyển động vào tấm đế. Thêm cảm biến khoảng cách và đèn LED như được chỉ ra. Servos được cố định bằng vít M2, tất cả các bộ phận chuyển động bằng vít M3. Tôi đã sử dụng vít Nylon M3, nhưng chỉ vì lý do thẩm mỹ.
Kiểm tra xem các tay servo có được đặt ở vị trí chính giữa hay không. Kết nối các cánh tay và bánh răng servo, tôi đã sử dụng vít M2 cho mục đích này.
Gắn servo, đèn LED và cảm biến khoảng cách vào đầu nối servo trên bảng AIY. Bạn có thể cần một số cáp kéo dài / dây nhảy. Tôi đã gắn servo bên trái vào “servo0” (GPIO 26), servo bên phải vào “servo2” (GPIO 13), đèn LED vào “servo5” (GPIO 24) và cảm biến vào “servo3” (GPIO 5) trên AIY giọng nói HAT.
Sao chép tệp “Hampelmann.py” đã cung cấp vào thư mục con AIY “src” và làm cho nó có thể thực thi trực tiếp cho bất kỳ ai. Để làm như vậy, bạn có thể chọn tệp trong trình quản lý tệp, sau đó nhấp chuột phải và chọn Thuộc tính, chọn Quyền, đi tới Thực thi, chọn ~ bất kỳ ai. Hoặc viết “chmod + x src / Hampelmann.py” trong bảng điều khiển dành cho nhà phát triển.
Kiểm tra xem mọi thứ đã được đặt đúng vị trí và cố định, hoặc có thể di chuyển khi cần thiết hay không. Mở dòng lệnh Dev, nhập “src / Hampelmann.py” và khởi động chương trình. Nếu bạn di chuyển bàn tay hoặc các ngón tay của mình trước cảm biến khoảng cách, bộ phận AIY sẽ yêu cầu các lệnh và đèn LED sẽ nhấp nháy. Các lệnh được thực hiện là “phải / trái / tay lên / xuống / giữa”, “nhảy”, “bật / tắt đèn LED” và “tạm biệt”.
Chơi. Di chuyển bàn tay của bạn trước cảm biến, nói khi được hỏi và cho thiết bị một chút thời gian để phản ứng. Độ trễ là khá cao. Crtl + C hoặc “Goodbye” sẽ dừng chương trình.
Bạn có thể sửa đổi tệp bằng Nano hoặc một trình soạn thảo văn bản đơn giản khác.
Lưu ý: Xin lưu ý rằng một số từ và thuật ngữ được nhận dạng là những từ bắt đầu bằng chữ in hoa, là 'Trung tâm' hoặc 'Chính giữa', còn những từ khác thì không, ví dụ: 'ngay trên'. Bạn phải sử dụng biểu mẫu chính xác do mô-đun nhận dạng giọng nói cung cấp để kích hoạt một số hành động.
Bước 3: Tập lệnh Python
Như đã đề cập trước đây, tập lệnh dựa trên tập lệnh servo_demo.py từ hướng dẫn thoại AIY, với một số bổ sung. Phiên bản đầu tiên là tệp Hampelmann.py bạn sẽ thấy đính kèm. AngularServo từ GPIOZero cho phép hạn chế phạm vi hoạt động của servo và xác định chính xác khoảng cách sẽ di chuyển. Nhưng tôi thích giọng Anh hơn giọng gốc. Và thiết bị cũng có thể nói, nhưng không hiểu (?), Tiếng Anh, Đức, Ý, Pháp và Tây Ban Nha. Dưới đây, bạn tìm thấy tập lệnh Hampelmann2.py, với giọng nói của người Anh, và một chút tiếng Ý và tiếng Đức. Xin lưu ý rằng bạn phải làm cho các tập lệnh có thể thực thi để chạy chúng.
#! / usr / bin / env python3 # Tập lệnh này là bản chuyển thể của tập lệnh servo_demo.py cho HAT giọng nói AIY, # được tối ưu hóa cho nhập giắc nhảy AIY aiy.audio nhập aiy.cloudspeech nhập aiy.voicehat từ đèn LED nhập gpiozero from gpiozero import AngularServo from gpiozero import Nút from time import sleep def main (): Recogzer = aiy.cloudspeech.get_recognizer () Recogzer.expect_phrase ('right up') Recogzer.expect_phrase ('right down') Recogzer.expect_phrase ('Right Căn giữa ') # các chữ cái in hoa có trong mục đích nhận dạngzer.expect_phrase (' từ trái lên ') Recogzer.expect_phrase (' từ trái xuống ') Recogzer.expect_phrase (' ở giữa bên trái ') Recogzer.expect_phrase (' giơ tay lên ') Recogzer.expect_phrase ('thả tay xuống') Recogzer.expect_phrase ('Trung tâm bàn tay') Recogzer.expect_phrase ('Nhảy') Recogzer.expect_phrase ('LED bật') Recogzer.expect_phrase ('LED tắt') Recogzer.expect_phrase ('tạm biệt') aiy.audio.get_recorder (). start () servo0 = AngularServo (26, min_angle = -40, max_angle = 40) # kết nối đầu tiên hoặc, GPIO 26 servo2 = AngularServo (13, min_angle = -40, max_angle = 40) # đầu nối thứ 3, GPIO 13 led0 = LED (24) # LED được kết nối với servo5 / GPIO 24 khoảng cách = Nút (5) # cảm biến khoảng cách được kết nối sang servo3 / GPIO 05 # khác: GPIO 6 tại servo1, 12 tại servo4 aiy.audio.say ("Xin chào!",) aiy.audio.say ("Để bắt đầu, di chuyển tay của bạn đến gần cảm biến",) trong khi Đúng: led0.on () # Đèn LED trên bản in ("Để kích hoạt tính năng nhận dạng giọng nói, di chuyển bàn tay đến gần cảm biến khoảng cách, sau đó nói") print ('Các từ khóa mong đợi là: tay / trái / phải lên / xuống / giữa,') print ('Bật / tắt đèn LED, nhảy và tạm biệt.') print () distance.wait_for_press () print ('Đang nghe…') aiy.audio.say ("Vui lòng đưa ra lệnh của bạn",) led0.blink () # light flash text = Recogzer.recognize () nếu văn bản là Không: aiy.audio.say ('Xin lỗi, tôi không nghe thấy bạn.',) else: print ('Bạn đã nói ", text,'" ') # Cho phép bạn kiểm tra phần diễn giải hệ thống nếu 'sang phải' trong văn bản: print ('Di chuyển servo0 đến vị trí tối đa') servo0.angle = 35 elif 'sang phải' trong văn bản: print ('Di chuyển servo0 đến vị trí tối đa') đến vị trí tối thiểu ') servo0.angle = -35 elif' Right Center 'trong văn bản: #correct phụ đề là bản in quan trọng (' Di chuyển servo0 đến vị trí giữa ') servo0.angle = 0 elif' left up 'trong text: print (' Di chuyển servo2 đến vị trí tối đa ') servo2.angle = -35 elif' left down 'in text: print (' Di chuyển servo2 đến vị trí tối thiểu ') servo2.angle = 35 elif' left Center 'in text: print (' Di chuyển servo2 tới vị trí giữa ') servo2.angle = 0 elif' giơ tay 'trong văn bản: print (' Di chuyển servo2 đến vị trí tối đa ') servo2.angle = -35 servo0.angle = 35 elif' giơ tay 'trong văn bản: print (' Đang di chuyển servo2 đến vị trí tối thiểu ') servo2.angle = 35 servo0.angle = -35 elif' Tay giữa 'trong văn bản: print (' Di chuyển servo2 đến vị trí giữa ') servo2.angle = 0 servo0.angle = 0 elif' Đèn LED tắt ' trong văn bản: print ('tắt đèn LED bên ngoài 0') led0.off () elif 'bật đèn LED bên ngoài' trong văn bản: print ('bật đèn LED bên ngoài 0') led0.on () # light elif 'dance' trong văn bản: print ('hiện đang biểu diễn điệu nhảy số một') aiy.audio.say ("Chà, tôi sẽ cố gắng hết sức!",) led0.on () # bật sáng đối với tôi trong phạm vi (3): servo0.angle = 0 servo2.angle = 0 sleep (1) servo0.angle = 35 servo2.angle = -35 sleep (1) servo0.angle = 0 servo2.angle = -35 sleep (1) servo0.angle = -25 servo2.angle = 0 sleep (1) servo0.angle = 30 servo2.angle = 20 sleep (1) servo0.angle = 0 servo2.angle = 0 led0.off () # tắt đèn elif 'tạm biệt' trong văn bản: aiy.audio.say ("Tạm biệt",) aiy.audio.say ('Arrivederci',) aiy.audio.say ('Auf Wiedersehen',) servo0.angle = 0 servo2.angle = 0 led0.off () sleep (3) print ('bye!') break else: print ('Không nhận dạng được từ khoá!') aiy.audio.say ("Xin lỗi, tôi không hiểu bạn",) if _name_ == ' _main_ ': main ()
Đề xuất:
Điều khiển bằng giọng nói Ngôi nhà của bạn từ mọi nơi trên thế giới: 5 bước
Điều khiển bằng giọng nói Ngôi nhà của bạn Từ mọi nơi trên Thế giới: … không còn là khoa học viễn tưởng nữa … Sử dụng phần cứng và phần mềm hiện có, Tài liệu hướng dẫn này sẽ chứng minh cách có thể điều khiển bằng giọng nói phần lớn hệ thống trong nhà của bạn thông qua điều khiển bằng giọng nói, điện thoại thông minh, máy tính bảng và / hoặc PC từ mọi nơi tôi
Nhận dạng giọng nói bằng cách sử dụng API giọng nói của Google và Python: 4 bước
Nhận dạng giọng nói bằng cách sử dụng API giọng nói của Google và Python: Nhận dạng giọng nói Nhận dạng giọng nói là một phần của Xử lý ngôn ngữ tự nhiên, một trường con của Trí tuệ nhân tạo. Nói một cách đơn giản, nhận dạng giọng nói là khả năng của một phần mềm máy tính để xác định các từ và cụm từ trong ngôn ngữ nói
ESP8266 RGB LED STRIP Điều khiển WIFI - NODEMCU làm điều khiển từ xa hồng ngoại cho dải đèn Led được điều khiển qua Wi-Fi - Điều khiển điện thoại thông minh RGB LED STRIP: 4 bước
ESP8266 RGB LED STRIP Điều khiển WIFI | NODEMCU làm điều khiển từ xa hồng ngoại cho dải đèn Led được điều khiển qua Wi-Fi | Điều khiển bằng điện thoại thông minh RGB LED STRIP: Xin chào các bạn trong hướng dẫn này, chúng ta sẽ học cách sử dụng gật đầu hoặc esp8266 làm điều khiển từ xa IR để điều khiển dải LED RGB và Nodemcu sẽ được điều khiển bằng điện thoại thông minh qua wifi. Vì vậy, về cơ bản bạn có thể điều khiển DÂY CHUYỀN LED RGB bằng điện thoại thông minh của mình
Robot điều khiển bằng giọng nói sử dụng vi điều khiển 8051: 4 bước (có hình ảnh)
Robot điều khiển bằng giọng nói sử dụng vi điều khiển 8051: Robot điều khiển bằng giọng nói nhận lệnh cụ thể dưới dạng giọng nói. Dù lệnh được đưa ra thông qua mô-đun thoại hoặc mô-đun Bluetooth, nó sẽ được giải mã bởi bộ điều khiển hiện có và do đó lệnh đã cho được thực thi. Ở đây trong dự án này, tôi
Điều khiển bằng giọng nói Alexa Điều khiển từ xa TV ESP8266: 9 bước
Điều khiển từ xa bằng giọng nói Alexa TV Điều khiển từ xa ESP8266: Có ai đó trong nhà bạn làm mất điều khiển từ xa, bạn bước vào một căn phòng trống và thấy TV đang phát sáng. Pin bắt đầu hỏng và không có điều khiển từ phía sau phòng. Giờ đây, bạn có thể điều khiển TV, DVR, bất kỳ thứ gì có điều khiển IR mà bạn có thể c