树莓派&SSD1306 的OLED小时钟 的教程


这个Demo使用adafruit的ssd1306库,用python3写的。用到的字体来自互联网,仅用于学习目的,侵删。

1.接线

如果使用spi屏幕,参考:
  ssd1306           pi
  gnd                   gnd
  vcc                    vcc
  cs                      CE0
  rst                     GPIO24
  dc                      GPIO25
  d0                      SCLK
  D1                     MOSI

spi

如果使用I2C屏幕,参考:
ssd1306      pi
VCC             VCC
GND            GND
SDA            SDA
SCL            SCL
RST           GPIO24

i2c

2.软件

最好使用Raspbian,其他系统有各种玄学问题,不建议使用。

2.1 启用I2C/SPI

运行sudo raspi-config
选择Interfacing Options
选择I2CSPI(取决于你使用的屏幕)
选择yes
然后ok,自动重启即可。

2.2 安装依赖库

git clone https://github.com/adafruit/Adafruit_Python_SSD1306.git
cd Adafruit_Python_SSD1306
python3 setup.py install
apt install python3-pil

如果不成功,加sudo试试。

3.下载程序

下载项目库内的文件到树莓派,确保所有文件在同一目录下。
然后运行python3 clock.py
大功告成!
如果是I2C屏幕,需要修改程序:
找到# disp =Adafruit_SSD1306.SSD1306_128_64(rst=RST)
去掉前面的井号和空格
并找到disp = Adafruit_SSD1306.SSD1306_128_64(rst=RST, dc=DC, spi=SPI.SpiDev(SPI_PORT, SPI_DEVICE, max_speed_hz=8000000))
注释掉即可,重新运行程序即可。

4.其他

报错可能是因为前面步骤没做好,仔细检查一下。
如果还有问题,可以和我联系。


9.6追加:

带dht的beta版本

已上传,但是时间显示有时候会异常,原因不明。下附上beta版本使用说明(建议有相关基础的同学尝试)

接线

在原有基础上加上dht,data引脚为gpio4。

软件

安装Adafruit_Python_DHT库,github可找到,详细步骤与上面的库的安装相似。
下载全部文件到同一个目录,运行带beta那个程序即可。


由于学业,以后可能不再更新了。


> 树莓派&SSD1306 的OLED小时钟

组件清单

  • 树莓派3B × 1
  • SSD1306 OLED 12864 × 1
  • 杜邦线若干 × 1