buongiorno, ho intenzione di provare a fare una ciotola con un sistema di riempimento automatico dei croccantini..
ora avrei bisogno di un comando tipo lo scanf(mi spiego meglio):
la classica raccolta dati di arduino come la conosco sta dentro a un if(condizione esterna) -->{istruzioni}
a me servirebbe richiamare una funzione che dia la possibilità tramite keypad di inserire una quantità (in grammi) di croccantini sulla base della quale la ciotola verrà riempita.
mi chiedevo in quale maniera, tramite lcd o inizialmente anche tramite serialport avere il programma che si interrompe in attesa dell'inserimento dei numeri che compongono la quantità desiderata.
spero di essere riuscito a spiegarmi, altrimenti cercherò di farlo meglio!
per ora grazie e buone vacanze di pasqua a tutta la community!!!
Alcune funzioni non esistono su arduino, alcune funzioni hanno bisogno del sistema operativo che su arduino non esiste.
Per inserire un numero da keypad, devi leggere i caratteri inseriti e salvarli in un array, e poi con la funzione atoi() convertirli in numero intero. Per bloccare il programma in attesa che venga inserito un numero, un ciclo while che termina quando viene inserito il carattere terminatore.
Puoi guardare esempi, inserire password da keypad, che dovrebbero fare quello che chiedi.
torn24:
Per bloccare il programma in attesa che venga inserito un numero, un ciclo while che termina quando viene inserito il carattere terminatore.
gentilissimo! cosiì so dove andare a guardare! l'unico dubbio che mi viene a freddo e' che il numero di cifre nel mio caso non e' prestrabilito.
ovvero: una password ha un numero di caratteri predefinito--> ovvero un carattere terminatore
nel mio caso i grammi potrebbero essere 80 (un'aggiunta ad un quantitativo gia presente)
oppure
120(ciotola da riempire completamente)
ad ogni modo adesso vedo negli sketch delle password se trovo qualcosa che mi salvi
grazie dell'interessamento
Puoi usare senza problemi **sscanf() **e prendere l'input dal serial monitor o qualcosa di analogo.
Con un display invece io userei un approccio diverso: mostri a schermo la tua variabile X e su input dell'utente (pulsanti, encoder, potenziometro etc etc) la incrementi/decrementi, quando l'utente conferma passi alla successiva variabile (se prevista).
Non hai problemi.
Devi lavorare con le stringhe in C, array di char.
Ho un array in grado di contenere le cifre del mio numero
Ho un ciclo while che termina quando viene premuto esempio cancelletto
Inserisco i miei caratteri nell'array
Quando premo il tasto cancelletto, metto il terminatore stringa nell'array il carattere ''\0'
Con la funzione atoi() converto la stringa in numero intero.
Non mi sembra saggio usare sscanf(), è un dispositivo che dovrebbe funzionare in autonomia senza PC, quindi usare un keypad mi sempra più sensato.
Certo,era solo per rispondere alla domanda in questione, poi è chiaro che in un sistema del genere è impensabile acquisire l'input con un altro dispositivo.