ultimo aggiornamento 4 settembre 2016 |
|
Per il collegamento del Modulo RGB alla scheda Arduino Nano (e possibile anche utilizzare una Arduino 2009 o una Arduino UNO) occorre collegare la scheda e il modulo come riportato nello schema, si utilizzerà poi lo sketch per la prova. Per la prova servono:
|
|
Riepilogo caratteristiche Arduino NANO
Microcontroller |
Atmel ATmega168 o Atmega328 |
Tensione di funzionamento |
5 V |
Tensione in ingresso |
7-12 V (cosigliati) |
Tensione in ingresso |
6-20 V (limiti) |
I / O digitale |
14 pins (di cui 6 di fornire output PWM) |
Ingresso analogico |
8 pins |
Corrente continua per I / O |
40 mA |
Flash Memory |
32 kB di cui 2 KB utilizzati dal bootloader |
SRAM |
2 kB |
EEPROM |
2 KB |
Velocità di clock |
16 MHz |
Dimensioni |
4,31 x 1,85 cm |
/* led_RGB.pde Programma per il test di un LED tipo RGB anodo comune Vengono utilizzati i seguenti pin Pin +5V -> +5V Pin GND -> GND Pin Digital 9 -> Led VERDE Pin Digital 10 -> Led BLU Pin Digital 11 -> Led ROSSO Pin Analocico 0 -> Potenziometro Creato il 8/1/2012 da Adriano Gandolfo <https://www.adrirobot.it> This example code is in the public domain. */ //Definizione pin #define LED_GREEN 9 #define LED_BLUE 10 #define LED_RED 11 #define POT 0 unsigned long interval = 1000; unsigned long previousMillis = 0; void setup() { Serial.begin(9600); } void loop() { color_wheel(); }// Loop... void RGB_led(int red_led, int green_led, int blue_led) { analogWrite(LED_RED, red_led); analogWrite(LED_GREEN, green_led); analogWrite(LED_BLUE, blue_led); } void color_wheel() { int red_val = 255; int green_val = 0; int blue_val = 0; int offset; int wheel = map(analogRead(POT), 0, 1023, 0, 1535); if( wheel <= 255 ) //Rosso al max + Verde in crescita green_val = wheel; // ottengo al max il Giallo else if( wheel <= 511 ) //Verde al max + Rosso in diminuzione { red_val = abs(wheel - 511); //Rosso va da 255 a 0 green_val = 255; //Verde lo tengo al max } else if( wheel <= 767 ) //Verde al max + Blu in crescita { //(0, 255, 255) = Ciano red_val = 0; green_val = 255; //Verde al max blue_val = wheel - 511; //Blu in crescita da 0 a 255 } else if( wheel <= 1023 ) //Blu al max + Verde in diminuzione { //(0, 0, 255) = Blu red_val = 0; green_val = abs(wheel - 1023); //Verde in diminuzione da 255 a 0 blue_val = 255; //Blu fisso al max } else if( wheel <= 1279 ) //Blu al max + Rosso in crescita { //(255, 0, 255) = Magenta red_val = wheel - 1023; //Rosso aumenta da 0 a 255 blue_val = 255; //Blu fisso al max } else { //Rosso al max + Blu in diminuzione blue_val = abs(wheel - 1535); } if(millis() - previousMillis > interval) { previousMillis = millis(); Serial.print("Potenziometro: "); Serial.print(wheel); Serial.print(", Rosso: "); Serial.print(red_val); Serial.print(", Verde: "); Serial.print(green_val); Serial.print(", Blu: "); Serial.println(blue_val); } RGB_led(red_val, green_val, blue_val); } |
Foto di un modulo commerciale
In commercio esistono anche modulo RGB già pronti, nella foto il modulo denominato KY-009 RGB full color LED SMD module, per maggiori informazioni vedere la pagina dedicata.
Elenco revisioni | |
04/09/2016 | Aggiornato pagina |
14/01/2012 | Emissione preliminare |