Inhoudsopgave:
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-13 06:57
Instructable Vibrotactile Sensory Substitution and Augmentation Device (https://www.instructables.com/id/Vibrotactile-Sens…) toont een manier om een apparaat te bouwen dat een zintuiglijke input omzet in vibrerende stimuli. Die vibrerende stimuli worden geproduceerd door cilindrische ERM-motoren die worden aangedreven door een Arduino Uno met een motorshield.
Voor meer dan 4 motoren moeten meerdere motorschilden worden gestapeld.
Als er meer dan 6 motoren onafhankelijk moeten worden aangedreven, heb je meer PWM-pinnen nodig dan de Arduino Uno heeft (6 PWM-pinnen) en dus een Arduino Mega. Theoretisch kunnen er meer dan twee schilden op een Arduino worden gestapeld, maar bedenk dat Arduino Mega ook maar een beperkt aantal PWM-pinnen heeft: 15.
Benodigdheden
- Adafruit Motorshield v2.3 en mannelijke stapelkoppen
- Vrouwelijke stapelkoppen (bijv.
- Arduino Mega voor meer dan 6 motoren (bijv.
Prototype van
Stap 1: Solderen en stapelen
- Soldeer stapelpennen op beide motorschilden zoals zichtbaar op de foto's
- Soldeer adresjumpers op een van de borden (zie uitleg op afbeelding en https://learn.adafruit.com/adafruit-motor-shield-… voor meer gedetailleerde instructies om dit te doen)
- Stapel Arduino en beide schilden op elkaar.
- Zorg ervoor dat de VIN-jumper zich op beide schilden bevindt.
Stap 2: Coderen
Dit is een voorbeeld van hoe u 8 motoren 3 sensorische waarden kunt laten vertalen:
- Download de code, geleverd in een zip-map hieronder, open deze en installeer bibliotheken, zoals uitgelegd in ….
- Klik op Tools → Board → selecteer Arduino/Genuino Mega of Mega 2505
- Wijzig de volgende delen in de code, indien nodig
Definieer elke motor met zijn pinnummer en schild:
Adafruit_DCMotor *motor1 = AFMS1.getMotor(1); // specificeer dat DC-motoren zijn aangesloten op het eerste schildAdafruit_DCMotor *motor2 = AFMS1.getMotor(2); Adafruit_DCMotor *motor3 = AFMS1.getMotor(3); Adafruit_DCMotor *motor4 = AFMS1.getMotor(4); Adafruit_DCMotor *motor5 = AFMS2.getMotor(1); // specificeer dat DC-motoren zijn aangesloten op het tweede schild Adafruit_DCMotor *motor6 = AFMS2.getMotor(2); Adafruit_DCMotor *motor7 = AFMS2.getMotor(3); Adafruit_DCMotor *motor8 = AFMS2.getMotor(4);
Specificeer het aantal gebruikte motoren:
int aantal Motoren = 8;
Alle gebruikte motoren in een array opnemen:
Adafruit_DCMotor *motoren[8] = {motor1, motor2, motor3, motor4, motor5, motor6, motor7, motor8, };
Neem alle sensorpins op in een array:
niet-ondertekende char sensorpins [3] = { A15, A14, A13, };
Upload de code naar Arduino Mega. Gedaan.
Stap 3: Maak het draagbaar
In de Instructable over hoe de SSAD draagbaar te maken (https://www.instructables.com/id/Making-the-SSAD-W…), wordt een voorbeeld gegeven van hoe een Arduino Uno en een motorshield aan het lichaam te bevestigen. Als je de Arduino Mega en meerdere motorshields moet gebruiken, kan een heuptasje, zoals afgebeeld in de schets, een oplossing zijn om het prototype draagbaar te maken.