Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
bauteile:farbsensor [2018/01/23 20:24] d.golovko |
bauteile:farbsensor [2019/01/08 11:22] (aktuell) d.golovko |
||
---|---|---|---|
Zeile 3: | Zeile 3: | ||
{{:bauteile:color-sensor.jpg?200|}} | {{:bauteile:color-sensor.jpg?200|}} | ||
- | Der Funktionsweise des Farbsensors im Labor ist identisch mit der von TCS230, der hier dargestellt ist: | + | Der Funktionsweise des Farbsensors im Labor ist identisch mit der von TCS230, der hier dargestellt ist (größere Abbildung nach dem Klicken verfügbar). Falls bei eurem Sensor die LEDs nicht automatisch an gehen und ein LED-Pin vorhanden ist, soll dieser Pin an 5V angeschlossen werden. |
{{:bauteile:sketch-color-sensor.png?700|}} | {{:bauteile:sketch-color-sensor.png?700|}} | ||
Zeile 18: | Zeile 18: | ||
#define sensorOUT 9 | #define sensorOUT 9 | ||
- | // Konstante für die Sensorkalibrierung: | + | // Konstante für die Sensorkalibrierung (ihr muesst sie anpassen): |
int R_WHITE = 25; | int R_WHITE = 25; | ||
int R_BLACK = 217; | int R_BLACK = 217; | ||
Zeile 33: | Zeile 33: | ||
pinMode(S2, OUTPUT); | pinMode(S2, OUTPUT); | ||
pinMode(S3, OUTPUT); | pinMode(S3, OUTPUT); | ||
- | pinMode(sensorOUT, INPUT); | ||
} | } | ||
void loop() { | void loop() { | ||
- | // Rechne die Werte in den Bereich [0; 255] um: | + | // Die map()-Funktion rechnet die Werte in den Bereich [0; 255] um: |
int rValue = map(sensorRead(0), R_BLACK, R_WHITE, 0, 255); | int rValue = map(sensorRead(0), R_BLACK, R_WHITE, 0, 255); | ||
int gValue = map(sensorRead(1), G_BLACK, G_WHITE, 0, 255); | int gValue = map(sensorRead(1), G_BLACK, G_WHITE, 0, 255); | ||
Zeile 48: | Zeile 47: | ||
Serial.print(" B: "); | Serial.print(" B: "); | ||
Serial.print(bValue); | Serial.print(bValue); | ||
- | Serial.print(" C: "); | + | Serial.print(" C: "); // "Clear" = alle Kanäle |
Serial.println(cValue); | Serial.println(cValue); | ||
delay(100); | delay(100); |