【Arduino官方教程第一辑】示例程序 5-4 Switch和Case条件语句
2016-05-27 09:18
3883 查看
Switch和Case条件语句
If语句允许你根据条件的真假(真(TRUE)或假(FALSE))进行两个分支操作。当需要进行多个判断时,你就必须使用If嵌套。不过其实还有一种更为简洁的处理多条件判断的方法,那就是使用switch语句,switch语句允许你一次对多种情况进行区分。本例向你展示如何使用switch语句来一次根据光敏电阻的四种不同状态(全黑,较暗,中等,较亮)进行不同的处理。程序首先读取光敏电阻的模拟信号值。然后它使用map()函数来将模拟值映射到四个数字:0,1,2,3。最终,一个switch()语句将会根据映射后的数字输出不同的信息到电脑。
完成本例所需的硬件设备
Arduino或Genuino板光敏电阻 或 其他输出模拟信号的传感器
10kΩ电阻
跳线
面包板
连接线
电路连接
光敏电阻通过一个分压电路连接到A0口(使用10kΩ电阻进行分压)。在这个电路中,analogRead()函数在室内一般会返回0-600的数字。
原理图
例程代码
/* Switch和Case条件语句 展示switch语句的使用,switch语句让你能够一次对变量的多个可能值进行分支处理,这和使用一系列if语句嵌套的功效相同。但使用switch将使代码更加简洁。 为了更好的看到效果,请在有良好照明的房间进行实验。实验过程中你只需要打开串口监视器,并且逐渐将你的手移到串口监视器上方。 电路搭建: * 连接模拟信号传感器到A0口和+5V接口 * 连接10KΩ电阻到A0口和GND接口 代码公开。 */ // 常量,定义了传感器的最大、最小值: const int sensorMin = 0; // 最小值 const int sensorMax = 600; // 最大值 void setup() { // 初始化串口通信: Serial.begin(9600); } void loop() { // 读取传感器: int sensorReading = analogRead(A0); // 将传感器值映射到0-3: int range = map(sensorReading, sensorMin, sensorMax, 0, 3); // 根据映射后的值进行不同处理: switch (range) { case 0: //0表示手应该在正上方 输出全黑 Serial.println("全黑"); break; case 1: // 0表示手遮挡了部分光 输出较暗 Serial.println("较暗"); break; case 2: // 2表示手遮挡了小部分光 输出中等 Serial.println("中等"); break; case 3: // 3手未挡光 输出较亮 Serial.println("bright"); break; } delay(1); // 为串口稳定性延迟1毫秒 }
相关资料
serial.begin()analogRead()
map()
Serial.println()
数组: 通过for循环来展示如何使用数组。
For循环迭代(霹雳游侠): 用for循环控制多个LED。
If条件判断:使用If语句根据输入的条件的变化改变输出条件。
Switch和Case条件语句: 如何从一堆不连续的数字中找到需要的数字。
Switch和Case条件语句2: 第二个switch-case例子,展示了如何根据串口的输入值来采取不同的动作。
While循环: 如何使用while循环来在按钮被按下时校准传感器。
原文链接
更新进程
日期 | 日志 | 译者 |
---|---|---|
2016年5月27日 | 创建并翻译文档 | 唐家勋 |
邮箱:mrsteventang@gmail.com
QQ:649196486
转载请注明出处,一切只因为热爱。
希望您能指出宝贵意见,谢谢。
相关文章推荐
- PHP8新特性之match表达式
- 三个有用的 Switch 命令
- js 中的switch表达式使用示例
- php中switch与ifelse的效率区别及适用情况分析
- c#中switch case的用法实例解析
- Go语言中的switch用法实例分析
- php switch语句多个值匹配同一代码块应用示例
- android基本控件ToggleButton&Switch使用指南
- 解析c语言switch中break语句的具体作用
- 深入剖析Go语言编程中switch语句的使用
- PHP的switch判断语句的“高级”用法详解
- php中switch语句用法详解
- Repeater里switch的使用方法
- javascript使用switch case实现动态改变超级链接文字及地址
- JavaScript中switch语句的用法详解
- JavaScript中switch判断容易犯错的一个细节
- javascript的switch用法注意事项分析
- javascript中if和switch,==和===详解
- Java中switch判断语句典型使用实例
- 详解C语言中条件判断语句if和switch的用法