Le forum a migré vers l'adresse suivante:

Forum

Masquer ce message

Simple-Duino Index du Forum



[Résolu] arduino lcd GTFT 1.7 " model st7735


 
Poster un nouveau sujet   Répondre au sujet    Simple-Duino Index du Forum -> Arduino & Électronique -> Questions
Sujet précédent :: Sujet suivant  
Auteur Message
sylvainlv
Débutant

Hors ligne

Inscrit le: 18 Avr 2014
Messages: 7
Masculin
Niveau d'éléctronique: Intermédiaire

MessagePosté le: Ven 18 Avr - 12:51 (2014)    Sujet du message: [Résolu] arduino lcd GTFT 1.7 " model st7735 Répondre en citant

PublicitéSupprimer les publicités ?
bonjour,
je suis en projet pour une entreprise, dans ce projet, il faut que j'utilise un arduino uno avec un ecran gtft lcd 1.7 pouce,
je suis dans une phase complexe la , et cette phase complexe est que je ne m'y connais vraiment pas en programmation Arduino sur un écran... je comprend les bases de la programmation mais c'est tout

alors mon projet consiste a faire afficher sur l’écran les données reçues d'une fosse septique:
- un texte avec marqué "température:" et sa valeur correspondante qui viendrai d'une donnée émise par une sonde
- avec en dessous une barre graphe montrant la température en pourcentage
- un texte avec marqué "Niveau Boue:" et sa valeur correspondante qui viendrai d'une donnée émise par une sonde
- avec en dessous une barre graphe montrant le niveau de boue par un etat bas pour 0 et un etat haut pour 100

je récupère les données par transmission SPI via un arduino uno

donc je vous demande de l'aide pour faire ce programme, j'ai pas mal de difficulté pour mettre ce programme en place ...
je vous en remercie car cela pourra m'aider a mieux comprendre comment programmer en arduino un ecran
cordialement sylvain

l'ecran en question est celui ci : http://arduino.cc/en/Main/GTFT


Dernière édition par sylvainlv le Mar 22 Avr - 16:47 (2014); édité 1 fois
Revenir en haut
Admin
Fondateur

Hors ligne

Inscrit le: 12 Avr 2012
Messages: 860
Masculin
Niveau d'éléctronique: Pro

MessagePosté le: Ven 18 Avr - 23:13 (2014)    Sujet du message: [Résolu] arduino lcd GTFT 1.7 " model st7735 Répondre en citant

Bonjour,
Au niveau des branchements, tout est OK ? As-tu déjà essayé des scripts qui fonctionnaient ? Quelle librairie utilises-tu ? Adafruit ? Autre ? 
____________________________
http://simple-duino.com
Revenir en haut
sylvainlv
Débutant

Hors ligne

Inscrit le: 18 Avr 2014
Messages: 7
Masculin
Niveau d'éléctronique: Intermédiaire

MessagePosté le: Mar 22 Avr - 09:39 (2014)    Sujet du message: [Résolu] arduino lcd GTFT 1.7 " model st7735 Répondre en citant

bonjour,
au niveau des branchement tout est bon, voici un programme que j'ai essayer de faire mais qui ne fonctionne pas pour autant sachant que je n'ai que les bases pour le moment dans l'arduino....
LE PROGRAMME :
#include <TFT.h>
#include <TFT.h>
#include <SPI.h>
//#include <Adafruit_ST7735.h>
//#include <Adafruit_GFX.h>
#define LCD_CS   7
#define DC   5
#define RESET  6 

int counter = 0;
char printout[4];

TFT TFTscreen = TFT(LCD_CS, DC, RESET);

void setup(){
  Serial.begin(9600);
  Serial.print("arduino");
  delay(2000);
  TFTscreen.begin();
  TFTscreen.background(0, 0, 0);
  TFTscreen.stroke(255, 0, 255);
  TFTscreen.text("temperature:",0,0);
  TFTscreen.text("niveau boue:",0,30);
  TFTscreen.setTextSize(3);
}

