HMC5883地磁传感器按键调控代码
时间: 2023-07-09 07:30:04 浏览: 160
以下是HMC5883地磁传感器按键调控代码的基本框架,你可以根据实际需求进行修改:
```c
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_HMC5883L.h>
#define BUTTON_PIN 2 // 按键引脚
#define LED_PIN 13 // LED引脚
Adafruit_HMC5883L mag = Adafruit_HMC5883L(); // 创建传感器对象
bool isLedOn = false; // LED状态标志
void setup() {
Serial.begin(9600);
mag.begin();
pinMode(BUTTON_PIN, INPUT_PULLUP);
pinMode(LED_PIN, OUTPUT);
}
void loop() {
if (digitalRead(BUTTON_PIN) == LOW) { // 如果按键被按下
isLedOn = !isLedOn; // 取反LED状态
digitalWrite(LED_PIN, isLedOn ? HIGH : LOW); // 更新LED状态
delay(100); // 延时消除抖动
}
sensors_event_t event;
mag.getEvent(&event);
Serial.print("X: "); Serial.print(event.magnetic.x);
Serial.print(" Y: "); Serial.print(event.magnetic.y);
Serial.print(" Z: "); Serial.println(event.magnetic.z);
delay(100);
}
```
这段代码使用了Adafruit_HMC5883L库来驱动传感器,并且在按下按钮时切换LED状态。在主循环中,通过调用`getEvent`方法获取地磁传感器的数据,并将其输出到串口。你可以根据需要对代码进行修改,例如调整LED闪烁频率或输出格式等。
阅读全文