【Micropython】ESP8266驱动mpu6050读取数据

news2025/1/22 18:47:26

【Micropython】ESP8266驱动mpu6050读取数据


  • 📌相关篇《【MicroPython ESP32】ssd1306驱动0.96“I2C屏幕+mpu6050图形控制》

  • ✨本案例基于Thonny平台开发。✨

  • 🔖esp8266固件版本:MicroPython v1.19.1 on 2022-06-18

  • 📍本篇需要使用的加载的mpu6050模块库(无法在Thonny里面下载到):https://github.com/narutogo/micropython-mpu6050-

  • 🎈与之相关的库(兼容ESP32):https://github.com/Lezgend/MPU6050-MicroPython

🛠将库下载下来后,将模块导入进去

在这里插入图片描述

📝示例程序一

  • ✨主程序通过库所提供的测试代码上添加了温度数据打印。
from machine import I2C, Pin
import q4
import time,math
import mpu
import mpu6050
i2c = I2C(scl=Pin(5), sda=Pin(4))
acc = mpu6050.accel(i2c)
acc.error_gy()
#ay=acc.get_values()
#mpu.one_filter(ay["AcX"],ay["AcY"],ay["AcZ"],ay["GyX"],ay["GyY"],ay["GyZ"])
i=0
gyx=0
gyy=0
r=[]
q=[]
while 1:
	ay=acc.get_values()
	i=i+1
	if i==124:
		#print(r)
		print(q)
		i=0
		
		#print(ay["AcX"],ay["AcY"],ay["AcZ"],ay["GyX"],ay["GyY"],ay["GyZ"])
	#r=mpu.one_filter(ay["AcX"],ay["AcY"],ay["AcZ"],ay["GyX"],ay["GyY"],ay["GyZ"])
	q=q4.IMUupdate(ay["GyX"]/65.5*0.0174533,ay["GyY"]/65.5*0.0174533,ay["GyZ"]/65.5*0.0174533,ay["AcX"]/8192,ay["AcY"]/8192,ay["AcZ"]/8192)
	Temp = ay["Tmp"]
	print("Temp:",Temp,"°C",q)
	time.sleep(1)
	


  • 📋输出打印信息:
    在这里插入图片描述

📖示例程序二

  • 🔖此库可以将数据保存到.txt
    在这里插入图片描述
    在这里插入图片描述
# Example code for (GY-521) MPU6050 Accelerometer/Gyro Module
# Write in MicroPython by Warayut Poomiwatracanont JAN 2023

from MPU6050 import MPU6050

from os import listdir, chdir
from machine import Pin
from time import sleep_ms

mpu = MPU6050()

# List all files directory.
print("Root directory: {} \n".format(listdir()))

# Change filename and fileformat here.
filename = "{}%s.{}".format("data_logs", "txt")

# Increment the filename number if the file already exists.
i = 0
while (filename % i) in listdir():
    i += 1

# Save file in path /
with open(filename % i, "w") as f:
    cols = ["Temp", "AcX", "AcY", "AcZ"]
    f.write(",".join(cols) + "\n")
    
    while True:
        # Accelerometer Data
        accel = mpu.read_accel_data() # read the accelerometer [ms^-2]
        aX = accel["x"]
        aY = accel["y"]
        aZ = accel["z"]
        print("x: " + str(aX) + " y: " + str(aY) + " z: " + str(aZ))
    
        # Gyroscope Data
        # gyro = mpu.read_gyro_data()   # read the gyro [deg/s]
        # gX = gyro["x"]
        # gY = gyro["y"]
        # gZ = gyro["z"]
        # print("x:" + str(gX) + " y:" + str(gY) + " z:" + str(gZ))
    
        # Rough Temperature
        temp = mpu.read_temperature()   # read the device temperature [degC]
        # print("Temperature: " + str(temp) + "°C")

        # G-Force
        # gforce = mpu.read_accel_abs(g=True) # read the absolute acceleration magnitude
        # print("G-Force: " + str(gforce))
    
        # Write to file
        data = {"Temp" : temp,
                "AcX" : aX,
                "AcY" : aY,
                "AcZ" : aZ
                }
        
        push = [  str(data[k]) for k in cols ]
        row = ",".join(push)
        f.write(row + "\n")
        
        # Time Interval Delay in millisecond (ms)
        sleep_ms(100)


  • 📜打印调试信息:
    在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023 年打破认知,这个开源 API 管理工具你应该知道

关于 API 管理工具,如今的市场已经把用户教育的差不多了,毫不夸张地说,如果我随机抽取一位幸运读者,他都能给我罗列出一二三四款大家耳熟能详的工具,但我今天还是要推荐这一款我上手后,亲测觉得不错的开源 …

深入浅出OpenGL三维渲染管线

1 前言 在计算机图形学中,渲染是根据模型描述在显示器上生成图像的过程。3D图形渲染管线输入根据图元顶点(如三角形、点、线和四边形)对3D模型的描述,并为显示器上的像素生成颜色值。 如下图所示的是3D图形渲染管线的流程。 3D图形渲染管线主要包含以…

JVM知识

类加载机制 虚拟机把class文件加载到内存,并对数据进行校验,转换解析和初始化,形成虚拟机可以直接使用的Java类型,即java.lang.class 装载(Load) ClassFile -> 字节流 ->类加载器 查找和导入class文件 1:通…

解决方案|以大数据为抓手,打造粮食安全智慧监管平台

食为政首,粮安天下,粮食问题一直深受总书记记挂,总书记多次提到:“中国十三亿多人口,吃饭主要靠自己,不能靠外面来解决。” 近年来粮食安全事件频发,中央纪委国家监委在全国开展粮食购销领域腐败…

程序员的那些事儿

