logo

martedì 16 ottobre 2012

Arduino RGB con potenziometro

In questo esempio vediamo come controllare sfumature e colori di un led RGB, con un potenziometro e un pulsante.


Il potenziometro regolerà l'intensità di colore, e il pulsante cambierà i colori.

Codice ARDUINO:



int sensorPin = A1; / / selezionare il pin di ingresso per il potenziometro
int buttonPin = 8; / / pulsante Digitale pin
basePin int = 9;

buttonState int = 0;
selectedColor int = 0;
currentColor int [3];


void setColor ()
{
  Serial.println ("- Imposta colore");
  for (int i = 0; i <3, + + i)
  {
    Serial.println (currentColor [i]);
    analogWrite (basePin + i, mappa (currentColor [i], 0, 255, 255, 0));
    / / AnalogWrite (basePin + i, currentColor [i]);
  }  
}

vuoto setup () {
  Serial.begin (9600);

  currentColor [0] = 0;
  currentColor [1] = 0;
  currentColor [2] = 0;

  pinMode (buttonPin, INPUT);

  pinMode (basePin, OUTPUT);
  pinMode (basePin + 1, OUTPUT);
  pinMode (basePin + 2, OUTPUT);

  setColor ();
}

void loop () 
{
  / / Legge il valore di colore dal sensore e remap al valore gamma rgb
  int actualColor = map (analogRead (sensorPin), 0,1023,1,255);


  buttonState = digitalRead (buttonPin);
  if (buttonState == HIGH)
  {    
    delay (300); / / attendere per ritornare alla sua posizione iniziale
    currentColor [selectedColor] = actualColor;
    setColor ();
    selectedColor = (selectedColor + 1)% 3;
  }


}

Nessun commento:

Posta un commento