Lichtsensor CNY70

Der Sensor enthält eine LED, die in einem für unser Auge unsichtbarem Licht strahlt.  Das Licht kann mit Hilfe einer Handykamera sichtbar gemacht werden, hier erkennt man das Leuchten der Diode. Durch die blaue Linse wird das Licht auf eine reflektierende Oberfläche gesendet und wieder reflektiert. Dieser Lichtstrahl fällt durch die zweite Linse, hinter dieser befindet sich ein Fototransistor. Je mehr Licht auf den Fototransistor fällt, umso  geringer ist dessen Widerstand.

Klar, der Sensor CNY70  funktioniert nur, wenn 

  • der Gegenstand gut reflektiert
  • der Abstand stimmt (ca. 5 mm)
  • kein Fremdlicht stört.

 

Achtung! Es gibt zwei verschiedene Lichtsensoren mit der Bezeichnung CNY70. Der hier benutzte kostet ca. 70 Cent, der andere ca. 2 Euro. Diese unterscheiden sich in der Pin - Belegung, dort ist der Fototransistor umggekehrt eingebaut.

 
Motor und Lichtsensor
  1. Interpretiere den Text.
  2. Passe den Text auf deine Pinbelegungen an.
int motor1_A=11;
int motor1_B=10;
int motor1_enable=9;
   
int motor2_A=5;
int motor2_B=6;
int motor2_enable=3;
int v= 200;

int LS_Motor1 = A5;  // Analoger EingansPIN
int HellDunkelSchranke = 500; // hell hoher Wert
int a1=0;   // Messwert des Lichtsensors
    
void setup(){
  Serial.begin(9600);
  pinMode(motor1_A,OUTPUT);
  pinMode(motor1_B,OUTPUT);
  pinMode(motor1_enable, OUTPUT); 
  pinMode(motor2_A,OUTPUT);
  pinMode(motor2_B,OUTPUT);
  pinMode(motor2_enable, OUTPUT); 
}
    
void loop(){
 a1 = analogRead(LS_Motor1);
 if(a1 > HellDunkelSchranke ){
  
    digitalWrite(motor1_A,LOW);
    digitalWrite(motor1_B,HIGH);
    analogWrite(motor1_enable,v);
 } 
 if(a1 < HellDunkelSchranke ){
   
    digitalWrite(motor2_A,HIGH);
    digitalWrite(motor2_B,LOW);
    analogWrite(motor2_enable,v);
 }   
Serial.println(a1);  
 }