Beispiel #1
0
# 简介:
# 根据电位器读数设置LED灯泡状态
# 加入记录LED状态的变量以防止重复发出指令
# 在micro:bit显示屏上增加对电位器示数的显示

import poten, led  # 导入模块控制库
from microbit import sleep, display

is_on = False  # 记录LED当前状态,防止重复操作
led.off()  # 确保初始LED为关闭状态

# 循环进行
while True:
    # 读取电位器位置(0-4095)
    pv = poten.value()

    # 根据读数设置LED灯状态
    if pv < 2048:
        if is_on:
            led.off()
            is_on = False
    elif not is_on:
        is_on = True
        led.on()

    # 计算并设置点亮像素位置
    pos = int(pv * 25 / 4100)
    display.clear()
    display.set_pixel(pos % 5, pos // 5, 9)
Beispiel #2
0
# 简介:
# 根据电位器读数设置LED灯泡状态
# 加入记录LED状态的变量以防止重复发出指令
# 使用函数列表方式简化语句
# 在micro:bit显示屏上增加对电位器示数的显示
# 绘制显示像素点移动的尾迹

import poten, led  # 导入模块控制库
from microbit import sleep, display

is_on = False  # 记录LED当前状态,防止重复操作
led.off()  # 确保初始LED为关闭状态
function_map = [led.off, led.on]  # 包含对LED灯操作的列表

pos_old = int(poten.value() * 25 / 4100)  # 用于记录上一帧像素点位置

# 循环进行
while True:
    # 读取电位器位置(0-4095)
    pv = poten.value()

    # 根据读数设置LED灯状态
    new_stat = (pv >= 2048)
    if new_stat != is_on:
        is_on = new_stat
        function_map[is_on]()

    # 渐隐效果
    for i in range(5):
        for j in range(5):
Beispiel #3
0
				display.set_pixel(i % 4, i // 4, 9 * bool(chn & ptr))
				ptr *= 2
			oled.clear()
			temp, humi = temp_humi.temp_humi()
			oled.show(0, 0, b'\xce\xc2\xb6\xc8\xa3\xba%s\xa1\xe6' % temp)
			oled.show(2, 0, b'\xca\xaa\xb6\xc8\xa3\xba%s%%' % humi)
			temp, humi = temp_humi.temp(), temp_humi.humi()
			oled.show(4, 0, b'\xce\xc2\xb6\xc8\xa3\xba%s\xa1\xe6' % temp)
			oled.show(6, 0, b'\xca\xaa\xb6\xc8\xa3\xba%s%%' % humi)
			sleep(500)
		break
	elif ta == 3 and tb == 4:
		# 测试LED、电位器
		display.show(Image.HAPPY)
		import led, poten
		led.off()
		flag, counter = 0, 0
		while not (button_a.get_presses() + button_b.get_presses()):
			counter += poten.value()
			if counter >= 4096:
				counter -= 4096
				if flag:
					led.off()
					flag = 0
				else:
					led.on()
					flag = 1
		break
	else:
		sleep(10)
display.clear()
Beispiel #4
0
# 硬件模块:
# micro:bit×1;主板×1
# 模块×2:电位器、LED灯泡

from microbit import *
import music
import poten, led  # 模块控制库

# 初始化记录变量
t, led_on = 0, 0
led.off()

while True:
    # 向计时变量增加部分读数
    t += poten.value() or 1
    if t > 5000:
        t -= 5000

        # 蜂鸣
        music.pitch(1000, 50, wait=0)

        # 切换LED灯状态
        if led_on:
            led_on = 0
            led.off()
        else:
            led_on = 1
            led.on()

    # 延迟50ms后继续读数