电位器、金属触摸传感器、红外避障传感器、烟雾传感器、倾斜开关传感器 | 配合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);
}
相关推荐
岁忧5 小时前
(LeetCode 面试经典 150 题 ) 11. 盛最多水的容器 (贪心+双指针)
java·c++·算法·leetcode·面试·go
行之无边7 小时前
零基础入门物联网-远程门禁开关:硬件介绍
物联网
蜉蝣之翼❉10 小时前
CRT 不同会导致 fopen 地址不同
c++·mfc
aramae10 小时前
C++ -- STL -- vector
开发语言·c++·笔记·后端·visual studio
lixzest10 小时前
C++ Lambda 表达式详解
服务器·开发语言·c++·算法
编程墨客11 小时前
STM32F103C8T6单片机内部执行原理及启动流程详解
stm32·单片机·嵌入式硬件
TDengine (老段)11 小时前
TDengine 数据库建模最佳实践
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
_Chipen11 小时前
C++基础问题
开发语言·c++
灿烂阳光g11 小时前
OpenGL 2. 着色器
c++·opengl
行之无边11 小时前
零基础入门物联网-远程门禁开关:云平台创建
物联网