查看: 1167|回复: 0

[评测分享] 【树莓派5测评】 05.GPIO操作1

[复制链接]
  • TA的每日心情
    慵懒
    昨天 21:11
  • 签到天数: 161 天

    连续签到: 9 天

    [LV.7]常住居民III

    发表于 2024-3-17 00:26:35 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 stm1024 于 2024-3-17 13:36 编辑

    又到了广大人民群众喜闻乐见的点灯环节了。
    先说点题外话。一般采用A系列控制器,一般对外设的侧重点不是很强,更多的是跑算法和应用,一般也就串口通讯,主要是使用以太网或者USB通讯,HDMI等显示。但是树莓派作为全能型选手表示我全都要,不光这些有,而且一般微控制器上的什么UART,I2C,SPI,CAN等,也是支持的。
    先看看经典的40 PIN针脚定义,这么多代的更迭,40PIN定义基本上没有变化,甚至还形成了树莓派HAT(Hardware Attached on Top),虽然有消息表示树莓派5以后可能会支持HAT+,不过目前来看HAT应该还是可以使用的,以下是4的定义(5的没找到):

    4b pin.jpg


    4b pin2.jpg

    我们可以在终端中输入pinout,查看其针脚定义:

    11.jpg

    在以后万一出现了与文档不一致时,以这个命令显示的结果为准。


    可以看到,针脚号和GPIO通道号,并不一致,例如,17号GPIO口,其针脚号为11。其中11是物理针脚,而17是逻辑针脚,在接线的时候需要连接11,但是在操控时,则需要控制17号通道。可以将LED的正极接在11号针脚上,然后将负极连接在9号针脚(GND)上,注意LED的电压范围,最好串联一个合适的电阻,避免LED被烧坏。


    搞清除了硬件以后,再看看软件环境。目前树莓派5官方只给出只能只用GPIO ZERO库,该库是基于Python的,已被系统自带,所以可以放心使用。

    我们可以先看看系统中安装的Python,在终端中输入python,显示如下:

    12.jpg

    可以看到使用的是Python3.11,次版本号多少并不太重要,重要的是主版本号是Python3,而不是Python2,输入quit()先退出再说。

    打开编辑器Geany:

    13.jpg

    然后输入如下代码:

    1. from gpiozero import LED
    2. from time import sleep
    3. led = LED(17)
    4. while True:
    5.     led.on()
    6.     print("LED ON")
    7.     sleep(1)
    8.     led.off()
    9.     print("LED OFF")
    10.     sleep(1)
    复制代码
    务必注意Python坑爹的缩进,保存为test.py,然后点击工具栏上的那个纸飞机,就可以运行了:

    14.jpg

    实测效果如下:
    36.gif


    接下来,开发板就可以吃灰了(
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-11-22 01:00 , Processed in 0.121393 second(s), 16 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.