Étape 7: programmation
Compte tenu de la nature dynamique de ce projet, il est très probable que vous devrez faire plusieurs modifications du code selon la taille, forme, mise en rayon, vitesse et poids de votre voiture, ainsi que l’éclairage ambiant de votre environnement de test (que j’ai tenté de compenser).int exact = A5 ;
motorspeed int ;
int exécuter = 0 ;
int mesure = 1 ;
int ambientir = 0 ;
distance de l’int ;
void setup() {}
Canal d’installation A
pinMode (sortie 12,) ; Broche initiés moteur canal
pinMode (sortie 9) ; Broche initiés frein canal
pinMode (exact, entrée) ;
digitalWrite (exact, HIGH) ;
Serial.Begin(9600) ;
}
void loop() {}
if(Run == 0)
{
Delay(1000) ;
{}
ambientir = ambientir + analogRead(irsensor) ;
Delay(1000) ;
mesure = mesure + 1 ;
}
tandis que (mesure < 10) ;
ambientir = ambientir / 10 ;
courir = exécution + 1 ;
}
distance = analogRead(irsensor) ;
Si (distance < ambientir - 50) {}
digitalWrite (12, HIGH) ; Établit l’orientation descendante du canal A
digitalWrite (9, faible) ; Débloquer le frein de chaîne A
analogWrite (3, 100) ; Fait tourner le moteur sur le canal A à mi-vitesse
}
Si (distance > ambientir - 50) {}
digitalWrite (12, faible) ; Établit l’orientation vers l’avant du canal A
digitalWrite (9, faible) ; Débloquer le frein de chaîne A
analogWrite (3, 100) ; Fait tourner le moteur sur le canal A à pleine vitesse
}
Serial.println(distance) ;
}
Cela étant dit, bonne chance. Je pense que n’importe quel programmeur sera d’accord, cela ne fonctionnera pas lors de votre première tentative.