IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 树莓派从零开始快速入门第5讲——点亮LED -> 正文阅读

[Python知识库]树莓派从零开始快速入门第5讲——点亮LED

树莓派从零开始快速入门第5讲——点亮LED

一、前言

千呼万唤始出来,今天,他来了,他来了,点灯的教程他终于来了,作为嵌入式编程世界公认最经典的入门程序,把你放在第5讲算是给足面子了,要是在其他教程,能活过第2讲?好了,废话不多说,盘他就完了。
GPIO是通用输入输出口的意思,是MCU控制外设最基本的硬件接口。把LED灯接到GPIO上面,通过控制GPIO的输出电压,就可以控制灯的亮灭,我们今天的目标是点亮第一个LED灯。

二、引脚对照表

要点灯,先要确定灯接在哪个引脚上面,对应的引脚号是多少。
要确定硬件引脚对应的软件引脚号,可以通过下面这个指令查看自己的设备引脚对照表。

gpio readall

在这里插入图片描述
树莓派的引脚编码方式有两种:wiringPi和BCM,其实就是对应两个不同的库函数。
1)wiringPi:基于WiringPi库,是树莓派平台的库函数,类似于Arduino里面的wiring。
2)BCM:基于bcm2835库,是树莓派cpu芯片的库函数,相当于stm32的固件库一样,底层直接操作寄存器。
这里引用一张树莓派实验室的通用引脚图,这个图非常好用,除了对应40pin的树莓派之外也兼容了其他版本的硬件。
请添加图片描述
再引用了一张3B的引脚图,两张图对比来看,引脚的对应关系就非常清晰了。
请添加图片描述

三、硬件连接

首先我们得准备一个LED灯或者带LED灯的扩展板,我这里用的是微雪的多功能扩展板Pioneer600(某宝上面找不到,要在微雪官网上面采购),总体来说,这款扩展板性价比不算高,但是对于初学者来说很友好,接口是pin对pin的,可以直接接上树莓派,常用的外设也比较全(LED\UART\IIC\SPI\按键\显示屏),如果能把把这些外设都调完,那去做一些小项目是基本没有问题的了。(特别说明:这不是在恰饭哈)
把LED接到树莓派任意一个GPIO口上面(如果是用的是普通插件LED灯,还要串一个1k左右的电阻,不然可能会把灯烧掉)。

四、编写程序

1、编程方式简述

树莓派控制IO口的方式有很多种。
1:通过shell命令直接控制
2:通过Linux脚本控制
3:通过wiringPi库控制
4:通过bcm2835库控制
控制的方式有多种,编程的语音也有多种,C、C++、python、Java等等,所以就导致很多初学者无从下手,到底应该选择哪种方式呢?我本身从事的工作是以C语言为主的,一开始我是想从C开始突破,但是经过我一段时间的摸索,我认为树莓派最好的方式应该是Linux系统+python编程。确定了路线之后,我后面的编程教程也都是以python编程为主。

2、python编程

python语法不懂的同学,可以先去看下其他的教程,了解一下python最基本的语法,然后再边学边做。
用python控制树莓派外设是通过python类库实现的,比如树莓派系统本身集成的RPi.GPIO就可以控制GPIO口。
树莓派官方的镜像基本都是自带python工具的,所以一般是不用再另外安装软件了。
1)新建py文件
新建led.py文件

touch led.py

2)编写程序
打开led.py并编写以下示例程序:

#!/usr/bin/python                             
#-*- coding:utf-8 -*-               
import RPi.GPIO as GPIO             #导入RPi.GPIO库
import time                         #导入time库                   
GPIO.setwarnings(False)               #禁用警告(可以不用)
GPIO.setmode(GPIO.BCM)                #使用BCM编码的引脚号
GPIO.setup(26,GPIO.OUT)               #根据自己LED灯接的引脚配置,我这里是26脚
try:
    while True:                       #wile循环
        GPIO.output(26,GPIO.HIGH)     #引脚拉高
        time.sleep(1)                 #延时1s
        GPIO.output(26,GPIO.LOW)      #引脚拉低
        time.sleep(1)                 #延时1s
except:
    print("except")
GPIO.cleanup()
注:
#!/usr/bin/env python,定义python解析脚本的绝对路径
#-*- coding:utf-8 -*-,python文件为utf-8格式,否则无法写入中文注释

编写代码的方式有很多种,根据自己的喜欢选择一种即可。

方式1:在树莓派命令窗口编辑

vim led.py      // 用vim编辑
nano led.py     // 用nano编辑

vim编辑示例如下:
在这里插入图片描述
方式2:在树莓派可视化界面编辑
在这里插入图片描述
在这里插入图片描述
方式3:在PC端打开并编辑
参考我上一讲介绍的文件共享。
树莓派从零开始快速入门第4讲——文件共享
在这里插入图片描述

3)运行
运行方式有两种方式。
方式1:命令行运行

python led.py

python led.py开始运行,Crtl+C结束运行。
在这里插入图片描述
方式2:可视化界面运行
在这里插入图片描述
注:如果RPi.GRIO检测到一个引脚已经被设置成了非默认值,那运行的时候会弹出一个警告信息。
在这里插入图片描述

可以在配置GPIO模式之前调用以下代码即可禁用警告,当然,不禁用也是没关系的,不影响代码运行。

GPIO.setwarnings(False)

运行结果:
LED每间隔1s闪烁一次。

五、结束语

点灯仪式就此结束,经过对LED的调试,相信你对树莓派的编程方式已经有了一定的了解。万事开头难,我觉得树莓派最容易让人产生疑惑的是它的编程方式,因为花样太多了,你在百度上搜索树莓派的编程方式,会得到很多种答案,都不知道该信谁,关于这个,我认为最好的方式是Linux系统+python编程。选择一种路线入门很重要,明确了自己的路线,就可以迈出新手村了,后面无非就是打怪升级。

想了解更多树莓派的知识可以关注我,后续我会继续出更多的教程。

树莓派入门系列教程:
树莓派从零开始快速入门系列汇总

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-08-06 09:35:07  更:2021-08-06 09:35:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 7:10:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码