Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
Instructable Vibrotactile Sensory Substitution and Augmentation Device (https://www.instructables.com/id/Vibrotactile-Sens…) visar ett sätt att bygga en enhet som översätter en sensorisk ingång till vibrerande stimuli. Dessa vibrationsstimuler produceras av cylindriska ERM -motorer som drivs av en Arduino Uno med ett motorskydd.
För mer än 4 motorer måste flera motorsköld staplas.
Om mer än 6 motorer måste drivas självständigt behöver du fler PWM -stift än Arduino Uno har (6 PWM -stift) och därför en Arduino Mega. Teoretiskt sett kan mer än två sköldar staplas på en Arduino, men tänk på att Arduino Mega också bara har en begränsad mängd PWM -stift: 15.
Tillbehör
- Adafruit Motorshield v2.3 och manliga staplingshuvuden
- Kvinnliga staplingshuvuden (t.ex.
- Arduino Mega för mer än 6 motorer (t.ex.
Prototyp från
Steg 1: Lödning och stapling
- Lödstaplar på båda motorskydden som syns på bilderna
- Lödadresshoppare på en av brädorna (se förklaring på bilden och https://learn.adafruit.com/adafruit-motor-shield-… för mer detaljerade instruktioner för att göra det)
- Stack Arduino och båda sköldarna ovanpå varandra.
- Se till att VIN -bygeln sitter på båda skärmarna.
Steg 2: Kod
Detta är ett exempel på hur man låter 8 motorer översätta tre sensoriska värden:
- Ladda ner koden i en zip -mapp nedan, öppna den och installera bibliotek, som förklaras i ….
- Klicka på Verktyg → Bräda → välj Arduino/Genuino Mega eller Mega 2505
- Ändra följande delar i koden, om det behövs
Definiera varje motor med sitt stiftnummer och skärm:
Adafruit_DCMotor *motor1 = AFMS1.getMotor (1); // ange att likströmsmotorer anslutna till första shieldAdafruit_DCMotor *motor2 = AFMS1.getMotor (2); Adafruit_DCMotor *motor3 = AFMS1.getMotor (3); Adafruit_DCMotor *motor4 = AFMS1.getMotor (4); Adafruit_DCMotor *motor5 = AFMS2.getMotor (1); // ange att likströmsmotorer anslutna till andra skärmen Adafruit_DCMotor *motor6 = AFMS2.getMotor (2); Adafruit_DCMotor *motor7 = AFMS2.getMotor (3); Adafruit_DCMotor *motor8 = AFMS2.getMotor (4);
Ange antalet använda motorer:
int nrOfMotors = 8;
Inkludera alla använda motorer i en array:
Adafruit_DCMotor *motorer [8] = {motor1, motor2, motor3, motor4, motor5, motor6, motor7, motor8, };
Inkludera alla sensorpiner i en array:
osignerade char sensorpins [3] = {A15, A14, A13, };
Ladda upp koden till Arduino Mega. Gjort.
Steg 3: Gör det bärbart
I instruktionsboken om hur man gör SSAD-bärbar (https://www.instructables.com/id/Making-the-SSAD-W…) ges ett exempel på hur man fäster en Arduino Uno och ett motorshield till kroppen. Om du måste använda Arduino Mega och flera motorsköldar kan en höftväska, som illustreras i skissen, vara en lösning för att göra prototypen bärbar.