Étape 5: Code
Code :
/*
Entrée de l’Expo-sciences Google : exosquelette armes utilisant le Muscle artificiel
Ce code se contractera un muscle artificiel lorsqu’une touche est pressée. Il crée une seconde
impulsions pour garder le fil de plus de chauffage, s’il s’agissait d’alimentation un courant constant que le fil surchaufferait
et soit se fondrait, faire fondre le muscle, ou de détruire la batterie. ce ne serait pas très bon
pour l’utilisateur.
Il y a quatre muscles et deux boutons.
Le circuit :
* mosfetA pin(muscleA) de porte sur axe 12
* mosfetB porte pin(MuscleB) sur la broche 13
* mosfetC porte pin(MuscleC) sur broche 2
* mosfetD porte pin(MuscleD) sur la broche 7
* Button attaché jusqu'à la broche 9 et + 5v
* buttonB attavhed à la borne 4 et + 5v
* résistance d’ohm 10 k attaché à la broche 9 et sol
* résistance d’ohm 10 k attaché à la broche 4 et la terre
* notes :
-muscles ues chauffer du contrat
-MOSFET sur 6 à 12 selon le résultat de l’équation
-fil d’acier est utilisée pour chauffer les muscles
créé 2015
par Anders B-L pour le Google Science Fair 2015
dernière édition le 17/03/2015
*/
entiers constants
const int buttonA = 9; //pin 9 est maintenant appelé Button
const int buttonB = 4; //pin 4 s’appelle maintenant buttonB
const int muscleA = 12 ; //pin 12 s’appelle maintenant muscleA
const int muscleB = 13 ; //pin 13 s’appelle maintenant muscleB
const int muscleC = 2; //pin 2 s’appelle maintenant muscleC
const int musclé = 7; //pin 7 s’appelle désormais musclé
nombres entiers
int buttonStateA = 0; //buttonStateA est égal à zéro
int buttonStateB = 0; //buttonStateB est égal à zéro
Lorsque vous déclarez tous vos vriables
void setup() {}
sorties
pinMode (muscleA, sortie); //declares muscleA une sortie
pinMode (muscleB, sortie); //declares muscleB une sortie
pinMode (muscleC, sortie); //declares muscleC une sortie
pinMode (sortie musclée,); //declares musclé une sortie
entrées
pinMode (Button, entrée) ; déclare Button comme intrant
pinMode (buttonB, INPUT); //declares buttonB comme intrant
}
crée une boucle de répétition
void loop() {}
lire l’état de la touche
{buttonStateA = digitalRead(buttonA) ;
Il vérifie l’état du bouton
Si le bouton est enfoncé, muscleA se comprime et muscleB se desserre
Si (buttonStateA == HIGH) {}
muscleA est, muscleB est désactivé
digitalWrite (muscleA, HIGH) ;
digitalWrite (muscleB, basse) ;
retard (1000); //pause pendant 1 seconde
digitalWrite (muscleA, basse) ;
digitalWrite (muscleB, basse) ;
Delay(100); / / pause pour 100 millisecondes
}
Si le bouton n’est pas pressé, muscleB se comprime et muscleA se desserre
else {}
muscleA est désactivé, muscleB est sur
digitalWrite (muscleA, basse) ;
digitalWrite (muscleB, HIGH) ;
retard (1000); //pause pendant 1 seconde
digitalWrite (muscleA, basse) ;
digitalWrite (muscleB, basse) ;
Delay(100); / / pause pour 100 millisecondes
}
}
fait la même chose que la première partie, juste avec l’autre bras
{buttonStateB = digitalRead(buttonB) ;
Si (buttonStateB == HIGH) {}
digitalWrite (muscleC, HIGH) ;
digitalWrite (musclé, faible) ;
retard (1000); //pause pendant 1 seconde
digitalWrite (muscleC, basse) ;
digitalWrite (musclé, faible) ;
Delay(100); / / pause pour 100 millisecondes
}
else {}
digitalWrite (muscleC, basse) ;
digitalWrite (musclé, haut) ;
retard (1000); //pause pendant 1 seconde
digitalWrite (muscleC, basse) ;
digitalWrite (musclé, faible) ;
Delay(100) ; pause de 100 millisecondes
}
}
} //closes script
Le code suivant est écrit dans l’Arduino C/C++, il est utilisé pour contrôler les muscles. Pour expliquer ce qui se passe à l’Arduino d’analphabètes, le muscle dans la partie inférieure du bras est envoyé à 1 seconde des impulsions pour garder le fil d’acier à 150 degrees(f). Si les utilisateurs bras élévateurs puis une touche causant le muscle fond d’arrêter contractantes et muscle haut de la page pour commencer à recevoir les 1 seconde impulsions ainsi contracter et se déplaçant avec le bras aidant l’utilisateur à soulever des objets. Ce code est écrit pour travailler avec les deux bras (quatre muscles) et deux boutons.