一、硬件连接
树莓派的GPIO针(就是SD卡插槽旁边的两排一共26根针)的1号针旁边写了一个P1,其他针的编号是从左至右从上至下编号的。
一般刷机板有4~5个针,旁边写的有定义。
3B+GPIO的编号:
3B+GPIO的编号 树莓派 40Pin 引脚对照表
GPIO2、3 SDA与SCL 分别是 I2 C这种串行总线的时钟与数据线,用于温度传感器交换数据或者连接LCD显示器。
GPIO14、15 Rx和Tx串口通信。
GPIO9~11 (MOSI、MISO、SCLK) 这种串口叫做SPI。
GPIO18、21都叫做PWM,可以控制电机的转速与转矩,以及LED的明暗。
二、扩展板
PiFace 扩展板1、产品名称:PiFace数字I/0扩展板
2、产品货号:RB-01C062
3、可直接插入Raspberry Pi的GPIO插座
4、2个可转换的继电器
5、4个转换按钮
6、8处数字输入和集电极开路输出
7、8个LED指示灯
8、简单的Python, Scratch and C语言程序
9、图形仿真虚拟器
10、继电器可以切换电压高达20V(上限)或电流高达5A(上限)
PiFace 有自己的Python模块。
https://pypi.org/project/pifacedigitalio/
http://piface.github.io/ Raspberry Pi GPIO 扩展板 接入面包板使用 RaspiRobot Board Gertboard 树莓派扩展板
二、原型板
原型板需自己焊接。
-
Pi Plate
adafruit pi plate
adafruit pi plate
三、树莓派LED指示灯状态
LED亮灯状态
LED | 颜色 | 功能 | 正常状态 |
---|---|---|---|
ACT | 绿色 | card status | 闪烁:SD卡正在活动(类似电脑的硬盘灯) |
PWR | 红色 | power | 不闪烁:正常 |
FDX | 橙 | full duplex | 亮:全双工/不亮:半双工 |
LNK | 橙 | link | 亮:网络连接成功 |
100 | 橙 | 100 Mbps | 亮:100 Mbps/不亮:10 Mbps |
常见亮灯状态:
ACT | PWR | FDX | LNK | 100 | 状态解读 | 解读/原因 |
---|---|---|---|---|---|---|
○●○ | ●●● | ○○○ | ○○○ | ○○○ | 正常 | ACT灯:SD卡正在活动 |
○○○ | ●●● | ○○○ | ○○○ | ○○○ | 不正常 | SD卡启动文件损坏或没有SD卡 |
○○○ | ○●○ | ○○○ | ○○○ | ○○○ | 不正常 | 电源电压不正常 |
●○● | ●●● | ○○○ | ○○○ | ○○○ | 不正常 | 看下文解释 |
○●○ | ●●● | ●●● | ●●● | ●●● | 正常 | 全双工/100 Mbps |
○●○ | ●●● | ●●● | ●●● | ○○○ | 正常 | 全双工/10 Mbps |
○●○ | ●●● | ○○○ | ●●● | ●●● | 正常 | 半双工/100 Mbps |
○●○ | ●●● | ○○○ | ●●● | ○○○ | 正常 | 半双工/10 Mbps |
○●○:闪烁 ●●●:常亮 ○○○:不亮 ●○●:有规律闪烁
●○●:ACT灯有规律闪烁的解读
四、树莓派如何安全关机重启
选择有很多一行一个关机方法:
sudo shutdown -h now
sudo halt
sudo poweroff
sudo init 0
重启方法:
sudo reboot
shutdown -r now
shutdown -r 18:23:52 #定时重启在18点23分52秒关闭
五、编号规范
树莓派和普通电脑不一样的地方在于它还带了17个可编程的GPIO(General Purpose Input/Output),可以用来驱动各种外设(如传感器,步进电机等)。但GPIO的编号方法有些混乱,不同的API(如wiringPi,RPi.GPIO等)对GPIO的端口号编号并不一样,下面则用图表标明了对应的叫法,这样在看程序例子的时候可以确定物理是哪个接口。
GPIO库
- wiringPiC,有Perl, PHP, Ruby, Node.JS和Golang的扩展,支持wiringPi Pin和BCM GPIO两种编号
- RPi.GPIOPython,支持Board Pin和BCM GPIO两种编号
- Webiopi,Python, 使用BCM GPIO编号
- WiringPi-Go, Go语言,支持以上三种编号
编号规范
- 第一列是wiringPi API中的缺省编号,
wiringPiSetup()
采用这列编号 - 第二列(Name)往往是转接板的编号
- 第三列是树莓派板子上的自然编号(左边引脚为1-15,右边引脚为2-26),
RPi.GPIO.setmode(GPIO.BOARD)
采用这列编号 - 树莓派主芯片提供商Broadcom的编号方法,相当于调用了
WiringPiSetupGpio()
或RPi.GPIO.setmode(GPIO.BCM)
采用这列编号
wiringPi Pin | Name | Board Pin | BCM GPIO |
---|---|---|---|
0 | GPIO 0 | 11 | 17 |
1 | GPIO 1 | 12 | 18 |
2 | GPIO 2 | 13 | 21 |
3 | GPIO 3 | 15 | 22 |
4 | GPIO 4 | 16 | 23 |
5 | GPIO 5 | 18 | 24 |
6 | GPIO 6 | 22 | 25 |
7 | GPIO 7 | 7 | 4 |
8 | SDA | 3 | 0 |
9 | SCL | 5 | 1 |
10 | CE0 | 24 | 8 |
11 | CE1 | 26 | 7 |
12 | MOSI | 19 | 10 |
13 | MISO | 21 | 9 |
14 | SCLK | 23 | 11 |
15 | TXD | 8 | 14 |
16 | RXD | 10 | 15 |
Rev.2 新增的引脚:
wiringPi Pin | Name | Board Pin | BCM GPIO |
---|---|---|---|
17 | GPIO 8 | 28 | |
18 | GPIO 9 | 29 | |
19 | GPIO10 | 30 | |
20 | GPIO11 | 31 |
网友评论