» » X1 – 09.0 Lichtsensor

X1 – 09.0 Lichtsensor

eingetragen in: X1 | 0

 

Lichtsensor

Wie du vielleicht schon gesehen hast, haben wir den X1 mit Lichtsensor ausgerüstet, damit er „sehen" kann. Du wirst überwiegend mit dem Lichtsensor messen, ob der Roboter im Schatten läuft oder unter einer Lichtquelle steht. Das ist dafür geeignet, dass der Roboter nicht unter Sofas oder anderen Gegenstände läuft. Fangen wir aber erstmal ganz simpel an und lassen uns einen Lichtsensor und seinen Wert per Serial.print ausgeben.

Video-Beispiel:

 

Code-Beispiel:

void setup() {
Serial.begin(9600);
}

void loop() {
lichtTest();
}

void lichtTest(){
int lichtEins = analogRead(A0);//müssen nicht Voreingestellt werden
int lichtZwei = analogRead(A1);//Wie digitalRead
int lichtDrei = analogRead(A2);

Serial.print("LichtEins = ");
Serial.print(lichtEins);
Serial.print(", lichtZwei = ");
Serial.print(lichtZwei);
Serial.print(", lichtDrei = ");
Serial.println(lichtDrei);

delay(100);
}

 

 

 

void lichtTest(){
  int sensorWert = analogRead(A0);

  ...
}

 

 

 

 
 
 

Step 1

Du gibst dem Lichtsensor auf dem analog Pin 0 vom Arduino (A0) den Datentyp int und den Namen sensorWert. Du nutzt des weiteren den Befehl analogRead, um den analogen Pin aus zu lesen. Im Grunde weist du einen Namen, Datentypen und Pin zu.

 

 

 

void lichtTest(){
  int lichtEins = analogRead(A0);
  int lichtZwei = analogRead(A1);

  int lichtDrei = analogRead(A2);

  ...
}

 

 

 

 
 
 

Step 2

Die Funktion lichtTest testet alle 3 Lichtsensoren vom X1. Mit der oben erklärten Syntax solltest du verstehen, was hier passiert. Du setzt die analogen Pins 0, 1 und 2 auf analogRead und verteilst Name und Datentyp.

 

 

 

void lichtTest(){
  ...

  Serial.print("LichtEins = ");
  Serial.print(lichtEins);
  Serial.print(", lichtZwei = ");
  Serial.print(lichtZwei);
  Serial.print(", lichtDrei = ");
  Serial.println(lichtDrei);

  delay(100);
}

 

 

 

 
 
 

Step 3

Als Nächstes gibst du dir die Werte mit Serial.print aus. Auch das sollte bereits verständlich für dich sein. Am Ende setzt du noch ein kleines delay, damit du auch Zeit zum lesen der Informationen hast.

 

 

 

void loop() {
lichtTest();
}

 

 

 

 
 
 

Step 4

Zu guter letzt musst du natürlich wieder die lichtTest() Funktion in void loop() schreiben, damit sie auch ausgeführt wird.

 

Fazit

Du hast die ersten richtigen Sensoren deines X1 verwendet und ausgegeben. Du hast ja schon einige Sachen die du damit steuern könntest, zum Beispiel könntest du die RGB-LED durch verschiedene Werte der Lichtsensoren blinken lassen. Wie in allen Lektionen, experimentiere ein wenig mit dem was du gelernt hast, und gehe dann zur nächsten Lektion.

 
 
 

Bitte hinterlasse eine Antwort