Ho da poco finito un progetto (ArduXWeatherStation) di una stazione meteo che invia i dati in remoto sul portale Xively e in locale su un secondo arduino mega 2560 con schermo TFT Touch screen da 3.2".
Il progetto funziona regolarmente, avevo comunque il problema della ethernet shield che inserendo il plug dell'alimentatore da 9V 1A non si avviava, dovevo solo la prima volta premere il tasto reset.
Ora ho risolto il problema inserendo un condensatore sul pin RESET della ethernet shield ed il GND.
Su un post in questo forum è elencato il condensatore da usare e cioè un 47nF, provando questo condensatore ceramico ho visto che il progetto si avvia regolarmente ma i led della shield lampeggiano ad intermittenza per almeno 5- 6 secondi.
Provando invece un condensatore elettrolitico da 100uF o da 330uF i tempi erano quasi istantanei e con quello da 470uF in pratica il progetto parte immediatamente.
Qualcuno di voi sa spiegarmi il perché? Il condensatore elettrolitico sulla shield per fare da ponte tra RESET e GND è più appropriato di quello ceramico oppure no?
intanto complienti per il progetto, molto intessante; anche io vorrei realizzare qualche cosa di simile.
Posso farti una domanda: dove hai trovato il display TFT Touch fatto così? perchè quelli che trovo su ebay, hanno tutti il connettore lungo orizzantale che va collegato ad arduino mega, e quindi mi gioco la possibilità di collegarmi con sensori esterni a quei pin di arduino.
Il perchè della tua domanda, secondo me è dovuto al fatto che il condensatore collegato al reset, introduce una costante di tempo che fa intervenire prima il pin di reset e fa quindi caricare prima il software nel micro; il perchè con quello elettrolitico questo tempo sia inferiore, mi sfugge, ma sicuramente qualcuno più esperto di me, presente ne forum. ti saprà dare una spigazione (come curiosità interessa anche a me saperlo)
quel tipo di schermo l'ho acquistato su ebay, devi cercarlo come "TFT touch per arduino uno", ti dovrebbe dare tutte le shield con quel tipo di piedinatura... per la librerie si usa quella oramai diventata standard presa da Electronics - Henning Karlsen.
Devi solo cambiare nello sketch il tipo di schermo e i pin del TFT e Touch:
// To use your screen 3.2 " TFT Touch modify the following two lines
// Next two lines for the Arduino Mega
UTFT myGLCD(ELEE32_REVA,A1,A2,A0,A4,A5); // Remember to change the model parameter to suit your display module!
UTouch myTouch(13,10,11,12,A4);
Per esempio:
ELEE32_REVA è il tipo di schermo.
A1,A2,A0,A4,A5 e 13,10,11,12,A4 sono i pin utilizzati da quella shield tft.
Per primo noto che hai messo tante resistenze pullup sil I2C. Serve solo una. (non so se serve dopo il level shifter percui lascialo lí) Non capisco che valori hanno quelle resistenze.
Problemi di start li ho avuti quando la tensione di alimentazione saliva troppo lentamente. Hai provato con un alto alimentatore?
di alimentatore li avrò provati una dozzina. per quanto riguarda le resistenze 4 sensori su linea i2c li ho inseriti con cavi dupont da 20cm e solo con due resistenze sul finale mi dava dei problemi. mi hanno consigliato di inserire le due resistenze di pull up ognuna per dispositivo, il valore stretto da 2.4k sta nell'utilizzo di cavi non troppo corti.
ora passero a saldare il tutto su un millefori o similare... comunque almeno 3 sensori devono avere la cablatura piu lunga.
Credo proprio che il ptoblema era nella ethernet shield, visto che inserendo un condensatore da 470uF si avvia regolarmente. vorrei provare con qualche condensatore ceramico e verificare meglio con il condensatore a 100uF. qualche idea?
Mi hai dato l'idea di verificare di nuovo le resistenze vediamo se la spunto con solo due pull up nel finale....