void loop(){
    counter = millis();
    String elapsedTime = String(counter/1000);
    elapsedTime.toCharArray(printout,4);
    TFTscreen.stroke(255,255,255);
    TFTscreen.text(printout,0,10);
    delay(1000);
    TFTscreen.stroke(0,0,0);
    TFTscreen.text(printout,0,10);
}


j'ai fais ce test pour voir,
en utilisant une horloge temps réel et en mettant ce que les mots que j'ai a faire apparaitre ... sauf que l'ecran reste blanc !!! :/
pour le reste du programme je ne peux avancer car je ne sais plus trop quoi faire Sad

HELP ME please !
Revenir en haut
sylvainlv
Débutant

Hors ligne

Inscrit le: 18 Avr 2014
Messages: 7
Masculin
Niveau d'éléctronique: Intermédiaire

MessagePosté le: Mar 22 Avr - 10:46 (2014)    Sujet du message: [Résolu] arduino lcd GTFT 1.7 &quot; model st7735 Répondre en citant

les bibliothèque adafruit st7735 et adafruit gfx ne fonctionnent pas au passage...
j'ai un message d'erreur concernant leur emplacements ... mais je les ai bien mis dans les dossier je les ai renommé comme il fallait et je les ai decompressé de leur fichiers ZIP ...
apres pour mon ecran j'ai du me mettre en logiciel beta arduino 1.5.6-r2 pou rne plus avoir ce probleme recurrent sur l'ecran qui est les quatres lignes noirs...
et je test d'autre exemple mais en vain l’écran reste toujours blanc Sad
Revenir en haut
sylvainlv
Débutant

Hors ligne

Inscrit le: 18 Avr 2014
Messages: 7
Masculin
Niveau d'éléctronique: Intermédiaire

MessagePosté le: Mar 22 Avr - 16:43 (2014)    Sujet du message: [Résolu] arduino lcd GTFT 1.7 &quot; model st7735 Répondre en citant

 voici un nouveau programme que j'ai pu essayer en allant voir d'autre forum pour en apprendre un peu plus, je trouve qu'il s'apparente a ce que je dois faire mais toujours le meme probleme avec la librairie adafruit ...

Code:

 #include <TFT.h>
#include <SPI.h>
#include <Adafruit_ST7735.h>
//#include <Adafruit_GFX.h>

#define cs   7
#define dc   5
#define rst  6

Adafruit_ST7735 TFTscreen = Adafruit_ST7735(cs, dc, rst);

char temperaturePrintout[6];
char niveau_bouePrintout[6];

int cycleTime = 2000;

float n;
float t;

/*****************************************************/

void setup() {
  
  Serial.begin();
  TFTscreen.initR(INITR_GREENTAB);
  TFTscreen.begin();
  TFTscreen.background(0, 0, 0);
  TFTscreen.stroke(255,255,255);
  TFTscreen.setTextSize(2);
  TFTscreen.text("Temperature (F)",0,0);
  TFTscreen.setTextColor (ST7735_BLACK); 
  TFTscreen.text("Niveau Boue (%)",0,60);
  TFTscreen.setTextColor (ST7735_BLACK);
  TFTscreen.setTextSize(4);

}

/*************************************************/

void loop() {
  
n = 50;
t = 25;
//t = (t*1.8)+32;

String temperatureVal = doubleToString(t, 0);
String niveauboueVal = doubleToString(n, 0); 
// String sensorVal = String(1.234);

// convert the reading to a char array
temperatureVal.toCharArray(temperaturePrintout, 6);
niveauboueVal.toCharArray(niveau_bouePrintout, 6);

TFTscreen.stroke(255,255,255);
TFTscreen.text(temperaturePrintout, 0, 25);
TFTscreen.setTextColor (ST7735_BLACK);
TFTscreen.text(niveau_bouePrintout, 0, 85);
TFTscreen.setTextColor (ST7735_BLACK);
delay(cycleTime);
TFTscreen.stroke(0,0,0);
TFTscreen.text(temperaturePrintout, 0, 25);
TFTscreen.setTextColor (ST7735_BLACK);
TFTscreen.text(niveau_bouePrintout, 0, 85);
TFTscreen.setTextColor (ST7735_BLACK);
}

