嵌入式人工智能(3-树莓派4B点亮LED灯及LED灯闪烁)

1、LED与树莓派连接

LED是一种常用。廉价、高效的光源,其灯泡长腿为正极,短腿为负极。使用LED的注意如果将其直接连接到高于1.7V的电源上,会产生一个非常大的电流,导致LED甚至树莓派的损坏。通常情况下为LED配备一个串联电阻,使流经LED的电流限制在特定的数值上,从而对LED和为其供电的GPIO引脚提供保护。

树莓派的GPIO 引脚只能提供3mA 或 16mA 左右的电流,对于LED来说,只要流经的电流大于1ma就以发光,电流越大,亮度就越高。

在连接硬件设备前,先切断树莓派的电源,我一般都是不断电操作,我不建议同学这样做,万一出问题,别找我哈。

将树莓派第一脚3.3V和第9脚分别扩展到面包板。LED灯接11脚GPIO17,串联一个470欧的电阻。我这边正好有个按键与LED模块,我就直接接了。插上线LED灯就亮了。

除了能直接点亮LED,还能通过GPIO 控制LED开关,下面将使用Python 控制该LED 发光。

2、软件环境

在点亮一个LED之前,需要给同学们介绍Vnc、Python语言和VScode的使用。

(1)VNC

VNC(Virtual Network Computing)是一种远程桌面协议,允许用户通过互联网连接到远程计算机,并在本地查看和控制远程计算机的桌面界面。如果使用WIndows图形化的桌面方式连接树莓派,还需要再树莓派上面安装VNCServer,在windows上安装Vncviewer。

以下是使用VNC远程桌面的一般步骤:

  1. 在远程计算机上安装VNC服务器软件(例如RealVNC、TightVNC等)。
  2. 配置VNC服务器,设置访问密码和权限。
  3. 确保远程计算机和本地计算机处于同一网络,并且能够相互访问。
  4. 在本地计算机上安装VNC客户端软件(例如RealVNC Viewer、TightVNC Viewer等)。
  5. 打开VNC客户端,并输入远程计算机的IP地址和端口号,然后点击连接。
  6. 输入VNC服务器的访问密码,点击确认。
  7. 现在,您应该能够在本地计算机上查看远程计算机的桌面界面,并且可以通过本地键盘和鼠标控制远程计算机。

请注意,使用VNC远程桌面需要确保网络连接稳定和安全,以防止未经授权的访问。在配置VNC服务器时,请务必设置强密码并限制访问权限。

安装VNCserver,树莓派自带有RealVNC,打开即可。

启动vncserver的命令为vncserver-virtual  -geometry 1440x1080

windows使用vncviewer开启远程桌面连接

登录进去之后就像接了显示器一样操作即可

(2)Python语言

Python语言是一门高级、通用、解释型、面向对象的编程语言。它具有简洁的语法和强大的功能,被广泛用于Web开发、数据分析、人工智能、科学计算等领域。Python具有易学易用的特点,适合初学者入门,同时也能满足专业开发人员的需求。

树莓派Linux系统使用Python命令可以查看Python版本。我安装的版本比较新,集成的Pyhton解释器版本也比较高,不过建议用稍微低一点版本的Python环境。

(3)Vscode

由于这个ARM架构的Linux 环境下我没有找到sublime可以安装的版本。可以用Vscode作为IDE来写代码了,当然也可以用其他的PythonIDE,如Thonny,随便同学们。

然后大家一顿操作猛如虎,都比较简单,安装中文语言,安装Python支持,设置字体(ctrl与+-调整),最后玩个helloworld!

3、点亮LED

当GPIO口11输出低电平时,LED灯点亮。当GPIO口11输出高电平时,LED灯熄灭。

#导入RPi.GPIO库函数命名为GPIO
import RPi.GPIO as GPIO
import time 

#将GPIO编程方式设置为BOARD模式
GPIO.setmode(GPIO.BOARD)

#设置GPIO11输出模式
GPIO.setup(11,GPIO.OUT)

GPIO.output(11,GPIO.LOW)

4、LED灯闪烁

#导入RPi.GPIO库函数命名为GPIO
import RPi.GPIO as GPIO
import time 

#将GPIO编程方式设置为BOARD模式
GPIO.setmode(GPIO.BOARD)

#设置GPIO11输出模式
GPIO.setup(11,GPIO.OUT)

print('Start Blinking...')

while(True):
    GPIO.output(11,GPIO.HIGH)
    time.sleep(1)
    GPIO.output(11,GPIO.LOW)
    time.sleep(1)

短短几行代码即可,闪烁的循环放到while里面,时间间隔为1S,也可以设置为0.1,闪烁就快10倍,如果要终止程序,按键盘的CRTL+C,中断程序的运行。

树莓派LED灯闪烁

5、注意事项

该程序并不完整,如果再次运行会出现警告信息:RuntimeWarning: This channel is already in use, continuing anyway.  Use GPIO.setwarnings(False) to disable warnings.
主要原因是因为使用过的引脚11由于键盘终止死循环而非正常原因退出,没有释放引脚资源,因此需要修改程序,使用try...except...finally异常处理模式。

这样运行多次不会出现警告信息了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值