Skip to main content
formatted code for readability
Source Link
sempaiscuba
  • 1k
  • 9
  • 22
  • 33

I want to use a color sensor for my arduinoArduino project with arduino unoArduino Uno to detect the colors red, green, blue, orange, yellow purple of leaves of paper and then light my rgbRGB led in those colors. I have no errors in my code, but it fails for some reason :( Can someone help me?

here is the code:

#define s0 8
#define s1 9 #define s2 10 #define s3 11 #define sensorOut 12

#define LED_RED 3
#define LED_GREEN 5 #define LED_BLUE 6

// Variabelen voor de kleurwaarden int red; int green; int blue;

const int RED_COLOR = (255, 0, 0); const int GREEN_COLOR = (0, 255, 0); const int BLUE_COLOR = (0, 0, 255); const int ORANGE_COLOR = (255, 165, 0); const int PINK_COLOR = (255, 105, 180); const int PURPLE_COLOR = (128, 0, 128); const int YELLOW_COLOR = (255, 255, 0);

int color = 0;

void setup() { // Zet de seriële communicatie op Serial.begin(9600);

// Initialiseer de pinmodi pinMode(s0, OUTPUT); pinMode(s1, OUTPUT); pinMode(s2, OUTPUT); pinMode(s3, OUTPUT); pinMode(sensorOut, INPUT);

pinMode(LED_RED, OUTPUT); pinMode(LED_GREEN, OUTPUT); pinMode(LED_BLUE, OUTPUT);

// Zet de frequentie van de kleurensensor op 20% (rode filter) digitalWrite(s0, HIGH); digitalWrite(s1, LOW); }

void loop() { // Lees de kleurwaarden digitalWrite(s2, LOW);
digitalWrite(s3, LOW);
red = pulseIn(sensorOut, digitalRead(sensorOut) == HIGH ? LOW : HIGH);
delay(20);
digitalWrite(s3, HIGH);
blue = pulseIn(sensorOut, digitalRead(sensorOut) == HIGH ? LOW : HIGH); delay(20);
digitalWrite(s2, HIGH);
green = pulseIn(sensorOut, digitalRead(sensorOut) == HIGH ? LOW : HIGH); delay(20);

// Controleer op verschillende kleuren if (red > green && red > blue) { color = RED_COLOR; // Rood } else if (green > red && green > blue) { color = GREEN_COLOR; // Groen } else if (blue > red && blue > green) { color = BLUE_COLOR; // Blauw } else if (red > green && red > blue && green > blue) { color = YELLOW_COLOR; // Geel } else if (red > green && red > blue && blue > green) { color = ORANGE_COLOR; // Oranje } else { color = 0; // Geen herkende kleur }

// Controleer op verschillende kleuren if (color == RED_COLOR) { setColor(255, 0, 0); // Rood } else if (color == GREEN_COLOR) { setColor(0, 255, 0); // Groen } else if (color == BLUE_COLOR) { setColor(0, 0, 255); // Blauw } else if (color == ORANGE_COLOR) { setColor(255, 165, 0); // Oranje } else if (color == PINK_COLOR) { setColor(255, 105, 180); // Roze } else if (color == PURPLE_COLOR) { setColor(128, 0, 128); // Paars } else if (color == YELLOW_COLOR) { setColor(255, 255, 0); // Geel } else { // Geen herkende kleur, zet de led uit setColor(0, 0, 0); }

delay(500); // Wacht 500 milliseconden voordat je de volgende kleur controleert }

// Hulpmethode om de RGB-waarden in te stellen void setColor(int red, int green, int blue) { analogWrite(LED_RED, red); analogWrite(LED_GREEN, green); analogWrite(LED_BLUE, blue); }

#define s0 8        
#define s1 9
#define s2 10
#define s3 11
#define sensorOut 12

#define LED_RED 3   
#define LED_GREEN 5
#define LED_BLUE 6

// Variabelen voor de kleurwaarden
int red;
int green;
int blue;

const int RED_COLOR = (255, 0, 0);
const int GREEN_COLOR = (0, 255, 0);
const int BLUE_COLOR = (0, 0, 255);
const int ORANGE_COLOR = (255, 165, 0);
const int PINK_COLOR = (255, 105, 180);
const int PURPLE_COLOR = (128, 0, 128);
const int YELLOW_COLOR = (255, 255, 0);

int color = 0;

void setup() {
  // Zet de seriële communicatie op
  Serial.begin(9600);

  // Initialiseer de pinmodi
  pinMode(s0, OUTPUT);
  pinMode(s1, OUTPUT);
  pinMode(s2, OUTPUT);
  pinMode(s3, OUTPUT);
  pinMode(sensorOut, INPUT);
  
  pinMode(LED_RED, OUTPUT);
  pinMode(LED_GREEN, OUTPUT);
  pinMode(LED_BLUE, OUTPUT);

  // Zet de frequentie van de kleurensensor op 20% (rode filter)
  digitalWrite(s0, HIGH);
  digitalWrite(s1, LOW);
}

void loop() {
  // Lees de kleurwaarden
  digitalWrite(s2, LOW);                                           
  digitalWrite(s3, LOW);                                           
  red = pulseIn(sensorOut, digitalRead(sensorOut) == HIGH ? LOW : HIGH);       
  delay(20);  
  digitalWrite(s3, HIGH);                                         
  blue = pulseIn(sensorOut, digitalRead(sensorOut) == HIGH ? LOW : HIGH);
  delay(20);  
  digitalWrite(s2, HIGH);  
  green = pulseIn(sensorOut, digitalRead(sensorOut) == HIGH ? LOW : HIGH);
  delay(20);  

// Controleer op verschillende kleuren
if (red > green && red > blue) {
  color = RED_COLOR; // Rood
} else if (green > red && green > blue) {
  color = GREEN_COLOR; // Groen
} else if (blue > red && blue > green) {
  color = BLUE_COLOR; // Blauw
} else if (red > green && red > blue && green > blue) {
  color = YELLOW_COLOR; // Geel
} else if (red > green && red > blue && blue > green) {
  color = ORANGE_COLOR; // Oranje
} else {
  color = 0; // Geen herkende kleur
}


  // Controleer op verschillende kleuren
  if (color == RED_COLOR) {
    setColor(255, 0, 0); // Rood
  } else if (color == GREEN_COLOR) {
    setColor(0, 255, 0); // Groen
  } else if (color == BLUE_COLOR) {
    setColor(0, 0, 255); // Blauw
  } else if (color == ORANGE_COLOR) {
    setColor(255, 165, 0); // Oranje
  } else if (color == PINK_COLOR) {
    setColor(255, 105, 180); // Roze
  } else if (color == PURPLE_COLOR) {
    setColor(128, 0, 128); // Paars
  } else if (color == YELLOW_COLOR) {
    setColor(255, 255, 0); // Geel
  } else {
    // Geen herkende kleur, zet de led uit
    setColor(0, 0, 0);
  }

  delay(500); // Wacht 500 milliseconden voordat je de volgende kleur controleert
}

// Hulpmethode om de RGB-waarden in te stellen
void setColor(int red, int green, int blue) {
  analogWrite(LED_RED, red);
  analogWrite(LED_GREEN, green);
  analogWrite(LED_BLUE, blue);
}

I want to use a color sensor for my arduino project with arduino uno to detect the colors red, green, blue, orange, yellow purple of leaves of paper and then light my rgb led in those colors. I have no errors in my code, but it fails for some reason :( Can someone help me?

here is the code:

#define s0 8
#define s1 9 #define s2 10 #define s3 11 #define sensorOut 12

#define LED_RED 3
#define LED_GREEN 5 #define LED_BLUE 6

// Variabelen voor de kleurwaarden int red; int green; int blue;

const int RED_COLOR = (255, 0, 0); const int GREEN_COLOR = (0, 255, 0); const int BLUE_COLOR = (0, 0, 255); const int ORANGE_COLOR = (255, 165, 0); const int PINK_COLOR = (255, 105, 180); const int PURPLE_COLOR = (128, 0, 128); const int YELLOW_COLOR = (255, 255, 0);

int color = 0;

void setup() { // Zet de seriële communicatie op Serial.begin(9600);

// Initialiseer de pinmodi pinMode(s0, OUTPUT); pinMode(s1, OUTPUT); pinMode(s2, OUTPUT); pinMode(s3, OUTPUT); pinMode(sensorOut, INPUT);

pinMode(LED_RED, OUTPUT); pinMode(LED_GREEN, OUTPUT); pinMode(LED_BLUE, OUTPUT);

// Zet de frequentie van de kleurensensor op 20% (rode filter) digitalWrite(s0, HIGH); digitalWrite(s1, LOW); }

void loop() { // Lees de kleurwaarden digitalWrite(s2, LOW);
digitalWrite(s3, LOW);
red = pulseIn(sensorOut, digitalRead(sensorOut) == HIGH ? LOW : HIGH);
delay(20);
digitalWrite(s3, HIGH);
blue = pulseIn(sensorOut, digitalRead(sensorOut) == HIGH ? LOW : HIGH); delay(20);
digitalWrite(s2, HIGH);
green = pulseIn(sensorOut, digitalRead(sensorOut) == HIGH ? LOW : HIGH); delay(20);

// Controleer op verschillende kleuren if (red > green && red > blue) { color = RED_COLOR; // Rood } else if (green > red && green > blue) { color = GREEN_COLOR; // Groen } else if (blue > red && blue > green) { color = BLUE_COLOR; // Blauw } else if (red > green && red > blue && green > blue) { color = YELLOW_COLOR; // Geel } else if (red > green && red > blue && blue > green) { color = ORANGE_COLOR; // Oranje } else { color = 0; // Geen herkende kleur }

// Controleer op verschillende kleuren if (color == RED_COLOR) { setColor(255, 0, 0); // Rood } else if (color == GREEN_COLOR) { setColor(0, 255, 0); // Groen } else if (color == BLUE_COLOR) { setColor(0, 0, 255); // Blauw } else if (color == ORANGE_COLOR) { setColor(255, 165, 0); // Oranje } else if (color == PINK_COLOR) { setColor(255, 105, 180); // Roze } else if (color == PURPLE_COLOR) { setColor(128, 0, 128); // Paars } else if (color == YELLOW_COLOR) { setColor(255, 255, 0); // Geel } else { // Geen herkende kleur, zet de led uit setColor(0, 0, 0); }

delay(500); // Wacht 500 milliseconden voordat je de volgende kleur controleert }

// Hulpmethode om de RGB-waarden in te stellen void setColor(int red, int green, int blue) { analogWrite(LED_RED, red); analogWrite(LED_GREEN, green); analogWrite(LED_BLUE, blue); }

I want to use a color sensor for my Arduino project with Arduino Uno to detect the colors red, green, blue, orange, yellow purple of leaves of paper and then light my RGB led in those colors. I have no errors in my code, but it fails for some reason :( Can someone help me?

here is the code:

#define s0 8        
#define s1 9
#define s2 10
#define s3 11
#define sensorOut 12

#define LED_RED 3   
#define LED_GREEN 5
#define LED_BLUE 6

// Variabelen voor de kleurwaarden
int red;
int green;
int blue;

const int RED_COLOR = (255, 0, 0);
const int GREEN_COLOR = (0, 255, 0);
const int BLUE_COLOR = (0, 0, 255);
const int ORANGE_COLOR = (255, 165, 0);
const int PINK_COLOR = (255, 105, 180);
const int PURPLE_COLOR = (128, 0, 128);
const int YELLOW_COLOR = (255, 255, 0);

int color = 0;

void setup() {
  // Zet de seriële communicatie op
  Serial.begin(9600);

  // Initialiseer de pinmodi
  pinMode(s0, OUTPUT);
  pinMode(s1, OUTPUT);
  pinMode(s2, OUTPUT);
  pinMode(s3, OUTPUT);
  pinMode(sensorOut, INPUT);
  
  pinMode(LED_RED, OUTPUT);
  pinMode(LED_GREEN, OUTPUT);
  pinMode(LED_BLUE, OUTPUT);

  // Zet de frequentie van de kleurensensor op 20% (rode filter)
  digitalWrite(s0, HIGH);
  digitalWrite(s1, LOW);
}

void loop() {
  // Lees de kleurwaarden
  digitalWrite(s2, LOW);                                           
  digitalWrite(s3, LOW);                                           
  red = pulseIn(sensorOut, digitalRead(sensorOut) == HIGH ? LOW : HIGH);       
  delay(20);  
  digitalWrite(s3, HIGH);                                         
  blue = pulseIn(sensorOut, digitalRead(sensorOut) == HIGH ? LOW : HIGH);
  delay(20);  
  digitalWrite(s2, HIGH);  
  green = pulseIn(sensorOut, digitalRead(sensorOut) == HIGH ? LOW : HIGH);
  delay(20);  

// Controleer op verschillende kleuren
if (red > green && red > blue) {
  color = RED_COLOR; // Rood
} else if (green > red && green > blue) {
  color = GREEN_COLOR; // Groen
} else if (blue > red && blue > green) {
  color = BLUE_COLOR; // Blauw
} else if (red > green && red > blue && green > blue) {
  color = YELLOW_COLOR; // Geel
} else if (red > green && red > blue && blue > green) {
  color = ORANGE_COLOR; // Oranje
} else {
  color = 0; // Geen herkende kleur
}


  // Controleer op verschillende kleuren
  if (color == RED_COLOR) {
    setColor(255, 0, 0); // Rood
  } else if (color == GREEN_COLOR) {
    setColor(0, 255, 0); // Groen
  } else if (color == BLUE_COLOR) {
    setColor(0, 0, 255); // Blauw
  } else if (color == ORANGE_COLOR) {
    setColor(255, 165, 0); // Oranje
  } else if (color == PINK_COLOR) {
    setColor(255, 105, 180); // Roze
  } else if (color == PURPLE_COLOR) {
    setColor(128, 0, 128); // Paars
  } else if (color == YELLOW_COLOR) {
    setColor(255, 255, 0); // Geel
  } else {
    // Geen herkende kleur, zet de led uit
    setColor(0, 0, 0);
  }

  delay(500); // Wacht 500 milliseconden voordat je de volgende kleur controleert
}

// Hulpmethode om de RGB-waarden in te stellen
void setColor(int red, int green, int blue) {
  analogWrite(LED_RED, red);
  analogWrite(LED_GREEN, green);
  analogWrite(LED_BLUE, blue);
}
added 2971 characters in body
Source Link

here is the code:

#define s0 8
#define s1 9 #define s2 10 #define s3 11 #define sensorOut 12

#define LED_RED 3
#define LED_GREEN 5 #define LED_BLUE 6

// Variabelen voor de kleurwaarden int red; int green; int blue;

const int RED_COLOR = (255, 0, 0); const int GREEN_COLOR = (0, 255, 0); const int BLUE_COLOR = (0, 0, 255); const int ORANGE_COLOR = (255, 165, 0); const int PINK_COLOR = (255, 105, 180); const int PURPLE_COLOR = (128, 0, 128); const int YELLOW_COLOR = (255, 255, 0);

int color = 0;

void setup() { // Zet de seriële communicatie op Serial.begin(9600);

// Initialiseer de pinmodi pinMode(s0, OUTPUT); pinMode(s1, OUTPUT); pinMode(s2, OUTPUT); pinMode(s3, OUTPUT); pinMode(sensorOut, INPUT);

pinMode(LED_RED, OUTPUT); pinMode(LED_GREEN, OUTPUT); pinMode(LED_BLUE, OUTPUT);

// Zet de frequentie van de kleurensensor op 20% (rode filter) digitalWrite(s0, HIGH); digitalWrite(s1, LOW); }

void loop() { // Lees de kleurwaarden digitalWrite(s2, LOW);
digitalWrite(s3, LOW);
red = pulseIn(sensorOut, digitalRead(sensorOut) == HIGH ? LOW : HIGH);
delay(20);
digitalWrite(s3, HIGH);
blue = pulseIn(sensorOut, digitalRead(sensorOut) == HIGH ? LOW : HIGH); delay(20);
digitalWrite(s2, HIGH);
green = pulseIn(sensorOut, digitalRead(sensorOut) == HIGH ? LOW : HIGH); delay(20);

// Controleer op verschillende kleuren if (red > green && red > blue) { color = RED_COLOR; // Rood } else if (green > red && green > blue) { color = GREEN_COLOR; // Groen } else if (blue > red && blue > green) { color = BLUE_COLOR; // Blauw } else if (red > green && red > blue && green > blue) { color = YELLOW_COLOR; // Geel } else if (red > green && red > blue && blue > green) { color = ORANGE_COLOR; // Oranje } else { color = 0; // Geen herkende kleur }

// Controleer op verschillende kleuren if (color == RED_COLOR) { setColor(255, 0, 0); // Rood } else if (color == GREEN_COLOR) { setColor(0, 255, 0); // Groen } else if (color == BLUE_COLOR) { setColor(0, 0, 255); // Blauw } else if (color == ORANGE_COLOR) { setColor(255, 165, 0); // Oranje } else if (color == PINK_COLOR) { setColor(255, 105, 180); // Roze } else if (color == PURPLE_COLOR) { setColor(128, 0, 128); // Paars } else if (color == YELLOW_COLOR) { setColor(255, 255, 0); // Geel } else { // Geen herkende kleur, zet de led uit setColor(0, 0, 0); }

delay(500); // Wacht 500 milliseconden voordat je de volgende kleur controleert }

// Hulpmethode om de RGB-waarden in te stellen void setColor(int red, int green, int blue) { analogWrite(LED_RED, red); analogWrite(LED_GREEN, green); analogWrite(LED_BLUE, blue); }

here is the code:

#define s0 8
#define s1 9 #define s2 10 #define s3 11 #define sensorOut 12

#define LED_RED 3
#define LED_GREEN 5 #define LED_BLUE 6

// Variabelen voor de kleurwaarden int red; int green; int blue;

const int RED_COLOR = (255, 0, 0); const int GREEN_COLOR = (0, 255, 0); const int BLUE_COLOR = (0, 0, 255); const int ORANGE_COLOR = (255, 165, 0); const int PINK_COLOR = (255, 105, 180); const int PURPLE_COLOR = (128, 0, 128); const int YELLOW_COLOR = (255, 255, 0);

int color = 0;

void setup() { // Zet de seriële communicatie op Serial.begin(9600);

// Initialiseer de pinmodi pinMode(s0, OUTPUT); pinMode(s1, OUTPUT); pinMode(s2, OUTPUT); pinMode(s3, OUTPUT); pinMode(sensorOut, INPUT);

pinMode(LED_RED, OUTPUT); pinMode(LED_GREEN, OUTPUT); pinMode(LED_BLUE, OUTPUT);

// Zet de frequentie van de kleurensensor op 20% (rode filter) digitalWrite(s0, HIGH); digitalWrite(s1, LOW); }

void loop() { // Lees de kleurwaarden digitalWrite(s2, LOW);
digitalWrite(s3, LOW);
red = pulseIn(sensorOut, digitalRead(sensorOut) == HIGH ? LOW : HIGH);
delay(20);
digitalWrite(s3, HIGH);
blue = pulseIn(sensorOut, digitalRead(sensorOut) == HIGH ? LOW : HIGH); delay(20);
digitalWrite(s2, HIGH);
green = pulseIn(sensorOut, digitalRead(sensorOut) == HIGH ? LOW : HIGH); delay(20);

// Controleer op verschillende kleuren if (red > green && red > blue) { color = RED_COLOR; // Rood } else if (green > red && green > blue) { color = GREEN_COLOR; // Groen } else if (blue > red && blue > green) { color = BLUE_COLOR; // Blauw } else if (red > green && red > blue && green > blue) { color = YELLOW_COLOR; // Geel } else if (red > green && red > blue && blue > green) { color = ORANGE_COLOR; // Oranje } else { color = 0; // Geen herkende kleur }

// Controleer op verschillende kleuren if (color == RED_COLOR) { setColor(255, 0, 0); // Rood } else if (color == GREEN_COLOR) { setColor(0, 255, 0); // Groen } else if (color == BLUE_COLOR) { setColor(0, 0, 255); // Blauw } else if (color == ORANGE_COLOR) { setColor(255, 165, 0); // Oranje } else if (color == PINK_COLOR) { setColor(255, 105, 180); // Roze } else if (color == PURPLE_COLOR) { setColor(128, 0, 128); // Paars } else if (color == YELLOW_COLOR) { setColor(255, 255, 0); // Geel } else { // Geen herkende kleur, zet de led uit setColor(0, 0, 0); }

delay(500); // Wacht 500 milliseconden voordat je de volgende kleur controleert }

// Hulpmethode om de RGB-waarden in te stellen void setColor(int red, int green, int blue) { analogWrite(LED_RED, red); analogWrite(LED_GREEN, green); analogWrite(LED_BLUE, blue); }

Source Link

Arduino-project with color sensor and rgb-led

I want to use a color sensor for my arduino project with arduino uno to detect the colors red, green, blue, orange, yellow purple of leaves of paper and then light my rgb led in those colors. I have no errors in my code, but it fails for some reason :( Can someone help me?