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

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

齐护方位传感器是一款集成了三轴磁传感器芯片的方位传感器模块。适用于无人机、机器人、移动和个人手持设备中的罗盘(指南针)、导航和游戏等高精度应用。模块可以感应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 Pincompass=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, timecompass=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))

五、附件示例程序下载

【方位传感器】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/593479.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于springboot+vue+Mysql的大学生租房系统

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

目标追踪StrongSORT——基于DeepSORT重大升级提高多目标跟踪的准确性和鲁棒性

1、概述 1.1 DeepSORT DeepSORT算法是在SORT基础上发展起来的一种多目标跟踪算法。SORT算法结合了目标检测器和跟踪器&#xff0c;其中跟踪器的核心是卡尔曼滤波和匈牙利算法。卡尔曼滤波用于预测目标在下一帧的位置和状态&#xff0c;而匈牙利算法则用于将预测状态与实际检测…

vue 视频添加水印

1.需求背景 其实腾讯云点播的api也支持视频水印&#xff0c;但是只有单个水印&#xff0c;大概效果是这样子的&#xff0c;不满足我们的需求&#xff0c;我们的需求是需要视频中都是水印。 腾讯云点播水印 项目需求的水印&#xff08;主要是防录屏,最后的实现效果是这样&…

APK安装包与系统不兼容 请尝试安装与当前系统兼容的安装包 SDK编译版本低

安装一些低版本SDK编译或者老版本的软件时提醒无法安装但是又想要使用&#xff0c;这种情况下也能安装。 系统安装包管理器的提示 两种解决方案 第一种无需 Root 通过 ADB 给 Shizuku 授权&#xff0c; 打开 Shizuku 再授权 MT 文件管理器直接安装或者其他安装包管理器安装…

考研人千万不能犯的错误——什么情况下求极限可以直接带入值?

博主最近在复习考研的过程中&#xff0c;做了武忠祥老师的每日一题发现有一个题型错的很集中&#xff0c;就是关于极限数值带入的问题&#xff0c;相信也有不少的宝子容易在这种题型上犯错&#xff0c;今天带大家梳理总结一下常见的计算极限时容易犯的错误 极限的四则运算定义…

Prometheus+grafana环境搭建MongoDB(docker+二进制两种方式安装)(五)

由于所有组件写一篇幅过长&#xff0c;所以每个组件分一篇方便查看&#xff0c;前四篇mongodb的exporter坑也挺多总结一下各种安装方式&#xff0c;方便后续考古。 Prometheusgrafana环境搭建方法及流程两种方式(docker和源码包)(一)-CSDN博客 Prometheusgrafana环境搭建rabb…

Flutter仿Boss-4.短信验证码界面

效果 简述 在移动应用开发中&#xff0c;处理短信验证码是确保用户身份验证和安全性的重要步骤。本文将介绍如何使用Flutter构建一个短信验证码界面&#xff0c;让用户输入通过短信发送到他们手机的四位验证码。 依赖项 在这个项目中&#xff0c;我们将使用以下依赖项&#…

4.4C++

1 #include <iostream> #include <cmath> using namespace std; class A{ private:int a;// 判断一个数是否为质数bool isP(int num) {if (num<2) return false;for (int i2;i<sqrt(num);i) {if (num % i 0) {return false;}}return true;} public:// 构造…

QT----opencv4.8.0编译cuda版本,QTcreater使用

目录 1 编译opencv4.8.02 验证能否加载GPU cuda12.1 opencv4.8.0 vs2019 cmake3.29 1 编译opencv4.8.0 打开cmake&#xff0c;选择opencv480路径&#xff0c;build路径随意 点击configure后&#xff0c;选择这些选项&#xff0c;opencv_word&#xff0c;cuda全选&#xff0c;…

matlab中角度-弧度转化

在 MATLAB 中进行角度和弧度之间的转换可以使用内置的函数&#xff1a; 1. 将角度转换为弧度&#xff1a; matlab rad deg * pi / 180; 这里 deg 是你想要转换的角度值&#xff0c;pi 是 MATLAB 内置的圆周率常量。 2. 将弧度转换为角度&#xff1a; matlab…

MySQL索引失效的几种情况

系列文章目录 文章目录 系列文章目录前言前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 借助 explain 执行计划来分析索引失效的具体场景。explain 使用如下,只需…

LeetCode-994. 腐烂的橘子【广度优先搜索 数组 矩阵】

LeetCode-994. 腐烂的橘子【广度优先搜索 数组 矩阵】 题目描述&#xff1a;解题思路一&#xff1a;多源广度优先搜索&#xff08;队列实现&#xff09;解题思路二&#xff1a;哈希表实现&#xff0c;先找出所有腐烂和新鲜橘子的集合{}类似于set()。每剔除一次time1解题思路三&…