0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【天启教育M1开发板试用体验】python按键控制LED流水灯

开发板试用精选 来源:开发板试用 作者: 电子发烧友论坛 2022-10-17 11:10 次阅读

本文来源电子发烧友社区,作者:刘建华, 帖子地址:https://bbs.elecfans.com/jishu_2309100_1_1.html


【目的】在用转接板的两个按键来控制LED的左右移动
【步骤】
1、建立一个按键显示缓存mylist =[0x08,0x08,0x08,0x08,0x08,0x08] 用这个缓存生成显示用的字符串
#value= '1000000,1000000,1000000,1000000,1000000,1000000'
再用显示函数tqmain.matri_strfill_display来驱动整个显示屏,函数如下:

def get_key():
  global state
  key_value1 = tqs1.key_get_status(2)
  #print(key_value1)
  if key_value1 == 0:
    for i in range(0,6):
      mylist[i] = mylist[i]>>1
      if mylist[i] == 0x00:
        mylist[i] = 0x01
    print("KeyB changed")
    state = True

注:state,为了加快按键的检测实时性,这里引入这个状态标志,如果按键事件发生,则更新这个状态键,主程序再去显示。
2、按键检测程序。首先要import tqs1模块,如果有检测到按键按下,测更新state状态标志,缓存做相对的位移动。具体程序如下:

def get_key():
  global state
  key_value1 = tqs1.key_get_status(2)
  #print(key_value1)
  if key_value1 == 0:
    for i in range(0,6):
      mylist[i] = mylist[i]>>1
      if mylist[i] == 0x00:
        mylist[i] = 0x01
    print("KeyB changed")
    state = True
  key_value2 = tqs1.key_get_status(1)
  if key_value2 == 0:
    for i in range(0,6):
      mylist[i] = mylist[i]<<1
      if mylist[i] > 0x40:
        mylist[i] = 0x40
    print("KeyA changed")
    state = True

3、然后在主程序下面调用以上两个程序。测可以实现两个按键控制LED灯左右移动。

import os
import tqs1
import tqmain
#value= '1000000,1000000,1000000,1000000,1000000,1000000'
mylist =[0x08,0x08,0x08,0x08,0x08,0x08]
tqmain.serial_write_line("start")
state = True
def disp_tq():
  global state
  state = False
  mystr =[]
  for i in range(0,6):
    myvalue = mylist[i] | 0x80 #确保可以去掉0b1
    mystr.append(bin(myvalue).replace('0b1',''))
  #tqmain.serial_write_line(mystr[1])
  value = ','.join(mystr)
  tqmain.matri_strfill_display(value)
  
def get_key():
  global state
  key_value1 = tqs1.key_get_status(2)
  #print(key_value1)
  if key_value1 == 0:
    for i in range(0,6):
      mylist[i] = mylist[i]>>1
      if mylist[i] == 0x00:
        mylist[i] = 0x01
    print("KeyB changed")
    state = True
  key_value2 = tqs1.key_get_status(1)
  if key_value2 == 0:
    for i in range(0,6):
      mylist[i] = mylist[i]<<1
      if mylist[i] > 0x40:
        mylist[i] = 0x40
    print("KeyA changed")
    state = True

while True:
  get_key()
  if state == True:
    print("dispn")
    disp_tq()
  os.sleep(0.1)

【总结】开发板支持python编程,可以实现很多好玩的东西。
【备注】由于被抽到外地支援抗疫,这个开发板非常容易携带,工作之余还可以继续写帖子。

按键控制LED,视频演示,详见作者原帖子内容。



声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • LED流水灯
    +关注

    关注

    0

    文章

    10

    浏览量

    8369
  • 开发板试用
    +关注

    关注

    3

    文章

    301

    浏览量

    2120
