初学树莓派——(三)树莓派点亮LED
目录
1、环境简介
玩过单片机的同学应该比较熟悉keil_MDK、IAR、Visual Studio等IDE,以STM32单片机开发为例,我们对不同系列的芯片进行开发的时候,需要事先将对应的芯片安装包安装进去。
树莓派有些类似,在对其IO口进行控制时,也需要安装相应的库Wiring Pi。
树莓派上可以安装对应的代码编译器,因为我的安装的系统是官网的这个镜像,所以自带了Python3,打开终端串口、输入命令pyhon即可查询
我们在桌面可以查看到系统自带的编程软件,Geany是C语言编译器,Thonny是Python的编译器
2、安装树莓派的Wiring Pi库函数
WiringPi库-C语言版
输入命令wget https://project-downloads.drogon.net/wiringpi-latest.deb
输入命令sudo dpkg -i wiringpi-latest.deb
随后我们就可以在下图所示的位置查找到刚才下载的库
WiringPi库-Python版
根据WiringPi-Python官方文档,输入以下命令,即可安装Python版的WiringPi库。
# Python2.x 版本
pip install wiringpi
# Python3.x 版本
pip3 install wiringpi
3、IO查询及编码
3.1IO查询
一般我们都会给树莓派配上一个外壳,毕竟最近涨价这玩意都卖到1k了
除了通过原理图、接口图之外,我们还可以输入命令pinout查询引脚
3.2GPIO的3种编码
Physical是物理编码,与板子上的引脚编号对应
BCM ————>常用于Python开发
wPi—————>C语言开发
输入命令gpio readall即可查询如下:
下文的点灯就以这个端口为例
4、Python点灯
在主页新建文件,修改文件名为led_toggle.py(随你写),或者打开Thonny新建py文件,然后输入测试代码
import RPi.GPIO as GPIO
import time
#注意BOARD和BCM编码的不同,这里设置的是BCM编码
GPIO.setmode(GPIO.BCM)#如果是把BCM换成BOARD,下方则为GPIO.setup(物理编码,XX)
GPIO.setup(18, GPIO.OUT)#这里的18就表示BCM编码
#闪5次
for i in range(5):
GPIO.output(18,GPIO.HIGH)
time.sleep(1)
GPIO.output(18,GPIO.LOW)
time.sleep(1)
#建议每次退出时都用cleanup设置GPIO引脚为低电平状态
GPIO.cleanup()
由于文件在桌面上,所以运行的时候需要先输入cd Desktop打开桌面路径
随后再输入python led_toggle.py(你文件叫啥就改成啥)
至此点灯结束!(树莓派上没有自带LED,我就借用了一下W801开发板上的LED)
5、C语言点灯
在主页新建文件,修改文件名为led_toggle.c(随你写),或者打开Geany新建c文件,然后输入测试代码
#include <wiringPi.h>
#define Pin 1//这个是(12) GPIO18对应的Wpi编码
int main()
{
if(wiringPiSetup() <0)
return 1;
pinMode(Pin,OUTPUT);
for(int i=0;i<10;i++)
{
digitalWrite(Pin,1);
delay (200);
digitalWrite(Pin,0);
delay (200);
}
return 0;
}
由于文件在桌面上,所以运行的时候需要先输入cd Desktop打开桌面路径
然后输入gcc -o led led_toggle.c -lwiringPi(这里的.c文件名要和你的文件名对应)
最后输入sudo ./led即可实现LED闪烁
至此点灯结束!
6、wiringpi库文件
WiringPi库-C语言版的文件,实在下载不了的友友可以把这个文件拷贝到树莓派上wiringpi-latest.zip