fr
September 25, 2023, 7:56am
1
Bonjour,
J'ai ressorti un écran SPI LCD DOF 128x64 (https://fr.aliexpress.com/item/4000033669170.html ) qui consomme peu et qui est bien lisible au soleil pour l'utiliser sur un ESP32S2.
J'ai un lecteur SD
#include <Arduino.h>
#include <SD.h>
#include <SPI.h>
#define SDSPI_MISO 9
#define SDSPI_MOSI 11
#define SDSPI_SCLK 7
#define SDSPI_SS 12
SPIClass SDSPI(FSPI);
void setup() {
SDSPI.begin(SDSPI_SCLK, SDSPI_MISO, SDSPI_MOSI, -1); //SCLK, MISO, MOSI, SS
pinMode(SDSPI_SS, OUTPUT);
if (!SD.begin(SDSPI_SS,SDSPI)) {
Serial.println("SD CARD FAILED"); }
Je voudrais le brancher sur le port (HSPI)
Donc
SPIClass lcdSPI(HSPI);
J'ai trouvé sur Code which is working fine isnt working in Class
#include <Arduino.h>
#include <SPI.h>
#include <U8g2lib.h>
#define CLK_PIN 18
#define SDA_PIN 23
#define CS_PIN 32
#define RS_PIN 27
#define RST_PIN 33
/* Constructor */
U8G2_UC1701_MINI12864_1_4W_HW_SPI u8g2(U8G2_R0, CS_PIN, RS_PIN, RST_PIN);
/* u8g2.begin() is required and will sent the setup/init sequence to the display */
void setup(void) {
u8g2.begin();
//u8g2.setBusClock(600000);
u8g2.setContrast(175);
u8g2.firstPage();
do {
u8g2.setFont(u8g2_font_ncenB14_tr);
u8g2.drawStr(0,20,"Hello World!");
} while ( u8g2.nextPage() );
delay(1000);
}
/* draw something on the display with the `firstPage()`/`nextPage()` loop*/
void loop(void) {
}
Qui compile sur ESP32S2 avec arduino 1.8.19 car j'utilise la version portable.
Comment faire pour concilier les deux ?
Merci d'avance
lesept
September 26, 2023, 6:18pm
2
Un code Arduino a toujours la même structure :
Des lignes au début, souvent #define ou #include
Une fonction void setup()
Une fonction void loop()
Parfois d'autres fonctions
Tes deux codes suivent ce schéma, sauf le premier qui n'a pas de loop : il doit donc être incomplet.
Pour les assembler, pas dur :
Tu prends les lignes du début de chaque code, tu les mets dans un nouveau fichier ino, et tu ôtes ce qui est dupliqué
Tu prends le setup du premier code et tu copies dedans les lignes du setup du second code : tout ça va dans le fichier ino précédent
Même chose pour la loop
Tu fais CTRL T pour lui donner bonne allure, et tu compiles... Reviens nous donner les résultats de la compilation !
fr
September 26, 2023, 8:09pm
3
Bonsoir,
Je n'ai pas installé de loop dans mon premier fichier par économie de texte, pour moi aussi il est évident qu'après le setup il y a un loop
J'ai donc fait ce qui était demandé en modifiant un peu à partir d'un autre fichier qui compilait
Avec la partie de ligne U8G2_UC1701_MINI12864_1_4W_HW_SPI en jaune ne convenait pas
J'ai tenté
#include <Arduino.h>
#include <SD.h>
#include <SPI.h>
#include <U8g2lib.h>
#define SDSPI_MISO 9
#define SDSPI_MOSI 11
#define SDSPI_SCLK 7
#define SDSPI_SS 12
#define CLK_PIN 18
#define SDA_PIN 23
#define CS_PIN 32
#define RS_PIN 27
#define RST_PIN 33
SPIClass SDSPI(FSPI);
/* Constructor */
U8G2_UC1701_EA_DOGS102_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ CLK_PIN, /* data=*/ SDA_PIN, /* cs=*/ CS_PIN, /* dc=*/ RS_PIN, /* reset=*/ RST_PIN);
void setup() {
SDSPI.begin(SDSPI_SCLK, SDSPI_MISO, SDSPI_MOSI, -1); //SCLK, MISO, MOSI, SS
pinMode(SDSPI_SS, OUTPUT);
if (!SD.begin(SDSPI_SS,SDSPI)) {
Serial.println("SD CARD FAILED"); }
u8g2.begin();
//u8g2.setBusClock(600000);
u8g2.setContrast(175);
u8g2.firstPage();
do {
u8g2.setFont(u8g2_font_ncenB14_tr);
u8g2.drawStr(0,20,"Hello World!");
} while ( u8g2.nextPage() );
delay(1000);
}
void loop() {
}
Et cela compile
Ce ne sont pas les pins du lcd qui m'intéressent mais je dois pourvoir en choisir d'autres.
Après je tente le montage demain.
Pas de commentaires ?
lesept
September 27, 2023, 11:54am
4
Si ça compile c'est déjà bien. Il faut voir ce que ça donne à l'exécution...
system
Closed
March 25, 2024, 11:54am
5
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.