收藏 人收藏

    评论

    相关推荐

    【正点原子STM32H7R3开发套件试用体验】流水灯

    【正点原子STM32H7R3开发套件试用体验】流水灯 本文介绍了使用 STM32CubeMX 辅助配置 GPIO 及晶振参数,实现流水灯的方法。 工程创建
    发表于 12-28 18:51

    低成本单片机方案——触摸流水灯开关控制

    方案触摸流水灯控制方案Thedevelopmentofascheme随着物联网技术的不断发展和智能家居的普及,触摸流水灯控制方案作为一种新型的智能照明
    的头像 发表于 12-26 16:37 166次阅读
    低成本单片机方案——触摸<b class='flag-5'>流水灯</b>开关<b class='flag-5'>控制</b>

    【RA-Eco-RA4E2-64PIN-V1.0开发板试用】MDK+点灯+流水灯

    在之前的空白工程里src加入文件,命名得加bsp不然添加不进去工程。 文件加入工程里,点击Generate Project Content,再编译一次 配置引脚,根据硬件图得知,本开发板
    发表于 12-15 15:59

    追加名额丨米尔瑞芯微RK3576开发板有奖试用

    米尔与瑞芯微合作发布的新品基于瑞芯微RK3576应用处理器的MYD-LR3576开发板免费试用活动加码啦~~米尔追加了2块价值849元的MYD-LR3576开发板发起试用活动您不仅可以
    的头像 发表于 11-22 01:00 217次阅读
    追加名额丨米尔瑞芯微RK3576<b class='flag-5'>开发板</b>有奖<b class='flag-5'>试用</b>

    【RA8D1试用活动】RA8D1B-CPKCOR开发板移植linux

    【RA8D1试用活动】RA8D1B-CPKCOR开发板移植linux
    的头像 发表于 11-16 01:02 276次阅读
    【RA8D<b class='flag-5'>1</b><b class='flag-5'>试用</b>活动】RA8D<b class='flag-5'>1</b>B-CPKCOR<b class='flag-5'>开发板</b>移植linux

    【RA-Eco-RA2E1-48PIN-V1.0开发板试用】RA-Eco-RA2E1-48PIN-V1.0开发板流水灯测试

    前几天试用的一块瑞萨的RA2L1AB开发板,今天就来尝试一下设置[GPIO]来点亮一盏LED。 收到的开发板各项按钮及插接件功能图如下:
    发表于 11-04 23:25

    【RA-Eco-RA2E1-48PIN-V1.0开发板试用】带你认识RA-Eco-RA2E1-48PIN-V1.0开发板

    RA-Eco-RA2E1-48PIN-V1.0是一款基于48 MHz Arm® Cortex®-M23 内核架构的开发板,板载2个触摸按键1
    发表于 11-04 22:53

    单片机POV LED流水灯制作

    电子发烧友网站提供《单片机POV LED流水灯制作.docx》资料免费下载
    发表于 05-28 14:34 3次下载

    【紫光同创盘古PGX-Nano教程】——(盘古PGX-Nano开发板/PG2L50H_MBG324第三章)键控流水灯实验例程

    灯、按键、拨码开关等。 二:实验目的 由PB0(即开发板S0位置)按键输入,切换LED0~LED7的输出效果。 三:实验原理
    发表于 04-29 16:06

    【紫光同创盘古PGX-Lite 7K教程】——(盘古PGX-Lite 7K开发板/PGC7KD-6IMBG256第三章)​键控彩灯实验例程

    、设计 8 种彩灯效果,可通过按键切换。2 、设置 1 个普通按键作为控制输入,按下一次换一种显示效果,在 8 种效果中循环。 三:实验要求1
    发表于 03-27 17:58

    【紫光同创盘古PGX-MINI-4K教程】——(盘古PGX-MINI-4K开发板/PGC4KD-6ILPG144第二章)LED 流水灯实验例程

    载 jtag 调试接口, 预留两组 20PIN 扩展 IO、数码管、按键led 灯等硬件资源,为用户提供基本的 开发环境。 二:实验目的掌握流水灯原理并实现
    发表于 03-26 16:24

    【紫光同创盘古PGX-Lite 7K教程】——(盘古PGX-Lite 7K开发板/PGC7KD-6IMBG256第二章)​LED 流水灯实验例程

    ; 在 C 语言中做流水灯的实验需要用到一个中间变量(代码如下左侧,数据位的搬移如下右图):在 FPGA 的开发中是基于硬件,语言也是硬件描述语言,verilog 的处理单位就是 1bit;8bit 的位
    发表于 03-20 15:07

    ELF 1技术贴|在NXP源码基础上适配开发板按键功能

    至ELF1开发板。接下来,我们将详细阐述适配过程中关于按键功能实现的完整步骤。值得一提的是,ELF1开发板上预置了标识为K
    的头像 发表于 03-08 16:58 983次阅读
    ELF <b class='flag-5'>1</b>技术贴|在NXP源码基础上适配<b class='flag-5'>开发板</b>的<b class='flag-5'>按键</b>功能

    ELF 1技术贴|如何将Python3.6.9移植到开发板

    在ELF1开发板的Linux4.1.15eMMC镜像中,默认预装了Python2.7。为了适应更多应用场景,有些小伙伴可能需要移植其他版本的Python,下面将以
    的头像 发表于 02-22 14:06 449次阅读
    ELF <b class='flag-5'>1</b>技术贴|如何将<b class='flag-5'>Python</b>3.6.9移植到<b class='flag-5'>开发板</b>上

    学习笔记分享|使用C库函数控制ELF 1开发板LED

    (ELF1/ELF1S开发板及显示屏)在嵌入式Linux系统开发中,通过编程控制硬件资源是至关重要的技能之一,今天跟各位小伙伴分享一篇专注于
    的头像 发表于 01-19 11:12 594次阅读
    学习笔记分享|使用C库函数<b class='flag-5'>控制</b>ELF <b class='flag-5'>1</b><b class='flag-5'>开发板</b>的<b class='flag-5'>LED</b>