【Raspberry Pi入门系列4】GPIO
2016-03-151.4万
AI 快速预览详细
本文是Raspberry Pi入门系列的第四篇,主要讲解了GPIO的基本概念和编程方法。文章介绍了GPIO的两种编号方式:GPIO Numbering和Physical Numbering,并提供了Python编程示例,如导入RPi.GPIO库、设置模式和点亮LED灯。此外,还简要介绍了GPIO引脚支持的I2C、UART和SPI协议。通过本文,初学者可以快速掌握Raspberry Pi的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库。 按理来说默认情况下raspbian是已经安装好了GPIO库的,如果发现程序报错可以检查一下上述代码有没有字拼错,大小写也算。如果最后发现确实是库没有安装的话参考下面这篇教程(不过GPIO官网挪位了,下载的时候修改一下地址就好): http://wiki.jikexueyuan.com/project/raspberry-pi/gpio.html 然后在Python中我们就可以这样选择一种模式: 或者这些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文件)了: 其实和Arduino还挺相似的不是。while True之前的部分开始时执行一次,while True的部分loop执行。(如果是输入的话把OUT改成IN,output改成input就好啦。)至于LED的连接?参考Arduino。 下面是PWM的用法: ![]() ![]() ![]() 对于这些引脚的正确使用方式还得在日后的多多实践中得出真知。 - - 嗯刷完这一轮的感觉就是这样。 OK至此对树莓派的入门基本结束。 下一轮是树莓派的网络配置。 |
-
Screen Shot 2016-03-16 at 1.53.21 AM.png (260.19 KB, 下载次数: 8395)







