Una foto la puoi allegare. Dove scrivi c'e' sotto la scritta "Attachments... options"
Se premi quello si apre un menu e puoi allegare files
Mi sono permesso di riscrivere il tuo codice SENZA il goto, bastava invertire il test e nell'if mettere le 2 righe che saltavi:
#include <LiquidCrystal.h>
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 13, 8, 9, 10, 11);
int prova = 0; // variabile prova
int puls = 0; // variabile lettuta dato da inviare al display
void setup() {
DDRD = INPUT; // configura la porta D come ingresso
pinMode(17, OUTPUT); // pin busy - Pin analogico
pinMode(16, INPUT); // pin strobe - Pin analogico
pinMode(15, OUTPUT); // led di prova - Pin analogico
pinMode(19, OUTPUT); // solo prova
lcd.begin(16, 2);
lcd.setCursor(0, 0);
}
void loop() {
digitalWrite(19, LOW);
digitalWrite (17, LOW); // metti a 1 il busy - rx disponibile
prova = digitalRead(16); // controlla se strobe=0 - dato uscita tx pronto
if (prova == LOW)
{ digitalWrite (17, LOW); // metti a 1 il busy - rx disponibile
delay(2);
puls = (digitalRead, PIND); // leggi dato da inviare al display
digitalWrite (17, HIGH); // metti a 1 il busy - rx non disponibilesolo per prova
delay(10);
// trasformare il numero tasto in cararrere ASCII
int i = puls; // initializing variables
char puls = char(i);
// -------------------------------------
if (puls >= 19) // elimina i caratteri di controllo stampante con valore meno del numero 19
{ lcd.print (puls); // presenta il dato sul display
puls = 0; // azzera la variabile puls
}
}
delay(2);
}
Inoltre nel primo if, finivi la parte vera con delay(2) e nell'else facevi delay(2), tanto vale farlo solo 1 volta dopo l'if, cioè:
if( test)
{ ....
delay(2); // (#)
}
else
{ delay(2); // fa solo questo, ed è stessa cosa di istruzione al punto -> (#)
}
if(test)
{ ...
}
delay(2);
Consiglio: i numeri dei pin sarebbe meglio metterli come costanti e poi usare quei nomi nel programma, cosa che rende chiaro il codice.
Esempio, il pin 17 tu scrivi come commento "pin busy - Pin analogico" ma se poi incontri nel programma 17 devi andare in testa al programma per ricordarti che cosa fa quel pin.
Se invece dichiari all'inizio:
const byte PinBusy=17; // pin busy - Pin analogico
...
pinMode(PinBusy, OUTPUT);
...
digitalWrite (PinBusy, LOW);