请问下多个判断语句怎么写啊-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3163|回复: 9

[已解决] 请问下多个判断语句怎么写啊

[复制链接]
发表于 2020-9-18 20:49 | 显示全部楼层 |阅读模式


比如我想表达:

如果11脚为LOW并且同时12脚也是LOW      ,    那么8脚 输出HIGH,

当11 和12 有任意一个条件不满足LOW 的时候,  8脚就输出 LOW
发表于 2020-9-18 21:17 | 显示全部楼层
本帖最后由 topdog 于 2020-9-19 00:42 编辑

const int PinA = 11;   
const int PinB = 12;  
const int PinC = 8;  

void setup() {
  pinMode( PinA, INPUT);     
  pinMode( PinB, INPUT);   
  pinMode(PinC, OUTPUT);
}

void loop(){  
if (digitalRead(PinA)  || digitalRead(PinB)){
digitalWrite(PinC, LOW);
}else{digitalWrite(PinC, HIGH);
}
  delay(100);
}

1:或的逻辑关系
1 || 1 ——>1
1 || 0 ——>1
0 || 1 ——>1
0 || 0 ——>0

2:通过if…else语句,用户可以让Arduino判断某一个条件是否达到,并且根据这一判断结果执行相应的程序。

3:根据你的条件第11和12管脚全为低电平时,执行第8管脚高电平输出。
4,延时的问题不展开讲,满足基本要求吧!




 楼主| 发表于 2020-9-18 21:27 | 显示全部楼层
topdog 发表于 2020-9-18 21:17
const int PinA = 11;   
const int PinB = 12;  
const int PinC = 8;  

谢谢班主大人,我去试试
发表于 2020-9-18 21:29 | 显示全部楼层
74ls08   /滑稽
发表于 2020-9-18 21:34 | 显示全部楼层
const int PinA = 11;   
const int PinB = 12;  
const int PinC = 8;  

void setup() {
  pinMode( PinA, INPUT_PULLUP);     
  pinMode( PinB, INPUT_PULLUP);   
  pinMode(PinC, OUTPUT);
}

void loop(){  
if ( digitalRead(PinA) == 0 && digitalRead(PinB) == 0 )
  {
    digitalWrite(PinC, HIGH);
  } else
  {
    digitalWrite(PinC, LOW);
  }
}
 楼主| 发表于 2020-9-18 21:46 | 显示全部楼层
topdog 发表于 2020-9-18 21:17
const int PinA = 11;   
const int PinB = 12;  
const int PinC = 8;  

班主大大, 我测试了程序没有报错,可以运行,

但是我想 让我的这个语句成为实时监测的作用。

比如,我在烧录程序并运行之后 正常情况下,pinA pinB 都是没有电压过来的,如果一旦检测到有电压,立刻就会断开 PinC驱动的继电器,起到保护作用。


似乎 这段代码 还少了什么 让它能实时监测,该怎么完善呢
发表于 2020-9-18 22:06 | 显示全部楼层
xiaomm 发表于 2020-9-18 21:46
班主大大, 我测试了程序没有报错,可以运行,

但是我想 让我的这个语句成为实时监测的作用。

自己做个或门
 楼主| 发表于 2020-9-18 23:42 | 显示全部楼层
hyc45672008 发表于 2020-9-18 21:34
const int PinA = 11;   
const int PinB = 12;  
const int PinC = 8;  

大哥 多谢,, 你帮了大忙,可以加你个QQ WX好友吗,,
发表于 2020-12-23 01:14 | 显示全部楼层
xiaomm 发表于 2020-9-18 23:42
大哥 多谢,, 你帮了大忙,可以加你个QQ WX好友吗,,

很少上论坛,这都过了几个月了 微信号 hyc45672008
发表于 2020-12-23 07:21 | 显示全部楼层
xiaomm 发表于 2020-9-18 21:46
班主大大, 我测试了程序没有报错,可以运行,

但是我想 让我的这个语句成为实时监测的作用。

如果輸入端常時沒電壓的話,建議電路弄個
PULL DOWN 來保持其穩定避免雜訊誤動作

另外,為求偵測速度的最大提升,將 delay(100)
拿掉,再加一段復歸的條件式,不然一旦作動
條件恢復後繼電器會馬上再作動(安全性?)

最好再加上條件恢復後,要讓繼電器再作動
的條件(比方說延遲多少時間做確認再作動、
另外再按個開關才能作動...),如果不需安全
考量可省略

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-29 17:47 , Processed in 0.073755 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表