| 适用教材 | 浙教版《义务教育教科书 信息科技》 |
|---|
| 资源名称 | 电风扇控制系统 |
|---|
| 使用产品 | 信息科技(浙教版教具资源包) |
|---|
| 课程参考 | 五年级下册 第21页 |
|---|
| 搭建动画 |
| 搭建动画 |
本次实验采用了信息科技实验板,配备了按键(板载)、风扇、舵机,实现电风扇常见功能,并采用了PWM脉冲调制技术。通过按键控制,可以实现对风扇风速的分档调节。风扇的速度分为三个档位,起始风速为零。每按一次按键B,风扇的速度就会提升一个档位,而每按四次按键后,风扇的速度会重置为零。此外,按下按键A可以使小风扇进入摇头模式。
 |  |
from npython import *
CYCLE = 100
gear_level = 0
servo_angle = 90
angle_increment = 1
swing_mode = False
swing_count = 0
servos.write_angle(1, servo_angle)
while True:
if button.get_b():
while button.get_b():
pass
gear_level = (gear_level + 1) % 4
if button.get_a():
while button.get_a():
pass
swing_mode = not swing_mode
oled.print(1, 1, "电风扇控制系统", 1)
oled.print(1, 2, "挡位:" + str(gear_level), 1)
if swing_mode:
oled.print(1, 3, "摇头模式:开", 1)
else:
oled.print(1, 3, "摇头模式:关", 1)
while True:
if swing_mode:
swing_count = (swing_count + 1) % 3
if swing_count == 0:
servos.write_angle(1, servo_angle)
servo_angle += angle_increment
if servo_angle >= 180:
angle_increment = -1
elif servo_angle <= 0:
angle_increment = 1
if gear_level <= 0:
pin0.write_digital(0)
time.sleep_ms(6)
elif gear_level >= 3:
pin0.write_digital(1)
time.sleep_ms(6)
else:
pin0.write_digital(1)
time.sleep_ms(gear_level * 2)
pin0.write_digital(0)
time.sleep_ms(6 - gear_level * 2)
if button.get_b() or button.get_a():
break