Mục lục:
- Bước 1: Các bộ phận cần thiết cho Ewon
- Bước 2: Tìm hiểu về Ewon và lập trình
- Bước 3: In phần thân
- Bước 4: Kết hợp Ewon lại với nhau
- Bước 5: Nối dây Ewon
- Bước 6: Này Ewon! Bạn có thể nghe tôi không?
- Bước 7: Tiếp theo là gì?
Video: Robot tại nhà được hỗ trợ bởi EWON Raspberry Pi: 7 bước (có hình ảnh)
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:31
Bởi sharathnaikSharathnaik.comFollow More của tác giả:
Giới thiệu: Kỹ thuật và Thiết kế Thông tin thêm về sharathnaik »
Gần đây tôi thấy mình đang say sưa xem rất nhiều loạt phim của Netflix do tình hình hiện tại, tôi hy vọng tất cả các bạn đều an toàn và tôi đã thấy phần 5 của Black Mirror đã được phát hành. Một bộ tuyển tập xoay quanh cuộc sống cá nhân của một nhóm người và cách công nghệ điều khiển hành vi của họ.
Và một trong những tập thu hút sự chú ý của tôi là Rachel, Jack và Ashley Too. Một trong những nhân vật chính của loạt phim này là một con robot nhà tên là Ashley O và con robot đó có rất nhiều tính cách xung quanh nó và tôi tự nghĩ rằng mình nên xây dựng một con, đó là một dự án tốt để bắt đầu với lập trình nếu không phải vậy thì ít nhất Tôi có thể lập trình nó để cười trước những câu chuyện cười của mình.!
Ewon là gì? Nó có thể làm gì?
Vì vậy, trước khi bắt đầu làm việc với dự án này, tôi đã đặt ra một số nguyên tắc cơ bản cần tuân thủ. Dự án này phải được
- Dễ dàng cho mọi người dùng thử
- Không chỉ đơn giản là dễ thương mà còn phải hữu ích để nó không bị hết hạn sử dụng
- Mô-đun, để bạn có thể tiếp tục thêm các tính năng mới.
Sau khi thiết lập quy tắc này, tôi đã quyết định sử dụng SDK của Trợ lý Google. SDK này cung cấp rất nhiều tính năng mà tôi đang tìm kiếm và nếu bạn cảm thấy nhàm chán với Ewon, bạn taxi luôn sử dụng nó như một thiết bị Google Home và làm những gì Google Home làm.
Những gì Ewon sẽ làm là thêm một nhân vật vào trợ lý Google. Đó là thể hiện cảm xúc và phản ứng với những gì người dùng nói. Giờ đây, bạn không chỉ nghe thấy giọng nói mà còn biết cách phản ứng.
LƯU Ý: Hướng dẫn này đang được phát triển. Tôi sẽ sớm tải lên tất cả các tệp có liên quan. Cảm ơn bạn
Bước 1: Các bộ phận cần thiết cho Ewon
THIẾT BỊ ĐIỆN TỬ
- Raspberry PI
- Servo SG90 (x4)
- Servo MG995 - tiêu chuẩn (x2)
- Trình điều khiển Servo 16 kênh PCA9685
- Card âm thanh USB
- Cái mic cờ rô
- Loa (Bất kỳ loa nhỏ nào cũng được, tương tự như thế này)
- Đầu nối đầu cắm pin nam và nữ
- Breadboard
- Hiển thị Nextion
VÒNG BI VÀ VÒNG BI
- M3 * 10mm (x10)
- M3 * 8mm (x10)
- M3 Nuts (x20)
-
Ổ đỡ trục
- OD: 15mm ID: 6mm Chiều rộng: 5mm (x2)
- OD: 22mm ID: 8mm Chiều rộng: 7mm (x2)
CÁC VẬT LIỆU KHÁC
-
Bế tắc
- 40mm (x4)
- 30mm (x4)
CÔNG CỤ
máy in 3D
Bước 2: Tìm hiểu về Ewon và lập trình
Trước khi bắt đầu với khía cạnh lập trình, hãy để tôi giải thích ngắn gọn về sơ đồ khối của mạch Ewon.
RPI (Raspberry pi) là bộ não của hệ thống. Trình điều khiển servo được điều khiển bởi RPI sẽ điều khiển servo. Màn hình được điều khiển bởi RPI với giao tiếp nối tiếp để thể hiện cảm xúc và cuối cùng, mic và loa được sử dụng để giao tiếp với Ewon. Bây giờ chúng ta biết phần cứng làm những gì, hãy bắt đầu lập trình Ewon.
Cài đặt SDK trợ lý của Google
Hãy để tôi giải thích hai lý do tại sao tôi định sử dụng Trợ lý Google:
- Tôi muốn Ewon không chỉ là một người máy vui nhộn mà còn là một người hữu ích. SDK của Trợ lý Google đã có rất nhiều tài nguyên mà bạn có thể sử dụng để tăng chức năng của Ewon.
- Bạn cũng có thể sử dụng các hành động trên google và quy trình hộp thoại để cung cấp cho Ewon khả năng trò chuyện với các câu trả lời được xác định trước. Hiện tại, chúng tôi sẽ chỉ tập trung vào SDK cơ bản.
Hãy bắt đầu bằng cách cài đặt SDK trợ lý của Google. Điều này sẽ không khó vì có rất nhiều tài nguyên để giúp bạn thiết lập SDK Trợ lý Google trên RPI. Bạn có thể làm theo hướng dẫn này cùng với:
Hướng dẫn:
Sau khi kết thúc quá trình trên, bạn sẽ có thể nhấp vào enter trên bàn phím và nói chuyện với trợ lý. Đó là tất cả về cách cài đặt SDK Trợ lý Google.
Tôi nên đặt tên nó là gì? Ewon?
Xin chào Google! Đó là những gì được sử dụng để bắt đầu nói với trợ lý của Google và rất tiếc, Google không cho phép sử dụng bất kỳ từ đánh thức tùy chỉnh nào khác. Vì vậy, hãy xem cách chúng tôi có thể thay đổi điều này để trợ lý Google được kích hoạt khi ai đó gọi Ewon.
Snowboy: một công cụ phát hiện từ nóng có thể tùy chỉnh cao được nhúng trong thời gian thực tương thích với Raspberry Pi, (Ubuntu) Linux và Mac OS X.
Một từ nóng (còn được gọi là từ đánh thức hoặc từ kích hoạt) là một từ khóa hoặc cụm từ mà máy tính liên tục lắng nghe như một tín hiệu để kích hoạt các hành động khác.
Hãy bắt đầu bằng cách cài đặt Snowboy trên RPI. Hãy nhớ kích hoạt môi trường ảo để cài đặt Snowboy như bạn đã làm để cài đặt SDK hỗ trợ. Mọi thứ chúng tôi cài đặt từ đây trở đi phải được cài đặt trong môi trường ảo. Việc cài đặt Snowboy có thể hơi phức tạp nhưng liên kết này sẽ giúp bạn cài đặt nó mà không gặp bất kỳ sự cố nào. Liên kết:
Đây là quy trình cài đặt tổng hợp nếu liên kết trên gây nhầm lẫn hoặc cài đặt không thành công.
$ [sudo] apt-get install libatlas-base-dev swig $ [sudo] pip install pyaudio $ git clone https://github.com/Kitt-AI/snowboy $ cd snowboy / swig / Python3 $ make $ cd.. /.. $ python3 setup.py build $ [sudo] python setup.py install
Sau khi Cài đặt, hãy chạy tệp demo [được tìm thấy trong thư mục - snowboy /amples / Python3 /] để xem mọi thứ có hoạt động hoàn hảo hay không.
Lưu ý: bạn cũng có thể dễ dàng thay đổi tên robot của mình thành tên khác. Tất cả những gì bạn phải làm là truy cập https://snowboy.kitt.ai/ và đào tạo một từ nóng tùy chỉnh rồi đặt từ nóng đó vào cùng thư mục với ewon.pmdl.
Ewon có thể hiểu được cảm xúc không?
Bây giờ Ewon đã có tên, tôi sẽ sử dụng Ewon thay vì gọi nó là một người máy. Được rồi, cảm xúc, câu trả lời ngắn gọn không, Ewon không thể hiểu được cảm xúc nên điều chúng ta sẽ làm ở đây là làm cho Ewon phát hiện cảm xúc trong lời nói của chúng ta bằng cách sử dụng các từ khóa và sau đó chơi biểu cảm khuôn mặt tương ứng với nó.
Để đạt được điều này, những gì tôi đã làm là một kịch bản phân tích tình cảm đơn giản. Có 6 lớp cảm xúc khác nhau.
Hạnh phúc, Buồn bã, Giận dữ, Sợ hãi, Ghê tởm và Bất ngờ. Đây là các lớp cảm xúc chính và mỗi lớp có một danh sách các từ khóa liên quan đến cảm xúc. (ví dụ tốt, tốt đẹp, vui mừng, tất cả đều đi theo cảm xúc hạnh phúc).
Vì vậy, bất cứ khi nào chúng ta nói bất kỳ từ khóa nào trong lớp cảm xúc, cảm xúc tương ứng sẽ được kích hoạt. Vì vậy, khi bạn nói "Này Ewon!" và đợi Ewon nói và tôi tiếp tục nói "Hôm nay là một ngày tốt lành!", nó chọn từ khóa "Nice" và kích hoạt cảm xúc tương ứng 'Happy', biểu hiện trên khuôn mặt của Happy.
Đó có phải là đôi tai của Ewon?
Bước tiếp theo sẽ là sử dụng cảm xúc được kích hoạt để thể hiện nét mặt tương ứng. Với Ewon, biểu cảm khuôn mặt được chú ý nhưng di chuyển tai và cổ của nó bằng cách sử dụng Servos và thay đổi màn hình để thay đổi chuyển động của mắt.
Đầu tiên, Servo, để chạy nó khá dễ dàng, bạn có thể làm theo hướng dẫn này để thiết lập thư viện servo Adafruit. Liên kết:
Sau đó, chúng tôi chỉ định giá trị lớn nhất và nhỏ nhất cho tất cả các servos. Điều này được thực hiện bằng cách di chuyển thủ công từng servo và kiểm tra giới hạn của nó. Bạn có thể làm điều này khi bạn đã lắp ráp Ewon.
Đôi mắt dành cho Ewon
Đối với mắt, tôi đang sử dụng màn hình Nextion có một loạt các hình ảnh như bên dưới.
Đó là một chuỗi các hình ảnh tôi đã thiết kế bằng photoshop mà khi được phát theo thứ tự sẽ tạo ra hoạt ảnh. Một chuỗi tương tự đã được tạo ra cho tất cả các cảm xúc. Bây giờ để hiển thị bất kỳ cảm xúc nào, tất cả những gì bạn phải làm là gọi chuỗi hình ảnh cụ thể tạo nên hoạt ảnh. Các tệp nằm trong thư mục 'Tệp hiển thị', liên kết tải xuống bên dưới.
Cuối cùng
Kết hợp tất cả lại với nhau khi cảm xúc hạnh phúc được kích hoạt bởi tập lệnh, chức năng hạnh phúc được gọi và servo di chuyển đến các góc đã đặt sẵn và màn hình sẽ phát hoạt ảnh vui mắt. Vì vậy, đây là cách chúng ta đạt được "sự hiểu biết" về cảm xúc của con người. Phương pháp này không phải là tốt nhất và đôi khi các từ khóa không có cùng cảm xúc như được xác định trước, nhưng hiện tại, phương pháp này hoạt động đủ tốt và bạn luôn có thể thêm nhiều từ khóa hơn để tăng độ chính xác của việc phát hiện. Hơn nữa, điều này có thể được thay thế bằng một mô hình phân tích cảm xúc được đào tạo nhiều hơn như mô hình phân tích Cảm xúc Paralleldots để có được kết quả tốt hơn. Nhưng khi tôi thử nó, có rất nhiều sự chậm trễ khiến Ewon phản ứng chậm hơn. Có lẽ Ewon phiên bản 2.0 sẽ có một cái gì đó như thế này.
Đây là LIÊN KẾT tới tất cả các tệp cần thiết để chạy EWON. Tải xuống tệp và làm theo các bước sau:
- Giải nén tệp đặt thư mục này (Ewon) tại home / pi /
- Thêm ID thiết bị và ID kiểu máy trong tệp main.py. ID được lấy trong khi cài đặt SDK trợ lý của Google.
- Mở dấu nhắc lệnh và chạy mã nguồn của các lệnh sau:
nguồn env / bin / activepython main.py models / Ewon.pmdl
Bước 3: In phần thân
Bạn có thể tìm thấy các tệp 3d tại đây:
Bây giờ tất cả chúng ta đã được thiết lập với bộ não của Ewon đã đến lúc in cơ thể của nó. Có 18 bộ phận độc đáo được in, hầu hết chúng đều nhỏ xinh, với tổng thời gian in khoảng 15-20 giờ. (không bao gồm các trường hợp).
Tôi đã sử dụng PLA màu trắng với 50% đổ mực và chiều cao lớp là 2mm. Bạn có thể thay đổi các giá trị này nếu cần, nó sẽ hoạt động tốt nhưng hãy đảm bảo rằng các bộ phận nhỏ được bơm đầy 100% để có sức mạnh.
Sau khi các tệp đã được in, bạn có thể sử dụng giấy nhám hoặc giũa tay và làm sạch các phần đã in, đặc biệt là các liên kết nơi các phần trượt qua nhau. Làm trơn các khớp sẽ làm cho cơ chế hoạt động trơn tru và sẽ ít gây ra lực cản hơn cho servo. Quá trình này có thể mất bao lâu tùy thích vì người ta có thể bị lạc khi cố gắng làm cho các bộ phận được in trông hoàn hảo.
Lưu ý thêm: Bạn có thể khoan lại các lỗ trên các bộ phận được in 3d bằng cách sử dụng một mũi khoan 3mm. Tất cả các lỗ có cùng kích thước. Điều này sẽ giúp bạn dễ dàng vặn các đai ốc sau này trong quá trình lắp ráp.
Bước 4: Kết hợp Ewon lại với nhau
Trước khi chúng tôi bắt đầu với việc lắp ráp, cần có một số sửa đổi đối với các bộ phận được in. Các tệp có tên liên kết servo phải được gắn với các liên kết servo đi kèm với servo, điều này làm cho các liên kết in 3d kết nối tốt với servo.
Hội của Ewon nên thẳng tiến. Mình có đính kèm hình ảnh để các bạn cùng theo dõi.
Lưu ý thêm: Đảm bảo bạn không vặn quá chặt bất kỳ bu lông hoặc vít nào vì điều này có thể làm gãy và mòn các bộ phận được in.
Bước 5: Nối dây Ewon
Chúng tôi đang ở bước cuối cùng để biến Ewon trở lại cuộc sống. Dưới đây là sơ đồ nối dây cho các thành phần cùng với hình ảnh hiển thị kết nối.
- Trình điều khiển Servo được kết nối với các chân I2C là SDA và SCL của RPI.
- Màn hình được kết nối với các chân RX và TX của RPI
- Micrô và loa được kết nối với Thẻ âm thanh USB được kết nối với RPI thông qua cổng USB.
Cảnh báo: Hãy cẩn thận khi rút ngắn RPI của bạn. Vui lòng kiểm tra tất cả các kết nối của bạn hai lần và đảm bảo rằng bạn không mắc phải bất kỳ lỗi nào. Tất cả các phụ kiện như loa, trình điều khiển servo và màn hình được cấp nguồn bằng pin 5v riêng biệt và không sử dụng dòng Raspberry Pi 5v. Raspberry pi chỉ được sử dụng để gửi dữ liệu đến các phụ kiện chứ không dùng để cấp nguồn cho chúng.
Bước 6: Này Ewon! Bạn có thể nghe tôi không?
Vì vậy, chúng tôi đã gắn tất cả các phụ kiện của chúng tôi và cài đặt tất cả các thư viện cần thiết. Bạn có thể khởi động Ewon bằng cách chạy tập lệnh shell sử dụng./run Ewon.shNhưng tập lệnh.sh này là gì? Ewon sử dụng nhiều thư viện khác nhau với các tập lệnh khác nhau (Google Assistant SDK, Snowboy, Adafruit, v.v.). Tất cả các tập lệnh được đặt trong các thư mục tương ứng của chúng. (Chúng tôi có thể di chuyển tất cả các tệp theo cùng một đường dẫn và sắp xếp tất cả các tập lệnh nhưng hiện tại, một số thư viện không cho phép di chuyển các tệp nguồn, vì vậy, hiện tại, chúng tôi sẽ chỉ giữ chúng ở các vị trí tương ứng).sh là các tập lệnh shell chạy tất cả các tập lệnh này lần lượt từ mọi vị trí, do đó bạn không phải đi đến từng vị trí và chạy các tập lệnh theo cách thủ công. Điều này giúp bạn xử lý tất cả các lệnh dễ dàng hơn.
Khi bạn chạy tập lệnh shell, chỉ cần nói "Này Ewon!" và bạn sẽ thấy Ewon bắt đầu lắng nghe bạn. Bây giờ bạn có thể sử dụng Ewon làm trợ lý google và nói chuyện với nó và bạn có thể thấy Ewon thay đổi biểu cảm từ những gì bạn nói. Hãy thử một cái gì đó như “Này Ewon! Hôm nay tôi buồn “và bạn có thể thấy Ewon đang buồn với bạn. Hỏi Ewon một câu chuyện cười và thấy nó bật cười vì trò đùa đó.
Bước 7: Tiếp theo là gì?
Ewon không dừng lại ở đây. Giờ đây, Ewon có một cách để phát hiện và thể hiện cảm xúc nhưng chúng ta có thể làm được nhiều hơn thế. Điều này chỉ là khởi đầu.
Trong bản cập nhật sắp tới, chúng tôi sẽ nghiên cứu cách làm
- Ewon phát hiện khuôn mặt và theo dõi khuôn mặt của bạn và di chuyển cùng với khuôn mặt của bạn.
- Chúng tôi sẽ thêm các hiệu ứng âm thanh để tạo thêm chiều sâu cho nhân vật.
- Thêm khả năng di chuyển để Ewon có thể di chuyển cùng bạn.
Lưu ý: Do tình hình hiện tại, việc tìm nguồn cung cấp phụ tùng cho dự án trở nên rất khó khăn. Điều này đã khiến tôi thay đổi thiết kế và chức năng xem xét những suy nghĩ mà tôi đã có trong hành trang của mình. Nhưng ngay sau khi tôi bắt tay vào tất cả các phần thì cập nhật dự án ở trên.
Cập nhật:
- Thực hiện một số thay đổi trong mã, loại bỏ tập lệnh shell.
- Đã thêm một phần thân hình chữ nhật cho EWON.
Đề xuất:
Chuyển văn bản thành giọng nói Nhấp vào UChip được hỗ trợ bởi ARM cơ bản và các SBC được hỗ trợ bởi ARM cơ bản khác: 3 bước
Chuyển văn bản thành giọng nói Nhấp vào UChip hỗ trợ bởi ARM cơ bản và các SBC được hỗ trợ bởi ARM cơ bản khác: Giới thiệu: Chúc một ngày tốt lành. Tên tôi là Tod. Tôi là một chuyên gia hàng không và quốc phòng, cũng là một chuyên gia về lĩnh vực hàng không và quốc phòng
Pi Home, Trợ lý ảo được hỗ trợ bởi Raspberry: 11 bước (có hình ảnh)
Pi Home, Trợ lý ảo được hỗ trợ bởi Raspberry: Google Home rất hữu ích khi ở quanh nhà. Đây là một thiết bị tuyệt đẹp được tích hợp Google Assistant - Một trợ lý cá nhân kỹ thuật số hiện đại của Google. Nó có thể phát phương tiện, lưu lời nhắc và ghi chú của bạn, cho bạn biết khoảng thời gian đi lại của bạn
Star Track - Con trỏ và theo dõi sao được hỗ trợ bởi Arduino: 11 bước (có hình ảnh)
Star Track - Con trỏ sao được hỗ trợ bởi Arduino và Tracker: Star track là một hệ thống theo dõi sao lấy cảm hứng từ GoTo-mount dựa trên Arduino. Nó có thể trỏ và theo dõi bất kỳ vật thể nào trên bầu trời (tọa độ Thiên thể được cung cấp làm đầu vào) với 2 Arduinos, một con quay hồi chuyển, mô-đun RTC, hai động cơ bước chi phí thấp và một cấu trúc in 3D
Làm thế nào để tải nhạc từ trang web ALMOST BẤT KỲ (Haha) (Miễn là bạn có thể nghe được thì bạn có thể nhận được nó Được thôi nếu nó được nhúng vào Flash mà bạn có thể không có khả năng) EDITED !!!!! Thông tin thêm: 4 bước
Làm thế nào để tải nhạc từ trang web ALMOST BẤT KỲ (Haha) (Miễn là bạn có thể nghe nó thì bạn có thể nhận được nó … Được thôi nếu nó được nhúng vào Flash mà bạn có thể không có khả năng) EDITED !!!!! Thông tin bổ sung: nếu bạn đã từng truy cập vào một trang web và nó phát một bài hát mà bạn thích và muốn nó thì đây là hướng dẫn cho bạn, không phải lỗi của tôi nếu bạn làm hỏng thứ gì đó (chỉ có cách là nếu bạn bắt đầu xóa nội dung mà không có lý do ) tôi đã có thể tải nhạc cho
Hệ thống âm thanh nổi trên xe hơi được hỗ trợ bởi ATX và Loa 3 chiều (để sử dụng tại nhà): 10 bước (có hình ảnh)
ATX Powered Car Stereo, and 3 Way Speakers (for Home Use): Đã lâu rồi tôi chưa nghiên cứu về cách cấp nguồn cho dàn âm thanh trên ô tô mà không cần pin 12 volt mà chắc chắn tôi sẽ phải sạc lại sau này. Tại sao? tốt …. vì tôi có một đơn vị cáp Sony mp3 cd usb aux ipod, 4x52w watt w / sub-out, còn gì nữa