十七,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内部霍尔传感器

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

十七,ESP32内部霍尔传感器

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
ESP-32

十六,ESP32 OLED(ssd1306)显示器入门

2025-4-16 13:54:22

ESP-32

十六,ESP32 OLED(ssd1306)显示器入门

2025-4-16 14:15:31

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索