Hallo Zusammen,
bin Neuling hier und weiß nach vielem Probieren nicht mehr weiter.
Mein Motor läuft nach Wunsch vorwärts und dann auch rückwärts nach Betätigen eines IR - Sensors.
Aber der Motor soll nach dem Umschaltsignal des Infrarotsensors eine programmierte Pause machen.
Egal was ich probiere haut nicht hin:
Nach der Programmzeile:
if (digitalRead(IROUT) == LOW) //2 LED brennen oder if (digitalRead(IROUT) == HIGH) //1 LED brennt
soll eine Pause z.B. mit delay kommen.
Wer kann helfen ? Vielen Dank im Voraus !!
Die Datei hab ich auch angehängt.
Hintergrund ist eine Seilbahnsteuerung mit Berg und Talstation
Hier der Code:
const int motorSpeedPin = 9; // Verbinden mit Pin 1 L293D CHIP
const int switchPin = 2; // switch input
const int motor1Pin = 3; // H-bridge leg 1 (pin 2, 1A)
const int motor2Pin = 4; // H-bridge leg 2 (pin 7, 2A)
const int enablePin = 9; // H-bridge enable pin
const int IROUT = 10; // Infrarotlichtschranke an PIN10 enable pin
void setup() {
pinMode(motorSpeedPin, OUTPUT);
// set the switch as an input:
Serial.begin(9600);
pinMode(switchPin, INPUT);
pinMode(12, OUTPUT);
pinMode(10, INPUT);
// set all the LOWother pins you're using as outputs:
pinMode(motor1Pin, OUTPUT);
pinMode(motor2Pin, OUTPUT);
pinMode(enablePin, OUTPUT);
// set enablePin high so that motor can turn on:
digitalWrite(enablePin, HIGH);
}
void loop() {
Serial.println("IROUT Status:");
Serial.println(digitalRead(IROUT));
analogWrite(motorSpeedPin, 120); // Geschwindigkeit des Motors
if (digitalRead(IROUT) == LOW) //2 LED brennen
{
digitalWrite(motor2Pin, HIGH);
digitalWrite(motor1Pin, LOW);
Serial.println("Heissluftballon backward 2 lED");
}
if (digitalRead(IROUT) == HIGH)// 1 LED brennt
{
digitalWrite(motor1Pin, HIGH);
digitalWrite(motor2Pin, LOW);
Serial.println("Heissluftballon forward 1 LED");
}
}
Test_neu.ino (1.27 KB)