本帖最后由 lxf 于 2020-8-15 13:36 编辑
目标
1、利用逻辑与语句实现达到阙值光线且达到阙值声音信号时LED灯点亮,否则保持熄灭状态。 2、利用逻辑或语句实现达到阙值光线或达到阙值声音信号时LED灯点亮,否则保持熄灭状态。 3、利用逻辑非语句实现达到阙值光线或达到阙值声音信号时LED灯点亮,否则保持熄灭状态。
实验材料
Arduino UNO开发板 声音传感器模块 光敏传感器模块 LED发光模块 配套USB数据线 配套杜邦线若干 Arduino IDE软件
内容
案例1:利用逻辑与语句实现达到阙值光线且达到阙值声音信号时LED灯点亮,否则保持熄灭状态
接线图
接线方式
Arduino UNO <------> 光敏传感器模块 5V <------> VCC GND <------> GND A0 <------> A0 Arduino UNO <------> 声音传感器模块 5V <------> VCC GND <------> GND A1 <------> OUT Arduino UNO <------> LED发光模块 5V <------> VCC GND <------> GND D7 <------> IN
流程图
程序实现代码
- void setup(){
- pinMode(7, OUTPUT); //定义7号数字管脚类型为输出
- }
- void loop(){
- if (analogRead(A1) > 80 && analogRead(A0) > 500) { //读取到的声音传感器的模拟输入值大于80且
- //光敏传感器的模拟输入值大于500
- digitalWrite(7,HIGH); //将7号数字管脚设置为高电平,即LED灯点亮
- } else {
- digitalWrite(7,LOW); //将7号数字管脚设置为低电平,即LED灯熄灭
- }
- }
复制代码
&& (逻辑与)
只有两个运算对象为“真”,才为“真”如:
- If(digitalRead(2)==HIGH && digitalRead(3)==HIGH ){//读取两个开关的电平
- //...
- }
复制代码
如果当两个输入都为高电平,则为“真”
案例2:利用逻辑或语句实现达到阙值光线或达到阙值声音信号时LED灯点亮,否则保持熄灭状态 流程图
程序实现代码
- void setup(){
- pinMode(7, OUTPUT); //定义7号数字管脚类型为输出
- }
- void loop(){
- if (analogRead(A1) > 80 || analogRead(A0) > 500) { //读取到的声音传感器的模拟输入值大于80或
- //光敏传感器的模拟输入值大于500
- digitalWrite(7,HIGH); //将7号数字管脚设置为高电平,即LED灯点亮
- } else {
- digitalWrite(7,LOW); //将7号数字管脚设置为低电平,即LED灯熄灭
- }
- }
复制代码
|| (逻辑或)
只要一个运算对象为“真”,就为“真”如:
如果x或y是大于0,则为真
案例3:利用逻辑非语句实现达到阙值光线或达到阙值声音信号时LED灯点亮,否则保持熄灭状态
流程图
程序实现代码
- void setup(){
- pinMode(7, OUTPUT); //定义7号数字管脚类型为输出
- }
- void loop(){
- if (!(analogRead(A1)< 80)||!(analogRead(A0) < 500)) { //读取到的声音传感器的模拟输入值大于80或
- //光敏传感器的模拟输入值大于500
- digitalWrite(7,HIGH); //将7号数字管脚设置为高电平,即LED灯点亮
- } else {
- digitalWrite(7,LOW); //将7号数字管脚设置为低电平,即LED灯熄灭
- }
- }
复制代码
! (逻辑非)
如果运算对象为“假”,则为“真”,例如 If(! X){ //... } 如果x为假,则为真(即如果x等于0))
注意
千万不要误以为,符号为&(单符号)的位运算符“与”就是布尔运算符的“与”符号为&&(双符号),他们是完全不同的符号。 |