Code:
#include <Servo.h>
Servo myservo; // create servo object to control a servo
const int L = 2; // Links Fern
const int R = 3; // Rechts Fern
const int Vor = 4; // Vor Fern
const int Rueck = 5; // Rückwärts Fern
const int IRL = 6; //Hinderniss Rechts
const int IRR = 7; // Hinderniss Links
const int FERNON = 13; //Fernsteuerung Spannung
int PWM = 10; // PWM Motor
const int Motor_1 = 11; //Motor vor rück
const int Motor_2 = 12; //Motor vor rück
int val = 0;
void setup() {
myservo.attach(9); // Servo auf DigitalPin 9
pinMode(2, INPUT);
pinMode(3, INPUT);
pinMode(4, INPUT);
pinMode(5, INPUT);
pinMode(6, INPUT);
pinMode(7, INPUT);
pinMode(10, OUTPUT); //PWM
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
}
void loop() {
int val = 0;
val = digitalRead(IRL); //Ir Links lesen
if (digitalRead(IRL) == HIGH)
{
digitalWrite(FERNON, LOW);
analogWrite(PWM, 170);
myservo.write(60);
digitalWrite(Motor_1, LOW);
digitalWrite(Motor_2, HIGH);
delay(2000);
}
else
{
digitalWrite(FERNON, HIGH);
digitalWrite(PWM, LOW);
myservo.write(90);
digitalWrite(Motor_1, LOW);
digitalWrite(Motor_2, LOW);
}
{
val = digitalRead(IRR); //Ir Rechts lesen
if (digitalRead(IRR) == HIGH)
{
digitalWrite(FERNON, LOW);
analogWrite(PWM, 170);
myservo.write(120);
digitalWrite(Motor_1, LOW);
digitalWrite(Motor_2, HIGH);
delay(2000);
}
else
{
digitalWrite(FERNON, HIGH);
digitalWrite(PWM, LOW);
myservo.write(90);
digitalWrite(Motor_1, LOW);
digitalWrite(Motor_2, LOW);
delay(50);//Pause, damit das Servo drehen kann
}
val = digitalRead(2); //Links Fernsteuerung
if (digitalRead(2) == HIGH)
{
myservo.write(60);
delay(50);//Pause, damit das Servo drehen kann
}
else
{
myservo.write(90);
delay(50);//Pause, damit das Servo drehen kann
}
{
val = digitalRead(3); //Rechts Fernsteuerung
if (digitalRead(3) == HIGH)
{
myservo.write(120);
delay(50);//Pause, damit das Servo drehen kann
}
else
{
myservo.write(90);
}
delay(50);//Pause, damit das Servo drehen kann
}
{
val = digitalRead(4);//Fernsteuerung vor
if (digitalRead(4)==HIGH)
{
analogWrite(PWM, 170);
digitalWrite(Motor_1, HIGH);
digitalWrite(Motor_2, LOW);
}
else
{
digitalWrite(Motor_1, LOW);
digitalWrite(Motor_2, LOW);
}
{
val = digitalRead(5);//Fernsteuerung vor
if (digitalRead(5)==HIGH)
{
analogWrite(PWM, 170);
digitalWrite(Motor_1, LOW);
digitalWrite(Motor_2, HIGH);
}
else
{
digitalWrite(Motor_1, LOW);
digitalWrite(Motor_2, LOW);
}
}
}
}}
Lesezeichen