Архив рубрики: ESP8266
ESP8266 – Oled I2C – Micropython
from machine import Pin, I2C import ssd1306 from time import sleep # 1 3 Busy GREEN = Pin(0, Pin.OUT) GREEN.on() BLUE_OLED = Pin(2, Pin.OUT) BLUE_OLED.on() def do_connect(): import network wlan = network.WLAN(network.STA_IF) wlan.active(True) if not wlan.isconnected(): print('connecting to network...') wlan.connect('ssd', 'pass') while not wlan.isconnected(): pass print('network config:', wlan.ifconfig()) do_connect() i2c = I2C(-1, scl=Pin(4), sda=Pin(5)) print(i2c.scan()) oled_width = 128 oled_height = 64 oled = ssd1306.SSD1306_I2C(oled_width, oled_height, i2c) oled.text('Hello, World 1!', 0, 0) oled.text('Hello, World 2!', 0, 10) oled.text('Hello, World 3!', 0, 20) oled.show()
ESP8266(ex) from Aliexpress upload Micropython
esptool.py –port /dev/ttyUSB0 –baud 115200 write_flash –flash_size=detect -fm dio 0 esp8266-20171101-v1.9.3.bin
Если после загрузки не работает REPL через COM порт при любой скорости.
ESP8266 NodeMcu + SSD1306 I2C
Arduino programming: https://radioprog.ru/shop/merch/59
Для заметки:
SSD1306Wire display(0x3c, 5, 4); // SDA GPIO5(D1) || SCL GPIO4 (D2)
pinMode(D4,OUTPUT);
digitalWrite(D4,HIGH); // SSD1306 LED is ON
pinMode(D5,INPUT);
pinMode(D6,INPUT);
pinMode(D7,INPUT);
pinMode(D8,INPUT);
pinMode(D3,OUTPUT);
pinMode(D0,OUTPUT);
digitalWrite(D3,LOW); // LED GREEN
digitalWrite(D0,LOW); // LED RED
SPI и W25Q32 Serial Flash Memeory подключение.
Подключение W25Q32 по шине SPI
Из документации смотрим:
Конкретные имена портов интерфейса SPI могут различаться в зависимости от производителя аппаратных средств, при этом возможны следующие варианты:
- MOSI: SIMO, SDO (на устройстве), DO, DON, SO, MRSR;
- MISO: SOMI, SDI (на устройстве), DI, DIN, SI, MTST;
- SCLK: SCK, CLK, SPC (SPI serial port clock);
- SS: nCS, CS, CSB, CSN, nSS, STE, SYNC.
Но в итоге получается что нужно подключать вот так: