Mục lục:

Thiết bị tăng cường và thay thế cảm giác Vibrotactile (SSAD): 4 bước
Thiết bị tăng cường và thay thế cảm giác Vibrotactile (SSAD): 4 bước

Video: Thiết bị tăng cường và thay thế cảm giác Vibrotactile (SSAD): 4 bước

Video: Thiết bị tăng cường và thay thế cảm giác Vibrotactile (SSAD): 4 bước
Video: Từ Nay Khỏi Lo CẢM CÚM - CẢM LẠNH | Chỉ Cần Bấm 3 Huyệt Này Là Khỏi Ngay | TCL 2024, Tháng bảy
Anonim
Thiết bị tăng cường và thay thế cảm giác Vibrotactile (SSAD)
Thiết bị tăng cường và thay thế cảm giác Vibrotactile (SSAD)
Thiết bị tăng cường và thay thế cảm giác Vibrotactile (SSAD)
Thiết bị tăng cường và thay thế cảm giác Vibrotactile (SSAD)

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
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…):

  1. Đầu tiên, đặt các tiêu đề xếp chồng vào các chân trên Arduino Uno,
  2. Sau đó, đặt tấm chắn lên trên, sao cho cạnh ngắn của ghim nhô ra ngoài.
  3. 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 đó:

  1. 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.
  2. 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

Đấu dây
Đấu dây
  1. Xếp chồng lên tấm kính mô-tơ trên Arduino.
  2. Vít động cơ vào kính xe.
  3. 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

Mã hóa
Mã hóa
Mã hóa
Mã hóa
Mã hóa
Mã hóa
Mã hóa
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:

  1. Nhấp vào: Công cụ → Quản lý thư viện…
  2. Tìm "Thư viện Adafruit Motor Shield V2" trong trường Lọc tìm kiếm của bạn
  3. 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ể

Các tiện ích mở rộng có thể
Các tiện ích mở rộng có thể
Các tiện ích mở rộng có thể
Các tiện ích mở rộng có thể
Các tiện ích mở rộng có thể
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: