电位器、金属触摸传感器、红外避障传感器、烟雾传感器、倾斜开关传感器 | 配合Arduino使用案例

电位器

电位器就是一个旋转按钮,可以读取到开关旋转的数值(范围:0-1023)

c 复制代码
/**
 **** Arduino 接线 ****
 * VCC - 5v
 * GND - GND
 * OUT - A0
 **********************
 */

int mainPin = A0; // 接继电器的 IN 端口
 
void setup() {  
  Serial.begin(9600); // 串口通信用于输出 log 
}

int inputVal = 0; // 电位器输入值, 范围 0 - 1023
void loop() { 
  inputVal = analogRead(mainPin); // 直接读引脚数
  Serial.println(inputVal); 
  delay(100);
}

金属触摸传感器

金属触摸传感器是一种仅在被带电体触摸时才操作的开关。

c 复制代码
/**
 **** Arduino 接线 ****
 * VCC - 5v
 * GND - GND
 * SIG - A0
 **********************
 */

int mainPin = A0; // 接继电器的 IN 端口
 
void setup() {  
  Serial.begin(9600); // 串口通信用于输出 log 
  pinMode(mainPin,INPUT);
}

int inputVal = 0; // 输入值, 范围 0 || 1
void loop() { 
  inputVal = digitalRead(mainPin); // 直接读引脚数
  Serial.println(inputVal); // 1 说明被金属触摸, 0 则没有被触摸 
  delay(100);
}

红外避障传感器

遇到障碍阻挡发射出去的红外线时将会触发。灵敏度可调节。

c 复制代码
/**
 **** Arduino 接线 ****
 * VCC - 5v
 * GND - GND
 * SIG - A0
 **********************
 */

int mainPin = A0; // 接继电器的 IN 端口
 
void setup() {  
  Serial.begin(9600); // 串口通信用于输出 log 
  pinMode(mainPin,INPUT);
}

int inputVal = 0; // 输入值, 范围 0 || 1
void loop() { 
  inputVal = digitalRead(mainPin); // 直接读引脚数
  Serial.println(inputVal); // 1 没有障碍, 0 则有障碍
  delay(100);
}

烟雾传感器

有烟雾时会触发,用打火机测试即可(把火吹灭哦),传感器需要预热一下(让它通电运行一会就行),

c 复制代码
 /**
 **** Arduino 接线 ****
 * VCC - 5v
 * GND - GND
 * A0 - A0    释放可燃气体该值增加
 * D0 - 7     A0 值达到极限时本引脚输出低电平,  灵敏度可调节
 **********************
 */

int pinA = A0;  
int pinD = 7; 

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

int inputA = 0; // 检测到可燃气体的值
int inputD = 0; // 可燃气体是否达到极限输入值, 范围 0 || 1

void loop() { 
  inputA = analogRead(pinA); 
  inputD = digitalRead(pinD); 
  Serial.println(inputA); 
  Serial.println(inputD);   
  Serial.println();  
  delay(300);
}

倾斜开关传感器

用于检测小角度的倾斜

c 复制代码
 /**
 **** Arduino 接线 ****
 * VCC - 5v
 * GND - GND
 * SIG - A0     
 **********************
 */

int pin = A0;   

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

int inputVal = 0; // 0 | 1 , 1 时说明倾斜了

void loop() {  
  inputVal = digitalRead(pin); 
  Serial.println(inputVal);  
  delay(300);
}
相关推荐
星华云几秒前
[STM32] SAR型ADC(逐次逼近型ADC)工作原理简介
stm32·单片机·嵌入式硬件
凡人叶枫8 分钟前
Effective C++ 条款40:明智而审慎地使用多重继承
java·数据库·c++·嵌入式开发·effective c++
ShineWinsu13 分钟前
对于Linux:线程局部存储(TLS)和线程封装的解析
linux·c++·面试·线程·tls·线程封装·线程局部存储
工头阿乐14 分钟前
使用Conan构建现代C++项目:完整指南
开发语言·c++
小娄~~21 分钟前
时钟控制器原理
单片机·嵌入式硬件
果丁智能37 分钟前
物联网智能锁在网约房、民宿领域的落地实践:身份核验与远程授权的全链路技术方案
人工智能·物联网·智能家居
思麟呀43 分钟前
C++14概述与三大核心语法改进
开发语言·c++
by————组态1 小时前
Ricon组态技术架构 - 企业级Web组态解决方案
运维·服务器·前端·物联网·架构·组态·组态软件
Lhan.zzZ1 小时前
Qt Quick 嵌套 Dialog 与 ComboBox 层级混乱问题解决
c++·qt
望眼欲穿的程序猿1 小时前
按键控制 LED
嵌入式硬件·rust