根据光线强度不同,发出声音
预备知识:
模拟量:连续变化的量。0~1023,10位二进制数
数字量:0或者1,1位的二进制数
光敏传感器:能根据光线强弱的变化输出0~1023之间的数据,来代表光线强弱的变化。光线越强,输出的数越小。对控制板来说,是输入设备
扩展板GPIO之pin0,pin1
扩展板之扬声器,能根据不同频率输出不同的声调,对控制板来说,是输出设备
python条件判断:if语句,注意冒号,与缩进。
实现的效果:
今天要向大家分享的是micro:bit模拟量的读取。microbit板子上有三种针脚类型,,有可触碰口(P口),数字口(D口)和模拟口(A口),通过引脚说明图,能看到引脚P0,P1,P2,P3,P4,P10能够模拟读取,也能模拟输出量,我们看下图

我们通过pin1读入光敏传感器的模拟量,(0~1023范围内变化),如果小于200,就驱动扩展板的扬声器发声。否则静默不发声。
材料:
- 光敏传感器
- micro:bit控制板
- robot:bit扩展板
- 母对母连线
接线:
光敏传感器信号线接pin1,因为robotbit这块板子上,pin0接了扬声器。
原理:
代码1:
1 import music 2 from microbit import * 3 while True: 4 i = pin1.read_analog() 5 if i < 200: 6 i = i * 5 7 music.pitch(i,110) 8 else : 9 music.pitch(0,0)
代码2:
import music from microbit import * #三只老虎乐谱 tiger= ["C4:4", "D4:4", "E4:4", "C4:4", "C4:4", "D4:4", "E4:4", "C4:4","E4:4", "F4:4", "G4:8", "E4:4", "F4:4", "G4:8"] while True: light = pin1.read_analog() if light < 200: music.play(tiger) else: display.show(Image.HEART) #心型
代码解析:
图形化编程:

小结:
大家可以思考一下,根据这次课程内容,我们可以来实现什么样的项目?方便我们的生活?

浙公网安备 33010602011771号