(deleted)
Prova a vedere questo thread (in inglese) MCUFRIEND_kbv Library for Uno 2.4, 2.8, 3.5, 3.6, 3.95 inch mcufriend Shields - Displays - Arduino Forum
Mi pare sia un TFT conosciuto come MCUFRIEND
Da molti problemi un pò a tutti, non tutti sono riusciti a farlo funzionare
(deleted)
Mi pare di avere quello shield. Dopo tanti tentativi, riuscii con questo codice:
HeartRateOnShield.ino (legge da sensore cuore e fa grafico, messo su Arduino Mega)
// All the mcufriend.com UNO shields have the same pinout.
// i.e. control pins A0-A4. Data D2-D9. microSD D10-D13.
// Touchscreens are normally A1, A2, D7, D6 but the order varies
//
// This demo should work with most Adafruit TFT libraries
// If you are not using a shield, use a full Adafruit constructor()
// e.g. Adafruit_TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET);
#define LCD_CS A3 // Chip Select goes to Analog 3
#define LCD_CD A2 // Command/Data goes to Analog 2
#define LCD_WR A1 // LCD Write goes to Analog 1
#define LCD_RD A0 // LCD Read goes to Analog 0
#define LCD_RESET A4 // Can alternately just connect to Arduino's reset pin
#include <SPI.h> // f.k. for Arduino-1.5.2
#include "Adafruit_GFX.h"// Hardware-specific library
#include <MCUFRIEND_kbv.h>
MCUFRIEND_kbv tft;
// Assign human-readable names to some common 16-bit color values:
#define K_BLACK 0x0000
#define K_BLUE 0x001F
#define K_RED 0xF800
#define K_GREEN 0x07E0
#define K_CYAN 0x07FF
#define K_MAGENTA 0xF81F
#define K_YELLOW 0xFFE0
#define K_WHITE 0xFFFF
#ifndef min
#define min(a, b) (((a) < (b)) ? (a) : (b))
#endif
const byte PinLoM=40;
const byte PinLoP=41;
int xPos = 1; // horizontal position of the graph
int height_old = 0;
int height_new = 0;
int inByte = 0;
int ForeColor=0;
#define K_ZOOM 1
void setup(void)
{ uint16_t g_identifier;
delay(1000);
Serial.begin(9600);
// tft.reset(); //we can't read ID on 9341 until begin()
g_identifier = tft.readID(); //
Serial.print("ID = 0x"); Serial.println(g_identifier, HEX);
if (g_identifier == 0x00D3 || g_identifier == 0xD3D3) g_identifier = 0x9481; // write-only shield
if (g_identifier == 0xFFFF) g_identifier = 0x9341; // serial
tft.begin(g_identifier);
tft.setRotation(1);
tft.fillScreen(K_WHITE);
pinMode(PinLoP, INPUT); // Setup for leads off detection LO +
pinMode(PinLoM, INPUT); // Setup for leads off detection LO -}
}
void loop(void)
{ if((digitalRead(PinLoP) == 1)||(digitalRead(PinLoM) == 1))
{ Serial.println('!');
inByte = 512;
ForeColor=K_BLUE;
}
else
{ // send the value of analog input 0:
Serial.println(inByte);
inByte = analogRead(A15)*K_ZOOM;
ForeColor=K_RED;
}
//Map and draw the line for new data point
inByte = map(inByte, 0, 1023, 0, tft.height());
height_new = tft.height() - inByte;
//tft.drawLine(x1, y1, x2, y2, color);
tft.drawLine(xPos , 0, xPos, tft.height(), K_BLACK);
tft.drawLine(xPos , 0, xPos, tft.height(), K_WHITE);
tft.drawLine(xPos - K_ZOOM, height_old, xPos, height_new, ForeColor);
height_old = height_new;
if (xPos >= tft.width())
{ xPos = 0;
}
else
{ xPos+=K_ZOOM;
}
}
Nella setup ci sono degli if per capire bene quale chip monta.
Il tutto funziona con la libreria GFX di adafruit e la MCUFRIEND_Kbv, quella che ho io è versione 2.9
In allegato ti metto il file .rar della mcufriend che ho io. Il file è un .rar ma l'estensione è zip perchè il forum non accetta i rar (dentro c'e' anche lo sketch di cui sopra, HeartRateOnShield.ino)
MCUFRIEND_kbv.rar.zip (697 KB)
(deleted)
Senza offesa, ma le pagine bisogna leggerle in toto.
Cito: "Sono qunindi andato su questo sito http://misc.ws/2015/01/24/lcd-touch-screen-information/ da dove ho scaricato un programma di test, LCD_ID_Reader Version 1.2 che ho scaricato e provato usando un Arduino UNO R3 e l’IDE 1.6.5. Ho così avuto conferma che il controllore è un ILI9325 e visualizzato una schermata tutta rossa che dovrebbe significare che la libreria di Justin, l’autore del post, dovrebbe funzionare. E così è stato..."
Quindi, certo che quell'esempio ti fa diventare lo schermo tutto rosso!! E' la conferma che funziona !
Bisogna a questo punto leggersi da quel punto cosa ha fatto, da li in poi. Cita ben 3 librerie che han funzionato ma con modifiche.