Arduino – Sensor RGB

Este novo circuito lê o valor de vermelho, azuis e verdes (RGB) do meio ambiente e depois de processado pelo Arduino é enviado o código RBG lido para uma LED de múltiplas cores ou (RGB LED).

arduino_project_3

Descrição do circuito

Basicamente temos três resistencias de 220 ohm ligadas a cada terminal da nossa LED e essas resistências foram ligadas as portas digitais 11, 10 e 9 e o maior pino da LED é ligado diretamente ao ground.

Para lermos a cor do ambiente ligamos 3 foto sensores diretamente a 5V e entre o ground e o sensor colocamos 3 resistencias de 10 Kohm. Por fim, de forma a lermos os valores dos sensores ligamos um fio entre a resistencia e o sensor à porta A0, A1 e A2 do Arduino.

Source code


// Pins for LEDs
const int greenLEDPin = 9;
const int redLEDPin = 11;
const int blueLEDPin = 10;

// Pins for sensors
const int redSensorPin = A0;
const int greenSensorPin = A1;
const int blueSensorPin = A2;

// RGB value
int redValue = 0;
int greenValue = 0;
int blueValue = 0;

// RGB sensor value
int redSensorValue = 0;
int greenSensorValue = 0;
int blueSensorValue = 0;

void setup() {
// Open serial port
Serial.begin(9600);
// Set up LED pins like output
pinMode(redLEDPin, OUTPUT);
pinMode(greenLEDPin, OUTPUT);
pinMode(blueLEDPin, OUTPUT);
}

void loop() {
// Read sensor values
redSensorValue = analogRead(redSensorPin);
delay(5);
greenSensorValue = analogRead(greenSensorPin);
delay(5);
blueSensorValue = analogRead(blueSensorPin);

// Print the raw sensour values
Serial.print("Raw sensor Value \t Red: ");
Serial.print(redSensorValue);
Serial.print("\t Green: ");
Serial.print(greenSensorValue);
Serial.print("\t Blue: ");
Serial.println(blueSensorValue);

// Calc RBG values
redValue = redSensorValue/4;
greenValue = greenSensorValue/4;
blueValue = blueSensorValue/4;

// Print RGB values
Serial.print("Mapped Sensor Values \t Red: ");
Serial.print(redValue);
Serial.print("\t Green: ");
Serial.print(greenValue);
Serial.print("\t Blue: ");
Serial.println(blueValue);

// Setup the RGB LED
analogWrite(redLEDPin, redValue);
analogWrite(greenLEDPin, greenValue);
analogWrite(blueLEDPin, blueValue);
}

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s