Mục lục:
Video: Thiết bị tăng cường và thay thế cảm giác Vibrotactile (SSAD): 4 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:30
Dự án này nhằm tạo điều kiện thuận lợi cho nghiên cứu trong lĩnh vực Thay thế và Tăng cường Cảm giác. Tôi đã có khả năng khám phá các cách khác nhau để xây dựng các nguyên mẫu SSAD rung động trong luận án Thạc sĩ của tôi. Vì sự thay thế và tăng cường cảm giác là một chủ đề không chỉ quan tâm đến các nhà khoa học máy tính mà còn các nhà nghiên cứu từ các lĩnh vực khác, như khoa học nhận thức, nên một hướng dẫn từng bước sẽ cho phép những người không phải là chuyên gia về điện tử và khoa học máy tính có thể lắp ráp nguyên mẫu này cho riêng họ mục đích nghiên cứu.
Tôi không có ý định quảng cáo cho chính xác một loại thương hiệu / sản phẩm. Dự án này không được tài trợ bởi bất kỳ công ty nào. Vật liệu mà tôi sử dụng đã được chọn do các đặc điểm kỹ thuật và sự tiện lợi (tốc độ / chi phí giao hàng, tính sẵn có, v.v.). Đối với tất cả các sản phẩm được đề cập trong Hướng dẫn này, các lựa chọn thay thế phù hợp như nhau đều có sẵn.
Tài liệu có thể hướng dẫn hiện tại chứa các hướng dẫn từng bước về cách tạo một nguyên mẫu SSAD cơ bản với tối đa 4 động cơ và cảm biến tương tự.
Ngoài ra với Bản hướng dẫn này, tôi đã tạo ba phần mở rộng: Đầu tiên, tôi đã xuất bản hướng dẫn về cách sử dụng nhiều hơn bốn động cơ với nguyên mẫu SSAD này (https://www.instructables.com/id/Using-More-Than-4…). Thứ hai, tôi đã tạo cung cấp và ví dụ về cách làm cho nguyên mẫu này có thể đeo được (https://www.instructables.com/id/Making-the-SSAD-W…) và cách che động cơ ERM không có khối lượng quay được đóng gói (https://www.instructables.com/id/Making-the-SSAD-W…) /www.instructables.com/id/Covered-Rotating…). Ngoài ra, một ví dụ về cách tích hợp ngoài cảm biến tương tự (trong trường hợp này là cảm biến tiệm cận) vào nguyên mẫu cũng được xuất bản (https://www.instructables.com/id/Including-a-Proxi…).
"Thay thế và tăng cường cảm giác" là gì?
Với sự thay thế cảm giác, thông tin được thu thập bằng một phương thức cảm giác (ví dụ: thị giác) có thể được nhận thức thông qua một giác quan khác (ví dụ: âm thanh). Đây là một kỹ thuật không xâm lấn đầy hứa hẹn giúp con người khắc phục tình trạng mất hoặc suy giảm cảm giác.
Nếu kích thích cảm giác, được dịch ra, mà con người thường không thể cảm nhận được (ví dụ: tia UV), thì phương pháp này được gọi là Tăng cường cảm giác.
Những kỹ năng nào cần thiết để xây dựng nguyên mẫu này?
Về cơ bản, không cần kỹ năng lập trình nâng cao nào để làm theo hướng dẫn, được cung cấp bên dưới. Tuy nhiên, nếu bạn là người mới bắt đầu học hàn, hãy dành thêm thời gian để tìm hiểu kỹ thuật này. Trong trường hợp bạn chưa từng lập trình trước đây, bạn có thể cần một số hỗ trợ từ người có kinh nghiệm lập trình hơn.
Có bất kỳ máy móc hoặc công cụ cần thiết nào đắt tiền hoặc không có sẵn một cách dễ dàng?
Ngoại trừ một mỏ hàn, không có máy móc hoặc công cụ nào là cần thiết để chế tạo nguyên mẫu này mà bạn không thể dễ dàng mua trực tuyến hoặc ở cửa hàng gia dụng tiếp theo. SSAD này được thiết kế để cho phép tạo mẫu nhanh, có nghĩa là nó phải được tái tạo nhanh chóng và cho phép khám phá ý tưởng một cách không tốn kém.
Quân nhu
Các thành phần chính (khoảng 65 £ cho 4 động cơ, không bao gồm thiết bị hàn)
- Arduino Uno (ví dụ: https://store.arduino.cc/arduino-uno-rev3, 20 bảng Anh)
- Adafruit Motorshield v2.3 (ví dụ: https://www.adafruit.com/product/1438, 20 bảng Anh) và các tiêu đề xếp chồng dành cho nam (thường được bao gồm khi mua mô tô)
- Động cơ ERM hình trụ (ví dụ: https://www.adafruit.com/product/1438, 5, 50 £ / động cơ)
- Sắt hàn và dây hàn
- Dây điện
Tùy chọn (xem Phần mở rộng)
Nếu mua động cơ ERM với khối lượng quay không có nắp:
- Ống nhựa vinyl
- Bảng mềm mỏng
- Máy in 3D (dành cho vỏ Arduino)
Nếu bạn muốn sử dụng nhiều hơn 4 động cơ (cho hơn 8 động cơ cùng một lúc):
- Adafruit Motorshield v2.3 và tiêu đề xếp chồng nam
- Tiêu đề xếp chồng dành cho nữ (ví dụ:
- Arduino Mega cho hơn 6 động cơ (ví dụ:
Bước 1: Hàn
Hàn các chân vào kính mô tô
Adafruit cung cấp một hướng dẫn rất toàn diện về cách hàn các tiêu đề vào mô tơ (https://learn.adafruit.com/adafruit-motor-shield-v…):
- Đầu tiên, đặt các tiêu đề xếp chồng vào các chân trên Arduino Uno,
- Sau đó, đặt tấm chắn lên trên, sao cho cạnh ngắn của ghim nhô ra ngoài.
- Sau đó, hàn tất cả các chân vào tấm chắn và đảm bảo rằng chất hàn chảy xung quanh chốt và tạo thành hình núi lửa (xem hình trên, được thông qua từ https://cdn.sparkfun.com/assets/c/d/ a / a / 9 / 523b1189…).
Nếu bạn là người mới bắt đầu học hàn, hãy tự giúp mình với các hướng dẫn khác, chẳng hạn như
Hàn dây dài hơn vào động cơ
Vì hầu hết các động cơ không có hoặc dây rất ngắn và mỏng, nên bạn có thể mở rộng chúng bằng cách hàn chúng vào các dây dài hơn và chắc chắn hơn. Đây là cách bạn có thể làm điều đó:
- Tháo nhựa xung quanh đầu dây và đặt chúng tiếp xúc với nhau dọc theo dây tiếp xúc của chúng, như trong hình.
- Hàn chúng lại với nhau bằng cách chạm vào sợi của cả hai dây và để chất hàn chảy qua chúng.
Bước 2: Đấu dây
- Xếp chồng lên tấm kính mô-tơ trên Arduino.
- Vít động cơ vào kính xe.
- Nối dây cảm biến tương tự với Arduino (trong hình ảnh này được thực hiện với cảm biến ánh sáng, nhưng mạch tương tự trông giống nhau đối với các cảm biến tương tự khác).
Bước 3: Mã hóa
1. Tải xuống
Tải xuống thư mục zip (SSAD_analogueInputs.zip), được đính kèm bên dưới. Giải nén nó.
Tải xuống Arduino IDE (https://www.arduino.cc/en/main/software).
Mở tệp Arduino (SSAD_analogueInputs.ino) nằm trong thư mục đã giải nén bằng Arduino IDE.
2. Cài đặt Thư viện
Để chạy mã được cung cấp, bạn cần cài đặt một số thư viện. Vì vậy, nếu tệp Arduino, được đính kèm ở cuối bài viết này, đang mở bên trong Arduino IDE, hãy làm như sau:
- Nhấp vào: Công cụ → Quản lý thư viện…
- Tìm "Thư viện Adafruit Motor Shield V2" trong trường Lọc tìm kiếm của bạn
- Cài đặt nó bằng cách nhấp vào nút Install
Sau khi tải xuống các thư viện đó, bây giờ các câu lệnh #include trong các mã được cung cấp sẽ hoạt động. Kiểm tra điều đó bằng cách nhấp vào nút "Xác minh" (Đánh dấu ở trên cùng bên trái). Bạn biết rằng tất cả các thư viện đều hoạt động, nếu bạn nhận được thông báo "Đã biên dịch xong" ở cuối chương trình. Nếu không, một thanh màu đỏ xuất hiện và bạn sẽ nhận được thông báo đã xảy ra sự cố.
3. Thay đổi mã
Thay đổi mã theo trường hợp sử dụng của bạn bằng cách làm theo hướng dẫn bên dưới:
Khởi động động cơ và đầu ra cảm giác của chúng
Trước hết, khai báo các chân mà động cơ sử dụng, cũng như phạm vi hoạt động của động cơ. Ví dụ: một động cơ được gắn vào M4 và hoạt động trong phạm vi (tốc độ) là 25 và 175 được khai báo như vậy (bên dưới chú thích CHÍNH):
Động cơ động cơ1 = Động cơ (4, 25, 175);
Khi làm việc với các động cơ rung nhỏ được điều khiển trong phạm vi lên đến 3V, kính chắn động cơ phải được sử dụng thận trọng vì nó được chế tạo cho động cơ chạy trên 4,5VDC đến 13,5VDC. Để không làm hỏng động cơ 3V, tôi đã lập trình hạn chế đầu ra Vôn của tấm chắn ở mức tối đa 3V (chính xác là 2,95V). Tôi đã làm điều đó bằng cách đo tốc độ tối đa 255 tính bằng Vôn và đo bằng đồng hồ vạn năng rằng đây là 4,3V. Do đó, tôi không bao giờ cho phép tốc độ cao hơn 175, tức là khoảng 3V, đối với động cơ.
Mỗi động cơ sẽ được kết nối với một SensoryOutput.
One SensoryOutput bao gồm một hoặc nhiều kích thích giác quan. Ví dụ, một động cơ có thể rung theo một cảm biến duy nhất hoặc theo giá trị trung bình của nhiều cảm biến có vị trí khác nhau.
Do đó, trước tiên đối với mỗi động cơ, một SensoryOutput phải được khai báo. Các số bên trong dấu ngoặc là giá trị tối thiểu và tối đa của những gì (nhóm) cảm biến có thể cảm nhận được. Đối với cảm biến tương tự, đây chủ yếu là 0 và 1023:
Đầu ra SensoryOutput1 = SensoryOutput (0, 1023);
Trong hàm loop (), mọi động cơ sau đó được gán cho một giá trị đầu ra. Ở đây bạn viết câu lệnh sau cho mỗi động cơ và thay vì "output1", bất kỳ giá trị SensoryOutput nào cũng nên được kết nối với nó. Đừng quên thay đổi tất cả các tên "output1" trong dòng này, nếu bạn sử dụng tên khác cho nó.
motor1.drive (output1.getValue (), output1.getMin (), output1.getMax ());
Nếu muốn, bạn có thể cung cấp cho nhiều động cơ (ví dụ: động cơ1 và động cơ2) cùng một SensoryOutput (ví dụ: đầu ra1).
Hơn nữa, bạn có thể cung cấp các giá trị của nhiều cảm biến cho một động cơ (xem phần tiếp theo).
Xác định cảm biến
Trong hàm setup (), nó phải được khai báo cảm biến nào sẽ là một phần của rung động cơ nào (SensoryOutput). Dưới đây là một ví dụ về cách bạn xác định rằng cảm biến được kết nối với Chân A0 của Arduino sẽ được chuyển thành rung động với motor1 và do đó là đầu ra1:
output1.include (A0);
Nếu nhiều đầu ra cảm giác nên được kết hợp trong một rung động cơ, bạn chỉ có thể thêm một chân đầu vào tương tự khác vào đầu ra1:
output1.include (A1);
Nếu không, chỉ cần tiếp tục với đầu ra tiếp theo:
output2.include (A1);
Kết hợp nhiều cảm biến
Như đã đề cập ở trên, nhiều đầu vào cảm biến (ví dụ: từ A0, A1 và A2) có thể được dẫn đến một động cơ. Mã, tôi cung cấp, đang tính giá trị trung bình của các giá trị được đọc bởi tất cả các cảm biến đi kèm. Vì vậy, nếu điều này là đủ cho trường hợp sử dụng của bạn và bạn chỉ muốn lập bản đồ trực tiếp, chẳng hạn như đầu vào cảm giác thấp với độ rung thấp, bạn đã hoàn thành và không phải suy nghĩ về những điều sau:
Tuy nhiên, nếu bạn có ý tưởng khác về những gì bạn muốn làm với một hoặc nhiều đầu vào giác quan thô, bạn có thể thực hiện theo các thay đổi trong hàm int getValue () trong lớp SensoryOutput:
int getValue () {
finalOutput = 0; // VIỆC CẦN LÀM bất cứ điều gì bạn muốn với các giá trị giác quan // ở đây giá trị trung bình được xây dựng, nếu nhiều giá trị được kết hợp for (int i = 0; i <curArrayLength; i ++) {finalOutput + = analogRead (valueArray ); } trả về finalOutput / curArrayLength; }
4. Tải mã lên Nguyên mẫu Arduino của bạn
Cắm Nguyên mẫu Arduino (từ Bước 2) vào PC của bạn.
Nhấp vào Công cụ → Cổng → Chọn Cổng, trong đó Arduino / Genuino Uno được viết trong dấu ngoặc
Nhấp vào Công cụ → Bảng → Arduino / Genuino Uno
Bây giờ, các động cơ sẽ chạy theo đầu vào của các cảm biến tương tự. Nếu muốn, bạn có thể ngắt kết nối Arduino khỏi PC và cắm nó vào nguồn điện khác, chẳng hạn như pin 9V.
Bước 4: Các tiện ích mở rộng có thể
Nguyên mẫu bạn vừa chế tạo cho phép đầu vào tương tự độc quyền và có thể truyền động tối đa bốn động cơ. Hơn nữa, nó vẫn chưa thể đeo được. Nếu bạn muốn mở rộng các tính năng đó, hãy xem hướng dẫn sau:
- Bao gồm khối lượng quay của động cơ ERM:
- Làm cho SSAD có thể đeo được:
- Sử dụng nhiều hơn 4 mô tơ - Xếp chồng nhiều mô tơ:
- Sử dụng cảm biến tiệm cận siêu âm làm đầu vào SSAD:
Đề xuất:
Tăng cường trí nhớ của bạn với Cung điện tâm trí thực tế tăng cường: 8 bước
Tăng cường trí nhớ của bạn với Cung điện tâm trí thực tế tăng cường: Việc sử dụng cung điện tâm trí, giống như trong Sherlock Holmes, đã được các nhà vô địch trí nhớ sử dụng để nhớ lại nhiều thông tin chẳng hạn như thứ tự của các thẻ trong bộ bài xáo trộn. Cung điện tâm trí hoặc phương pháp của locus là một kỹ thuật ghi nhớ nơi khả năng ghi nhớ bằng hình ảnh
Giá đỡ phím giắc cắm ghi-ta Arduino với nhận dạng giắc cắm & OLED: 7 bước
Arduino Guitar Jack Key Holder With Jack Recognition & OLED: Giới thiệu: Hướng dẫn này sẽ trình bày chi tiết việc xây dựng chủ key plugin Guitar Jack dựa trên Arduino của tôi
Thay thế giắc cắm nguồn DC bị hỏng trên máy tính xách tay của bạn (CẬP NHẬT).: 12 bước
Thay Jack nguồn DC bị hỏng trên máy tính xách tay của bạn (ĐÃ CẬP NHẬT): Được rồi, tôi cho con chạy quanh phòng và liên tục vấp phải cáp nguồn của máy tính xách tay. Khi đó giắc cắm nguồn DC đã bị hỏng. Tôi phải luôn nhấn giắc cắm để sạc máy tính xách tay của mình. Tôi đã đạt đến giới hạn của mình. Tôi gần như ném máy tính của mình ra khỏi
Giắc cắm giắc cắm tai nghe iPhone của Apple: 7 bước
Giắc cắm giắc cắm tai nghe iPhone của Apple: Giắc cắm tai nghe trên iPhone của Apple đã bị ảnh hưởng rất nhiều vì nó không hoạt động với hầu hết các tai nghe tiêu chuẩn vì nó bị lõm xuống. Sự khó chịu rõ ràng đó đã che giấu một nhược điểm quan trọng khác đối với thiết kế giắc cắm tai nghe - đó là
Thay thế giắc cắm tai nghe Sony - Tốt hơn và Mạnh hơn: 10 bước (có Hình ảnh)
Thay thế giắc cắm tai nghe Sony - Tốt hơn và mạnh hơn: Hầu hết các tai nghe đều được chế tạo để nhẹ, âm thanh tốt và được thiết kế để gãy ở đầu cắm. Các bước này có thể được sử dụng cho hầu hết các kiểu tai nghe. Đối với tai nghe rẻ tiền, dây sẽ quá tốt (nhỏ) để làm việc với Đối với tai nghe có thể hướng dẫn này, tôi