Startseite / Werkzeuge / Arduino / Farbsensor mit TCS3200D Objektiv für Arduino

Farbsensor mit TCS3200D Objektiv für Arduino

Diese kleinen sensor Objektiv-TCS3200D ist in der Lage wahrzunehmen Farben und senden Sie sie an den Arduino. Obwohl nicht sehr zuverlässig, Es schien sehr cool. Es hat auch eine Version ohne Objektiv.

570feb7116d85_IMG_20160414_160510

Hat 4 LED montiert an Bord.

570feb730cecc_IMG_20160414_160516

Die Anschlüsse sind: S0, S1, S2, S3, GND, VCC, OUT und LED.

570feb751d7d3_IMG_20160414_160524

Es ist ein Cover, das Objektiv zu schützen.

570feb771e264_IMG_20160414_160536

Sehen Sie, wie die Verbindung mit dem Arduino war.

570feb653fa95_IMG_20160414_160107

Ich habe die 3,3 V Spannung der Arduino verbinden die leds. Es war eine sehr gute Helligkeit.

570feb66707a2_IMG_20160414_160139

In diesem Bild bin ich versucht, das Blau des mein Hefter lesen.

570feb67a23fd_IMG_20160414_160153

Die Ergebnisse für blau sind nicht sehr gut, aber ich kann sehen, dass das blau etwas größer ist.

570feb6879495_IMG_20160414_160203

Apropos, Ich lasse hier das Programm für diejenigen, die zu verwendenden:

Int s2Pin = 7;
Int s3Pin = 8;
Int outPin = 4;

privatevoid einrichten() {
  pinMode(s2Pin, AUSGABE);
  pinMode(s3Pin, AUSGABE);
  pinMode(outPin, EINGABE);
  Beginnen Sie serielle.(9600);
}

Int readOutputPulse(Int-polig) {
  Int Anzahl = 0;
  Weile ((digitalRead(POLIG) == 1) & (Graf < 32640)) {
    Graf   ;
  }
  If (Graf == 32640) Count   2 zurück;
  Graf = 0;  Weile ((digitalRead(POLIG) == 0) & (Graf < 32640)) {
    Graf   ;
  }
  Rückgabe Anzahl;
}

Int readRed() {
  Int PulseWidth = 0;
  Int ColorStrength = 0;
  digitalWrite(s2Pin, LOW); 
  digitalWrite(s3Pin, LOW);
  Verzögerung(100);
  Pulsewidth = ReadOutputPulse(outPin);
  ColorStrength = (Pulsewidth/128);
  ColorStrength = (255 - colorStrength);
  zurück colorStrength;
}

Int readGreen() {
  Int PulseWidth = 0;
  Int ColorStrength = 0;
  digitalWrite(s2Pin, HOCH); 
  digitalWrite(s3Pin, HOCH);
  Verzögerung(100);
  Pulsewidth = ReadOutputPulse(outPin);
  ColorStrength = (Pulsewidth/128);
  ColorStrength = (255 - colorStrength);
  zurück colorStrength;
}

Int readBlue() {
  Int PulseWidth = 0;
  Int ColorStrength = 0;
  digitalWrite(s2Pin, LOW); 
  digitalWrite(s3Pin, HOCH);
  Verzögerung(100);
  Pulsewidth = ReadOutputPulse(outPin);
  ColorStrength = (Pulsewidth/128);
  ColorStrength = (256 - colorStrength);
  zurück colorStrength;
}

privatevoid Schleife() {
  Serielle .print("R:");
  System.out.println serielle(readRed());
  Serielle .print("G:");
  System.out.println serielle(readGreen());
  Serielle .print("(B):");
  System.out.println serielle(readBlue());
  System.out.println serielle("");
  Verzögerung(500);
}

Jetzt lese ich einen weißen Bildschirm auf dem computer.

570feb6f21b80_IMG_20160414_160356

Ein Roter Bildschirm. Überprüfen Sie, ob der Sensor empfindlicher auf diese Farbe als alle anderen.

570feb6a1b811_IMG_20160414_160226

Ein green-screen:

570feb6d3fb12_IMG_20160414_160318

Und blauen.

570feb6bbce1c_IMG_20160414_160245

Obwohl empfindlicher auf rot als blau oder grün, die Sensor-Werke. Vielleicht ist einigen Kalibrierung notwendig, besser arbeiten. Ich lasse unten Link für Versionen mit Objektiv (EBay) und ohne Objektiv (DX):

Mit Linsen – http://www.ebay.com/sch/i.html?_nkw=tcs3200d+lens&_sacat=0

Ohne Objektiv – http://www.DX.com/p/Gy-31-tcs230-tcs3200-Color-Sensor-Recognition-Module-Blue-Black-216, 448

Über Adriano Moutinho

Adriano Moutinho
Professor für Elektroniker /-in bei verwirklichten-RJ, Telekommunikation-Ingenieur, Master in Informatik und einen Ph.d. in Bauingenieurwesen. Neben der verrückten China Produkte Käufer.

Hinterlasse eine Antwort

Ihre e-Mail-Adresse wird nicht veröffentlicht. Pflichtfelder sind markiert *

*


*