Ciao a tutti…devo fare un piccolo software per gestire uno splitter hdmi che può essere comandato da porta seriale.
In pratica ho bisogno che alla sua accensione lo splitter (e quindi arduino si avvia insieme allo splitter) si imposti in una certa maniera, ovvero che il canale di ingresso 1 venga automaticamente mandato alle 4 uscite appena il segnale dell’ingresso hdmi1 è attivo (pc esterno). Per far questo ho bisogno che arduino continui a mandare la stringa di configurazione fin quando un messaggio di errore da parte dello splitter non c’è più. Questo perchè finchè non c’è segnale nell’ingresso 1 e arduino comanda allo splitter di configurarsi in questa maniera, lo splitter risponde che all’ingresso 1 non c’è segnale. nel momento però che accendo il pc e arriva segnale hdmi al canale 1, lo splitter non da nessun errore in risposta. In questo istante arduino ha smesso di fare il suo lavoro!
Questa era la premessa del perchè mi voglio approcciare ad usare la porta seriale.
Ora volevo chiedere un vostro consiglio su questo semplice skatch che mi sta creando problemi (è l’esempio del fade di arduino leggermente modificato per il seriale):
byte led = 13;
byte brightness = 100;
void setup() {
pinMode(led, OUTPUT);
Serial.begin(9600);
Serial.println(brightness);
}
void loop() {
if (Serial.read() != NULL)
brightness= Serial.read();
analogWrite(led, brightness);
Serial.println(brightness);
delay(1000);
}
In pratica avviando il monitor seriale volevo scrivere un valore da 0 a 255 per vedere che il led sulla board di arduino cambiasse la sua intensità…per un controllo faccio scrivere sul seriale il valore che ha arduino di brightness. Il primo valore che esce è quello impostato di 100…poi senza che premo niente passa a 255… :o
Per sicurezza pensando ci fossero conflitti nella seriale con caratteri nulli o inserito questo controllo: if (Serial.read() != NULL)…ma non è cambiato niente.
Se imposto qualche valore, cambia il valore sul monitor seriale, ma non è quello che inserisco…ovvero se metto 0, mi da 48, se metto 5, mi da 50, valori cosi a caso per poi tornare a 255 fisso …qualcuno sa perchè?
Grazie delle idee