TFT 2.8 Shield Arduino

Sfigato e nubbio come sono ho comprato l’unico esemplare in cui su internet si trova
poco e niente come esempi o come assistenza nei forum a differenza invece dei
modelli Adafruit (segue)

!(http://s27.postimg.org/kn5kvxasz/Fig 1.jpg)

Infatti neanche il venditore più nubbio di me ha saputo fornirmi la sua libreria e il
suo datasheet, ma alla fine dopo ore di ricerche su Google qualcosa ho trovato
come libreria per farlo funzionare. Il problema è che non riesco a trovare e a capire
a cosa corrispondono i pin davanti a cui ho saldato i connettori (forse anche al contrario :D)
Ho eseguito uno sketch con il Dht11 e il cavetto dati del sensore non sapevo dove collegarlo
ed alla fine l’ho collegato nella parte posteriore di Arduino (pin 10)

Essendo a digiuno anche di programmazione ho pasticciato un codice che avevo
con un display 16x2 e adesso il sensore funziona ma il dispay mi lampeggia ogni 2 secondi
anche se elimino tutti i ritardi. Qualcuno può aiutarmi sia nella parte hardware che software?
Buon ferragosto 8)

#include <Adafruit_GFX.h>   
#include "SWTFT.h" 
#include "DHT.h"

#define	BLACK   0x0000
#define	BLUE    0x001F
#define	RED     0xF800
#define	GREEN   0x07E0
#define CYAN    0x07FF
#define MAGENTA 0xF81F
#define YELLOW  0xFFE0
#define WHITE   0xFFFF
SWTFT tft;

#define DHTPIN 10     
#define DHTTYPE DHT11   

DHT dht(DHTPIN, DHTTYPE);


void setup() {
  Serial.begin(9600);
  
  Serial.println(F("TFT LCD test"));
  tft.reset();
  uint16_t identifier = tft.readID();
  Serial.print(F("LCD driver chip: "));
  Serial.println(identifier, HEX);
  tft.begin(identifier);
 
  dht.begin();
  
}

void loop() {
    for(uint8_t rotation=1; rotation=1; rotation=1) {
    tft.setRotation(rotation);
    testText();
    delay(2000);
  }
}  

unsigned long testText() {

int h = dht.readHumidity();
int t = dht.readTemperature(); 



tft.fillScreen(BLACK);
tft.setCursor(60, 20); // Primo numero spostamento in orizzontale ,secondo numero spostamento in verticale 
tft.setTextColor(WHITE);  tft.setTextSize(3);
tft.println("TEMPERATURA ");

tft.setCursor(110,60); 
tft.setTextColor(RED);  tft.setTextSize(5);
tft.println(t);

tft.setCursor(190,60); 
tft.setTextColor(RED);  tft.setTextSize(5);
tft.println("C"); tft.drawCircle(180, 60, 5, RED); // DISEGNA CERCHIOLINO DEI GRADI

// tft.drawFastHLine(0, 120, tft.width(), WHITE); SE VOGLIO UNA LINEA DIVISORIA
 
tft.setCursor(90, 140); 
tft.setTextColor(WHITE);  tft.setTextSize(3);
tft.println("UMIDITA'");


tft.setCursor(120, 180);   
tft.setTextColor(BLUE);  tft.setTextSize(5);
tft.println(h);

  
tft.setCursor(190, 180); 
tft.setTextColor(BLUE);  tft.setTextSize(5);
tft.println("%");

tft.drawRect(0, 0, 315, 120, YELLOW); // SE VOGLIO UNA CORNICE
tft.drawRect(0, 120, 315, 120, YELLOW); 


delay(200);
    
}

 unsigned long start, t;
  int           x1, y1, x2, y2,
                w = tft.width(),
                h = tft.height();

dovrebbe essere questa ;) http://misc.ws/2013/11/08/touch-screen-shield-for-arduino-uno/

Sì ho già visto grazie, ma la libreria non funge e poi non ha i connettori davanti come il mio

i due secondi di ritardo mi fanno pensare al sensore che ricordo essere molto lento con refresh di 1-2 secondi. Potrebbe essere che la libreria sia bloccante e ti fa quel difetto. Ma senza un datascheet del display e' un'ipotesi, continua a cercare cercare cercare, potra' mai essere che sei il primo al mondo ad usarlo ?

Lo fa anche con il DS18b20...comunque credo proprio di essere veramente il primo, sul web questo display è una mosca bianca :~

anche il 18b20 ha una libreria bloccante ;)

Se non si può fare niente allora metto un ritardo di 5 min per farlo stare fermo, tanto non muoio mica se nel frattempo la temp cambia di un grado :stuck_out_tongue_closed_eyes:

sicuramente si puo' fare, ma senza sapere nemmeno come collegare i pin e' difficile.

Ho continuato a cercare ma niente... ma 'sti produttori svogliati costava tanto scrivere nella basetta per ogni pin cosa corrispondeva, come per i modelli Adafruit???

Pikassa: Ho continuato a cercare ma niente... ma 'sti produttori svogliati costava tanto scrivere nella basetta per ogni pin cosa corrispondeva, come per i modelli Adafruit???

Ma al momento dell'acquisto, anche tu dovevi controllare se c'era la documentazione disponibile. Scusa, ma come pensavi di collegarlo senza la piedinatura? E come pensavi di pilotarlo senza libreria? Il venditore fa il suo, sei tu acquirente che prima dell'acquisto deve controllare se il prodotto è confacente alle tue esigenze ;)

