开篇的话: 小创客们,我们的Arduino已经会“记忆”(变量)和“做选择”(if)了。但在做选择时,它是如何知道“天黑了”或者“温度太高了”的呢?今天,我们就来揭秘它做判断的“尺子”——关系运算符!有了这些神奇的符号,你的Arduino才能真正地比较大小、判断对错,变得聪明起来!
👉 关注公众号【硬件编程与科创】,回复【关系运算】,获取本文代码包与“智能判断挑战”项目源码!
一、3分钟概念:什么是关系运算符?
生活比喻:
是否大于90分?”“我的名次是否等于第1名?”“我的年龄是否小于12岁?”- 这些 “大于”、“等于”、“小于” 就是在做比较,比较的结果要么是 “对” ,要么是 “错”。
在编程中,关系运算符就是用来比较两个值的大小或相等关系的符号,比较的结果是一个布尔值(true 或 false)。这个结果直接决定了 if 条件和 while 循环的走向!
二、动手实战!玩转3个关系运算符案例
【案例1:电位器“音量等级”指示器】
- 学习目标: 使用
> 和 < 运算符判断数值范围,控制多个LED。 - 所需元件: 电位器 × 1, LED × 3, 220Ω电阻 × 3, 面包板及导线。
电路连接图:【电位器接A0;3个LED分别接11,12,13号引脚。】
代码如下:
// 案例1:电位器“音量等级”指示器// 任务:根据电位器读数,点亮不同数量的LED表示等级int sensorValue = 0;void loop() { sensorValue = analogRead(A0); Serial.println(sensorValue); // 打印读数方便调试 // 1. 如果读数大于700,点亮所有灯(高等级) if (sensorValue > 700) { digitalWrite(11, HIGH); digitalWrite(12, HIGH); digitalWrite(13, HIGH); } // 2. 否则,如果读数大于350,点亮两个灯(中等级) // 略。。 delay(100);}
✅ 你看到了什么? 旋转电位器,LED点亮的数量会随读数增大而增加。程序通过 > 运算符将连续的模拟量划分成了清晰的“等级”。
【案例2:猜数字游戏——验证“相等”】
代码如下:
void loop() { if (Serial.available() > 0) { guess = Serial.parseInt(); if (guess == secretNumber) { Serial.println("🎉 太厉害了!你猜对了!"); } else { Serial.print("不对哦!"); if (guess > secretNumber) { Serial.println("你猜的数字太大了!"); } else { Serial.println("你猜的数字太小了!"); } Serial.println("请再猜一次:"); // 只有猜错时才提示 } while(Serial.available() > 0) Serial.read(); // 清空缓冲区 }}// 略。。。
✅ 操作与观察: 在串口监视器输入数字,程序会用 == 判断是否猜对,用 != 和 > 给出提示。这充分展示了关系运算符在逻辑判断中的核心作用。
【案例3:自动光控灯(综合应用)】
- 学习目标:
- 所需元件: 光敏电阻 × 1, 10kΩ电阻 × 1, LED × 1, 220Ω电 阻 × 1。
电路连接图:【光敏电阻与10kΩ电阻分压,接A0;LED接9号引脚。】
代码如下:
// 案例3:自动光控灯(舒适区间)// 任务:光线太暗或太亮都开灯,只在舒适的光线下关灯// 略。。。void loop() { lightValue = analogRead(A0); Serial.print("光线值: "); Serial.println(lightValue); // 使用 >= 和 <= 设定一个“非舒适区间” // 如果光线值 <= 200 (太暗),都需要开灯 if (lightValue <= TOO_BRIGHT) { digitalWrite(9, HIGH); Serial.println("光线不舒适,开灯!"); } else { digitalWrite(9, LOW); Serial.println("光线舒适,关灯。"); } delay(500);}
✅ 你看到了什么? 用手完全遮住
(模拟黑夜),灯会亮;只有在正常室内光下,灯才熄灭。>= 和 <= 帮助我们定义了一个清晰的“非舒适区间”。

三、亲子互动乐园:家庭安全阈值测试员
实验名称:“水温报警器”模拟实验
- 目标: 利用电位器模拟温度传感器,通过关系运算符设定安全阈值,制作一个水温报警器。
- 准备:
任务步骤:
- 【情景构建】
- 【爸爸妈妈】 设定场景:“我们要给宝宝冲奶粉,水温必须在40°C到50°C之间。太凉了不行,太烫了也不行。”
- 【孩子】 思考:如何用程序表达“水温小于40”和“水温大于50”这两种不安全的情况?
- 【逻辑设计】
- 将电位器的读数(0-1023)映射到水温(0-100°C)。
- 使用
if - else if 结构和 <, > 运算符来判断水温区间。 - 用不同颜色的LED代表不同状态:蓝色(太凉)、绿色(合适)、红色(太烫)。
- 【编程实现】
void loop() { int sensorValue = analogRead(A0); int temperature = map(sensorValue, 0, 1023, 0, 100); // 映射为温度 // 略。。 delay(500);}
- 【角色扮演】
- 【孩子】 作为“工程师”,负责调整电位器(模拟调节水温)并解释程序逻辑。
- 【爸爸妈妈】 作为“质检员”,检查在各种“水温”下,报警系统是否正确工作。
这个实验能锻炼孩子: 将生活需求转化为数学条件和程序逻辑的能力,以及严谨的测试思维。
四、编程英语小课堂
现在来认识关系运算符里的核心英语单词和符号:
- 记忆技巧:双等号表示判断是否相等。记住口诀:“双等号是问是不是,单等号是命令变成啥”。
- 常见错误:
if (a = 5) 是错的!这会把5赋值给a,应该用 if (a == 5)。
>= (Greater Than or Equal To) - 大于等于
- 记忆技巧:
> 和 = 的组合,表示“大于或者等于,满足一个就行”。
- 记忆技巧:
! 在编程中常表示“不”或“非”,所以 != 就是“不等于”。
英语小挑战:对爸爸妈妈说:"If the temperature is greater than 30, turn on the fan." (如果温度大于30度,就打开风扇。)
关注我们,一起努力,让孩子快乐成长!
下一篇预告:
太棒了!你的Arduino现在已经拥有了精准的“判断力”!它能用 >、<、== 这些“尺子”精确地衡量世界。下一课,我们将学习“逻辑运算符”(与、或、非),让你的Arduino能够处理更复杂的条件,比如“如果天黑了并且有人在,才开灯”,它的思维能力将再次升级!
📢 想玩更多判断游戏吗?在公众号后台回复【逻辑挑战】,获取3个烧脑又有趣的编程逻辑题!
本文标签: #编程核心概念 #关系运算符 #大于小于 #条件判断 #亲子编程 #Arduino项目 #编程思维