激光、超声波、霍尔、DS18B20 温度、模拟温度传感器 | 配合Arduino使用案例

激光传感器

u=452107949,2046680132&fm=224&app=112&f=JPEG.jpg

用来发出红色激光。

 /**
 **** Arduino 接线 注意哈,这里直接两根****
 * Arduino   传感器
 * VCC       5v
 * GND       A0   
 **********************
 */ 
int pin = A0;   

void setup() {  
  Serial.begin(9600); // 串口通信用于输出 log  
  pinMode(pin, OUTPUT);
}

void loop() {    
  delay(2000);
  digitalWrite(pin, LOW);  //关闭激光
  delay(2000);
  digitalWrite(pin, HIGH);  //打开激光
}

超声波传感器

1436511-20180710155930774-1367752406.png

可用于测距。

开始之前先安装依赖

image.png

 /**
 **** Arduino 接线 ****
 * Arduino   传感器
 * VCC       5v
 * GND       GND
 * Trig        A0   
 * Echo        A1   
 **********************
 */

#include <NewPing.h> 

#define TRIGGER_PIN A0
#define ECHO_PIN A1
#define MAX_DISTANCE 500 // 最大测量距离 cm, 我手头的最大测量距离 180cm, 设置多了也没用

NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);

void setup() {  
  Serial.begin(9600); // 串口通信用于输出 log   
}
  
void loop() {   
  delay(100);
  unsigned int uS = sonar.ping();  
  Serial.print(uS / US_ROUNDTRIP_CM);
  Serial.print(" cm \n");
}

模拟霍尔传感器

src=http___cbu01.alicdn.com_img_ibank_2020_107_088_19881880701_980414148.jpg&refer=http___cbu01.alicdn.webp

霍尔传感器用于接近开关、定位、速度检测和电流检测应用。

 /**
 **** Arduino 接线 ****
 * Arduino   传感器
 * VCC       5v
 * GND       GND
 * A0        A0   磁场越大越高   
 * A1        7   达到阈值时输出低电平
 **********************
 */

int pin = A0;   
int pin2 = 7;   

void setup() {  
  Serial.begin(9600); // 串口通信用于输出 log  
  pinMode(pin2, INPUT);
}
 
int val = 0;
int val2 = 0; // 达到阈值时输出低电平
void loop() {    
  val = analogRead(pin);
  Serial.println(val);

  val2 = digitalRead(pin2);
  if(val2 == 1){  
    Serial.println("达到阈值");
  }

  delay(300);
}

DS18B20 温度传感器

20210208112105630.png

DS18B20 温度传感器是一款常用的数字温度传感器,具有体积小、成本低、抗干扰能力强、精度高的特点。
可以直接输出温度数据。

开始前安装两个依赖

image.png
image.png

 /**
 **** Arduino 接线 ****
 * Arduino   传感器
 * VCC       5v
 * GND       GND
 * A0        A0   
 **********************
 */

#include <OneWire.h>
#include <DallasTemperature.h>

#define ONE_WIRE_BUS A0  // 引脚

OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

void setup() {  
  Serial.begin(9600); // 串口通信用于输出 log   
  sensors.begin();
}
  
void loop() {     
  sensors.requestTemperatures();
  Serial.println(sensors.getTempCByIndex(0)); // 30.23
  delay(300);
}

模拟温度传感器

src=http___cbu01.alicdn.com_img_ibank_2018_916_059_10120950619_692559966.jpg&refer=http___cbu01.alicdn.webp

模拟温度传感器模块使用 NTC热敏电阻,因此可以对温度进行敏感测试。该模块可以用于温度测量和温度报警。

 /**
 **** Arduino 接线 ****
 * Arduino   传感器
 * VCC       5v
 * GND       GND
 * A0        A0   
 * D0        A1   
 **********************
 */

int pin = A0;   
int pin2 = A1;   

void setup() {  
  Serial.begin(9600); // 串口通信用于输出 log  
  pinMode(pin2, INPUT);
}
 
int val = 0; // 数值越大则越热
int val2 = 0; // 超过阈值是 0, 反之为 1
void loop() {    
  
  // 检测的数值输出
  val = analogRead(pin);
  Serial.print(val);
  Serial.print("\t");

  // 阈值输出
  val2 = digitalRead(pin2);
  Serial.print(val2);
  Serial.print("\t");
  Serial.println();

  delay(300);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小明IO

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

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

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

打赏作者

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

抵扣说明:

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

余额充值