ja, es läuft, zumindest ansatzweise...
aber das "Kratzen am Kopf" lässt nicht lange auf sich warten. Ich habe den Code für die Beschleunigung für zwei Motoren erweitert:
Code:
/*
L298N Test Code w/ Speed Control
hacker.instanet.net
Tim Laren timl@instanet.com
This example code is in the public domain.
*/
#define OUT1PIN1 2 // H-bridge OUT1.1
#define OUT1PIN2 4 // H-bridge OUT1.2
#define ENABLE1 3 // H-bridge Ena 1
#define OUT2PIN3 7 // H-bridge OUT2.3
#define OUT2PIN4 8 // H-bridge OUT2.4
#define ENABLE2 6 // H-bridge Ena 2
void setup()
{
// setup Motor 1 pins
pinMode(OUT1PIN1, OUTPUT);
pinMode(OUT1PIN2, OUTPUT);
// setup Motor 2 pins
pinMode(OUT2PIN3, OUTPUT);
pinMode(OUT2PIN4, OUTPUT);
}
void loop()
{
//Motor_1
digitalWrite(OUT1PIN1, LOW); // set leg 1 of the H-bridge low
digitalWrite(OUT1PIN2, HIGH); // set leg 2 of the H-bridge high
digitalWrite(OUT2PIN3, LOW); // set leg 3 of the H-bridge low
digitalWrite(OUT2PIN4, HIGH); // set leg 4 of the H-bridge high
Ramp(ENABLE1,0,255,1,10);
Ramp(ENABLE2,0,255,1,10);
//Motor_2
digitalWrite(OUT1PIN1, HIGH); // set leg 1 of the H-bridge high
digitalWrite(OUT1PIN2, LOW); // set leg 2 of the H-bridge low
digitalWrite(OUT2PIN3, HIGH); // set leg 3 of the H-bridge high
digitalWrite(OUT2PIN4, LOW); // set leg 4 of the H-bridge low
Ramp(ENABLE1,255,0,-1,10);
Ramp(ENABLE2,255,0,-1,10);
}
void Ramp(int Motor, int Start, int End, int Inc, int Del)
{
/* Ramps from PWM of Start to End
adding Inc each time
delay of Del MS each time thru the loop
*/
for(int i=Start;i<End;i = i + Inc)
{
analogWrite(Motor, i); // Motor 1 Speed
delay(Del);
}
}
zumindest laufen beide Motoren. Allerdings versetzt - wenn Du verstehts was ich meine. Ich ahne, dass es zum einen mit dem delay in der Ramp-Funktion hat. Habe aber keine Ahnung wie ich das angehen soll? Zum Anderen evtl. an den getrennten Aufrufen dieser Funktion für links/rechts. Muss ich die Funktion irgendwie für beide Motoren ändern/erweitern, oder ist da evtl. noch ein logischer Fehler?
ich habe schon alls Mögliche in der Reihenfolge der Befehlszeilen zu verändern versucht - das hier ist noch das beste Ergebnis - nur so fährt kein Roboter...
schaus Du bitte mal drüber?
Lesezeichen