Arduino 传感器 LED点灯、温湿度传感器数据采集、声控灯、红外避障、超声波测距离实验以及代码

LED点灯实验

  • 将数据线一端连接主机 USB 接口,另一端连接好Arduino板
  • 面包板正极连接板上的2号数字引脚Pin2,负极花色连接板上的GND,通过程序定义输出引脚2,并实验LED闪灭。
//led正极接2 负极接GND 
int ledPin=2;
void setup()
{
    pinMode(ledPin,OUTPUT);
}

void loop()  //重复执行函数
{  
    digitalWrite(ledPin,HIGH);
    delay(500); 
    digitalWrite(ledPin,LOW);
    delay(500);
}

  • 流水灯源代码
  • //利用循环语句设计的流水灯 //定义引脚2,3,4,5为输出模式,分别接4个LED灯的正板,LED负极通过面包板接GND
void setup() 
   {  for(int i=2;i<6;i++)
       pinMode(i,OUTPUT); //配置引脚为输出模式  
   }  
   void loop() 
   {  
    for(int i=2;i<6;i++)
     {  
      digitalWrite(i,HIGH); //点亮  
      delay(1000);  //休眠1000毫秒  
      digitalWrite(i,LOW); //关闭  
     }  
   }

温湿度传感器数据采集实验

float temp;
int tempPin = 0;//接模拟0或A0端

void setup() {
   Serial.begin(9600);
}
void loop() {
   temp = analogRead(tempPin); // 从模拟A0端采集电压数据存到变量temp
   //temp = temp * 0.48828125;// DS18B20 TO-92 温度传感器的参数:电压转换成温度
   temp = temp * 0.031728125;//DH11温度传感器:电压转变成湿度的参数
   Serial.print("TEMPERATURE = ");
   Serial.print(temp); // display temperature value
   Serial.print("*C");
   Serial.println();
   delay(1000); // update sensor reading each one second
}

声控灯的设计实验

  • 实材料:声音传感器,面包板+线,LED灯1个, Arduino
  • //声控LED开关灯的设计:采用Risym声音传感器模块MK152
    //Out输出信号1,0到主板接口2 、VCC GND默认接
    //另外LED+接VCC, LED负极接out
    //默认无声环境输出1,LED不亮,调节传感器灵敏度达到一说话亮灯的效果
int sensorVoice = 2;

void setup()
{
  pinMode(sensorVoice, INPUT);
  Serial.begin(9600);
}

void loop()
{
  int temp = digitalRead(sensorVoice);
  Serial.println(temp);
  delay(100);
  
} 

红外避障传感器实验

  • 材料清单:红外对管(红外避障模块),面包板+线,Arduino板
  • 在这里插入图片描述
  • VCC 通过红线外接单片机3.3V-5V电压 GND 黑线外接单片机GND OUT 外接小板数字接口D2输出接口(0 和 1)LED +极接VCC, LED负极接out。 传感器正极接 板上5V,同时连接到LED正极; 传感器负极接板上的GND; 传感器Out 接板上引脚2,输出信号1,0,同时接LED的负极。
  • Out默认输出1,LED不亮,有障碍物时输出0,有电势差,灯亮。
    通过串口监视器来测和调节传感器的灵敏度
int sensor = 2;
void setup()
{  pinMode(sensor, INPUT);//从传感器的Out引脚输出信号1,0
  Serial.begin(9600);
}

void loop()
{
  int temp = digitalRead(sensor); //读取传感器的Out引脚输出的信号1,0
  Serial.println(temp);//串口显示
  delay(1000);
  
}

超声波测距离实验

  • 超声波传感器,面包板+线,Arduino板Nano mini
  • Trig 触发控制信号输入,Echo回响信号输出。写程序给Trig发送一个低高低的短时间脉冲,触发测距;pulseIn函数会等待引脚变为HIGH,开始计算时间,再等待变为LOW并停止计时。
  • 声速是:340m/1s 换算成 34000cm/ 1000000μs => 34 /1000。因为发送到接收,实际是相同距离走了2回,所以要除以2。
  • Vcc 和 Gnd 接 5v 电源和负极。
    Trig :接Arduino引脚5 用来发出控制信号,。
    Echo:接Arduino引脚4 用来测试返回测距信息
const int TrigPin = 5;
const int EchoPin = 4;

void setup()
{
Serial.begin(9600);
pinMode(TrigPin, OUTPUT);
pinMode(EchoPin, INPUT);
}

void loop()
{
  digitalWrite(TrigPin, LOW); 
  delayMicroseconds(2); 
  digitalWrite(TrigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(TrigPin, LOW); //记时
   
  float distance = pulseIn(EchoPin, HIGH); //pulseIn在引脚变high开始计时,变low停止计时
  distance= distance/58.0; 
  Serial.println(distance);
  delay(1000);
}

  • 8
    点赞
  • 79
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

怪兽小

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值