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

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

【前沿】

·认识GPIO编码

·准备实验材料

·实验电路连接

·编写驱动程序

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

 【实际操作】


一、认识GPIO编码

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

二、准备实验材料

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

2、杜邦线2

3LED一颗

 

三、线路连接

 

 

 

 

 

四、编写驱动程序

说明:以下的实验都是使用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 main(void)  
{  
  wiringPiSetup();  
  pinMode (6,OUTPUT);  
  for(;;)   
  {  
    digitalWrite(6,HIGH);
	delay(500);  
    digitalWrite(6,LOW);
	delay(500) ;  
  }  
}

【编译运行】    
    使用cd命令进入文件所在目录,以下命令对文件进行编译:
    gcc -Wall -o flash flash.c -lwiringPi
    如何编译没有错误,接着输入以下命令执行程序:
    sudo ./flash

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


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

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



猜你喜欢

转载自blog.csdn.net/qintaiwu/article/details/73349057