ESP8266 Node z OLED -- hello world

Espresiffe ESP8266 32Bit Tensilic Xtensa LX6 Core WIFI module
ODPOWIEDZ
Awatar użytkownika
SunRiver
Użytkownik
Posty: 1338
Rejestracja: 08 paź 2017, 11:27
Lokalizacja: Festung Oppeln
Kontakt:

ESP8266 Node z OLED -- hello world

Post autor: SunRiver »

W związku z zapytaniem na email wrzucam prosty programik
dla płytki ESP8266 Nodemcu z wyświetlaczem oled 0.96"

Użyjemy biblioteki ssd1306 z esp-i2c-oled-ssd1306 którą należy dodać do projektu
powinna być w folderze components/ssd1306
  1.  
  2. #include <stdio.h>
  3. #include "driver/i2c.h"
  4. #include "ssd1306.h"
  5. #include "font8x8_basic.h"
  6.  
  7. #define I2C_MASTER_SCL_IO    5       // GPIO5 (D1)
  8. #define I2C_MASTER_SDA_IO    4       // GPIO4 (D2)
  9. #define I2C_MASTER_NUM       I2C_NUM_0
  10. #define I2C_MASTER_FREQ_HZ   400000  // 400kHz
  11.  
  12. void i2c_master_init() {
  13.     i2c_config_t conf = {
  14.         .mode = I2C_MODE_MASTER,
  15.         .sda_io_num = I2C_MASTER_SDA_IO,
  16.         .scl_io_num = I2C_MASTER_SCL_IO,
  17.         .sda_pullup_en = GPIO_PULLUP_ENABLE,
  18.         .scl_pullup_en = GPIO_PULLUP_ENABLE,
  19.         .master.clk_speed = I2C_MASTER_FREQ_HZ
  20.     };
  21.     i2c_param_config(I2C_MASTER_NUM, &conf);
  22.     i2c_driver_install(I2C_MASTER_NUM, conf.mode, 0, 0, 0);
  23. }
  24.  
  25. void app_main() {
  26.     i2c_master_init();
  27.     ssd1306_t dev;
  28.     ssd1306_init(&dev, I2C_MASTER_NUM, 0x3C);  // Adres 0x3C dla SSD1306
  29.  
  30.     ssd1306_clear_screen(&dev, false);
  31.     ssd1306_draw_string(&dev, 10, 20, "Hello, World!", 12, false);
  32.     ssd1306_refresh(&dev, true);
  33. }
  34.  
  35.  
ODPOWIEDZ

Wróć do „ESP8266”