“循迹”的版本间的差异
来自Labplus盛思维基百科
Labplus课程组(讨论 | 贡献) (→图形化示例) |
Labplus课程组(讨论 | 贡献) (→Python示例) |
||
第33行: | 第33行: | ||
// 0 1 转 不转 // | // 0 1 转 不转 // | ||
// 0 0 转 转 // | // 0 0 转 转 // | ||
− | + | from microbit import * | |
− | + | ||
− | + | D1 = None | |
− | + | D2 = None | |
− | + | ||
− | + | def digitalRead(pin): | |
− | + | pin.read_digital() | |
− | + | pin.set_pull(pin.NO_PULL) | |
− | + | return pin.read_digital() | |
− | + | ||
− | + | ||
− | + | while True: | |
+ | D1 = digitalRead(pin10) | ||
+ | D2 = digitalRead(pin4) | ||
+ | if D1 == 1 and D2 == 0: | ||
+ | pin14.write_analog(1) | ||
+ | sleep(2) | ||
+ | pin13.write_analog(1) | ||
+ | sleep(2) | ||
+ | pin16.write_analog(500) | ||
+ | sleep(2) | ||
+ | pin15.write_analog(1) | ||
+ | sleep(2) | ||
+ | elif D1 == 0 and D2 == 1: | ||
+ | pin16.write_analog(1) | ||
+ | sleep(2) | ||
+ | pin15.write_analog(1) | ||
+ | sleep(2) | ||
+ | pin13.write_analog(500) | ||
+ | sleep(2) | ||
+ | pin14.write_analog(1) | ||
+ | sleep(2) | ||
+ | else: | ||
+ | pin13.write_analog(500) | ||
+ | sleep(2) | ||
+ | pin14.write_analog(1) | ||
+ | sleep(2) | ||
+ | pin16.write_analog(500) | ||
+ | sleep(2) | ||
+ | pin15.write_analog(1) | ||
+ | sleep(2) | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</pre> | </pre> | ||
2018年4月20日 (五) 16:54的版本
概述
可用于循迹线检测,当检测到黑色时,输出高电平,检测白色时,输出低电平。
基于红外反射原理,红外发射二极管不断发射红外线,红外光电三极管接收反射回来的红外光。由于白色对红外反射强,黑色对红外反射弱,故此可检测黑、白线。
技术参数
- 工作电压:VCC 3.3-5V
- 检测范围:1-3cm
- 模块尺寸:24x46x7.5mm
引脚定义
VCC | 电源 |
D1 | 对应D1红外接收触发值 |
D2 | 对应D2红外接收触发值 |
GND | 地 |
使用教程
在安装循迹模块时约距离循迹线1CM左右
Python示例
//程序功能:根据循迹传感器两个红外对管的不同状态,控制两个电机的状态// //红外对管1 红外对管2 电机1 电机2// // 1 1 不转 不转 // // 1 0 不转 转 // // 0 1 转 不转 // // 0 0 转 转 // from microbit import * D1 = None D2 = None def digitalRead(pin): pin.read_digital() pin.set_pull(pin.NO_PULL) return pin.read_digital() while True: D1 = digitalRead(pin10) D2 = digitalRead(pin4) if D1 == 1 and D2 == 0: pin14.write_analog(1) sleep(2) pin13.write_analog(1) sleep(2) pin16.write_analog(500) sleep(2) pin15.write_analog(1) sleep(2) elif D1 == 0 and D2 == 1: pin16.write_analog(1) sleep(2) pin15.write_analog(1) sleep(2) pin13.write_analog(500) sleep(2) pin14.write_analog(1) sleep(2) else: pin13.write_analog(500) sleep(2) pin14.write_analog(1) sleep(2) pin16.write_analog(500) sleep(2) pin15.write_analog(1) sleep(2)
图形化示例
连接如上图所示
应用示例
版本历史记录
Version | Date | Note [+]新增[-]删除[^]修复 |
---|---|---|
V2.0 |