R: 9 (PWM)
G: 3 (PWM)
B: 5 (PWM)
pot1 : A0
pot2 : A1
pot3 ; A2
Obs.: sobre o led RGB, foi posta uma esfera plástica translúcida para fazer a difusão das cores (usamos uma esfera de desodorante rollon com um furo).
Sketch para controle do led RGB:
#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
#define I2C_ADOR 0x3F // <<
#define BACKLIGHT_PIN 3
#define En 2
#define Rw 1
#define Rs 0
#define D4 4
#define D5 5
#define D6 6
#define D7 7
LiquidCrystal_I2C lcd(I2C_ADOR, En, Rw, Rs, D4, D5, D6, D7);
int pot1;
int pot2;
int pot3;
int potVermelho = A0;
int potVerde = A1;
int potAzul = A2;
int Vermelho;
int Verde;
int Azul;
void setup() {
pinMode (9, OUTPUT); // vermelho
pinMode (3, OUTPUT); // verde
pinMode (5, OUTPUT); // azul
Serial.begin(9600);
lcd.begin (16, 2);
lcd.setBacklightPin(BACKLIGHT_PIN, POSITIVE);
lcd.setBacklight(HIGH);
}
void loop() {
// put your main code here, to run repeatedly:
pot1 = analogRead(potVermelho);
pot2 = analogRead(potVerde);
pot3 = analogRead(potAzul);
Serial.print(" potVermelho: ");
Serial.print(pot1);
Serial.print(" potVerde: ");
Serial.print(pot2);
Serial.print(" potAzul: ");
Serial.print(pot3);
Vermelho = map(pot1, 0, 1024, 255, 0);
Verde = map(pot2, 0, 1024, 255, 0);
Azul = map(pot3, 0, 1024, 255, 0);
Serial.print(" Vermelho: ");
Serial.print(Vermelho);
Serial.print(" Verde: ");
Serial.print(Verde);
Serial.print(" Azul: ");
Serial.println(Azul);
analogWrite(9, Vermelho);//valor pontenciometro 1, led vermelho
analogWrite(3, Verde);//valor pontenciometro 2, Verde
analogWrite(5, Azul);//valor pontenciometro 3, Azul
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Vm:");
lcd.setCursor(3, 0);
lcd.print(255 - Vermelho);
lcd.setCursor(8, 0);
lcd.print("Vd:");
lcd.setCursor(12, 0);
lcd.print(255 - Verde);
lcd.setCursor(0, 1);
lcd.print("Az:");
lcd.setCursor(4, 1);
lcd.print(255 - Azul);
delay(100);
lcd.clear();
}
Nenhum comentário:
Postar um comentário