云天 发表于 2021-8-12 20:00:02

【试用测评】FireBeetle ESP32-E扩展板——LED Button


FireBeetle ESP32-E扩展板
【LED Button】

LED Button是一款按钮会发光的开关式按键。当我们按下按键时,它可以发出彩虹的颜色,比如常见的“红、黄、绿、蓝、白”这五种颜色。同时它可以与micro:bit,Arduino等主板结合使用,然后实现很多有趣的互动作品。


【引脚中断】
Pin.irq(trigger, handler)函数说明:配置一个中断处理程序,在引脚的电平满足条件时调用。

trigger:   Pin.IRQ_FALLING — 下降沿触发    Pin.IRQ_RISING — 上升沿触发    3 — 双边沿触发
handler:回调函数

示例:sw.irq(trigger=Pin.IRQ_FALLING, handler=lambda t:print("IRQ"))


下面的宏定义用于配置pin。注意:不是每个端口都有下面的全部属性。
选择pin模式 *
Pin.IN   = 0    — 输入模式 * Pin.OUT   = 3    — 输出模式 * Pin.OPEN_DRAIN    =7   — 开漏模式设置上拉/下拉电阻 * Pin.PULL_UP    = 0    — 输出高电平 * Pin.PULL_DOWN   = 1    — 输出低电平设置IRQ触发类型 * Pin.IRQ_RISING   = 1    — 上升沿中断 * Pin.IRQ_FALLING   = 2    — 下降沿中断 * 3    — 双边沿中断
【FireBeetle ESP32-E】
按钮接扩展板D5,对应esp32引脚0。led灯接扩展板D6,对应esp32引脚14


【uPyCraft程序】

#hardware platform: FireBeetle-ESP32
#Result: Blink
#The information below shows blink is unavailble for the current version.
#IO0 IO4 IO10 IO12~19 IO21~23 IO25~27
#Except the connection between IO2 and onboard LED, other pins need to connect to external LEDs.

import time
from machine import Pin
led=Pin(14,Pin.OUT)      #create LED object from pin2,Set Pin2 to output
sw=Pin(0, Pin.IN)
sw.irq(trigger=Pin.IRQ_RISING, handler=lambda t:led.value(not led.value()))
while True:
pass


【效果】




【循环判断】


import time
from machine import Pin
led=Pin(14,Pin.OUT)      #create LED object from pin2,Set Pin2 to output
sw=Pin(0, Pin.IN)

while True:
if sw()==1:
      led(1)
   
else:
       led(0)
      


【数字触摸开关Touch】



页: [1]
查看完整版本: 【试用测评】FireBeetle ESP32-E扩展板——LED Button