ESP8266 SPI对应的引脚为Pin(14)--SCK,Pin(13)-
http://www.micropython.org.cn/forum.php?mod=viewthread&tid=421&extra=page%3D1
【2】程序源码:
- # main.py -- put your code here!
- import machine
- from machine import Pin,I2C,SPI
- import ssd1306
- import math
- import time
- # construct an I2C bus
- #i2c = I2C(scl=Pin(14), sda=Pin(2), freq=100000)
- #display = ssd1306.SSD1306_I2C(128,64, i2c)
- # construct an SPI bus on the given pins
- # polarity is the idle state of SCK
- # phase=0 means sample on the first edge of SCK, phase=1 means the second
- spi = SPI(baudrate=10000000, polarity=1, phase=0, sck=Pin(14,Pin.OUT), mosi=Pin(13,Pin.OUT), miso=Pin(12))
- display = ssd1306.SSD1306_SPI(128, 64, spi, Pin(5),Pin(4), Pin(16))
- led_blue = machine.Pin(2, Pin.OUT) # 设置 GPIO2 为输出
- led_blue.high()
- try:
- display.poweron()
- display.init_display()
- display.text('ESP-mp SPI OLED',1,1)
- display.text('Hi, MicroPython!',1,16)
- display.text('By: hbzjt2012',1,31)
- # Write display buffer
- display.show()
- time.sleep(3)
- display.fill(0)
- for x in range(0, 128):
- display.pixel(x, 32+int(math.sin(x/64*math.pi)*
7 + 8), 1) - display.show()
- time.sleep(3)
- display.fill(0)
- x = 0
- y = 0
- direction_x = True
- direction_y = True
- while True:
- # Clear the previous lines
- prev_x = x
- prev_y = y
- # Move bars
- x += (1 if direction_x else -1)
- y += (1 if direction_y else -1)
- # Bounce back, if required
- if x == 128:
- direction_x = False
- x = 126
- elif x == -1:
- direction_x = True
- x = 1
- if y == 64:
- direction_y = False
- y = 63
- elif y == -1:
- direction_y = True
- y = 1
- # Draw new lines
- for i in range(64):
- display.pixel(prev_x, i, False)
- display.pixel(x, i, True)
- for i in range(128):
- display.pixel(i, prev_y, False)
- display.pixel(i, y, True)
- # Make sure the corners are active
- display.pixel(0, 0, True)
- display.pixel(127, 0, True)
- display.pixel(0, 63, True)
- display.pixel(127, 63, True)
- # Write display buffer
- display.show()
- except Exception as ex:
- led_blue.low()
- print('Unexpected error: {0}'.format(ex))
- display.poweroff()
【3】效果演示:
沒有留言:
張貼留言