树莓派&SSD1306 的OLED小时钟

一个利用树莓派和12864OLED打造的小时钟

RaspiSQH

喜欢

5038
浏览
8
喜欢

> 更多图片

项目状态:填坑进行中
开放度:公开
所属分类:电子
发布时间:2019-08-25
最近更新:2019-10-08

标签

描述

开学了,之前那个坑先放亿下(雾),先传一个小小的项目吧。


详细说明

说明

这个只是小demo,代码质量感人

硬件

  • 树莓派3b(其他版本理论均可)

  • ssd1306(重要!)oled,12864,spi/iic均可(我使用spi的,iic只要取消注释即可)

  • 后续完善ing....

已实现功能

  • 时间/日期显示

计划功能

  • dht的温度显示[进行中] [已有beta版本已上传]

  • 多页/天气预报

  • 后续完善ing.....
    * ps. 也许不更了.....

make日志

2019-8-27:dht温度已经没问题了,但是时间显示不太好,正在研究
2019-8-29:dht遇到“小”问题,可能还需要时间
dht加上的效果

链接表


文件库

clock.py
程序 [1149 Bytes at 2019-08-25, 56 次下载]

date.ttf
日期字体 [15728 Bytes at 2019-08-25, 30 次下载]

lcd.ttf
时间字体 [24448 Bytes at 2019-08-25, 29 次下载]

clock_beta.py
主程序beta [2427 Bytes at 2019-08-28, 38 次下载]

background.png
背景 [384 Bytes at 2019-08-28, 27 次下载]



教程

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

这个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那个程序即可。


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