Hallo, alles bestens.
Lichtschranken, Motor, Drehzahl, alles funktioniert.
Hab grad versucht das selbe für den größeren Motor mit dem TB6560 Treibermodul anzupassen, aber da klappt das ganze weniger gut.
Das Treibermodul hat ja nur zwei Eingänge CW+ und CLK+, die beiden anderen gehen auf Masse.
Kannst Du mir sagen wie ich mein Programm umschreiben soll?
Momentan läuft es so:
PHP-Code:
#include <Bounce2.h>
int buttonPin = 13;
int sensorPin1 = A2;
int sensorPin2 = A3;
int sensorValue1 = 0;
int sensorValue2 = 0;
int motorPin1 = 8;
int motorPin2 = 9;
int motorSpeed = 0;
int buttonState = 0;
int merker = 0;
void setup() {
pinMode(motorPin1, OUTPUT);
pinMode(motorPin2, OUTPUT);
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
pinMode(buttonPin, INPUT);
Serial.begin(9600);
}
void loop(){
buttonState = digitalRead(buttonPin);
sensorValue1 = analogRead(sensorPin1);
sensorValue2 = analogRead(sensorPin2);
Serial.println(buttonState);
if (buttonState != 1)
{
merker = 1;
}
if (sensorValue1 > 512 && sensorValue2 < 512 && merker == 1)
{
motorSpeed = 1;
counterclockwise();
}
if (sensorValue1 < 512 && sensorValue2 < 512 && merker == 1)
{
motorSpeed = 2;
counterclockwise();
}
if (sensorValue1 < 512 && sensorValue2 > 512)
{
motorSpeed = 0;
merker = 0;
counterclockwise();
}
}
void counterclockwise (){
// 1
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
delay(motorSpeed);
// 2
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);
delay (motorSpeed);
}
Motor läuft sehr langsam bei motorSpeed = 1, etwa 6 sek für eine Umdrehung.
Bei motorSpeed = 2 dann die Hälfte, klar.
Aber bei Motor Speed = 0 wieder in etwa so schnell wie auf motorSpeed = 1
Hast du vielleicht ne Idee was ich anders machen könnte?
Die Beispielprogramme aus dem Netz hab ich schon durchprobiert, aber die anzupassen ist mir leider zu hoch.
Vielen Dank
Andy
Lesezeichen