INHOUDSOPGAWE:
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
Instrueerbare Vibrotactile Sensoriese Substitusie en Augmentation Device (https://www.instructables.com/id/Vibrotactile-Sens…) toon 'n manier om 'n toestel te bou wat 'n sensoriese invoer in vibrasie stimuli vertaal. Die vibrasie -stimuli word vervaardig deur silindriese ERM -motors wat deur 'n Arduino Uno met 'n motorskerm aangedryf word.
Vir meer as 4 motors moet verskeie motorskerms gestapel word.
As meer as 6 motors onafhanklik aangedryf moet word, benodig u meer PWM -penne as wat die Arduino Uno het (6 PWM -penne) en dus 'n Arduino Mega. Teoreties kan meer as twee skilde op 'n Arduino gestapel word, maar dink dat Arduino Mega ook slegs 'n beperkte hoeveelheid PWM -penne het: 15.
Voorrade
- Adafruit Motorshield v2.3 en manlike stapelkop
- Stapelkoppe vir vroue (bv.
- Arduino Mega vir meer as 6 motors (bv.
Prototipe van
Stap 1: Soldeer en stapel
- Soldeerstapelpenne op albei motorskerms soos op die foto's sigbaar
- Soldeer adresspringers op een van die borde (sien verduideliking op die foto en https://learn.adafruit.com/adafruit-motor-shield-… vir meer gedetailleerde instruksies hieroor)
- Stapel Arduino en albei skilde bo -op mekaar.
- Maak seker dat die VIN -trui op albei skilde is.
Stap 2: Kode
Dit is 'n voorbeeld van hoe 8 motors drie sensoriese waardes kan vertaal:
- Laai die kode af in 'n zip -gids hieronder, maak dit oop en installeer biblioteke, soos uiteengesit in …
- Klik op Tools → Board → kies Arduino/Genuino Mega of Mega 2505
- Verander, indien nodig, die volgende dele in die kode
Definieer elke motor met sy speldnommer en skild:
Adafruit_DCMotor *motor1 = AFMS1.getMotor (1); // spesifiseer dat GS -motors gekoppel aan die eerste shieldAdafruit_DCMotor *motor2 = AFMS1.getMotor (2); Adafruit_DCMotor *motor3 = AFMS1.getMotor (3); Adafruit_DCMotor *motor4 = AFMS1.getMotor (4); Adafruit_DCMotor *motor5 = AFMS2.getMotor (1); // spesifiseer dat GS -motors gekoppel aan tweede skild Adafruit_DCMotor *motor6 = AFMS2.getMotor (2); Adafruit_DCMotor *motor7 = AFMS2.getMotor (3); Adafruit_DCMotor *motor8 = AFMS2.getMotor (4);
Spesifiseer die aantal gebruikte motors:
int nrOfMotors = 8;
Sluit alle gebruikte motors in 'n skikking in:
Adafruit_DCMotor *motors [8] = {motor1, motor2, motor3, motor4, motor5, motor6, motor7, motor8, };
Sluit alle sensorpins in 'n skikking in:
ongetekende char sensorpins [3] = {A15, A14, A13, };
Laai die kode op na Arduino Mega. Klaar.
Stap 3: Maak dit draagbaar
In die Instructable oor hoe om die SSAD draagbaar te maak (https://www.instructables.com/id/Making-the-SSAD-W…) word 'n voorbeeld gegee van hoe u 'n Arduino Uno en een motorskerm aan die bak kan koppel. As u die Arduino Mega en veelvuldige motorskerms moet gebruik, kan 'n heuptas, soos in die skets geïllustreer, 'n oplossing wees om die prototipe draagbaar te maak.