当前位置:首页>java>【Arduino第七课】【编程核心概念⑨】关系运算符:让Arduino学会“比较”,聪明判断就靠它!

【Arduino第七课】【编程核心概念⑨】关系运算符:让Arduino学会“比较”,聪明判断就靠它!

  • 2026-08-25 09:08:56
【Arduino第七课】【编程核心概念⑨】关系运算符:让Arduino学会“比较”,聪明判断就靠它!

开篇的话: 小创客们,我们的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:猜数字游戏——验证“相等”】

  • 学习目标:
     使用 == 和 != 运算符判断是否相等。
  • 所需元件:
     Arduino主板 × 1 (使用串口监视器)。

代码如下:

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);}

 你看到了什么? 用手完全遮住

(模拟黑夜),灯会亮;只有在正常室内光下,灯才熄灭。>= 和 <= 帮助我们定义了一个清晰的“非舒适区间”。


三、亲子互动乐园:家庭安全阈值测试员

实验名称:“水温报警器”模拟实验

  • 目标:
     利用电位器模拟温度传感器,通过关系运算符设定安全阈值,制作一个水温报警器。
  • 准备:
     完成【案例1】的电路(电位器+LED)。

任务步骤:

  1. 【情景构建】
    • 【爸爸妈妈】
       设定场景:“我们要给宝宝冲奶粉,水温必须在40°C到50°C之间。太凉了不行,太烫了也不行。”
    • 【孩子】
       思考:如何用程序表达“水温小于40”和“水温大于50”这两种不安全的情况?
  1. 【逻辑设计】
    • 将电位器的读数(0-1023)映射到水温(0-100°C)。
    • 使用 if - else if 结构和 <> 运算符来判断水温区间。
    • 用不同颜色的LED代表不同状态:蓝色(太凉)、绿色(合适)、红色(太烫)。
  1. 【编程实现】
void loop() {  int sensorValue = analogRead(A0);  int temperature = map(sensorValue, 0, 1023, 0, 100); // 映射为温度   // 略。。  delay(500);}
  1. 【角色扮演】
    • 【孩子】
       作为“工程师”,负责调整电位器(模拟调节水温)并解释程序逻辑。
    • 【爸爸妈妈】
       作为“质检员”,检查在各种“水温”下,报警系统是否正确工作。

这个实验能锻炼孩子: 将生活需求转化为数学条件和程序逻辑的能力,以及严谨的测试思维。


四、编程英语小课堂

现在来认识关系运算符里的核心英语单词和符号:

  • == (Equal To) - 等于
    • 记忆技巧
      双等号表示判断是否相等。记住口诀:“双等号是问是不是,单等号是命令变成啥”。
    • 常见错误
      if (a = 5) 是错的!这会把5赋值给a,应该用 if (a == 5)
  • > (Greater Than) - 大于
    • 记忆技巧
      :符号像张开的大嘴巴,总要吃更大的那个数。
  • < (Less Than) - 小于
    • 记忆技巧
      :符号像指向左边的箭头,表示更小
  • >= (Greater Than or Equal To) - 大于等于
    • 记忆技巧
      > 和 = 的组合,表示“大于或者等于,满足一个就行”。
  • != (Not Equal To) - 不等于
    • 记忆技巧
      ! 在编程中常表示“不”或“非”,所以 != 就是“不等于”。

英语小挑战:对爸爸妈妈说:"If the temperature is greater than 30, turn on the fan." (如果温度大于30度,就打开风扇。)

关注我们,一起努力,让孩子快乐成长!


下一篇预告:

太棒了!你的Arduino现在已经拥有了精准的“判断力”!它能用 ><== 这些“尺子”精确地衡量世界。下一课,我们将学习“逻辑运算符”(与、或、非),让你的Arduino能够处理更复杂的条件,比如“如果天黑了并且有人在,才开灯”,它的思维能力将再次升级!

📢 想玩更多判断游戏吗?在公众号后台回复【逻辑挑战】,获取3个烧脑又有趣的编程逻辑题!


本文标签: #编程核心概念 #关系运算符 #大于小于 #条件判断 #亲子编程 #Arduino项目 #编程思维

最新文章

随机文章