Arduino UNO 与 倾斜开关传感器 实验详录
倾斜开关学习资料
利用内部带有一颗滚珠的倾斜开关控制LED灯的亮灭,当开关高于水平位置倾斜时开关导通,低于水平位置时开关断开。
实验元器件
面包板
面包板跳线 6根
Arduino UNO控制板
倾斜开关 1个
LED灯 1个
电阻 2个 4.7k
公对母杜邦线 2根
原理图
按照原理图将控制板、扩展板子、面包板连接好,下载线接好。 然后将led灯连接到数字8引脚,滚珠开关连接到模拟5引脚。
实物接线
当开关一端低于水平位置倾斜,开关寻通,模拟口电压值为5V左右 (数字二进制表示为1023),点亮led灯。当另一端低于水平位置倾斜 ,开关停止,模拟口电压值为0V左右(数字二进制表示为0),熄灭led 灯。在程序中模拟口电压值是否大于2.5V左右(数字二迕制表示为512) ,即可知道是否倾斜开关寻通了。
如上图所示,当开关水平放置时,LED灯不亮;当开关斜起时,LED灯亮了。
具体操作流程:
1、打开IDE,编写代码,编译测试;
2、开发版通过USB连接电脑,上传烧录;
3、断开USB连接,无电状态下,按原理图完成接线;
4、检测好电路后,插上USB电源测试;
5、当有开发版指示灯不亮等异常时,及时关掉电源;
6、竖直倾斜开关,观察LED灯是否会亮,验证实验结果。
实验代码:
void setup() {
pinMode(8,OUTPUT);//设置数字8引脚为输出模式
}
void loop() {
int i;//定义发量i
while(1)
{
i=analogRead(5);//读取模拟5口电压值
if(i>200)//如果大于512(2.5V)
{
digitalWrite(8,HIGH);//点亮led灯
}
else//否则
{
digitalWrite(8,LOW);//熄灭led灯
}
}
}
小插曲:
实验时注意:要移除 +-槽 上的相关电子元件,实验时因为没移除导致短路,试了两次,UNO版灯都没亮,刚开始还以为是线路接错或是程序有问题,最后才猛然醒悟,移除了 面包板上的 电源模块,再次通电,终于正常。
参考链接:
Arduino系列教程-012 倾斜开关
上一篇: 纯CSS样式 写switch开关
下一篇: jQuery实现开关灯效果案例