Étape 6: touche de finition
Obtenez-le congé ensemble (châssis), un fil sur les chauffeurs de puissance épingles placés derrière et voici le programme.
Il s’agit d’un code de commande d’un robot simple en utilisant un arduino et un moteur.
créé par robobot3112
const int loopPeriod = 20 ;
unsigned long loopdelay = 0 ;
const int capteur = 12 ; BROCHE DE SORTIE ARDUINO POUR CAPTEUR D’ENTRÉE/SORTIE
const int p1 = 8 ; BROCHE DE SORTIE ARDUINO POUR MOTEURS ENTRÉES
const int p2 = 7 ; BROCHE DE SORTIE ARDUINO POUR MOTEURS ENTRÉES
const int p3 = 4 ; BROCHE DE SORTIE ARDUINO POUR MOTEURS ENTRÉES
const int p4 = 2 ; UltraDistance int de ARDUINO sortie pour moteur entrées broches ;
int ultraDuration ;
void setup()
{
Serial.Begin(9600) ;
pinMode (p1, sortie) ;
pinMode (p2, sortie) ;
pinMode (p3, sortie) ;
pinMode (p4, sortie) ; }
void loop()
{
if(Millis() - loopdelay > = loopPeriod)
{
readUltrasonicSensors() ;
motorstate() ;
LoopDelay = millis() ;
}
}
Sub readUltrasonicSensors()
{
pinMode (capteur, sortie) ;
digitalWrite (capteur, faible) ;
Delay(2) ;
digitalWrite (capteur, HIGH) ;
delayMicroseconds(10) ;
digitalWrite (capteur, faible) ;
pinMode (entrée de la sonde,) ;
ultraDuration = pulseIn (capteur, HIGH) ;
ultraDistance = (ultraDuration/2) / 29 ;
}
void motorstate() / / moteur fonction contrôle
{
Si ((ultraDistance > 15) || (ultraDistance < 0))
{
digitalWrite (p3, HIGH) ;
digitalWrite (p1, HIGH) ;
digitalWrite (p2, faible) ;
digitalWrite (p4, faible) ; }
d’autre
{
digitalWrite (p1, HIGH) ;
digitalWrite (p2, faible) ;
digitalWrite (p3, HIGH) ;
digitalWrite (p4, faible) ;
}
}