37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试多做实验,不管成功与否,都会记录下来——小小的进步或是搞不掂的问题,希望能够抛砖引玉。
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验十二:3144E霍尔开关传感器模块 磁性磁铁磁场计数电机测速 可调灵敏度
2、实验三:双极锁存型霍尔元件U18(自锁双稳态)
(1)参考开源代码(Arduino):
/*
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二:通过串口显示检测U18霍尔元件的数值与波形
实验接线:U18霍尔元件接Uno的A0
*/
void setup()
{
Serial.begin(9600); // 设置串口波特率为9600
pinMode(A0, INPUT); // 霍尔连接引脚A0,并设置为输入模式
}
void loop()
{
Serial.println(analogRead(A0)); //将读取的A0模拟值输出到串口监视器
delay(500); // 延时500毫秒
}
(2)打开Arduino IDE上的串口监视器(红点处),读取A0模拟端口输入的数值
实验说明:通过调换磁铁极性(N或S)靠近U18,才能反转输出高低电平的状态
(3)打开Arduino串口绘图器(红点处),查看磁铁接近霍尔元件产生的信号波形
3、实验四:线性霍尔元件49E(输出模拟量)
(1)参考开源代码(Arduino):
/*
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验三:线性霍尔元件49E(输出模拟量)
实验接线:49E霍尔元件接Uno的A0
*/
void setup()
{
Serial.begin(9600); // 设置串口波特率为9600
pinMode(A0, INPUT); // 霍尔连接引脚A0,并设置为输入模式
}
void loop()
{
Serial.println(analogRead(A0)); //将读取的A0模拟值输出到串口监视器
delay(500); // 延时500毫秒
}
(2)打开Arduino IDE上的串口监视器(红点处),读取A0模拟端口输入的数值
(3)打开Arduino串口绘图器(红点处),查看磁铁接近霍尔元件产生的信号波形
(实验说明:最后图为调换磁铁极性产生的波形)
(4)实验场景图