Arduino Project's
Follow thin black line with 2 LDR's /************************************** Linienfolgeprogramm mit 2 LDR's Mehr Informationen unter: www.jenskohler.de by Jens Kohler 01/2015 www.jenskohler.de ****************************************/ //Initialisiere beide LDR's int LDR1, LDR2; //Initialisiere Motor1 int motor1_A=11; int motor1_B=10; int motor1_Speed=9; //Initialisiere Motor2 int motor2_A=5; int motor2_B=6; int motor2_Speed=3; //Inistialisiere versch. Variablen int startSpeed = 150, rotate = 105; int threshhold = 40; int left = startSpeed, right = startSpeed; int leftOffset = 0, rightOffset = 0; void setup() { // setze Motorpins pinMode(motor1_Speed, OUTPUT); pinMode(motor2_Speed, OUTPUT); pinMode(motor1_A,OUTPUT); pinMode(motor1_B,OUTPUT); pinMode(motor2_A,OUTPUT); pinMode(motor2_B,OUTPUT); delay(3000); //Setze Motoren auf Vorwärts digitalWrite(motor1_A,HIGH); // A = HIGH and B = LOW means the motor will turn right digitalWrite(motor1_B,LOW); digitalWrite(motor2_A,HIGH); // A = HIGH and B = LOW means the motor will turn right digitalWrite(motor2_B,LOW); //Setze Geschwindigkeit der Motoren auf 'startspeed' analogWrite(motor1_Speed,left); analogWrite(motor2_Speed,right); } void loop() { //Beide Motoren gleiche Geschwindigkeit 'startspeed' left = startSpeed; right = startSpeed; // Sensoren auslesen LDR1 = analogRead(0); LDR2 = analogRead(1); // if LDR2 größer als LDR1+threshhold, drehe rechts if (LDR2 > (LDR1+threshhold)) { left = startSpeed + rotate; right = startSpeed - rotate; } // if LDR1 größer als LDR2+threshhold, drehe links if (LDR1 > (LDR2+threshhold)) { left = startSpeed - rotate; right = startSpeed + rotate; } //Setze neue Geschwindigkeit für beide Motoren analogWrite(motor1_Speed,left); analogWrite(motor2_Speed,right); }
LDR Test Program /************************************** Testprogramm zum auslesen von 2 LDR's Mehr Informationen unter: www.jenskohler.de by Jens Kohler 01/2015 www.jenskohler.de ****************************************/ int irLeftPin = 0; int irRightPin = 1; int irLeft = 0; int irRight = 0; void setup() { Serial.begin (9600); } void loop() { irLeft = analogRead (irLeftPin); irRight = analogRead (irRightPin); Serial.print ("linker Sensor: "); Serial.println (irLeft); Serial.print ("rechter Sensor: "); Serial.println (irRight); delay (500); }
LDR Darkness Detector /************************************** LDR Dunkelheit-Detector. Wenn es Dunkel wird, geht eine LED an. Mehr Informationen unter: www.jenskohler.de by Jens Kohler 01/2015 www.jenskohler.de ****************************************/ Arduino liest LDR aus, wenn der Wert unter der Variable "ldr" fällt geht die LED an PIN 2 an. */ void setup() { pinMode(2,OUTPUT); //PIN 2 als Output schalten Serial.begin(9600); //Verbindung mit PC via USB } void loop(){ int ldr = analogRead(A0); //variable LDR auf A0 messen Serial.println(ldr); if (ldr >= 800) //schwellenwert für dunkelheit { Serial.println("In Dunkelheit habe ich Angst. LICHT AN"); digitalWrite(2,HIGH); //LED AN Serial.println(ldr); //Zeige Wert in PC Konsole delay (1000); //Eine Sekunde mind. Licht anlassen. } else //Wenn größer Schwellenwert { digitalWrite(2,LOW); //LED AUS } }