Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
Instruerbar Vibrotactile Sensory Substitution and Augmentation Device (https://www.instructables.com/id/Vibrotactile-Sens…) viser en måte å bygge en enhet som oversetter en sensorisk inngang til vibrerende stimuli. Disse vibrasjonsstimuliene produseres av sylindriske ERM -motorer som drives av en Arduino Uno med et motorskjerm.
For mer enn 4 motorer må flere motorskjold stables.
Hvis mer enn 6 motorer må kjøres uavhengig av hverandre, trenger du flere PWM -pinner enn Arduino Uno har (6 PWM -pinner) og derfor en Arduino Mega. Teoretisk sett kan mer enn to skjold stables på en Arduino, men tenk på at Arduino Mega også bare har en begrenset mengde PWM -pinner: 15.
Rekvisita
- Adafruit Motorshield v2.3 og mannlige stablingshoder
- Kvinnelige stablingshoder (f.eks.
- Arduino Mega for mer enn 6 motorer (f.eks.
Prototype fra
Trinn 1: Lodding og stabling
- Loddestabler på begge motorskjoldene som vist på bildene
- Loddeadressehoppere på et av brettene (se forklaring på bildet og https://learn.adafruit.com/adafruit-motor-shield-… for mer detaljerte instruksjoner for å gjøre det)
- Stabel Arduino og begge skjoldene oppå hverandre.
- Sørg for at VIN -genseren er på begge skjoldene.
Trinn 2: Kode
Dette er et eksempel på hvordan å la 8 motorer oversette 3 sanseverdier:
- Last ned koden i en zip -mappe nedenfor, åpne den og installer biblioteker, som forklart i….
- Klikk på Verktøy → Brett → velg Arduino/Genuino Mega eller Mega 2505
- Endre følgende deler i koden, om nødvendig
Definer hver motor med pin -nummer og skjerm:
Adafruit_DCMotor *motor1 = AFMS1.getMotor (1); // spesifiser at likestrømsmotorer koblet til første shieldAdafruit_DCMotor *motor2 = AFMS1.getMotor (2); Adafruit_DCMotor *motor3 = AFMS1.getMotor (3); Adafruit_DCMotor *motor4 = AFMS1.getMotor (4); Adafruit_DCMotor *motor5 = AFMS2.getMotor (1); // spesifiser at likestrømsmotorer koblet til andre skjerm Adafruit_DCMotor *motor6 = AFMS2.getMotor (2); Adafruit_DCMotor *motor7 = AFMS2.getMotor (3); Adafruit_DCMotor *motor8 = AFMS2.getMotor (4);
Angi antall brukte motorer:
int nrOfMotors = 8;
Inkluder alle brukte motorer i en matrise:
Adafruit_DCMotor *motorer [8] = {motor1, motor2, motor3, motor4, motor5, motor6, motor7, motor8, };
Inkluder alle sensorpins i en matrise:
usignerte char sensorpins [3] = {A15, A14, A13, };
Last opp koden til Arduino Mega. Ferdig.
Trinn 3: Gjør det bærbart
I Instructable om hvordan du gjør SSAD bærbar (https://www.instructables.com/id/Making-the-SSAD-W…), er et eksempel på hvordan du fester en Arduino Uno og ett motorskjold til kroppen gitt. Hvis du må bruke Arduino Mega og flere motorskjold, kan en hofteveske, som illustrert i skissen, være en løsning for å gjøre prototypen bærbar.