Arduino UNO 与 倾斜开关传感器 实验详录

倾斜开关学习资料

QQ图片20170620230340.png

利用内部带有一颗滚珠的倾斜开关控制LED灯的亮灭,当开关高于水平位置倾斜时开关导通,低于水平位置时开关断开。

实验元器件

面包板

面包板跳线 6根

Arduino UNO控制板

倾斜开关 1个

LED灯 1个

电阻 2个 4.7k

公对母杜邦线 2根

原理图

Arduino接线图.png

按照原理图将控制板、扩展板子、面包板连接好,下载线接好。 然后将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 倾斜开关

https://blog.csdn.net/yingcloud/article/details/19032413

猜你喜欢

转载自blog.csdn.net/jacka654321/article/details/81875498