ATOM (7 / 9 steg)
Steg 7: ARDUINO kod
ARDUINO KOD
#include < Servo.h >
Servo servoMain;
int r_motor_n = 2; PWM kontroll rätt Motor-
int r_motor_p = 4; PWM kontroll rätt Motor +
int l_motor_p = 5; PWM kontroll vänster Motor +
int l_motor_n = 7. PWM kontroll vänster Motor-
int aktiverar = 3;
int enable2 = 6;
int incomingByte = 0; för inkommande seriella data
void setup()
{
servoMain.attach(10);
pinMode (r_motor_n, produktionen); Ställa in kontroll stiften att utgångar
pinMode (r_motor_p, produktionen);
pinMode (l_motor_p, produktionen);
pinMode (l_motor_n, produktionen);
pinMode (aktiverar, OUTPUT);
pinMode (enable2, produktionen);
digitalWrite (r_motor_n, låg); kvitta båda motorer för start
digitalWrite (r_motor_p, låg);
digitalWrite (l_motor_p, låg);
digitalWrite (l_motor_n, låg);
digitalWrite (aktivera, låg);
digitalWrite (enable2, låg);
Serial.BEGIN(9600);
Serial.Print ("Whats up im ATOM, laddade upp!!! \n");
Serial.Print ("w = framåt \n");
Serial.Print ("s = bakåt \n");
Serial.Print ("d = rätt \n");
Serial.Print ("en = vänster \n");
Serial.Print ("f = stopp \n");
Serial.Print ("stive robotteknik").
}
void loop()
{
om (Serial.available() > 0) {
Läs den inkommande byten:
incomingByte = Serial.read();
}
Switch(incomingByte)
{
fallet "f":
digitalWrite (r_motor_n, låg); Ställa in motor riktning, 1 låg, 2 hög
digitalWrite (r_motor_p, låg);
digitalWrite (l_motor_p, låg);
digitalWrite (l_motor_n, låg);
digitalWrite (aktivera, låg);
digitalWrite (enable2, låg);
Serial.println("Stop\n");
incomingByte ='* ';
bryta;
fall skulle ":
digitalWrite (r_motor_n, hög); Ställa in motor riktning, 1 låg, 2 hög
digitalWrite (r_motor_p, låg);
digitalWrite (l_motor_p, hög);
digitalWrite (l_motor_n, låg);
digitalWrite (aktivera, hög);
digitalWrite (enable2, hög);
Serial.println("right\n");
incomingByte ='* ';
bryta;
fallet "a":
digitalWrite (r_motor_n, låg); Ställa in motor riktning, 1 låg, 2 hög
digitalWrite (r_motor_p, hög);
digitalWrite (l_motor_p, låg);
digitalWrite (l_motor_n, hög);
digitalWrite (aktivera, hög);
digitalWrite (enable2, hög);
Serial.println("left\n");
incomingByte ='* ';
bryta;
fallet "w":
digitalWrite (r_motor_n, hög); Ställa in motor riktning, 1 låg, 2 hög
digitalWrite (r_motor_p, låg);
digitalWrite (l_motor_p, låg);
digitalWrite (l_motor_n, hög);
digitalWrite (aktivera, hög);
digitalWrite (enable2, hög);
Serial.println("forward\n");
incomingByte ='* ';
bryta;
fallet ":
digitalWrite (r_motor_n, låg); Ställa in motor riktning, 1 låg, 2 hög
digitalWrite (r_motor_p, hög);
digitalWrite (l_motor_p, hög);
digitalWrite (l_motor_n, låg);
digitalWrite (aktivera, hög);
digitalWrite (enable2, hög);
Serial.println("backwards\n");
incomingByte ='* ';
bryta;
fall '1':
servoMain.write(0);
bryta;
fallet "2":
servoMain.write(45);
bryta;
fallet "3":
servoMain.write(90);
bryta;
fallet "4":
servoMain.write(135);
bryta;
fallet "5":
servoMain.write(180);
bryta;
fallet "v":
Serial.Print ("atom");
Serial.println();
Serial.Print ("stive robotics atom");
incomingByte ='* ';
bryta;
Delay(5000);
}
}
OBS
Om några problem med koden, dess testade så inga problem.
Lämna kommentarer
ATT minska hastigheten förändring
digitalWrite(enable,HIGH);
digitalWrive(enable2,HIGH);
till
analogWrite(value)
värdet bör vara lika med 0-255 något värde kommer att göra 255 är maximal och 0 är minst.