【前言】

硬件入门第一课,千年不变的点灯实验,下面就来跟大家聊聊在树莓派上如何驱动LED灯。

蹦沙卡拉卡~~~~,亮起来~~~~,再闪起来~~~~

一、认识GPIO编码

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

(GPIO编码对照图-1)

(GPIO编码对照图-2)

二、准备实验材料

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 # 引入GPIO文件

import time # 导入时间模块

GPIO.setmode(GPIO.BCM)

GPIO.setup(25,GPIO.OUT)

while True:

GPIO.output(25,GPIO.HIGH) # 25管脚电平置高

time.sleep(0.2) # 延时 200 ms

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

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端口。

喜欢 (2)or分享 (0)

python开发板卡驱动开发_树莓派开发板如何驱动LED灯相关推荐

  1. Arduino开发(一)_软件开发IDE工具的安装

    Arduino开发(一)_软件开发IDE工具的安装 学习Arduino开发首先需要安装软件开发工具,下面给大家做详细的演示, Arduino官方网站网址如下: https://www.arduino. ...

  2. STM32F103C8T6基础开发教程(HAL库)—点亮第一颗LED灯

    STM32F103C8T6基础开发教程目录 STM32F103C8T6基础开发教程(HAL库)-开发环境配置 STM32F103C8T6基础开发教程(HAL库)-Keil添加注释的快捷键 STM32F ...

  3. 树莓派65/100 - Pico W初体验,点亮板载的LED灯

    有一段时间没有折腾树莓派Pico,最近发现它又出新品了,树莓派Pico W,可以通过WIFI连接互联网了. Pico W的产品小册子可以从这里下载. 这篇文章介绍了Pico 和 Pico W的区别. ...

  4. [RPi]树莓派GPIO入门之控制LED灯

    本文部分资料及图片来自网络 一.所需材料 树莓派4B.LED灯.面包板.杜邦线.电阻.Python程序 二.认识硬件材料 这里介绍下LED灯.面包板.杜邦线.电阻 LED灯:LED灯引脚长的一端为正极 ...

  5. micropython定制_树莓派开发实战 第2版 高清pdf

    链接:https://pan.baidu.com/s/1oD6ZiYrTUf2lq-Pz-zBBFQ 提取码:4kzq 树莓派(Raspberry Pi)是一款基于Linux系统的.只有一张信用卡大小 ...

  6. python内置的集成开发工具是什么_python内置的集成开发工具是什么_后端开发

    go语言之goroute协程_后端开发 协程(coroutine)是Go语言中的轻量级线程实现,由Go运行时(runtime)管理.下面就来由go入门教程栏目介绍一下go语言中的goroute协程. ...

  7. go与python作为后端_golang和python有什么区别?_后端开发

    golang吉祥物是啥?_后端开发 golang吉祥物是一只英文名为"gopher"的地鼠(土拨鼠),大大的眼睛,圆圆的身子,短短的手. golang和python有什么区别?下面 ...

  8. python画动物代码_如何用python画简单的动物_后端开发

    python3.x完全兼容python2.x吗?_后端开发 可以说是完全不兼容.相对于Python的早期版本,Python3是一个较大的升级,为了不带入过多的累赘,Python 3.0在设计的时候没有 ...

  9. 树莓派环境处理_树莓派开发环境配置

    接上篇,准备树莓派开发环境的配置. 买回来的树莓派一般会带一个系统,在这里我建议自己定制系统,以树莓派桌面系统为蓝本搭建开发环境. 你需要准备一张 16G的高速TF卡,用以安装系统. 4B取消了全尺寸 ...

  10. python是语言还是软件_程序开发语言之Python:是追逐还是坚守?

    Python作为计算机程序设计语言的其中一种,最初是被设计用于编写自动化脚本(shell),随着版本的不断更新.语言新功能的添加和机器学习的兴起,Python从2017年开始受到广泛关注. Pytho ...

最新文章

  1. Web用户控件的一个毛病
  2. OpsDev是什么?
  3. 《预训练周刊》第8期:首个千亿中文大模型「盘古」问世、谷歌等提出视频音频文本转换器VATT...
  4. 佳能hdr_拥有高机动性,佳能推出两款UHDgc系列 4K广播级便携式变焦镜头
  5. Linux 内核定时器使用 一 低精度定时器
  6. 【ruoyi若依】为当前页添加显示事件
  7. 吃相难看!它又又又涨价了......
  8. linux锁定账号 让其不能修改密码,passwd - 用于让用户可以更改自己的密码
  9. oracle之表空间(tablespace)、方案(schema)、段(segment)、区(extent)、块(block)
  10. js里面把密码encode_PHP会员找回密码功能的简单实现
  11. oracle连表图解,oracle 表连接方式解析
  12. 一个连衣服都穿不整齐的人,代码也肯定写不整齐。
  13. uni-app 打包App ,实现App更新提醒,并下载最新App
  14. Python常用数据库封装方法
  15. 华为盒子 原生android,华为悦盒/各种安卓盒子找回原生设置以及适配蓝牙遥控器...
  16. 减少OpenCV读取高分辨率图像的时间
  17. CPU飙升到100%问题排查
  18. Qt小游戏CoinFlip翻金币
  19. IDEA Unable to import maven project: See logs for details具体解决方法
  20. C# WPF MVVM 实战 – 4 - 善用 IValueConverter

热门文章

  1. 不是抽象的, 并且未覆盖Handler中的抽象方法
  2. 计算机怎样安装硬盘,固态硬盘安装-笔记本和台式电脑分别如何安装SSD详细图文教程...
  3. PCB设计时应该考虑的几个问题
  4. 阿里云上实现DDNS公网解析
  5. iOS6、7、8、9新特性总汇和适配说明
  6. Unity3D坦克大战(附代码和原理讲解)
  7. 大学计算机课要怎么学,大学计算机课学结
  8. windows服务器如何搭建网站,Windows系列服务器网站搭建详细过程
  9. 百练2706 麦森数
  10. 强化调色原理—制作老旧照片效果