树莓派4B学习笔记——点亮你的LED
文章目录树莓派的板载资源搭建开发环境编程环境介绍安装树莓派的Wiring Pi库函数解决步骤点亮你的LEDGPIO命令控制LED使用Python实现闪烁灯使用C语言点灯总结树莓派4B入门学习笔记汇总树莓派的板载资源树莓派又被叫做卡片式电脑而且它缺保留了常用电脑所没有的GPIO接口有了这些接口我们就可以很方便的使用树莓派来控制其他的辅助外设了相信学习树莓派的大部分都是学习过单片机的在STM32的学习中有重点讲解过GPIO如果不了解的同学可以自己去补一下这块的知识在此不再去细说GPIO的输入输出分类那些了。下图是树莓派的资源分布图GPIO是整个嵌入式系统的输入输出端口通过它们才能采集传感器信号、输出控制量控制外设、利用复用功能与其他外设进行通信。树莓派作为嵌入式中的一大霸主自然是会有这些通用输入输出接口的如下图所示树莓派4B一共为我们提供了40个GPIO口其中包括有电源接口5V、3.3V、GND、有复用功能的GPIO口包含I2C接口(SCL、SDA)SPI接口MISO、MOSI、CLK、CS片选信号SPICE0_NUART串口接口TXD、RXDPWM接口以及普通GPIO口。上述IO口的脚位以及对应关系如下所示图片来自B站树小悉打开命令终端输入pinout也可以查看如下图所示搭建开发环境编程环境介绍在了解了树莓派的资源后参照学习单片机的思路自然是需要开始搭建树莓派的开发环境了这里需要注意一点在单片机开发中我们一般使用的都是keil_MDK、IAR、Visual Studio等一些IDE所谓IDE就是集成开发环境他包含了代码编辑器、编译器、调试器和图形用户界面等工具是具有代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件。由于树莓派的本质还是Linux所以在开发环境上有些许不同虽然也安装有配套的C语言和Python的IDE但是有些代码的开发和运行还是需要借助命令行来执行操作。在树莓派上编程我们可以使用C语言和Python官方的系统已经安装Python3有的版本还安装了Python2笔者此时使用的是最新系统尝试了一下是没有Python2查验自己的树莓派默认使用的是Python是哪个版本的方法如下打开终端串口、输入pyhon观察返回的版本笔者此处是3.9.2及默认是Python3。此时按照Python2的语法输入print “hello world”会发现出现了提示按照提示修改成Python3的语法格式后可以正常输出hello world。要退出此界面输入exit回车即可回到终端命名窗口。除了在终端窗口编程树莓派还安装了可以桌面编程的应用如下图所示Geany是C语言编程环境Thonny是Python的编程环境有关应用的具体用法参考此视频安装树莓派的Wiring Pi库函数有过单片机开发经验的同学都知道我们要控制单片机的GPIO口需要使用相应的库进行操作当然也有直接操作寄存器的这里不纠结树莓派要操作GPIO口也是需要借用库函数来实现的它的名称叫做Wiring Pi它使用C和C开发并且可以被python、ruby或者PHP等其他语言包转。有关其具体的函数介绍参考此文。树莓派的官方系统是没有自带Wiring Pi库的需要我们自行安装和之前安装远程桌面xrdp类似安装步骤如下1.打开终端命令窗口输入 sudo apt-get install wiringpi 回车。2.重新进入命令窗口说明已经安装完毕我们使用指令来看一下树莓派的GPIO详细情况。在命令行输入 gpio readall如果出现了但是新版一般会出现下面这种报错说无法获取管脚状态。解决步骤1在命令行中输入以下命令cd/tmp wget https://project-downloads.drogon.net/wiringpi--latest.deb sudo dpkg-i wiringpi-latest.deb回车等待再次返回命令终端如下图所示2再次输入gpio readall命令回车就可以看到这张GPIO的表了。3.至此我们的wiringpi的库就已经安装好了这里需要补充一点如上表第一行我们可以看见有BCM、wPi、Physical这三个下面都对应的是数字这三个是树莓派GPIO口的三种编码方式其中Physical是板载编码与板子上的引脚编号对应而另外两种编码方式常用于编程操作Python使用BCMC语言使用wPi。点亮你的LED笔者使用的是第板载7号管脚wPi编码也是7BCM编码为4。GPIO命令控制LED此方式使用BCM编码步骤1打开终端窗口输入gpio -g mode 4 out设置管脚为输出模式,-g表示是以BCM编码#如州去掉这个参数表示以wiringPi编码方式2终端窗口输入gpio -g read 4 读取管脚当前状态返回为0此时LED未点亮3终端窗口输入gpio -g write 4 1设置管脚为高电平为高LED点亮。4gpio -g write 4 0设置管脚为低电平关闭LED。使用Python实现闪烁灯1打开Thonny IDE输入以下代码使用的是BCM编码注意和自己的引脚对应import RPi.GPIO as GPIO from time import sleep GPIO.setmode(GPIO.BCM)#采用bcm编号方式 GPIO.setup(4,GPIO.OUT)#指定使用26号端口 for i in range(1,10): GPIO .output(4,GPIO.HIGH) sleep(1) GPIO.output(4,GPIO.LOW) sleep(1) GPIO.cleanup()Python编程时要注意缩进由于没有括号缩进就代表从属。输入代码后点击保存命名为led.py路径选择桌面点击确定。此时我们可以看见桌面已经有了一个led.py的文件。点击Run,可以发现LED小灯开始闪烁。除了此方式我们也可以使用终端命令来操作在桌面新建好led.py后可以打开终端命名窗口输入cd Desktop 回车然后在输入 python led.py也可以实现操作。使用C语言点灯1.打开GeanyIDE输入以下代码使用的是wpi编码注意和自己的引脚对应#include wiringPi.h #define Pin 7 int main() { if(wiringPiSetup() 0) return 1; pinMode(Pin,OUTPUT); for(int i0;i10;i) { digitalWrite(Pin,1); delay (200); digitalWrite(Pin,0); delay (200); } return 0; }命名为led.c,保存在桌面。点击编译不报错就OK如下图然后打开命令终端输入cd Desktop,切换至桌面目录然后输入gcc -o ledled.c-lwiringPiled.c要与自己保存的名称一致注意此处如果报错说明语法有问题需要自行查找。最后输入sudo ./led,回车后会发现小灯开始闪烁。总结有关树莓派点灯的笔记就写到这为止了欢迎大佬指正不妥之处师从B站树小悉很多资源来自他们的课程有需要的同学自己去学习吧链接之前已经给过了。树莓派4B入门学习笔记汇总树莓派4B学习笔记——系统烧录及初次开机树莓派4B学习笔记——点亮你的LED树莓派4B学习笔记——IO输入检测树莓派4B学习笔记——IO通信篇I2C树莓派4B学习笔记——IO通信篇SPI树莓派4B学习笔记——IO通信篇1-Wire树莓派4B学习笔记——IO通信篇UART