电位器、金属触摸传感器、红外避障传感器、烟雾传感器、倾斜开关传感器 | 配合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);
}
相关推荐
bai5459361 小时前
LED闪烁功能代码详解
单片机·嵌入式硬件
Elias不吃糖1 小时前
epoll 事件全集、每个事件的含义、哪些事件在实际服务器中最常见、哪些会组合出现
linux·c++·event
AA陈超2 小时前
ASC学习笔记0017:返回此能力系统组件的所有属性列表
c++·笔记·学习·ue5·虚幻引擎
Unlyrical2 小时前
splice, io_uring_prep_splice 调用(无效参数)
linux·服务器·c++·unix
Lucis__3 小时前
STL设计模式探秘:容器适配器&仿函数
c++·容器·stl·仿函数
吃货界的硬件攻城狮3 小时前
【STM32】低功耗模式下的IO配置详解(标准库实现)
stm32·单片机·嵌入式硬件
无敌最俊朗@4 小时前
C++ 对象布局之padding(填充字节)
开发语言·c++
小龙报4 小时前
《DevC++支持C++11等与其软件分辨率低的解决办法》
c语言·c++·windows·蓝桥杯·pat考试·学习方法·dvc++
机智的豆子4 小时前
物联网架构
物联网·微服务
大佬,救命!!!4 小时前
C++函数式策略模式中配置修改
c++·学习笔记·迭代加深·企业级·函数式策略模式·多文件编译环境·json环境配置修改