/*******************************************************/

String doubleToString(double input,int decimalPlaces){
if(decimalPlaces!=0){
String String = String((int)(input*pow(10,decimalPlaces)));
if(abs(input)<1 p="">if(input>0)
String = "0"+String;
else if(input<0 p="">String = String.substring(0,1)+"0"+String.substring(1);
}
return String substring(0,String length()-decimalPlaces)+"."+String substring(String length()-decimalPlaces)
}
else {
return String((int)input);

le code d'erreur de la librairie adafruit est celui ci :

 
Code:

 
In file included from sketch_apr22d.ino:3:
C:\Program Files\Arduino\libraries\Adafruit_ST7735/Adafruit_ST7735.h:107: error: expected class-name before '{' token
sketch_apr22d.ino: In function 'void setup()':
sketch_apr22d:24: error: no matching function for call to 'HardwareSerial::begin()'
C:\Program Files\Arduino\hardware\arduino\avr\cores\arduino/HardwareSerial.h:95: note: candidates are: void HardwareSerial::begin(long unsigned int)
C:\Program Files\Arduino\hardware\arduino\avr\cores\arduino/HardwareSerial.h:96: note:                 void HardwareSerial::begin(long unsigned int, uint8_t)
sketch_apr22d:26: error: 'class Adafruit_ST7735' has no member named 'begin'
sketch_apr22d:27: error: 'class Adafruit_ST7735' has no member named 'background'
sketch_apr22d:28: error: 'class Adafruit_ST7735' has no member named 'stroke'
sketch_apr22d:29: error: 'class Adafruit_ST7735' has no member named 'setTextSize'
sketch_apr22d:30: error: 'class Adafruit_ST7735' has no member named 'text'
sketch_apr22d:31: error: 'class Adafruit_ST7735' has no member named 'setTextColor'
sketch_apr22d:32: error: 'class Adafruit_ST7735' has no member named 'text'
sketch_apr22d:33: error: 'class Adafruit_ST7735' has no member named 'setTextColor'
sketch_apr22d:34: error: 'class Adafruit_ST7735' has no member named 'setTextSize'
sketch_apr22d.ino: In function 'void loop()':
sketch_apr22d:54: error: 'class Adafruit_ST7735' has no member named 'stroke'
sketch_apr22d:55: error: 'class Adafruit_ST7735' has no member named 'text'
sketch_apr22d:56: error: 'class Adafruit_ST7735' has no member named 'setTextColor'
sketch_apr22d:57: error: 'class Adafruit_ST7735' has no member named 'text'
sketch_apr22d:58: error: 'class Adafruit_ST7735' has no member named 'setTextColor'
sketch_apr22d:60: error: 'class Adafruit_ST7735' has no member named 'stroke'
sketch_apr22d:61: error: 'class Adafruit_ST7735' has no member named 'text'
sketch_apr22d:62: error: 'class Adafruit_ST7735' has no member named 'setTextColor'
sketch_apr22d:63: error: 'class Adafruit_ST7735' has no member named 'text'
sketch_apr22d:64: error: 'class Adafruit_ST7735' has no member named 'setTextColor'
sketch_apr22d.ino: In function 'String doubleToString(double, int)':
sketch_apr22d:75: error: expected `)' before 'p'
sketch_apr22d:77: error: expected `)' before 'p'
sketch_apr22d:79: error: 'string' was not declared in this scope
sketch_apr22d.ino: At global scope:
sketch_apr22d:81: error: expected unqualified-id before 'else'
sketch_apr22d:84: error: expected declaration before '}' token



merci d'avance Very Happy
Revenir en haut
Admin
Fondateur

Hors ligne

Inscrit le: 12 Avr 2012
Messages: 860
Masculin
Niveau d'éléctronique: Pro

MessagePosté le: Mer 23 Avr - 23:25 (2014)    Sujet du message: [Résolu] arduino lcd GTFT 1.7 &quot; model st7735 Répondre en citant

La lib ne semble pas être correctemnt installé. Elle est aussi peut-être incompatible avec l'IDE 1.0 qui est, ne l'oublions pas, la version la plus stable et recommandée.
____________________________
http://simple-duino.com
Revenir en haut
sylvainlv
Débutant

Hors ligne

Inscrit le: 18 Avr 2014
Messages: 7
Masculin
Niveau d'éléctronique: Intermédiaire

MessagePosté le: Jeu 24 Avr - 08:07 (2014)    Sujet du message: [Résolu] arduino lcd GTFT 1.7 &quot; model st7735 Répondre en citant

Que faut il faire alors ?
Revenir en haut
Admin
Fondateur

Hors ligne

Inscrit le: 12 Avr 2012
Messages: 860
Masculin
Niveau d'éléctronique: Pro

MessagePosté le: Jeu 24 Avr - 18:12 (2014)    Sujet du message: [Résolu] arduino lcd GTFT 1.7 &quot; model st7735 Répondre en citant

L'IDE 1.0 ne fonctionne pas ? Testes le.
Sur l'IDE 1.0, le support de ces écrans a été ajouté puisque c'est l'écran qui correspond à la sortie de l'Arduino Esplora. Essayes ce tutoriel: 
http://arduino.cc/en/Guide/TFTtoBoards
____________________________
http://simple-duino.com
Revenir en haut
sylvainlv
Débutant

Hors ligne

Inscrit le: 18 Avr 2014
Messages: 7
Masculin
Niveau d'éléctronique: Intermédiaire

MessagePosté le: Jeu 22 Mai - 10:11 (2014)    Sujet du message: [Résolu] arduino lcd GTFT 1.7 &quot; model st7735 Répondre en citant

bonjour, j'ai laissé de coté ce projet, mais je reviens dessus mon programme est plus au moins bien fait a priori...
j'ai créé une carte sur laquelle je plug l 'ecran ... et cette carte va bien sur les broches de l'arduino:
sck=13, miso=12, mosi=11, lcdcs=7, d/c=6, reset=5, sdcs=4, bl=5V
donc jusque la pas de probleme,
mon code doit etre fonctionnel normalement....
  
Code:
 /******************INCLURE LES LIBRAIRIES*****************************/
#include <SPI.h>
#include <Adafruit_ST7735.h>
#include <Adafruit_GFX.h>
/********************DEFINITION DES PIN*******************************/
#define cs   7
#define dc   5
#define rst  6
/*****************DEFINITION DES COULEURS*****************************/
#define    BLACK           0x0000
#define    BLUE            0x001F
#define    RED             0xF800
#define    GREEN           0x07E0
#define CYAN            0x07FF
#define MAGENTA         0xF81F
#define YELLOW          0xFFE0  
#define WHITE           0xFFFF
/*********************************************************************/
Adafruit_ST7735 tft = Adafruit_ST7735(cs, dc, rst);
/*********************DEFINIR LES VARIABLES***************************/
char temperaturePrintout[6];
char niveau_bouePrintout[6];

int cycleTime = 2000;

float n;
float t;
/*********************************************************************/
//#if defined(__SAM3X8E__)
//    #undef __FlashStringHelper::F(string_literal)
//    #define F(string_literal) string_literal
//#endif
/********************PROGRAMME SETUP**********************************/
void setup() {
                Serial.begin(9600);
                tft.initR(INITR_GREENTAB);
                //tft.writecommand(ST7735_DISPON);
                tft.fillScreen(ST7735_WHITE);
                
                tft.setCursor(0, 0);
                tft.setTextColor(ST7735_BLACK);
                tft.setTextSize(2);
                tft.print("Temperature (F)");
                
                tft.setCursor(0, 60);
                tft.setTextColor(ST7735_BLACK);
                tft.setTextSize(2);
                tft.print("Niveau Boue (%)");
             }
/*********************PROGRAMME EN BOUCLE******************************/
void loop() {
              n = 50;
              t = 25;
              
              String temperatureVal = doubleToString(t, 0);
              String niveauboueVal = doubleToString(n, 0);
              // String sensorVal = String(1.234);

              temperatureVal.toCharArray(temperaturePrintout, 6);
              niveauboueVal.toCharArray(niveau_bouePrintout, 6);
              
              tft.fillScreen(ST7735_WHITE);
                            
              tft.setCursor(0, 25);
              tft.setTextColor(ST7735_BLACK);//
              tft.setTextSize(4);
              tft.print(temperaturePrintout);
              
              tft.setCursor(0, 85);
              tft.setTextColor(ST7735_BLACK);//
              tft.setTextSize(4);
              tft.print(niveau_bouePrintout);
              
              delay(cycleTime);
              
              tft.fillScreen(ST7735_WHITE);
              
              tft.setCursor(0, 25);
              tft.setTextColor(ST7735_BLACK);//
              tft.setTextSize(4);
              tft.print(temperaturePrintout);
              
              tft.setCursor(0, 85);
              tft.setTextColor(ST7735_BLACK);//
              tft.setTextSize(4);
              tft.print(niveau_bouePrintout);
            }
/*********************************************************************/
String doubleToString(double input, int decimalPlaces)
{
if (decimalPlaces != 0) {
String string = String((int) (input * pow(10, decimalPlaces)));
if (abs(input) < 1) {
if (input > 0)
string = "0" + string;
else if (input < 0)
string = string.substring(0, 1) + "0" + string.substring(1);
}
return string.substring(0, string.length() - decimalPlaces) + "." + string.substring(string.length() - decimalPlaces);
} else {
return String((int) input);
}
}
/**************************FIN***************************************/


 
mais j'ai un ecran blanc aucun signe .... et j'ai des codes d'erreurs recurrents

 
Code:
 
C:\Users\sle-vigo\Documents\Arduino\libraries\Adafruit_ST7735\Adafruit_ST7735.cpp: In constructor 'Adafruit_ST7735::Adafruit_ST7735(uint8_t, uint8_t, uint8_t, uint8_t, uint8_t)':

C:\Users\sle-vigo\Documents\Arduino\libraries\Adafruit_ST7735\Adafruit_ST7735.cpp:32: error: no matching function for call to 'Adafruit_GFX::Adafruit_GFX(int, int)'

C:\Users\sle-vigo\Documents\Arduino\libraries\Adafruit_GFX/Adafruit_GFX.h:28: note: candidates are: Adafruit_GFX::Adafruit_GFX(const Adafruit_GFX&)

C:\Users\sle-vigo\Documents\Arduino\libraries\Adafruit_GFX/Adafruit_GFX.h:28: note:                 Adafruit_GFX::Adafruit_GFX()

C:\Users\sle-vigo\Documents\Arduino\libraries\Adafruit_ST7735\Adafruit_ST7735.cpp: In constructor 'Adafruit_ST7735::Adafruit_ST7735(uint8_t, uint8_t, uint8_t)':

C:\Users\sle-vigo\Documents\Arduino\libraries\Adafruit_ST7735\Adafruit_ST7735.cpp:46: error: no matching function for call to 'Adafruit_GFX::Adafruit_GFX(int, int)'

C:\Users\sle-vigo\Documents\Arduino\libraries\Adafruit_GFX/Adafruit_GFX.h:28: note: candidates are: Adafruit_GFX::Adafruit_GFX(const Adafruit_GFX&)

C:\Users\sle-vigo\Documents\Arduino\libraries\Adafruit_GFX/Adafruit_GFX.h:28: note:                 Adafruit_GFX::Adafruit_GFX()
Revenir en haut
Admin
Fondateur

Hors ligne

Inscrit le: 12 Avr 2012
Messages: 860
Masculin
Niveau d'éléctronique: Pro

MessagePosté le: Jeu 22 Mai - 11:09 (2014)    Sujet du message: [Résolu] arduino lcd GTFT 1.7 &quot; model st7735 Répondre en citant

The Arduino TFT library extends the Adafruit GFX, and Adafruit ST7735 libraries that it is based on
Cette phrase a attirée mon attention sur la page de l'écran...
Ce qu'elle veut dire ? Que la librairie Arduino TFT étend les possibilités des librairies Adafruit GFX et ST7735 qui sont basées dessus.
En gros, que la librairie Arduino TFT est plus adaptée au contrôle des écrans TFT comme le tiens. Pas étonnant quand on sait que c'est ce modèle d'écran qui est censé équiper les Arduino Esplora.


En théorie, cette librairie est inclue de base dans les version 1.0 et + de l'IDE.
____________________________
http://simple-duino.com
Revenir en haut
sylvainlv
Débutant

Hors ligne

Inscrit le: 18 Avr 2014
Messages: 7
Masculin
Niveau d'éléctronique: Intermédiaire

MessagePosté le: Lun 2 Juin - 12:42 (2014)    Sujet du message: [Résolu] arduino lcd GTFT 1.7 &quot; model st7735 Répondre en citant

voila j'ai fini ce que j'ai a faire et je vous remercie de votre aide ^^
cela m'a permis d'apprendre et surtout de voir que l'on peut avoir tout aide des personnes qui s'y connaisse,
pour les personnes qui seront dans le même problème je vous met mon programme qui fonctionne ^^
 
Code:
 ^/******************INCLURE LES LIBRAIRIES*****************************/
#include <TFT.h>
#include <SPI.h>
/********************DEFINITION DES PIN*******************************/
#define cs   7
#define dc   6
#define rst  5
/******************DEFINITION LES COULEURS****************************/
#define BLACK    0x0000 // noir
#define BLUE     0x001F // Bleu
#define RED      0xF800 // Rouge
#define GREEN    0x07E0 // Vert
#define CYAN     0x07FF // Cyan
#define MAGENTA  0xF81F // Magenta
#define YELLOW   0xFFE0 // Jaune
#define WHITE    0xFFFF // Blanc
/*********************************************************************/
TFT TFTscreen = TFT(cs, dc, rst);
/*********************DEFINIR LES VARIABLES***************************/
char temperaturePrintout[6];
int niveau_boue = 0;
/********************PROGRAMME SETUP**********************************/
void setup() {
  TFTscreen.begin();
  TFTscreen.background(BLACK);
}
/*********************PROGRAMME EN BOUCLE******************************/
void loop() {
  Temperature();
  Niveau_boue();
  delay(10000);
  TFTscreen.background(BLACK);
}
/**************************TEMPERATURE*********************************/
void Temperature(void)  {
  String temperatureVal = String(analogRead(A0));
  temperatureVal.toCharArray(temperaturePrintout, 6);
 
  TFTscreen.stroke(WHITE);
  TFTscreen.setTextSize(2);
  TFTscreen.text("Temperature :", 0, 0);
  TFTscreen.setTextSize(5);
  TFTscreen.stroke(WHITE);
  TFTscreen.text(temperaturePrintout, 0, 20);
  TFTscreen.text("C", 130, 20);
}
/**************************NIVEAU BOUE*********************************/
void Niveau_boue(void)  {
  if(niveau_boue < 100)  {
    TFTscreen.stroke(WHITE);
    TFTscreen.setTextSize(2);
    TFTscreen.text("Niveau Boue :", 0, 60);
    
    TFTscreen.setTextSize(2);
    TFTscreen.stroke(GREEN);
    TFTscreen.text("0 %", 65, 105);
    TFTscreen.fillRect(5,80,150,20,GREEN);
    TFTscreen.fillRect(7,82,146,16,BLACK);
    }
  else  {
    TFTscreen.stroke(WHITE);
    TFTscreen.setTextSize(2);
    TFTscreen.text("Niveau Boue :", 0, 60);
    
    TFTscreen.setTextSize(2);
    TFTscreen.stroke(RED);
    TFTscreen.text("100 %", 55, 105);
    TFTscreen.fillRect(5,80,150,20,RED);
    }
}
/*********************************FIN***********************************/
Revenir en haut
Contenu Sponsorisé






MessagePosté le: Aujourd’hui à 04:09 (2017)    Sujet du message: [Résolu] arduino lcd GTFT 1.7 &quot; model st7735

Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Simple-Duino Index du Forum -> Arduino & Électronique -> Questions Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  

Index | creer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Powered by phpBB
Propulsé par Simple-Duino