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
- #include <stdio.h>
- #include "driver/i2c.h"
- #include "ssd1306.h"
- #include "font8x8_basic.h"
- #define I2C_MASTER_SCL_IO 5 // GPIO5 (D1)
- #define I2C_MASTER_SDA_IO 4 // GPIO4 (D2)
- #define I2C_MASTER_NUM I2C_NUM_0
- #define I2C_MASTER_FREQ_HZ 400000 // 400kHz
- void i2c_master_init() {
- i2c_config_t conf = {
- .mode = I2C_MODE_MASTER,
- .sda_io_num = I2C_MASTER_SDA_IO,
- .scl_io_num = I2C_MASTER_SCL_IO,
- .sda_pullup_en = GPIO_PULLUP_ENABLE,
- .scl_pullup_en = GPIO_PULLUP_ENABLE,
- .master.clk_speed = I2C_MASTER_FREQ_HZ
- };
- i2c_param_config(I2C_MASTER_NUM, &conf);
- i2c_driver_install(I2C_MASTER_NUM, conf.mode, 0, 0, 0);
- }
- void app_main() {
- i2c_master_init();
- ssd1306_t dev;
- ssd1306_init(&dev, I2C_MASTER_NUM, 0x3C); // Adres 0x3C dla SSD1306
- ssd1306_clear_screen(&dev, false);
- ssd1306_draw_string(&dev, 10, 20, "Hello, World!", 12, false);
- ssd1306_refresh(&dev, true);
- }