Arduino初初教程5——I/0口输入组件

按键作为I/O口输入器件在上一次已经看到了使用的效果。其实际上就是用来控制线路的通断,在加上上拉电阻等器件的配合达到改变I/O口信号的效果。
倾斜开关也叫滚珠开关、钢珠开关。它主要是利用滚珠在开关内随不同倾斜角度的变化,达到触发电路的目的,类似于传统的水银开关。如图所示的是较常用的SW-200D型倾斜开关。
观察倾斜开关可以収现,倾斜开关的一端为金色导针,另一端为银色导针。金色一端为<ON>导通端,银色一端为<OFF>开路端。当受到外力摇晃而达到适当晃动力时或金色一端角度低于水平角度时,会产生短时间导通或持续导通<ON>状态 ;而要恢复开路状态<OFF>时开关环境必须为静止,且银色一端角度需低于水平10度。
倾斜开关的连接方式与按键相同,按键传递的是按压的信号,而倾斜开关传递的是角度信号。
可以参照上次内容是试试倾斜开关的使用哦

附件 20110701_93f3045159564edd8e21HxpimslY0gWw

程序和信号输入里的内容类似,在处理倾斜开关时也要考虑去抖的问题。
程序如下(直接粘贴到Arduino开发环境下就可直接应用):
void setup()
{
//设置13号引脚为输出,用于led显示
    pinMode(13, OUTPUT);
    //设置2号引脚为倾斜开关输入
    pinMode(2, INPUT);
}
void loop()
{
//判断倾斜开关是否导通
    if(LOW = = digitalRead(2))
{
//延时去抖
delay(50);
if(LOW = = digitalRead(2))
{
//点亮LED
digitalWrite(13,HIGH);
while(1)
{
//判断倾斜开关是否断开
if(HIGH = = digitalRead(2))
{
//延时去抖
delay(50);
if(HIGH = = digitalRead(2))
break;
}
}
//熄灭LED
digitalWrite(13,LOW);
}
   }
}
程序效果是当改变倾斜开关的角度时,LED会相应的点亮和熄灭

你可能感兴趣的:(教程,arduino)