![]() |
微触开关传感器-很简单的传感器,用程序就能很准确地检测到它的开闭变化 |
||
| 2026/3/5 15:09:10 | 4905 |
|
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。
|
||
| 上一篇 下一篇 | ||
| 返回顶部 ∧ |
| 技术支持 |
| 关于创泽 |
| 隐私条款 |
|
版权所有 @ 创泽智能机器人集团股份有限公司 运营中心 / 北京市·清华科技园九号楼5层 生产中心 / 山东省日照市开发区太原路71 |