找回密码
 立即注册

QQ登录

只需一步,快速开始

本帖最后由 lxf 于 2020-8-15 13:36 编辑

16课 “与“  ”或“  ”非”


目标

1、利用逻辑与语句实现达到阙值光线且达到阙值声音信号时LED灯点亮,否则保持熄灭状态。
2、利用逻辑或语句实现达到阙值光线或达到阙值声音信号时LED灯点亮,否则保持熄灭状态。
3、利用逻辑非语句实现达到阙值光线或达到阙值声音信号时LED灯点亮,否则保持熄灭状态。

实验材料

Arduino UNO开发板
声音传感器模块
光敏传感器模块
LED发光模块
配套USB数据线
配套杜邦线若干
Arduino IDE软件

微信图片_20200624110134.png

内容

案例1:利用逻辑与语句实现达到阙值光线且达到阙值声音信号时LED灯点亮,否则保持熄灭状态

接线图

图片2.png

接线方式

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

流程图

微信图片_20200624110255.png

程序实现代码

  1. void setup(){
  2.   pinMode(7, OUTPUT);   //定义7号数字管脚类型为输出
  3. }
  4. void loop(){
  5.   if (analogRead(A1) > 80 && analogRead(A0) > 500) {  //读取到的声音传感器的模拟输入值大于80且
  6. //光敏传感器的模拟输入值大于500
  7.     digitalWrite(7,HIGH);  //将7号数字管脚设置为高电平,即LED灯点亮
  8.   } else {
  9.     digitalWrite(7,LOW);  //将7号数字管脚设置为低电平,即LED灯熄灭
  10.   }
  11. }
复制代码

&& (逻辑与

只有两个运算对象为“真”,才为“真”如:

  1. If(digitalRead(2)==HIGH && digitalRead(3)==HIGH ){//读取两个开关的电平

  2. //...

  3. }
复制代码

如果当两个输入都为高电平,则为“真”

案例2:利用逻辑或语句实现达到阙值光线达到阙值声音信号时LED灯点亮,否则保持熄灭状态
流程图

微信图片_20200624110428.png

程序实现代码

  1. void setup(){
  2.   pinMode(7, OUTPUT);   //定义7号数字管脚类型为输出
  3. }
  4. void loop(){
  5.   if (analogRead(A1) > 80 || analogRead(A0) > 500) {  //读取到的声音传感器的模拟输入值大于80或
  6. //光敏传感器的模拟输入值大于500
  7.     digitalWrite(7,HIGH);  //将7号数字管脚设置为高电平,即LED灯点亮
  8.   } else {
  9.     digitalWrite(7,LOW);  //将7号数字管脚设置为低电平,即LED灯熄灭
  10.   }
  11. }
复制代码

|| (逻辑或)

只要一个运算对象为“真”,就为“真”如:

  1. if(x>0||y>0){

  2. //...

  3. }
复制代码

如果x或y是大于0,则为真

案例3:利用逻辑非语句实现达到阙值光线达到阙值声音信号时LED灯点亮,否则保持熄灭状态

流程图

微信图片_20200624110428.png

程序实现代码

  1. void setup(){
  2.   pinMode(7, OUTPUT);   //定义7号数字管脚类型为输出
  3. }
  4. void loop(){
  5.   if (!(analogRead(A1)< 80)||!(analogRead(A0) < 500)) {  //读取到的声音传感器的模拟输入值大于80或
  6. //光敏传感器的模拟输入值大于500
  7.     digitalWrite(7,HIGH);  //将7号数字管脚设置为高电平,即LED灯点亮
  8.   } else {
  9.     digitalWrite(7,LOW);  //将7号数字管脚设置为低电平,即LED灯熄灭
  10.   }
  11. }
复制代码

! (逻辑非)

如果运算对象为“假”,则为“真”,例如
If(! X){
//...
}
如果x为假,则为真(即如果x等于0))

注意

千万不要误以为,符号为&(单符号)的位运算符“与”就是布尔运算符的“与”符号为&&(双符号),他们是完全不同的符号。
分享至 : QQ空间
收藏

0 个回复

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