作者主页:爱笑的男孩。 持续分享:机器学习、深度学习、python相关内容、日常BUG解决方法及Windows&Linux实践小技巧。 如发现文章有误,麻烦请指出,我会及时去纠正。有其他需要可以私信我或者发我邮箱:zhilong666foxmail.com 目…

编译后的hue 替换cdh默认版本hue步骤

基于hue源码编译的hue 进行替换cdh6.x.x默认带的hue版本,主要解决hue滚动条 拉的时候,一下就到末尾的bug,通过源码编译githu上的hue解决问题 一. 拷贝编译好的hue到cdh目录替换原来hue目录 三.启动hue报错 问题一:没有pip命令 pip list -bash: pip: command not found …

4.17、TCP三次握手

4.17、TCP三次握手 1.TCP三次握手2.TCP通信具体流程①三次握手②服务器客户端进行通信 1.TCP三次握手 TCP 是一种面向连接的单播协议,在发送数据前,通信双方必须在彼此间建立一条连接。所谓的“连接”,其实是客户端和服务器的内存里保存的一…

热点数据监测方法

在日常开发中,我们需要着重注意一种场景-热点数据。他可能是一种请求,每次请求的数据类型都是一样的;可能是同一个数据,比如页面上公用的类型数据;可能是同一个用户大量的请求。他们都有着同一个特点,瞬时爆…

Redis---哨兵服务

一、配置哨兵服务 1、哨兵服务介绍 监视 master 服务器,发现 master 宕机后,将 slave 服务器提升为 master 服务器 主配置文件:sentinel.conf 模板文件:redis-4.0.8/sentinel.conf 哨兵服务:类似于mha的管理节点&#…

ELK日志

思维导图 一、ELK介绍 ELK是Elasticsearch、Logstash、Kibana首字母大写缩写,后续加入了Beats(Beats是负责单一用途数据采集并推送给Logstash或Elasticsearch的轻量级产品),就更名为 Elastic Stack。 Elastic Stack技术栈的功能…

JVM-GC回收机制

目录 1.判定垃圾 1.引用计数 2.可达性分析 2.清理垃圾 1.标记清除 2.复制算法 3.标记整理 4.分代回收 上文讲述的Java运行时内存划分,对于程序计数器,虚拟机栈,本地方法栈来说,生命周期是和线程有关的,随着线程而生,随线程而灭,当方法结束或者线程结束时,它们的内存就自…

细讲const与引用的关系

目录 先了解语言层面的权限 进入正题引用与const权限关系 引用权限的概念 const引用返回值时错误情况 一:返回到临时空间时权限问题 二:临时空间到调用处保存问题 结论:如果不对子函数内部数据修改、那么在父函数变量ret的类型可以设置…

vite+vue3+ts开发流程

目录 vue页面开发 数据类型开发 组件开发 API开发 页面中使用组件、API、数据类型 vue页面开发 <template><!-- 卡片区域--><el-card style"padding:0px;"><!-- 搜索与添加区域--><div style"margin-bottom: 15px;&quo…

SAP ABAP selection screen 动态获取字段名不需要回车触发

SAP ABAP selection screen &#xff0c;get field vaule without click Enter key. 有个需求&#xff0c;界面上几个字段的搜索帮助需要根据已输入值联动&#xff0c;比如AOP version 根据已输入的BU 过滤。 但尴尬的是在事件AT SELECTION-SCREEN ON VALUE-REQUEST FOR 中&a…

.Net中的标识框架Identity

中间件&#xff1a; 1、Authentication对访问者的用户身份进行验证&#xff0c;“用户是否登录成功”。 2、Authorization验证访问者的用户身份是否有对资源访问的访问权限&#xff0c;“用户是否有权限访问这个地址”。 简单描述 1、标识&#xff08;Identity&#xff09;框架…

TCP协议二:TCP状态转换(重要)

TCP状态转换分析https://www.bilibili.com/video/BV1iJ411S7UA?p44&spm_id_frompageDriver&vd_sourced239c7cf48aa4f74eccfa736c3122e65 TCP状态转换图 粗实线&#xff1a;主动端 虚线&#xff1a; 被动端 细实线&#xff1a;内核操作 状态分析 CLOSED&#xff1…

RabbitMQ:消息中间件

文章目录 概念管理界面简介4中常见交换器类型1.Direct交换器:2.Fanout交换器3.Topic交换器4.headers交换器 对象类型消息传递同步等待使用代码创建队列待续...... 概念 在微服务架构中项目之间项目A调用项目B 项目B调用项目C项目C调用项目D。。 用户必须等待项目之间内容依次的…

后端太难了,不 All in 了

作者&#xff1a;阿秀 校招八股文学习网站&#xff1a;https://interviewguide.cn 这是阿秀的第「256」篇原创 小伙伴们大家好&#xff0c;我是阿秀。 欢迎今年参加秋招的小伙伴加入阿秀的学习圈&#xff0c;目前已经超过 2200 小伙伴加入&#xff01;去年认真准备和走下来的基…

Segment Anything Model代码讲解(二)之image_encoder

image_encoder代码解析 在transformer的结构中&#xff0c;编码是非常重要的部分。接下来看image_encoder的代码部分目录 class ImageEncoderViT def initdef forward class Block def initdef forward class Attention def initdef forward def window_partitiondef window_…

【C++】引用(下)【深度全面解析】

&#x1f339;作者:云小逸 &#x1f4dd;个人主页:云小逸的主页 &#x1f4dd;Github:云小逸的Github &#x1f91f;motto:要敢于一个人默默的面对自己&#xff0c;强大自己才是核心。不要等到什么都没有了&#xff0c;才下定决心去做。种一颗树&#xff0c;最好的时间是十年前…