esp32_devkit
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
esp32_devkit [2019/01/10 13:49] – [Pilotage d'un écran TFT 240x240 px : le ST7789] bigMax | esp32_devkit [2020/10/27 18:33] (Version actuelle) – ↷ Liens modifiés en raison d'un déplacement. serge | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== ESP32 devkit v1 ====== | ====== ESP32 devkit v1 ====== | ||
Ici sont rassemblés des informations pour travailler avec un ESP32 devkit. | Ici sont rassemblés des informations pour travailler avec un ESP32 devkit. | ||
- | Ce kit a été créé par une boit nommé | + | Ce kit a été créé par une boite nommée |
+ | |||
+ | {{ media_06: | ||
<WRAP center round important 60%> | <WRAP center round important 60%> | ||
Ligne 8: | Ligne 10: | ||
La version " | La version " | ||
+ | |||
+ | Un tuto complet ici : [[ https:// | ||
<WRAP center round info 60%> | <WRAP center round info 60%> | ||
Ligne 64: | Ligne 68: | ||
Le projet annonce que la plupart du framework arduino est implémenté. | Le projet annonce que la plupart du framework arduino est implémenté. | ||
- | ===== Les premiers | + | ===== Les premiers |
Mes premiers ESP32 devkit semblent etre des "ESP32 devkit v1". C'est un terme plutot générique et il existe beaucoup de kit differents avec ce nom. Mon devkit est chiant car il n'est pas breadboard friendly. Lorsque je le monte sur une breadboard, je n'ai accès quà un côté des pins dispositif. | Mes premiers ESP32 devkit semblent etre des "ESP32 devkit v1". C'est un terme plutot générique et il existe beaucoup de kit differents avec ce nom. Mon devkit est chiant car il n'est pas breadboard friendly. Lorsque je le monte sur une breadboard, je n'ai accès quà un côté des pins dispositif. | ||
- | {{ : | + | {{ media_03: |
Voici un tuto bien étoffé pour commencer à bricoler rapidement avec le meme ESP32 devkit que le mien : [[ https:// | Voici un tuto bien étoffé pour commencer à bricoler rapidement avec le meme ESP32 devkit que le mien : [[ https:// | ||
Ligne 77: | Ligne 81: | ||
* SPI2 (HSPI) | * SPI2 (HSPI) | ||
* SPI3 (VSPI) | * SPI3 (VSPI) | ||
+ | |||
+ | Sketch examples pour manipuler les 2 ports SPI hardware : [[ https:// | ||
=== HSPI (SPI2) === | === HSPI (SPI2) === | ||
Ligne 89: | Ligne 95: | ||
* MOSI => GPIO 19 | * MOSI => GPIO 19 | ||
* SS => GPIO 5 | * SS => GPIO 5 | ||
+ | |||
+ | |||
+ | ==== Notes ==== | ||
+ | * GPIO2 pilote la diode bleue. | ||
+ | * GPIO22 pas utilisable en INPUT ou en INPUT_PULLUP ? | ||
+ | |||
+ | ==== Troubleshooting ==== | ||
+ | * Lors de l' | ||
+ | * Lors de l' | ||
+ | * Ajouter l' | ||
==== Pilotage d'un écran TFT 240x240 px : le ST7789 ==== | ==== Pilotage d'un écran TFT 240x240 px : le ST7789 ==== | ||
- | PINOUT | + | {{ media_06: |
- | 1 GND Power ground | + | Cablage |
- | 2 VCC Power 3.3+ | + | |
- | 3 SCL SPI clock line | + | |
- | 4 SDA SPI data line | + | |
- | 5 RES Reset | + | |
- | 6 DC Data/ | + | |
- | 7 BLK Backlight control, the default can be left floating, low level to turn off the backlight. | + | |
- | Téléchargement de la bibliothèque arduino ici : [[ https://www.arduinolibraries.info/ | + | * 1 GND Power ground |
+ | * 2 VCC Power 3.3+ | ||
+ | * 3 SCL SPI clock line | ||
+ | * 4 SDA SPI data line | ||
+ | * 5 RES Reset | ||
+ | * 6 DC Data/command selection foot | ||
+ | * 7 BLK Backlight control, the default can be left floating, low level to turn off the backlight. | ||
- | La bibliothèque arduino GFX est également nécéssaire. Elle est disponible dans le " | + | Je recommande la lib TFT-eSPI de Bodmer qui permet de driver beaucoup d' |
+ | \\ | ||
+ | Je déconseil la lib d' | ||
+ | \\ | ||
+ | Configuration de la lib TFT-eSPI dans le fichier User_Setup.h : | ||
+ | <code c> | ||
+ | #define ST7789_DRIVER | ||
- | Configuration du sketch : | + | #define TFT_WIDTH |
+ | #define TFT_HEIGHT 240 | ||
+ | #define TFT_MISO 23 | ||
+ | #define TFT_MOSI 19 | ||
+ | #define TFT_SCLK 18 | ||
+ | #define TFT_CS | ||
+ | #define TFT_DC | ||
+ | #define TFT_RST | ||
+ | </ | ||
+ | |||
+ | Plus de code sur github ici : https:// | ||
+ | |||
+ | ===== Les premiers pas de Bjorn sur l' | ||
+ | Mon objectif initial est de tester des librairies graphiques en vue d'un futur projet sur ce genre de hardware (teasing de ouf). J' | ||
+ | Le module ESP32 m'a été gentiment prêté par Gaziel qui en avait un au fond de son sac. Celui-ci viens du marché chinois des internets et laisse une rangé de libre de chaque coté de la breadboard une fois enfiché. | ||
+ | |||
+ | ==== Hardware ==== | ||
+ | === L' | ||
+ | l' | ||
+ | === Le montage === | ||
+ | Le montage respecte le schéma présenté sur le site [[http:// | ||
+ | |||
+ | {{https:// | ||
+ | |||
+ | ^ LCD SCREEN ^ NODEMCU ESP32 ^ | ||
+ | |5V| 3v3| | ||
+ | |GND| GND| | ||
+ | |LED| 5V| | ||
+ | |SCL (SPI Clock)| GPIO18 VSPI SCK (SPI Clock)| | ||
+ | |SDA (SPI Data)| GPIO23 VSPI MOSI (MOSI, Data to Screen)| | ||
+ | |RS (Register Select)| GPIO2 (labelled as DC in Adafruit code)| | ||
+ | |RST (Screen reset) | GPIO4| | ||
+ | |CS (Chip Select : Defined as Slave Select in SPI) If low this device is active on data lines| GPIO5 VSPI SS (Slave Select/ Chip Select)| | ||
+ | |||
+ | ==== Software ==== | ||
+ | === Les librairies === | ||
+ | {{ media_02: | ||
+ | * Une des premières documentation que j'ai eu étant le site de [[http:// | ||
+ | * J'ai ensuite répéré la librairie [[https:// | ||
+ | * J'ai enfin arrêté de faire pas comme les autres et me suis rabatu sur la lib d' | ||
<code c> | <code c> | ||
- | #define TFT_CS | + | #define TFT_CS |
- | #define TFT_RST | + | #define TFT_RST |
- | #define TFT_DC | + | #define TFT_DC |
- | #define TFT_MOSI 21 // Data out | + | |
- | #define TFT_SCLK 22 // Clock out | + | |
- | Adafruit_ST7789 tft = Adafruit_ST7789(TFT_CS, | + | |
</ | </ | ||
+ | * Le truc un peu foufou avec cette lib c'est qu' | ||
+ | |||
+ | <code c> | ||
+ | Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, | ||
+ | |||
+ | tft.initR(INITR_BLACKTAB); | ||
+ | tft.initR(INITR_GREENTAB); | ||
+ | // if using a 1.44" TFT: | ||
+ | tft.initR(INITR_144GREENTAB); | ||
+ | //if using a 0.96" 180x60 TFT: | ||
+ | tft.initR(INITR_MINI160x80); | ||
+ | // etc. | ||
+ | </ | ||
+ | ==== Notes ==== | ||
+ | * todo | ||
+ | |||
+ | ===== Notes pour l' | ||
+ | Un tuto interessant au sujet de l' | ||
+ | On y parle notamment de SPIFFS le mini File System disponible pour ESP32. | ||
+ | cf : [[https:// | ||
- | {{tag> | + | {{tag> |
esp32_devkit.txt · Dernière modification : 2020/10/27 18:33 de serge