【雕爷学编程】Arduino动手做(78)---槽型光耦红外对射计数传感器模块3

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试多做实验,不管成功与否,都会记录下来——小小的进步或是搞不掂的问题,希望能够抛砖引玉。
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验七十八:对射光电传感器模块 脉冲计数器 电机马达测速 位置限位槽型光耦

槽型光耦计数测速传感器模块的实验环境
一、槽型光耦计数测速传感器模块实验所需硬件清单
20栅格测速码盘X2
Arduino Uno开发板 X1
杜邦线 若干(备了9条)
LED发光二极管(蓝色)X1
DC3V-6V直流减速TT马达X2
IIC/I2C 1602 LCD液晶屏模块X1
高电平触发有源蜂鸣器模块 X1
高电平触发单路5V继电器模块X1
Proto Shield原型扩展板(带mini面包板)X1

槽型光耦计数测速传感器模块的几个实验
1、程序一:测试遮断计数器
(1)参考开源代码(Arduino):
/*【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)程序一:测试遮断计数器实验接线:光耦 unoVCC 5VGND GNDOUT D2
*/int speedPin = 2; //定义数字2接口
int cntValue = 0;void setup () {pinMode(speedPin, INPUT); //2号数字口设置为输入状态Serial.begin(9600);Serial.println("槽型光耦模块准备就绪!");
}void loop() {//判断是否被遮挡if (digitalRead(speedPin) == 0){ cntValue++;//计数增加Serial.print("遮挡计数=");Serial.println(cntValue);//串口输出计数值while (digitalRead(speedPin) == 0); //等待遮挡结束}
}
(2)实验串口返回情况

(3)实验场景图

2、程序二:简易声光遮断报警器
(1)实验开源仿真编程(Linkboy V4.63)

(2)实验场景图

3、程序三:遮挡声光报警与串口输出报警
(1)实验开源图形编程(Mind+、Mixly、编玩边学)

(2)实验串口返回情况

(3)实验结果
a、槽型光耦模块接D2脚,LED接D13,蜂鸣器接D7;
b、通电后,进入警戒模式,串口输出“解除警报”;
c、当发生遮挡时,触发报警,LED灯亮,蜂鸣器响,串口输出“声光报警”;
D、无遮挡时,停止报警,LED不亮,蜂鸣器不响,串口输出“解除报警”。
4、程序四:光中断传感器模块测试代码
(1)参考开源代码(Arduino):
/*【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)程序四:光中断传感器模块测试代码实验接线:LED接D13光耦 unoVCC 5VGND GNDOUT D2
*/int Led = 13;
int val;void setup() {pinMode(Led, OUTPUT);//D13脚接LED灯,设置输出模式pinMode(2, INPUT); //槽型光耦连接引脚D2,并设置为输入模式
}void loop() {val = digitalRead(2);if (val == HIGH){digitalWrite(Led, HIGH);//如果有遮挡,点亮LED灯}else{digitalWrite(Led, LOW);//否则熄灭}
}
(2)实验场景图


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
