19597浏览
查看: 19597|回复: 16

【树莓派教程】——SPI驱动OLED 128*64

[复制链接]
【树莓派教程】——SPI驱动OLED  128*64图4

树莓派针脚定义
【树莓派教程】——SPI驱动OLED  128*64图1

OLED各针脚定义以及联线
GND——rasp gnd
VCC ——rasp vcc(3.3/5V)
D0(SCLK)  ——rasp SCLK (BCM:11/BOARD:23)
D1(MOSI )——rasp MOSI(BCM:10/BOARD:19)
RST——rasp GPIO(BCM:17/BOARD:11)
DC(数据与命令选择)——rasp (BCM:27/BOARD:13)
CS(SPI片选)——rasp (BCM:8/BOARD:24)

重要的部分要开始啦~~~~ATTENTION!!!!!!!!!!
1.打开树莓派的SPI。
树莓派的SPI默认是关闭的(这一点和I2C类似),打开方法有多种,在这仅介绍一种
vi /etc/modprobe.d/raspi-blacklist.conf
修改为如图
【树莓派教程】——SPI驱动OLED  128*64图2

注释掉两行表示启用SPI/I2C
  1. # blacklist spi and i2c by default (many users don't need them)
  2.   
  3.    #blacklist spi-bcm2708
  4.    #blacklist i2c-bcm2708
复制代码
reboot 以下
  1. cd /dev
  2. ls -al
复制代码

你会看到spidev0.0以及spidev0.1
【树莓派教程】——SPI驱动OLED  128*64图3


2.库
  1. sudo apt-get update
  2. sudo apt-get install build-essential python-dev python-pip
  3. sudo pip install RPi.GPIO
  4. sudo apt-get install python-imaging python-smbus
  5. sudo apt-get install git
复制代码
安装完成之后我们就可以用git 啦~~在此要感谢@孙毅带我入git的坑~~O(∩_∩)O哈哈~
  1. git clone https://github.com/adafruit/Adafruit_Python_SSD1306.git
  2. cd Adafruit_Python_SSD1306
  3. sudo python setup.py install
复制代码
到这就差不多了,来一个python的程序
  1. #!/usr/bin/python/
  2. # coding: utf-8
  3. import time
  4. import Adafruit_GPIO.SPI as SPI
  5. import Adafruit_SSD1306
  6. import Image
  7. import ImageDraw
  8. import ImageFont
  9. # Raspberry Pi pin configuration:
  10. RST = 17
  11. # Note the following are only used with SPI:
  12. DC = 27
  13. SPI_PORT = 0
  14. SPI_DEVICE = 0
  15. # 128x64 display with hardware SPI:
  16. disp = Adafruit_SSD1306.SSD1306_128_64(rst=RST, dc=DC, spi=SPI.SpiDev(SPI_PORT, SPI_DEVICE, max_speed_hz=8000000))
  17. # Initialize library.
  18. disp.begin()
  19. # Clear display.
  20. disp.clear()
  21. disp.display()
  22. # Create blank image for drawing.
  23. # Make sure to create image with mode '1' for 1-bit color.
  24. width = disp.width
  25. height = disp.height
  26. image = Image.new('1', (width, height))
  27. # Get drawing object to draw on image.
  28. draw = ImageDraw.Draw(image)
  29. # Draw a black filled box to clear the image.
  30. draw.rectangle((0,0,width,height), outline=0, fill=0)
  31. # Draw some shapes.
  32. # First define some constants to allow easy resizing of shapes.
  33. padding = 1
  34. top = padding
  35. x = padding
  36. # Load default font.
  37. font = ImageFont.load_default()
  38. # Alternatively load a TTF font.
  39. # Some other nice fonts to try: http://www.dafont.com/bitmap.php
  40. #font = ImageFont.truetype('Minecraftia.ttf', 8)
  41. # Write two lines of text.
  42. draw.text((x, top), 'This is first line', font=font, fill=255)
  43. draw.text((x, top+10), 'This is second line', font=font, fill=255)
  44. draw.text((x, top+20), 'This is third line', font=font, fill=255)
  45. draw.text((x, top+30), 'This is fourth line', font=font, fill=255)
  46. draw.text((x, top+40), 'This is fifth line', font=font, fill=255)
  47. draw.text((x, top+50), 'This is last line', font=font, fill=255)
  48. # Display image.
  49. disp.image(image)
  50. disp.display()
复制代码

凌风清羽  中级技匠
 楼主|

发表于 2016-1-10 22:14:55

舒爽
回复

使用道具 举报

大连林海  初级技神

发表于 2016-1-10 23:18:48

回复

使用道具 举报

孙毅  初级技匠

发表于 2016-1-11 00:22:22

要不要这么任性。。。哈哈哈,牛!
回复

使用道具 举报

hnyzcj  版主

发表于 2016-1-11 05:53:30

刚买了一块OLED,正好用用。
回复

使用道具 举报

丄帝De咗臂  高级技匠

发表于 2016-1-11 08:14:01

树莓派被你玩透了
回复

使用道具 举报

孙毅  初级技匠

发表于 2016-1-11 09:58:50

hnyzcj 发表于 2016-1-11 05:53
刚买了一块OLED,正好用用。

你oled接哪里用啊,陈老师?
用什么“软体”?
回复

使用道具 举报

hnyzcj  版主

发表于 2016-1-11 10:09:23

孙毅 发表于 2016-1-11 09:58
你oled接哪里用啊,陈老师?
用什么“软体”?

用ARDUINO软体
回复

使用道具 举报

凌风清羽  中级技匠
 楼主|

发表于 2016-1-11 11:57:58


嘿嘿,刚刚起步~~
回复

使用道具 举报

凌风清羽  中级技匠
 楼主|

发表于 2016-1-11 11:57:59


嘿嘿,刚刚起步~~
回复

使用道具 举报

凌风清羽  中级技匠
 楼主|

发表于 2016-1-11 12:00:00


还差的远呢~~~~~
回复

使用道具 举报

大连林海  初级技神

发表于 2016-1-11 16:34:29


加油  加油
回复

使用道具 举报

大连林海  初级技神

发表于 2016-1-11 19:58:47

大神 是不是要和你求师了
回复

使用道具 举报

凌风清羽  中级技匠
 楼主|

发表于 2016-1-12 16:57:44

大连林海 发表于 2016-1-11 19:58
大神 是不是要和你求师了

回复

使用道具 举报

大连林海  初级技神

发表于 2016-1-12 19:50:02

回复

使用道具 举报

dsweiliang  初级技神

发表于 2016-7-27 12:33:56

回复

使用道具 举报

凌风清羽  中级技匠
 楼主|

发表于 2016-7-27 21:59:19

dsweiliang 发表于 2016-7-27 12:33
https://www.dfrobot.com.cn/goods-804.html
这块可以用么啊?

应该是不可以的
驱动芯片估计不一样
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail