info LED RGB- cambiare colore tramite serial e PWM

Ciao, ma che fine ha fatto il topic in oggetto ?? Grazie

Saluti

è vero è sparito... mah...

Mistero!!! Ho un sospetto...

supergiox: Mistero!!! Ho un sospetto...

Ciao, tipo ?

Ho l'impressione che l'autore non voglia far sapere che si è fatto aiutare! Potrei sbagliarmi...

spero non siano arrivati al punto di farsi fare la roba per poi venderla ma... siamo in italia tutto è possibile.....

supergiox: Ho l'impressione che l'autore non voglia far sapere che si è fatto aiutare! Potrei sbagliarmi...

Ciao, ammettiamo sia questa la ragione, le impostazioni del forum, non dovrebbero permettere di fare ciò, altrimenti và contro il principio del forum stesso. Un'altra cosa da implementare in automatico, sarebbe quella di notificare i nuovi post all'interno di un tread.

Saluti

A questo punto, visto che il codice era mio e visto che può servire ad altri lo ri-condivido:

#include<math.h>
#define RED 9
#define GREEN 10
#define BLUE 11

int pin=0, value=0;
char oldval='s',val = '0';
String msg;
void setup() {
  delay(2000);
  pinMode(RED,OUTPUT);
  pinMode(GREEN,OUTPUT);
  pinMode(BLUE,OUTPUT);
  
  Serial.begin(9600);
  Serial.println("Inserisci una stirnga di 6 caratteri:");
}

void loop () {
  msg = read_string();
 
  pin=parseCmd(first(msg));
  value=parseNum(last(msg));
  
  analogWrite(pin,value);
  
  

}

String read_string(){
    String text;
    byte temp;
    char text_temp[6];
    int count=0;

    Serial.flush(); 
    temp = 0;
    text = "";
    do {
        if (Serial.available() > 0) {
            temp = Serial.read();
      
            if (temp != 13) {
                count+=1;
                text += temp;
            }
        }
        if ((temp == 13)|| (count>=6)) { 
            //Serial.println(text);
            Serial.flush();
            break;
        }
    } while ( true ); 
   
    return text;
}

String first(String tmp){
  String str="";
  
  for(int i=0; i<3; ++i)
  str+=tmp[i];
  
  return str;
}

String last(String tmp){
  String str="";
  
  for(int i=3; i<6; ++i)
  str+=tmp[i];
  
  return str;
}

int parseCmd(String str)
{
  int num=-1;
  
  if(str=="RED")
  num=RED;
  else
  if(str=="GRE")
  num=GREEN;
  else
  if(str=="BLU")
  num=BLUE;
  
  return num;
}

int parseNum(String str)
{
  int num=0;
  
  for(int i=0; i<3; ++i)
  num+=(str[i]-'0')*pow(10,2-i);
  
  return num;
}

Ciao!

Ciao, grazie tante !!!

Saluti

Bravo supergiox questo è il giusto spirito :)

Ciao, sarebbe interessante adattare il codice in modo da pilotare i led tramite browser, logicamente con la shield ethernet.

Saluti