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édenteProchaine révisionLes deux révisions suivantes | ||
esp32_devkit [2019/01/10 13:11] – bigMax | esp32_devkit [2020/02/04 16:30] – ↷ 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. | ||
Ligne 78: | Ligne 82: | ||
* SPI3 (VSPI) | * SPI3 (VSPI) | ||
+ | Sketch examples pour manipuler les 2 ports SPI hardware : [[ https:// | ||
+ | === HSPI (SPI2) === | ||
+ | * CLK => GPIO 14 | ||
+ | * MISO => GPIO 13 | ||
+ | * MOSI => GPIO 12 | ||
+ | * SS => GPIO 15 | ||
+ | |||
+ | === VSPI (SPI3) === | ||
+ | * CLK => GPIO 18 | ||
+ | * MISO => GPIO 23 | ||
+ | * MOSI => GPIO 19 | ||
+ | * 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 ==== | ||
- | Téléchargement de la bibliothèque arduino ici : [[ https:// | + | {{ media_06:tft_240px_screen.jpg? |
- | La bibliothèque arduino GFX est également nécéssaire. Elle est disponible dans le " | + | Cablage |
- | Configuration du sketch : | + | * 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/ | ||
+ | * 7 BLK Backlight control, the default can be left floating, low level to turn off the backlight. | ||
+ | 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> | <code c> | ||
- | # | + | # |
- | # | + | |
- | # | + | # |
- | #define TFT_MOSI | + | # |
- | # | + | |
- | Adafruit_ST7789 tft = Adafruit_ST7789(TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK, TFT_RST); | + | #define TFT_MISO 23 |
+ | #define TFT_MOSI | ||
+ | #define TFT_SCLK 18 | ||
+ | #define TFT_CS | ||
+ | #define TFT_DC | ||
+ | # | ||
</ | </ | ||
+ | |||
+ | 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> | ||
+ | #define TFT_CS | ||
+ | #define TFT_RST | ||
+ | #define TFT_DC | ||
+ | </ | ||
+ | * 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