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

    浏览量

    8323
  • 开发板试用
    +关注

    关注

    3

    文章

    299

    浏览量

    1915
收藏 人收藏

    评论

    相关推荐

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

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

    【紫光同创国产FPGA教程】——(PGL22G第二章)键控流水灯实验例程

    LED1~8),FPGA输出高电平时对应的LED灯亮灯(详情请查看“MES22GP开发板硬件使用手册”)。 二:实验目的 由 USER_KEY1
    发表于 01-05 11:22

    【每周一练】盘古1K开发板 练习一:LED流水灯实验

    查看附件中的快速使用手册。 LED流水灯实验 本次实验实现LED流水灯,使用的到的硬件为LED灯,在【每周一练】小眼睛FPGA
    发表于 12-21 00:20

    STM32按键控制LED的亮灭

    使用一个按键控制LED的亮灭,按键按下时LED亮起,按键松开时LED熄灭。通过
    的头像 发表于 12-11 14:19 2064次阅读
    STM32<b class='flag-5'>按键控制</b><b class='flag-5'>LED</b>的亮灭

    【每周一练】盘古1K开发板 练习二:按键控制彩灯实验

    实验目的 1 设计 8 种彩灯效果, 可通过按键切换。 2 选择一个按键作为控制输入, 按下一次换一种显示效果, 在 8 种效果中循环。 实验要求
    发表于 12-09 14:55

    【每周一练】盘古1K开发板 练习二:按键控制LED灯实验

    Part选项,选择开发板FPGA型号,这里选PGC1KG-6LPG100,如下图所示 图1:型号选择 2.原理图按键LED相关接口 图
    发表于 12-06 00:36

    【每周一练】盘古1K开发板 练习二:按键控制LED灯实验学习记录

    经过练习一:LED流水灯后,进行练习二:按键控制LED灯实验也就相对容易些,有demo加持完成实验很容易,主要还是学习代码编写。 参考资料: 1
    发表于 11-28 15:31

    【每周一练】盘古1K开发板 练习二:按键控制LED灯实验

    实验目的:掌握按键消抖原理,实现按键控制流水灯 实验要求:设计 8 种彩灯效果,选择一个按键作为控制输入,按下一次换一种显示效果
    发表于 11-22 11:47

    【ELF 1开发板试用】+ RGB LED按键控制

    1开发板上,自然也不会少了它,其在开发板上的位置如图1所示,共有3个,其颜色分别为红、绿、黄3个色彩。 图1LED灯 3个
    发表于 11-21 11:11

    基于单片机的按键控制四级变速流水灯设计

    四个按键控制流水灯变速,实现四级速度控制
    的头像 发表于 08-14 10:47 750次阅读

    【新定义MCU开发板测评】点灯及流水灯

    一、开箱 收到的开发板由两块板子组成,一块RD8X3X开发板和一块EBS001扩展板。组合后如下图 二、点灯 1、在新定义官网下载易码魔盒并安装,链接如下 下载中心 (rdsmcu.com) 2
    发表于 08-13 12:24

    【紫光同创国产FPGA教程】【PGC1/2KG第二章】LED 流水灯实验例程

    Compa 系列PGC1KG-LPG100 / PGC2KG-LPG100 器件为核心,预留丰富的扩展 IO 及数码管、按键LED 灯,为用户提供基本的硬件环境。 二:实验目的 掌握流水灯
    发表于 08-09 11:58

    紫光同创FPGA入门指导:键控流水灯——紫光盘古系列22K开发套件实验教程(二)

    按键输入,切换 USER_LED1~ USER_LED8 的输出效果。 三:实验原理 实现框架如下: (1)顶层实现按键切换
    发表于 08-04 14:08

    从零开始学习紫光同创FPGA——PGL22G开发板键控流水灯(三)

    一、键控流水灯 1、实验目的 掌握流水灯的原理,学会使用循环移位和拼接操作。 2、实验要求 使用4个按键控制切换4种
    发表于 06-15 18:43

    【小眼睛科技紫光盘古50K开发板试用体验】之三:按键控制LED亮灭

    今天做个基础测评,通过按键控制LED状态,按键原理图如下:通过原理图得知盘古50K开发板按键连接10K的上拉电阻串联,然后
    发表于 05-25 17:00