十七,ESP32内部霍尔传感器

一,介绍

本文的主要目的是解释如何使用ESP32 的内部传感器获取测量的结果,霍尔传感器是在磁场的作用下输出比例电压的一个装置。这是ESP32众多传感器的一种,我们将获取附近没有磁场的值,然后我们将磁铁靠近ESP32时测试的结果。

二,硬件

  • ESP32开发板

三,代码设计

对于这个ESP32教程,我们不需要任何库包含。此外,设置功能将非常简单,基本上是打开串行通信,因此我们可以将霍尔传感器测量结果发送到计算机。

void setup() {
  Serial.begin(115200);
}

其余代码将在主循环函数中完成。我们希望定期测量传感器值。但首先,我们声明一个整数变量,以保存每个测量的结果。

int measurement = 0;

然后,为了获得实际测量,我们只需调用hallRead函数,它将从霍尔传感器返回值。当然,我们会将值存储在先前声明的变量中。

measurement = hallRead();

获得该值后,我们将其打印到串口,然后我们可以使用Arduino IDE串行监视器检查该值。

Serial.print("Hall sensor measurement: ");
Serial.println(measurement);

最后,在进入测量循环的下一个循环之前,我们会延迟一段时间。为此,我们只需调用Arduino的延迟函数,将输入的毫秒数等待。在此示例中,我们将延迟1秒,但您可以使用其他值。

delay(1000);

这个ESP32教程的完整源代码可以在下面看到。

/*******************************************************
            ESP32 使用内部霍尔传感器
   功能:使用内部霍尔传感器获取磁场强度的值打印到串口监视器
   引脚:
   Designer: Code_Mouse
   Date:2018-9-16
 *******************************************************/

void setup() {
  Serial.begin(115200);
}

void loop() {
 
    int measurement = 0;
    measurement = hallRead();
    Serial.print("Hall sensor measurement: ");
    Serial.println(measurement); 

    delay(1000);
}

四,测试代码

要测试代码,只需编译它并使用Arduino IDE将其上传到电路板。然后,打开串行监视器并将波特率设置为我们的设置功能中定义的相同值。

在ESP32附近没有任何磁场,你应该在0附近进行一些测量,如图1所示

十七,ESP32内部霍尔传感器
图1

然后抓住磁铁并将其放在ESP32芯片附近。根据附近的磁性轮询,霍尔传感器测量值应该增加或减少,如图2所示

十七,ESP32内部霍尔传感器
图2
「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论