buongiorno a tutti!
ho uno sketch in cui utilizzo questo tipo di lcd con interfaccia I2C.
avrei necessità di utilizzare i pin 2 e 3 (pin interrupt) che vengono però definiti come pin di comunicazione tra arduino ed I2C nello sketch che sto utilizzando.
il quesito è: non essendo i pin 2 e 3 fisicamente occupati, ma definiti ed in seguito sfruttati tramite libreria per mettere in comunicazione I2C e display, posso semplicemente collegarci un bottone e sfruttarli come interrupt?
altrimenti dovrei cambiare nel define il valore dei pin annessi (non inserendo i pin interrupt 2,3) tentativo che ho fatto, ma l'lcd smette di andare.
allego parte dello sketch interessata nel caso qualcuno sappia che soluzione adottare:
ovviamente se qualcuno ha un idea e servono altre informazioni su sketch o altro, cerco di implementare al meglio.
ho omesso il resto del codice poichè ci sono svariate altre funzioni che dilungano e che a mio parere non dovrebbero servire.
grazie a tutti dell'interessamento anticipatamente!
I pin che sono definiti nel codice che hai postato non sono quelli dell'Arduino, ma quelli del chip expander collegato tramite I2C, dall'Arduino ti servono solo i 2 pin SDA/SCL (generalmente corrispondono ai pin A4/A5), quindi i pin 2 e 3 dell'Arduino li pouoi usare senza problemi.
buonasera, dunque lo stesso lcd in questione, deve stampare a schermo diversi caratteri in base alla variabile ck2 che incremento tramite il richiamo attachinterrupt :
void riempimento() {
//RICHIAMA IMPOSTAZIONE RIEMPIMENTO CIOTOLA[problema]selezione orario
if (ck2 == 1) {
lcd.setCursor(2, 1);
lcd.print("**Rifornimento**");
pulisciSchermo();
lcd.setCursor(0, 2);
lcd.print("Rifornire di:");
lcd.setCursor(14, 2);
lcd.print(String(load) + "g.");
pulisciSchermo();
lcd.setCursor(0, 3);
lcd.print("Attualmente:");
lcd.setCursor(14, 3);
lcd.print(String(units, 0) + "g.");
pulisciSchermo();
}
if (ck2 == 2) { //da qua in poi il print su lcd lampeggia, e non so perchè
lcd.print("orario:");
lcd.setCursor(10, 1);
lcd.setCursor(0, 3);
lcd.print("Attualmente:")
}
}
ora il problema consiste nel fatto che quando si verifica vera la condizione di ck2==2 e quindi cambiano i caratteri a schermo, la visuale all'occhio risulta lampeggiante in maniera significative e veramente sgradevole.
si verifica solo nella seconda delle due condizioni, qualcuno sa dirmi cosa posso tentare per risolvere il problema?