Étape 5: Construire votre moelle épinière et écrire le code de l’Arduino
Le schéma Fritzing ci-dessus détaille les pièces et les branchements nécessaires pour raccorder notre capteur de température et les solénoïdes à la « moelle épinière », le cerveau (jeu de mots) de notre système. La batterie NiMH de 12 volts se trouve sous la planche et SparkFun RedBoard à l’intérieur de la zone de projet. La sonde de température n’est pas située sur la maquette, comme illustré dans le diagramme de Fritzing, mais est attachée à la main de squelette, comme illustré dans l’image ci-dessus, 3e. Cela permet à la flamme à appliquer près de la main pour mieux simuler le réflexe de douleur de température.
Le code que j’ai utilisé est collé ci-dessous. Il n’est pas la solution plus élégante (par exemple, j’ai utilisé retard au lieu de millis pour garder les choses simples), mais ça marche :
const int highSolenoid = 7 ; entrée de combo régulateur/électrovanne haute pression
const int lowSolenoid = 8 ; entrée de combo de relais régulateur basse pression
const int releaseSolenoid = 4 ; solénoïde pour libérer l’air de biceps
const int tempPin = A0 ;
int sensorValue ;
tempF int ;
void setup() {}
pinMode (highSolenoid, sortie) ;
pinMode (lowSolenoid, sortie) ;
pinMode (releaseSolenoid, sortie) ;
Serial.Begin(9600) ;
}
void loop()
{
sensorValue = analogRead(tempPin) ; Capteur de pression de lecture
int tempF = ((sensorValue * 4.887585532746823)/10) ;
Serial.Print(sensorValue) ;
Serial.Print ("Temp") ;
Serial.println (tempF, DEC) ;
Delay(250) ;
Si (tempF > 85)
{
digitalWrite (lowSolenoid, basse) ;
retard (100) ;
digitalWrite (releaseSolenoid, HIGH) ; ouvrir la sortie électrovanne biceps peut donc être sous contrat digitalWrite (highSolenoid, HIGH) ; Si la température dépasse 85F, le solénoïde haut s’ouvre, simulant la contraction du biceps et rapide et retrait
retarder (5000) ;
digitalWrite (highSolenoid, basse) ; arrêter la contraction du biceps
retarder (1000) ; donne le temps pour l’air d’être libéré de biceps
digitalWrite (releaseSolenoid, basse) ;
retard (100) ; temps pour fermer avant d’activer la contraction du biceps/triceps tonique à nouveau le solénoïde est sortie
digitalWrite (lowSolenoid, HIGH) ;
retarder (8000) ;
}
d’autre
{
digitalWrite (lowSolenoid, HIGH) ;
digitalWrite (highSolenoid, basse) ;
}}