齐护机器人方位传感器指南针罗盘陀螺仪

一、方位传感器原理及功能说明

齐护方位传感器是一款集成了三轴磁传感器芯片的方位传感器模块。适用于无人机、机器人、移动和个人手持设备中的罗盘(指南针)、导航和游戏等高精度应用。模块可以感应XYZ平面角度外,还可实现1°至2°的水平面角度罗盘航向精度(平面指向角度),采用i2c串行总线接口。

硬件功能说明

二、常用主控接线

连接: 所有主控都要使用I2C管脚连接模块!

三、图形化编程块功能说明

四、编程示例

4-1.获取方位角

角度对应关系如下图所示,以北面为0点,顺时针为正,逆时针为负。

注:在Micropython下编程时角度是从0-360度的,没有负角度!

例程功能说明:打印当前方位角,当方位角小于50时,13号IO的灯亮起,否则关灯,延时0.25秒,防传感器刷新过快看不清数据或传感器卡死。

齐护编程软件程序如下图所示:

Mixly软件编程程序如下图所示:

Arduino代码编程如下:

复制代码
#include <Arduino.h>
#include <QH_Compass.h>

QH_Compass compass;

void setup() {
  compass.init();
  Serial.begin(9600);
  pinMode(13, OUTPUT);
}

void loop() {
  compass.read();
  Serial.println(compass.getAzimuth());
  if (compass.getAzimuth() < 50) {
    digitalWrite(13, 1);
  }
  else{
    digitalWrite(13, 0);
  }
  delay(0.25 * 1000);
}

Micropython编程如下:

这里把控制IO变为IO2,且在Micropython下编程时方向角只有0-360度数据,没有负值!

Micropython代码编程如下:

复制代码
import machine, QH_Compass, time
from machine import Pin

compass=QH_Compass.QH_Compass(sda=21,scl=22)

pin2 = Pin(2, Pin.OUT)
while True:
  compass.read();
  print(compass.heading())
  if compass.heading() < 50:
    pin2.value(0)
  else:
    pin2.value(1)
  time.sleep_ms(int(0.25 * 1000))

4-2.获取方位

将方位角转换为0~15的方位,如下图所示从0(360°)位置开始每22.5度代表一个方向,如则返回0为北面,1为北东北,2为东北,同理类推。

QH_FW_Img00

齐护编程Scratch程序如下图所示:

Mixly软件程序如下图所示:

Arduino代码编程如下:

复制代码
#include <Arduino.h>
#include <QH_Compass.h>

QH_Compass compass;

void setup() {
  compass.init();
  Serial.begin(9600);
}

void loop() {
  compass.read();
  Serial.println(compass.getBearing(compass.getAzimuth()));
  delay(0.25 * 1000);
}

4-3.获取传感器XYZ的值

获取传感器XYZ平面的原始值,类似于陀螺仪的角度,箭头表示在正常测量配置中产生正输出读数的磁场方向。

齐护编程Scratch软件程序如下图所示:

Mixly软件程序如下图所示:

Arduino代码编程如下:

复制代码
#include <Arduino.h>
#include <QH_Compass.h>

QH_Compass compass;

void setup() {
  compass.init();
  Serial.begin(9600);
}

void loop() {
  compass.read();
  Serial.println((String((String((String("X:") + String(compass.getX()))) + String((String(" Y:") + String(compass.getX()))))) + String((String(" Z:") + String(compass.getX())))));
  delay(0.25 * 1000);
}

Micropython编程如下:

Micropython代码编程如下:

复制代码
import machine, QH_Compass, time

compass=QH_Compass.QH_Compass(sda=21,scl=22)

while True:
  compass.read();
  print((str('X:') + str(str(compass.read_rawXYZ(0)) + str(str('Y:') + str(str(compass.read_rawXYZ(1)) + str(str('Z:') + str(compass.read_rawXYZ(2))))))))
  time.sleep_ms(int(0.25 * 1000))

五、附件示例程序下载

【方位传感器】

相关推荐
WWZZ202511 小时前
快速上手大模型:深度学习2(实践:深度学习基础、线性回归)
人工智能·深度学习·算法·计算机视觉·机器人·大模型·slam
Lenz's law1 天前
智元灵犀X1-本体通讯架构分析2:CAN/FD总线性能优化分析
架构·机器人·can·1024程序员节
@LetsTGBot搜索引擎机器人1 天前
Telegram 被封是什么原因?如何解决?(附 @letstgbot 搜索引擎重连技巧)
开发语言·python·搜索引擎·机器人·.net
灵犀物润1 天前
使用 Blender 对四足机器宠物(例如机器猫、机器狗、机器猪等)进行细节雕刻的完整、专业级流程
机器人·blender·宠物
kuan_li_lyg2 天前
笛卡尔坐标机器人控制的虚拟前向动力学模型
人工智能·stm32·机器人·机械臂·动力学·运动学·导纳控制
晚风残2 天前
【机器人】RViz中LaserScan的参数信息说明
机器人
陈苏同学2 天前
笔记1.4:机器人学的语言——三维空间位姿描述 (旋转矩阵 - 齐次变换矩阵 - 欧拉角 - 四元数高效表示旋转)
笔记·线性代数·算法·机器人
普蓝机器人3 天前
面向智慧农业的自主移动果蔬采摘机器人:融合视觉识别与自动驾驶的智能化农作系统研究
人工智能·学习·机器人·移动机器人·三维仿真导航
Wnq100723 天前
巡检机器人户外视觉识别困境剖析与自动优化模式构建
图像处理·目标检测·低代码·计算机视觉·目标跟踪·机器人·需求分析
haing20193 天前
SCARA 机器人点到点(PTP)轨迹规划方法
机器人·ptp速度规划·主运动轴