电位器、金属触摸传感器、红外避障传感器、烟雾传感器、倾斜开关传感器 | 配合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);
}
相关推荐
雪兽软件7 分钟前
商业物联网:拥抱生产力的未来
物联网
烦躁的大鼻嘎7 分钟前
模拟算法实例讲解:从理论到实践的编程之旅
数据结构·c++·算法·leetcode
嵌入式大圣10 分钟前
单片机结合OpenCV
单片机·嵌入式硬件·opencv
IU宝11 分钟前
C/C++内存管理
java·c语言·c++
fhvyxyci12 分钟前
【C++之STL】摸清 string 的模拟实现(下)
开发语言·c++·string
C++忠实粉丝24 分钟前
计算机网络socket编程(4)_TCP socket API 详解
网络·数据结构·c++·网络协议·tcp/ip·计算机网络·算法
古月居GYH35 分钟前
在C++上实现反射用法
java·开发语言·c++
Betty’s Sweet38 分钟前
[C++]:IO流
c++·文件·fstream·sstream·iostream
敲上瘾1 小时前
操作系统的理解
linux·运维·服务器·c++·大模型·操作系统·aigc
不会写代码的ys1 小时前
【类与对象】--对象之舞,类之华章,共绘C++之美
c++