leo72: Ma al momento dell'acquisto, anche tu dovevi controllare se c'era la documentazione disponibile. Scusa, ma come pensavi di collegarlo senza la piedinatura? E come pensavi di pilotarlo senza libreria? Il venditore fa il suo, sei tu acquirente che prima dell'acquisto deve controllare se il prodotto è confacente alle tue esigenze ;)

Senti, non ti ci mettere anche tu che non è giornata! :stuck_out_tongue_closed_eyes: Pensavo che poi sul web avrei trovato comunque rimedio (Google fa miracoli 8)) , infatti poi sono riuscito a trovare una libreria funzionante. Rimane il problema come dici tu dei pin per pilotarlo, ma se in alternativa ci saldo sotto Arduino dei connettori femmina e utilizzo quelli per i collegamenti come ho fatto per il Dht11 non va bene lo stesso?

Pikassa: Rimane il problema come dici tu dei pin per pilotarlo, ma se in alternativa ci saldo sotto Arduino dei connettori femmina e utilizzo quelli per i collegamenti come ho fatto per il Dht11 non va bene lo stesso?

Sul pcb sono chiaramente segnati tutti i pin di Arduino utilizzati, l'altro connettore sembra avere solo le alimentazioni, tutti i pin sono scollegati, o almeno così si vede dalla foto del pcb. In tutti i casi non capisco che problemi ti fai visto che quella shield usa il 99% dei pin di Arduino, te ne rimangono liberi solo due se non ho sbagliato a contare.

il lato di sotto si vedono giustamente solo due piste, ma il lato di sopra, e' un po' piu' sfuocato, ma io vedo 5 piste verso quei pin, io voto per i pin del Touch :)

Testato: il lato di sotto si vedono giustamente solo due piste, ma il lato di sopra, e' un po' piu' sfuocato, ma io vedo 5 piste verso quei pin, io voto per i pin del Touch :)

Si potrebbe essere, in effetti non li vedo riportati su i pin di Arduino, cosa impossibile visto che sono già tutti impegnati per la gestione del display e servono 4 pin analogici per gestire il touch.

Comunque ormai e' classico che su ebay trovi cose inutilizzabili, mi e' capitato con l'ultimo adattatore LCD Par/i2c che ho comprato, dopo una giornata a cercare su internet mi sono docuto ricavare lo schema elettrico da solo e scrivere una liberria che trovi in firma. Il consiglio che ti do' e' di metterti con il tester pin-pin e scrivere lo schema elettrico, poi visto che una lib semifunzionante l'hai trovata la si modifica per aggiungerci funzioni mancanti o malfunzionanti. Certo che se non hai piu' pin c'e' poco da fare, e' importante su questi LCD comprare shield che gia' integrano pilotaggio in SPI

Testato: Certo che se non hai piu' pin c'e' poco da fare, e' importante su questi LCD comprare shield che gia' integrano pilotaggio in SPI

Sicuramente si, su questo display mappare i pin non serve perché sono scritti chiaramente sul pcb, semmai servirebbe sapere quale controller usa e cercare una idonea libreria, cosa che ha già fatto visto che gli funziona. Questo è un problema secondario delle cineserie, oltre alla scarsa qualità spesso sono totalmente prive di documentazione, però dato che in questi casi si tratta sempre di cloni, più o meno fedeli, di altri prodotti è sufficiente identificare l'originale fare riferimento alla sua documentazione. La domada è "vale veramente la pena perdere tante ore, se non giorni, per capire come funziona un oggetto solo per risparmiare pochi Euro ? ", da notare che gli originali di queste shield, solitamente di Adafruit, IteadStudio, Seeduino, costano pochissimo di più dei cloni e sono ampiamente documentati.

concordo, dipende sempre da quanto l'ha pagato, l'adattatore che presi io costava mi sembra sull'euro, spese incluse :) ma avevo messo in conto di lavorarci, era uno sprono per approfondire expander+44780 Se mi serve per fare un progettino veloce allora si prende una cosa piu' seria. Che poi visto che il solo PCF costa piu' di 1 euro, questi come fanno ? probabilmente sono scarti di materiale. Esistono vendite parallele di componenti scartati ? Non rischia la casa madre a rilasciare questi chip ?

Testato: Che poi visto che il solo PCF costa piu' di 1 euro, questi come fanno ? probabilmente sono scarti di materiale. Esistono vendite parallele di componenti scartati ? Non rischia la casa madre a rilasciare questi chip ?

Come detto diverse volte le cineserie sono realizzate con componenti che derivano dagli scarti della normale produzione, sono funzionanti però non rispettano le caratteristiche minime previste, oppure sono cloni prodotti a basso costo da fonderie di silicio alternative che hanno "rubato" le varie maschere per la produzione. Per non parlare di quando acquisti un componente e dentro il case, sebbene marcato in modo corretto, dentro c'è ben altro, vedo il famoso caso di Sparkfun che invece di una rolla (5000 pezzi) di 328 ricevette una cosa molto diversa :) In altra discussione avevo raccontato delle mie prove, fatte per conto dei clienti, su componenti cineseria che, sebbene perfettamente funzionanti, erano molto lontani dalle specifiche minime previste.

Ma non è più adatto ad un Arduino Mega che ha più pin? Comunque di pin liberi da utilizzare ho solo il 10, il 13, il 12 e di analogico A0? Comunque mai più queste porcherie, anche se lo shield Adafruit costa sopra i 50 euro :~

sisi, ricordo che ne avevi gia' parlato. ho ritrovato l'articolo originale sparkfun molto interessante, capito' nel peiodo in cui ci fu' penuria di 328 :) https://www.sparkfun.com/news/350