Le forum a migré vers l'adresse suivante:

Forum

Masquer ce message

Simple-Duino Forum Index



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


 
Post new topic   Reply to topic    Simple-Duino Forum Index -> Arduino & Électronique -> Questions
Previous topic :: Next topic  
Author Message
sylvainlv
Débutant

Offline

Joined: 18 Apr 2014
Posts: 7
Masculin
Niveau d'éléctronique: Intermédiaire

PostPosted: Fri 18 Apr - 12:51 (2014)    Post subject: [Résolu] arduino lcd GTFT 1.7 " model st7735 Reply with quote

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


Last edited by sylvainlv on Tue 22 Apr - 16:47 (2014); edited 1 time in total
Back to top
Admin
Fondateur

Offline

Joined: 12 Apr 2012
Posts: 860
Masculin
Niveau d'éléctronique: Pro

PostPosted: Fri 18 Apr - 23:13 (2014)    Post subject: [Résolu] arduino lcd GTFT 1.7 " model st7735 Reply with quote

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
Back to top
sylvainlv
Débutant

Offline

Joined: 18 Apr 2014
Posts: 7
Masculin
Niveau d'éléctronique: Intermédiaire

PostPosted: Tue 22 Apr - 09:39 (2014)    Post subject: [Résolu] arduino lcd GTFT 1.7 " model st7735 Reply with quote

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 !
Back to top
sylvainlv
Débutant

Offline

Joined: 18 Apr 2014
Posts: 7
Masculin
Niveau d'éléctronique: Intermédiaire

PostPosted: Tue 22 Apr - 10:46 (2014)    Post subject: [Résolu] arduino lcd GTFT 1.7 &quot; model st7735 Reply with quote

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
Back to top
sylvainlv
Débutant

Offline

Joined: 18 Apr 2014
Posts: 7
Masculin
Niveau d'éléctronique: Intermédiaire

PostPosted: Tue 22 Apr - 16:43 (2014)    Post subject: [Résolu] arduino lcd GTFT 1.7 &quot; model st7735 Reply with quote

 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
Back to top
Admin
Fondateur

Offline

Joined: 12 Apr 2012
Posts: 860
Masculin
Niveau d'éléctronique: Pro

PostPosted: Wed 23 Apr - 23:25 (2014)    Post subject: [Résolu] arduino lcd GTFT 1.7 &quot; model st7735 Reply with quote

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
Back to top
sylvainlv
Débutant

Offline

Joined: 18 Apr 2014
Posts: 7
Masculin
Niveau d'éléctronique: Intermédiaire

PostPosted: Thu 24 Apr - 08:07 (2014)    Post subject: [Résolu] arduino lcd GTFT 1.7 &quot; model st7735 Reply with quote

Que faut il faire alors ?
Back to top
Admin
Fondateur

Offline

Joined: 12 Apr 2012
Posts: 860
Masculin
Niveau d'éléctronique: Pro

PostPosted: Thu 24 Apr - 18:12 (2014)    Post subject: [Résolu] arduino lcd GTFT 1.7 &quot; model st7735 Reply with quote

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
Back to top
sylvainlv
Débutant

Offline

Joined: 18 Apr 2014
Posts: 7
Masculin
Niveau d'éléctronique: Intermédiaire

PostPosted: Thu 22 May - 10:11 (2014)    Post subject: [Résolu] arduino lcd GTFT 1.7 &quot; model st7735 Reply with quote

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()
Back to top
Admin
Fondateur

Offline

Joined: 12 Apr 2012
Posts: 860
Masculin
Niveau d'éléctronique: Pro

PostPosted: Thu 22 May - 11:09 (2014)    Post subject: [Résolu] arduino lcd GTFT 1.7 &quot; model st7735 Reply with quote

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
Back to top
sylvainlv
Débutant

Offline

Joined: 18 Apr 2014
Posts: 7
Masculin
Niveau d'éléctronique: Intermédiaire

PostPosted: Mon 2 Jun - 12:42 (2014)    Post subject: [Résolu] arduino lcd GTFT 1.7 &quot; model st7735 Reply with quote

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***********************************/
Back to top
Display posts from previous:   
Post new topic   Reply to topic    Simple-Duino Forum Index -> Arduino & Électronique -> Questions All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  

Index | Xooit.com free forum | Free support forum | Free forums directory | Report a violation | Cookies | Charte | Conditions générales d'utilisation
Powered by phpBB
Propulsé par Simple-Duino