当前位置:首页 > 机器人开发 > 微触开关传感器-很简单的传感器,用程序就能很准确地检测到它的开闭变化
 

微触开关传感器-很简单的传感器,用程序就能很准确地检测到它的开闭变化

来源:机器人的天空    时间:2026/3/5

Z简单的传感器是什么,我一定会回答是微触开关,如图5-1 所示。其实它和我们生活中常常见到的开关没有太大区别。

微触开关也只有“开”和“闭” 两种不同的状态,不过它对于触碰是非常敏感的,只要稍微碰到一点点,开关就会合上。 如果把它连接到主控制器,用程序就能很准确地检测到它的开闭变化了。同学们想想看, 它是不是和昆虫的触角很像呢?我们这节课就要用两个微触开关传感器来模拟昆虫触角 的功能。

输人和输出

对于机器人来说,微触开关就是一个输入器件。究竟什么是输入,什么是输出呢?我 们怎么利用主控制器的输入和输出功能呢?其实这个概念非常简单,如果将主控制器的 一个端口连接到传感器,它就是被作为一个输入端口在使用,因为我们要利用传感器读入 关于环境的信息。而反之,如果将端口连接到执行器,比如一个LED 小灯模块或一个蜂 鸣器模块,那么它就变成了一个输出端口,因为我们是用输出信息去控制执行器执行一些 动作。

在Arduino 主控制器中,每个端口都既可以用作输入端口又可以用作输出端口,同学 们需要在使用时根据实际用途将它们设置为适当的方向。这时就要看到前面课程中已经 见到过的一个“熟面孔”——pinMode 命令,它的用法如下:

pinMode(3,INPUT);

pinMode(5,OUTPUT);

当我们这样使用pinMode 命令时,编号为3号的端口变成输人模式,之后就能使用上面 连接的传感器了。5号端口则变成输出模式,如果要操纵的是LED 小灯或蜂鸣器之类的 执行模块,就一定要记得将端口设置为输出模式。

一般地,我们在编写程序时只需要设置一次端口的方向就够了。请同学们回想一下 Arduino 的程序结构,pinMode 这个命令Z适合出现的地点是不是setup 中呢?

微触开关的状态

假设将微触开关连接到3号端口,并用pinMode 命令将端口设置成输入方向。那么 在后面的程序中,当需要知道微触开关的开闭状态时,只要用 digitalRead 命令就可以很 方便地读取微触开关的值了,这个命令的用法如下:

int value=digitalRead(3);

我们这样使用这条命令,就能够得到在第3号端口上的状态,它是一个值为 HIGH 或者 LOW 的数字。如果微触开关的状态是闭合的,使用 digitalRead 命令得到的就是一个 LOW; 反之则得到HIGH 。 这样,我们只要判断一下 digitalRead 的返回值就知道开关的 状态了。在这本书中,用到的所有开关类型的传感器都可以用这样的方法读取它们的 状 态 。

用条件语句让机器人更智能

前几节课中我们编写的程序都是那种Z简单的“面条型”程序,也就是其中的每个语 句都会被顺序执行。而为小机器人编写智能程序时,肯定希望在某种条件下机器人做某 件事情,在另一种条件下机器人去做另一种事情。那么如何让机器人做到这一点呢?这 就需要用到C 语言中Z常用的语句——条件语句了。条件语句由 if 关键字、else 关键字 和条件表达式组成。

我们先来看看什么是条件表达式。简单地说,条件表达式是一个结果值只可能为 “真”(true) 或“假”(false) 的计算式。它们可以分为两种: 一种叫关系运算;另一种叫逻辑 运算。关系运算主要用来判断值的大小关系,比如判断a 和 b 是否相等,或是判断c 和 d 谁大谁小。而使用逻辑运算可以把几个关系运算连接起来,表达更复杂的逻辑,比如,“a 大于b, 而 且c 大 于d” 这个式子是真还是假?我们把Z常用的这类运算总结在表5-1和 表5-2中。

知道了条件表达式的用法,学会条件语句就没有任何困难了。下面是条件语句Z常

用的几种用法。

if (条件表达式){ 语句;

}

//在这里写条件满足时执行的语句

条件语句Z简单的用法就像上面这样,在条件表达式的值为真时执行大括号中的语 句,如果为假则直接跳过执行大括号后面的部分。

注意:上面的内容中用“语句;”代替的大括号内的部分是可以包含多条语句的。

if (条件表达式){

语句1; }else{

语句2;

//在这里写条件满足时执行的语句

//在这里写条件不满足时执行的语句

这种用法下,如果条件表达式得到满足,就执行语句1;否则执行语句2。

if (条件表达式1){

语句1;

else if(条件表达式2){

语句2; }else{

语句3; //在这里写条件1满足时执行的语句

//在这里写条件1不满足但条件2满足时执行的语句 //在这里写所有条件均不满足时执行的语句

上面这种用法有两个条件表达式,我们的程序会先判断D一个表达式是否满足,如果 D一个条件是 true 就执行语句1;否则判断第2个条件,如果是true 就执行语句2,是 false 则执行语句3。记住如果还有多个条件需要判断,还可以再去增加更多的else if。


 
 
 
相关推荐
» 智能巡线机器人的制作:digitalRead 、digitalWrite 、analogRead 、analogWrite、 pinMode 、delay
» 机器人直线行走的编程-接口、传感器的读数、地面的灰度阈值
» 为机器人安上转向灯:连接机器人,编写程序,观察现象
» 简单机器人的主控制器与扩展板
» 机器人中最为流行的驱动方式-双轮差速驱动
» 机器龟的结构制作材料:底盘,执行器,传感器,中型减速电机,万向轮,标准舵机
» 机器人的避障功能原理:接触式传感器触发的“神经阻断”电路
» 4足机器人的制作材料:微型减速电机,车条,曲别针,热缩管
» 机器人CPG(中枢模式发生器)的制作材料:74HC240,电阻,洞洞板,20脚PDIP插座,锂电池,LED
» 蚂蚁机器人的制作材料:74HC240,光敏二极管,微型电机,电源端子,插头尾簧,洞洞板
» 3D光电跟踪头的制作材料:74HC240,二极管,电容电阻,锂电池,开关端子
» 2D光电跟踪头的构造:两个光敏二极管, 一 片数字逻辑集成电路,一个减速电机
 
 
 
  » 联系我们
X 关闭  
 
网站首页
关于创泽 公司简介   资质荣誉   企业文化
新闻资讯 公司新闻 [机器人新闻 董事长新闻 比赛与荣誉类]  行业动态
解决方案 商用服务机器人   陪护机器人   安防机器人   智能医疗机器人  党建机器人
服务支持 常见问题   下载
人才招聘 招聘信息   精彩瞬间
党群建设 党建活动   工会活动   其他活动
商务合作 招募支持   报名提交
联系我们 售后服务   留言咨询
   
   
 
联系我们  
北京·清华科技园C座五楼
山东省日照市开发区太原路71号
版权所有 © 创泽智能机器人集团股份有限公司           中国运营中心:北京·清华科技园C座五楼       生产研发基地:山东日照太原路71号       电话:4008-128-728