Stap 7: ARDUINO CODE
ARDUINO CODE
#include < Servo.h >
Servo servoMain;
int r_motor_n = 2; PWM-controle Motor recht-
int r_motor_p = 4; PWM-controle recht Motor +
int l_motor_p = 5; PWM-controle Motor links +
int l_motor_n = 7; PWM-controle Motor links-
int inschakelen = 3;
int enable2 = 6;
int incomingByte = 0; voor binnenkomende seriële gegevens
VOID Setup
{
servoMain.attach(10);
pinMode (r_motor_n, OUTPUT); Besturingselement instellen pinnen te worden uitgangen
pinMode (r_motor_p, OUTPUT);
pinMode (l_motor_p, OUTPUT);
pinMode (l_motor_n, OUTPUT);
pinMode (inschakelen, uitvoer);
pinMode (enable2, OUTPUT);
digitalWrite (r_motor_n, laag); beide motoren verrekening voor start-up
digitalWrite (r_motor_p, laag);
digitalWrite (l_motor_p, laag);
digitalWrite (l_motor_n, laag);
digitalWrite (inschakelen, laag);
digitalWrite (enable2, laag);
Serial.begin(9600);
Serial.Print ("Whats up im atoom, afgestemd!!! \n");
Serial.Print ("w = vooruit \n");
Serial.Print ("s = achterwaarts \n");
Serial.Print ("d = juiste \n");
Serial.Print ("een = linker \n");
Serial.Print ("f = Stop \n");
Serial.Print ("stive robotics");
}
void loop
{
Als (Serial.available() > 0) {}
Lees de binnenkomende byte:
incomingByte = Serial.read();
}
switch(incomingByte)
{
Case "f":
digitalWrite (r_motor_n, laag); Motor richting, 1 laag, 2 hoog instellen
digitalWrite (r_motor_p, laag);
digitalWrite (l_motor_p, laag);
digitalWrite (l_motor_n, laag);
digitalWrite (inschakelen, laag);
digitalWrite (enable2, laag);
Serial.println("Stop\n");
incomingByte ='* ';
breken;
geval zou ':
digitalWrite (r_motor_n, hoge); Motor richting, 1 laag, 2 hoog instellen
digitalWrite (r_motor_p, laag);
digitalWrite (l_motor_p, hoge);
digitalWrite (l_motor_n, laag);
digitalWrite (inschakelen, hoge);
digitalWrite (enable2, hoge);
Serial.println("right\n");
incomingByte ='* ';
breken;
geval 'a':
digitalWrite (r_motor_n, laag); Motor richting, 1 laag, 2 hoog instellen
digitalWrite (r_motor_p, hoge);
digitalWrite (l_motor_p, laag);
digitalWrite (l_motor_n, hoge);
digitalWrite (inschakelen, hoge);
digitalWrite (enable2, hoge);
Serial.println("left\n");
incomingByte ='* ';
breken;
Case 'w':
digitalWrite (r_motor_n, hoge); Motor richting, 1 laag, 2 hoog instellen
digitalWrite (r_motor_p, laag);
digitalWrite (l_motor_p, laag);
digitalWrite (l_motor_n, hoge);
digitalWrite (inschakelen, hoge);
digitalWrite (enable2, hoge);
Serial.println("forward\n");
incomingByte ='* ';
breken;
geval van ':
digitalWrite (r_motor_n, laag); Motor richting, 1 laag, 2 hoog instellen
digitalWrite (r_motor_p, hoge);
digitalWrite (l_motor_p, hoge);
digitalWrite (l_motor_n, laag);
digitalWrite (inschakelen, hoge);
digitalWrite (enable2, hoge);
Serial.println("backwards\n");
incomingByte ='* ';
breken;
Case '1':
servoMain.write(0);
breken;
Case '2':
servoMain.write(45);
breken;
Case '3':
servoMain.write(90);
breken;
Case '4':
servoMain.write(135);
breken;
Case '5':
servoMain.write(180);
breken;
Case "v":
Serial.Print ("atoom");
Serial.println();
Serial.Print ("stive robotica het Atoom");
incomingByte ='* ';
breken;
delay(5000);
}
}
OPMERKING
Als geen problemen met de code, zijn getest dus geen probleem.
Leave Reacties
OM de snelheid wijzigen
digitalWrite(enable,HIGH);
digitalWrive(enable2,HIGH);
Aan
analogWrite(value)
waarde moet gelijk zijn aan 0-255 elke waarde zal doen 255 is maximale en 0 is minimaal.