7744浏览
查看: 7744|回复: 9

【Raspberry Pi入门系列4】GPIO

[复制链接]
The Raspberry Pi Platform and Python Programming for the Raspberry Pi课程笔记
详细地址戳这个:
https://www.coursera.org/learn/raspberry-pi-platform/home/week/4

这一周讲到了GPIO。

GPIO,顾名思义,就是General Purpose Input / Output。

在我使用的树莓派2代B上,它有40个引脚。

这两排的引脚有两种numbering方式:
1. GPIO Numbering:

2. Physical Numbering:

(一般来说GPIO numbering比较难记,不过用C编程的话好像只能选这种模式 = =。)
在使用Python对它们进行编程的时候,就有两种模式可以选择。
当然,首先我们要先导入GPIO库。
  1. <font size="2" face="微软雅黑">import RPi.GPIO as GPIO</font>
复制代码
按理来说默认情况下raspbian是已经安装好了GPIO库的,如果发现程序报错可以检查一下上述代码有没有字拼错,大小写也算。
如果最后发现确实是库没有安装的话参考下面这篇教程(不过GPIO官网挪位了,下载的时候修改一下地址就好):
http://wiki.jikexueyuan.com/project/raspberry-pi/gpio.html

然后在Python中我们就可以这样选择一种模式:
  1. <font size="2" face="微软雅黑">GPIO.setmode(GPIO.BOARD)     #  Physical Numbering
  2. </font>
复制代码
或者
  1. <font size="2" face="微软雅黑">GPIO.setmode(GPIO.BCM)         #  GPIO Numbering</font>
复制代码
这些GPIO口是multi-function的,除了当做一般的输入输出之外,还有其他用途。



其中就有支持I2C协议(快,距离有限)的:
SDA     data
SCL      clock

UART协议的:
TXD
RXD

SPI协议的:
SPIO_MOSI     master out slave in
SPIO_MISO     master in slave out   
SPIO_SCLK      clock all the device share
SPIO_CEO_N   chip enable; negative
SPIO_CE1_N   

关于这些引脚的详情戳官网链接:
http://pinout.xyz/pinout/pin8_gpio14

但Python的GPIO库貌似并不支持这些协议,因此如果有这些需求,可以参考下面的教程下载wiringPi或者BCM2835 C Library:
http://wiki.jikexueyuan.com/project/raspberry-pi/gpio.html

下面就是使用PYTHON点亮LED灯的例子(.py文件)了:
  1. <font size="2" face="微软雅黑">import RPi.GPIO as GPIO               #导入GPIO库
  2. import time                                   #导入Python的time库
  3. GPIO.setmode(GPIO.BOARD)        
  4. GPIO.setup(13, GPIO.OUT)             #将物理引脚13设为输出
  5. while True:                       
  6.         GPIO.output(13, True)
  7.         time.sleep(1)
  8.         GPIO.output(13, False)
  9.         time.sleep(1)</font>
复制代码
其实和Arduino还挺相似的不是。while True之前的部分开始时执行一次,while True的部分loop执行。(如果是输入的话把OUT改成IN,output改成input就好啦。)
至于LED的连接?参考Arduino。

下面是PWM的用法:

Screen Shot 2016-03-14 at 1.51.17 PM.png Screen Shot 2016-03-14 at 2.01.42 PM.png Screen Shot 2016-03-14 at 2.03.56 PM.png
对于这些引脚的正确使用方式还得在日后的多多实践中得出真知。 - - 嗯刷完这一轮的感觉就是这样。
OK至此对树莓派的入门基本结束。
下一轮是树莓派的网络配置。

Screen Shot 2016-03-16 at 1.53.21 AM.png

iooops  中级技匠
 楼主|

发表于 2016-3-16 02:25:55

沙发
回复

使用道具 举报

iooops  中级技匠
 楼主|

发表于 2016-3-16 02:25:59

板凳
回复

使用道具 举报

iooops  中级技匠
 楼主|

发表于 2016-3-16 02:26:08

地板
回复

使用道具 举报

nxcosa  中级技师

发表于 2016-3-16 16:49:54

NB   膜拜
回复

使用道具 举报

凌风清羽  中级技匠

发表于 2016-3-16 21:45:51

回复

使用道具 举报

iooops  中级技匠
 楼主|
来自手机

发表于 2016-3-18 01:06:12

nxcosa 发表于 2016-3-16 16:49
NB   膜拜

你膜拜我的树莓派还打他……
回复

使用道具 举报

iooops  中级技匠
 楼主|

发表于 2016-3-18 02:00:50

回复

使用道具 举报

nxcosa  中级技师

发表于 2016-3-18 10:16:31

iooops 发表于 2016-3-18 01:06
你膜拜我的树莓派还打他……

我去  这是打人的呀 没注意  我说我是后面那个膜拜的人  没注意到前面的人还有个小手在打人
回复

使用道具 举报

yoyojacky  初级技匠

发表于 2016-3-25 13:31:37

gpio好好搞搞,传感器全靠他...
回复

使用道具 举报

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

本版积分规则

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

硬件清单

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

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

mail