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:
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?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); } }
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?







Zitieren

Lesezeichen