Ich wurde nach einer Schaltung für ein go-kart gefragt. Eigentlich ganz simpel. Wird der rechte Knopf gedrückt fährt das Kart nach rechts, wird der linke Knopf gedrückt fährt das Kart nach links. Über zwei Potis wird der maximale Einschlag der Räder bestimmt.
Hier die Schaltung für das go-kart auf dem Breadbord.
Programm für die Lenkung mit Ardublock
Das Programm ist relativ einfach. Wird einer der Taster gedrückt (hier nicht, da die internen pullup Widerstände verwendet werden), Wird die Maximalstellung des Servo abgefragt und der Servo dann bis zu dieser Position gefahren. Wird der Taster los gelassen fährt das Servo zurück auf 90 Grad also genau in Mittelstellung. Über das Serial Pint kann die Stellung, wenn gewünscht noch ausgelesen werden.
Der Arduino Code:
#include <Servo.h>
Servo servo_pin_5;
int poti1 = 0 ;
int poti2 = 0 ;
void setup()
{
pinMode( 3 , INPUT);
pinMode( 2 , INPUT);
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
servo_pin_5.attach(5);
Serial.begin(9600);
servo_pin_5.attach(5);
}
void loop()
{
while ( !( digitalRead(2) ) )
{
poti1 = map ( analogRead(0) , 0 , 1023 , 0 , 90 ) ;
servo_pin_5.write( poti1 );
Serial.print("poti 1--->");
Serial.print(poti1);
Serial.println();
}
servo_pin_5.write( 90 );
while ( !( digitalRead(3) ) )
{
poti2 = map ( analogRead(1) , 0 , 1023 , 90 , 180 ) ;
Serial.print("poti 2--->");
Serial.print(poti2);
Serial.println();
servo_pin_5.write( poti2 );
}
servo_pin_5.write( 90 );
}