电位器、金属触摸传感器、红外避障传感器、烟雾传感器、倾斜开关传感器 | 配合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);
}
相关推荐
ElvInR4 小时前
冒泡排序详解
c语言·c++·排序算法·冒泡排序
天若有情6734 小时前
探秘 C++ 计数器类:从基础实现到高级应用
java·开发语言·c++
hy____1235 小时前
list类的详细讲解
c++
GCSXP6 小时前
PT8P2104触控型8Bit MCU
单片机·嵌入式硬件
范纹杉想快点毕业6 小时前
Google C++ Style Guide 谷歌 C++编码风格指南,深入理解华为与谷歌的编程规范——C和C++实践指南
c语言·数据结构·c++·qt·算法
熊猫在哪6 小时前
野火鲁班猫(arrch64架构debian)从零实现用MobileFaceNet算法进行实时人脸识别(一)conda环境搭建
linux·人工智能·python·嵌入式硬件·神经网络·机器学习·边缘计算
信奥洪老师6 小时前
2025年 全国青少年信息素养大赛 算法创意挑战赛C++ 小学组 初赛真题
c++·算法·青少年编程·等级考试
学习使我变快乐6 小时前
C++:关联容器set容器,multiset容器
开发语言·c++·算法
TheBszk7 小时前
单片机如何快速实现查看实时数据
stm32·单片机·嵌入式硬件·调试