Ardu-Aquarium Controller v. 3.3.1

Ciao a tutti,
ho ri-iniziato, tempo permettendo a lavorare sul controller, e siccome uno dei problemi principali che ho è la reattività dei pulsanti, ho deciso di iniziare da loro, cominciando dall'HW, in pratica, a parte le funzioni di acquisizione dei dati le funzioni che poi girano in continuazione quando il controller è operativo per il momento sono quella di mantenimento della temperatura dell'acqua e di gestione del fotoperiodo per entrambe le linee luci (sono entrambe da rivedere, soprattutto quelle delle luci).
Bene se faccio girare tutto non riesco più ad utilizzare i tasti, devo insistere parecchio prima che finalmente li legga, se commento le funzioni invece i tasti ricominciano a funzionare perfettamente, questo mi ha fatto capire che allo stato attuale delle cose, più implemento funzioni e più il problema diventerà evidente.

Avrei deciso quindi di sfruttare il piedino int del pcf collegato al pin 2 di arduino, per forzare la lettura dei tasti attraveso l'interrupt, anche se questo significa abbandonare la libreria IOexp e riscrivere una bella fetta di codice.

Secondo voi è la giusta strada?

Inoltre prima di iniziare a scrivere righe e righe di codice, volevo essere sicuro di sfruttare al meglio bus I2C, così seguendo le istruzioni di Leo in quest'altro topic (http://arduino.cc/forum/index.php/topic,138882.60.html), ho sostituito lel resistenze di pull-up del bus (prima usavo 10k), prima con valore di 2,2k e poi con valore 1k, la corrente misurata sul bus corrisponde rispettivamente 2,2 mA e 0,5mA, purtroppo non le ho da 1,5k ma i valori misurati corrispondono effettivamente ai calcoli così come suggeriti da Leo, quello che non mi torna è che pensavo seguendo i consigli sia di PaoloP che di LEO che disabilitando le pull-up interne, avrei visto i valori di corrente cambiare, invece non cambia nulla, con o senza pull-up la corrente misurata è sempre la stessa…
Mi viene il dubbio che l’attivazione delle pull-up influisca solo sulla frequenza di lavoro del bus, ma non avendo un oscilloscopio, non posso verificare… sempre che non abbia dette una Riccardata.

C'è qualcuno che mi sa dire qualcosa?

Grazie Riccardo