学习用树莓派驱动LED灯闪烁

学习用树莓派驱动LED灯闪烁

【前沿】

·认识GPIO编码

·准备实验材料

·实验电路连接

·编写驱动程序

·讲解其它的驱动方式(扩展篇)

 【实际操作】

一、认识GPIO编码

学习如何用树莓派驱动LED灯时需要先了解树莓派管脚GPIO的编码方式,树莓派的管脚编码方式与51单片机的管脚编码有些不一样,在树莓派的GPIO上分为两种编码方式,分别为BCM编码wiringPi编码,不同的编码方式在编写程序驱动GPIO时稍有区别,具体编码如下:

二、准备实验材料

1、一套可运行的树莓派!

2、杜邦线2根

3、LED一颗

三、线路连接

四、编写驱动程序

说明:以下的实验都是使用SSH方式登录到树莓派来完成的,具体操作可看我的其它博文。

   1、使用python脚本语言BCM编码方式驱动LED!

这里使用vim.tiny文本编辑工具编写一个python脚本程序驱动LED,首先给工程 建立一个文件夹用于存放工程文件

mkdir lesson_1
cd lesson_1/

新建一个led_falsh.py的脚本文件,并写入驱动代码:

vim.tiny led_flash.py

正式写入驱动代码:

import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(25,GPIO.OUT)
while True:
          GPIO.output(25,GPIO.HIGH)
          time.sleep(0.2)
          GPIO.output(25,GPIO.LOW)
          time.sleep(0.2)

编辑完成按下一次Esc键,然后输入  :wq   ,意思为保存文件并退出编辑!

下面开始执行文件,查看具体效果,首先先给文件增加用户可执行权限:

sudo chmod u+x led_flash.py

运行程序:

python led_flash.py

此时就可以看到LED实际的效果了,同时如果程序有误的话,终端也会打印出错误消息!

如需退出执行程序,直接按下 ctrl+c 组合键即可退出

程序解读:

到此,一个驱动LED闪烁的学习就完成了!

五、讲解其它的驱动方式(扩展篇)

【驱动方式】

使用wiringPi编码方式实现驱动LED

【示例程序】

在文件夹下新建一个名为flash.c的文件,并写入以下示例代码:

#include <wiringPi.h>

int led = 29;                    // 定义使⽤wiringPi编码的7引脚
int main(void)
{
    wiringPiSetup();            // 使⽤wiring编码去初始化GPIO序号
    pinMode(led, OUTPUT);       // 设置GPIO电⽓属性为推挽输出
    while(1)
    {
        digitalWrite(led, 1);   // led亮
        delay(500);             // 延时500ms
        digitalWrite(led, 0);   // led灭
        delay(500);             // 延时500ms
    }
    return 0;
}
 

【编译运行】    
    使用cd命令进入文件所在目录,以下命令对文件进行编译:

gcc -Wall -o flash flash.c -lwiringPi

如何编译没有错误,接着输入以下命令执行程序:

sudo ./flash

此时可以看到实时的效果,最后可使用ctrl+c可以结束程序。

【小结】
    1、由于人为退出程序时间的不确定性,所以在程序退出时可能为亮,也可能为灭的状态。

    2、使用python的程序驱动和C程序驱动LED,只是在编码方式上稍有不同,但实际上驱动的都是同一个IO端口。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值