[Risolto] Visual Basic e pwm


ciao tutti,

so che è l'ennesimo thread sulla comunicazione seriale ma sono arrivato un punto morto e mi servirebbe una dritta.

voglio riuscire pilotare un led in pwm da visual basic 2010 express.

il led si accende ma non funziona correttamente; fino pwm 19 la luminosità sale regolarmente, 20 scende leggermente e poi torna salire regolarmente fino 175. 176 cala bruscamente e fino 255 varia caso. se arrivo 255 non riesco neanche più spegnerlo.

immagino sia la conversione dei valori fregarmi ma non più come correggere   ::)

lato visual basic, con una trackbar tarata 0 - 255 ho questo codice:

code: [select]
private sub trackbar1_scroll(byval sender system.object, byval e system.eventargs) handles trackbar1.scroll

        label3.text = "pwm " & trackbar1.value
       
        serialport1.write("c" & trackbar1.value & "f") ' "c" carattere di inizio e "f" carattere di fine trasmissione
    end sub


quindi se ad esempio setto la trackbar 125 ad arduino arriva questa stringa in ascii, corretto? "99'49'50'53'102"  (senza apici)

lato arduino ho questo:
code: [select]
int ledpin = 11; // number of led pin
int valpwm;
char input[6]; // memorizzo la stringa in arrivo

void setup() {
serial.begin(9600); // set serial speed
pinmode(ledpin, output); // set led output
digitalwrite(ledpin, low); //turn off led
}


void loop(){
while (serial.available() == 0); // nothing if nothing sent
int i=0;
  input[i++] = serial.read();
  delay(5);
  while((input[i++] = serial.read()) != 'f'){
    delay(5);
  }
 
  if (input[0]=='c'){ // controllo carattere di inizio trasmissione
  valpwm=(atoi(input+1)+atoi(input+2)+atoi(input+3));
 
  analogwrite(ledpin,valpwm);
  }

  }


se potete darmi una dritta sull'errore o gli errori ve ne sarei grato, ho dei dubbi un po su tutta la parte lato arduino  :smiley-roll:

perché, finita la lettura dalla seriale, ma prima del if, non fai una serial.println() del contenuto di input[] ?  così sei sicuro di ciò che veramente stai ricevendo e ... potresti avere delle sorprese ;)

guglielmo


Arduino Forum > International > Italiano > Software (Moderator: leo72) > [Risolto] Visual Basic e pwm


arduino

Comments