很早之前就有网友建议写一篇关于Linux驱动的文章。之所以拖到现在才写,原因之一是我之前没有在工作中遇到需要自己手动去写驱动的需求,主要是现在Linux内核驱动的支持已经比较完善了,另外一个原因是自己水平实在有限,不敢写驱动这个话题,Linux驱动里涉及到的东西太多了,很多年前专门买过驱动相关的书籍,厚厚的,看的云里雾里。借此机会,在这里给大家做个非常非常入门级的介绍,希望对大家有所帮助。
上一篇文章使用RT-Smart的IIC驱动OLED屏幕,进行基本的字符串显示,在使用过程中对RT-Smart有了一定熟悉,准备使用SPI驱动ST7789,但SPI接口没有引出,本次使用手上已有的传感器MPU6050进行使用。
手把手教大家使用当下最流行的一款六轴(三轴加速度+三轴角速度(陀螺仪))传感器:MPU6050,该传感器广泛用于四轴、平衡车和空中鼠标等设计,具有非常广泛的应用范围。
先说结论:任何一个领域,就像世间的五行,阴阳结合,虚实结合,利弊结合。对于哪个更好,不能一概而论,最重要的是要搞清楚,你更适合哪个?
智能交通工具在现代社会中起着越来越重要的作用,电动车作为一种环保、便捷的交通工具,受到了广泛的关注和应用。本设计基于单片机技术,设计一款简易智能电动车,实现基本的控制和功能,并提供良好的用户体验。
随着人口老龄化的到来和人民对提升生活品质的需要, 人们对在现实生活场景中取代人力的服务机器人有着迫切的需要。 同时, 机电、 自动控制、 计算机、 传感器等技术的发展也为制造服务机器人提供了技术支持。 扫地机器人是服务机器人中技术最成熟和最为广泛使用的机器人。 它可以自动的在室内行走, 通过刷扫和吸尘将地面上的碎屑吸收进垃圾收集装置中, 完成清洁地面的任务,有效的减少了人们清洁地面这种简单重复的家务劳动, 节约了劳动力, 提高了生活品质。 对于许多忙于工作和生的人来说,扫地机器人已经成为家庭必备的产品。
小伙伴们大家好,好久不更新RT-Thread实战笔记啦,今天来搞一搞MPU6050,话不多说,淦!
MPU-6000(6050)的角速度全格感测范围为±250、±500、±1000与±2000°/sec (dps),可准确追踪快速与慢速动作,并且,用户可程式控制的加速器全格感测范围为±2g、±4g±8g与±16g。产品传输可透过最高至400kHz的IIC或最高达20MHz的SPI(MPU-6050没有SPI)。MPU-6000可在不同电压下工作,VDD供电电压介为2.5V±5%、3.0V±5%或3.3V±5%,逻辑接口VDDIO供电为1.8V± 5%(MPU6000仅用VDD)。MPU-6000的包装尺寸4x4x0.9mm(QFN),在业界是革命性的尺寸。其他的特征包含内建的温度感测器、包含在运作环境中仅有±1%变动的振荡器。
水平仪是一种常见的测量工具,用于检测物体或设备的水平姿态。在许多应用中,如建筑、制造和航空等领域,保持设备的水平姿态是非常重要的。为了实现实时的水平检测和显示,基于单片机设计的水平仪是一个常见的解决方案。
完整项目源码下载地址: https://download.csdn.net/download/xiaolong1126626497/18657534
随之物联网的发展,各类设备都能通过物联网进行控制,本次方案尝试了通过腾讯物联网平台实现设备控制设备的功能,使用了小型机械臂和小车进行测试,验证控制的物联网控制的实时性。机械臂由5个舵机实现5个自由度。小车由一个转向舵机和一个驱动电机组成。控制端采用WCH沁恒RISC-V TencentOS Tiny CH32V_EVB_AIoT RevB02开发套件负责读取电位器和姿态传感器数据并上传到云端,执行端由STM32L431RCT6控制器负责驱动电机和舵机。
随着微电子控制技术的发展和人们对出行工具的日益增长的需求,一款简单易操作、容易携带、清洁无污染的两轮自平衡车开始走进大众的视野,但这种小型代步工具仍可能存在一定的不稳定性和安全隐患,本次课题主要通过在实验室制作一款简易的自平衡小车,通过手机蓝牙控制,以此模拟真实的使用者驾驶体验,在模拟实验中提升平衡车的稳定性,解决可能出现的实际问题。最终通过改造自平衡小车系统,实现基本的状态控制,并为以后其用到其它复杂的环境中提供一些实验参考。
陀螺仪是无人机惯导系统最基本的组成元件之一,通过对陀螺仪输出的角速度进行积分,能够获得无人机的姿态角信息;在兴趣爱好的驱动下,近来购买了MPU-6050相关模块,通过串口把测试结果传输到电脑端,实现了位姿信号的采集,具体如下图所示:
MPU6050的数据接口用的是I2C总线协议,因此我们需要Wire类库的帮助来实现Arduino与MPU6050之间的通信。
MPU 6050等IMU传感器用于自平衡机器人,无人机,智能手机等。IMU传感器帮助我们在三维空间中获得连接到传感器的物体的位置。这些值通常是角度,以帮助我们确定其位置。它们用于检测智能手机的方向,或者用于Fitbit等可穿戴设备,它使用IMU传感器跟踪运动。
现如今,随着嵌入式AI技术的不断更迭与成熟,手机、手环等智能穿戴产品已成为我们的生活小助手,极大地方便了我们的衣食住行。今天,来带大家看从智能硬件原理入手,DIY一个简易智能手环。
我是不是膨胀了,连卫星都敢做了?不知道你是否有想过自己制作一颗卫星吗?看完本篇文章,你也能自己做个卫星,要想上天就差个火箭了!
该机器人,由迪士尼设计,Sphero负责具体实现,应用独有的技术,制作了一个真实的球形机器人BB-8,其球形主体可以自由移动,头部也可以跟着运动。
后面公众号资料都会放在此github地址中,大家可以自取!! 伙伴们,一步一步DIY自己的重力感应小车,本次调试在RT-Studio平台调试遥控端MPU6050数据采集和通过MQTT协议在Onenet服务器发布订阅数据,本次主要用到正点原子开发板STM32F407ZGT6(探索者),也讲一下如何使用基于芯片开发,话不多说,上干货!
MPU6050是世界上第一款也是唯一一款专为智能手机、平板电脑和可穿戴传感器的低功耗、低成本和高性能要求而设计的6轴运动跟踪设备。 它集成了3轴MEMS陀螺仪,3轴MEMS加速度计,以及一个可扩展的数字运动处理器 DMP( DigitalMotion Processor),可用I2C接口连接一个第三方的数字传感器,比如磁力计。扩展之后就可以通过其 I2C或SPI接口输出一个9轴的信号( SPI接口仅在MPU-6000可用)。 MPU-60X0也可以通过其I2C接口连接非惯性的数字传感器,比如压力传感器。
dRehmFlight VTOL 是一种简单的准系统飞行控制器,适用于从简单的多旋翼飞行器到更复杂的过渡飞行器的所有类型的垂直起降 (VTOL) 飞行器。dRehmFlight 是为我们这些可能不精通编码但希望获得需要在空中相对快速地进行自定义混合的高级 VTOL 平台的人而创建的。目标是拥有一个易于理解的离散操作流程,让任何具有 C/Arduino 编码基础知识的人都可以查看代码,对其特定应用程序进行所需的更改,并快速实现目标。
I2C(Inter-Integrated Circuit BUS) 集成电路总线,该总线由NXP(原PHILIPS)公司设计,多用于主控制器和从器件间的主从通信,在小数据量场合使用,传输距离短,任意时刻只能有一个主机等特性。
摘要 : 数据手套在人机交互中提供了一种有效的人机交互手段,从数据手套的理论出发,本论文利用一些硬件设备以及软件开发环境,设计了一款可以与机械臂、虚拟手等终端交互的数据手套。硬件设备包括弯曲度传感器、MPU6050六轴传感器、HC-05蓝牙串口通信模块、TFT显示屏、STM32F103最小系统开发板,数据手套软件开发平台为Keil uVision5,所用的开发语言为C语言,在系统调试的时候用到了匿名四轴上位机和串口调试助手,用来对MPU6050六轴传感器和弯曲度传感器进行调试,此外在整个系统中移植了UCOS-II嵌入式实时操作系统,保证了数据在传输时的实时性和高效性。实现了数据手套对五轴机械臂的控制以及人手到虚拟手的动作映射。
陀螺仪是用高速回转体的动量矩敏感壳体相对惯性空间绕正交于自转轴的一个或二个轴的角运动检测装置。利用其他原理制成的角运动检测装置起同样功能的也称陀螺仪。 从力学的观点近似的分析陀螺的运动时,可以把它看成是一个刚体,刚体上有一个万向支点,而陀螺可以绕着这个支点作三个自由度的转动,所以陀螺的运动是属于刚体绕一个定点的转动运动。更确切地说,一个绕对称铀高速旋转的飞轮转子叫陀螺。将陀螺安装在框架装置上,使陀螺的自转轴有角转动的自由度,这种装置的总体叫做陀螺仪。 陀螺仪的原理就是,一个旋转物体的旋转轴所指的方向在不受外力影响时,是不会改变的。人们根据这个道理,用它来保持方向,制造出来的东西就叫陀螺仪。我们骑自行车其实也是利用了这个原理。轮子转得越快越不容易倒,因为车轴有一股保持水平的力量。陀螺仪在工作时要给它一个力,使它快速旋转起来,一般能达到每分钟几十万转,可以工作很长时间。然后用多种方法读取轴所指示的方向,并自动将数据信号传给控制系统。
MPU6050的姿态解算方法有多种,包括硬件方式的DMP解算,软件方式的欧拉角与旋转矩阵解算,软件方式的轴角法与四元数解算。本篇先介绍最易操作的DMP方式。
我国独生子女,以及人口老龄化等问题,正逐渐成为一个重大的社会问题,老年人机体能力的下降,摔倒引起的安全和危害愈来愈突出,国家和社会越来越关注老年人的健康和安全,开发一个能够实时检测出老年人是否摔倒,并且能及时告知监护人的摔倒检测以及报警系统具有重要的现实意义。本系统包括检测摔倒模块、GPS定位模块和通信模块三部分,通过检测老年人日常状态,可以得知老年人的状态,如果监测到老年人摔倒了,此时会通过网络把检测结果发出,获得老年人摔倒地点的GPS定位,并且通过GPRS通讯发短信给预设的监护人。
小伙伴们,停更很久的RT-Thread实战笔记来啦,本章节教大家如何打造一个属于自己的平衡车,废话不多说,来吧,淦!!!
锂电池电压和电量之间,有一定的对应关系,通过对开路电压的测量,可以大致得出电池的剩余电量。不过用电压测量电量的方式有一定的不稳定性,例如放电电流、环境温度、循环、放电平台、电极材料等,都会给最后结果的准确与否带来影响。 电压和电量的对应关系是:100%----4.20V、90%-----4.06V、80%-----3.98V、70%-----3.92V、60%-----3.87V、50%-----3.82V、40%-----3.79V、30%-----3.77V、20%-----3.74V、10%-----3.68V、5%------3.45V、0%------3.00V。锂电池能够实现用电压测量剩余电量,主要是因为这种电池有一个很独特的性质:在电池放电时,电池电压会随着电量的流失而逐渐降低,从而形成了一种正相关的关系,并且有一定的斜率。因此我们能够依据剩余电量估算出大概的电压,反之亦然。
简要 平衡车DIY是我一个2019年初的DIY作品,那时候只完成了硬件开发和平衡的算法,为了不留遗憾,所以重新完善它。 文章分为4篇进行说明: 《平衡车 - 硬件》:讲解平衡车的硬件设计。 《平衡车 - 软件》:讲解平衡车的软件设计,算法。 《平衡车 - 上位机》:讲解调参上位机的设计 《平衡车 - 微信小程序》:讲解微信小程序作为遥控器的实现。 github连接:https://github.com/RiceChen/Balance_Car.git 硬件设计 材料清单 元件型号作用主控stm32f103c
笑死,第三篇了都,好久都没有写这么多了,第三篇是我最近看的一个STC官网的小项目,一个无人机的项目,感觉代码写的很好,这里简单的分析一下。
飞控不是一下做出来的,下面是一些重要传感器的mpy驱动代码,为飞控项目添砖加瓦。
曾经是某见的教学总监,我带出来的学生也有大几千了,基本都从事linux相关开发工作。现在在各行各业也基本都是翘楚,有的都成公司技术主管,带领几十人上百人团队。
注意:更换 720 电机之后,需要在 menuconfig->ESPDrone Config->motors config 将 motor type 修改为 brushed 720 motor
这篇项目将和大家分享如何制作ESP8266无人机(这个无人机可以爬墙)以及它是如何工作的。
出于业余爱好,以及学习自动化控制PID理论,经过多种选择后决定制作平衡车进行实际操练。刚开始试着用单纯的裸机,完成直立控制,然后慢慢的又增加了屏幕显示,用于参数调整显示,再然后用蓝牙透传进行串口遥控,并且增加用遥控器进行PID参数调增。增加这些功能以后,再进一步逐渐的增加功能,就需要进行在多任务的时间调配上进行更严格分配,每增加一个功能,都需要重新调整在这个上面花费了不少时间。例如,在屏幕的显示上,由于需要较多时间进行数据端口的模拟,耗费大量时间,如果需要增加多个参数显示,相应的屏幕程序就需要更多时间,就会改变整个程序的时间分配,平衡车直立控制就会不稳定,难与调试。由于上面的困扰,并且之前2010年的时候一个偶然机会了解到了RT-Thread实时操作系统,决定试着用操作系统的理念进行编写,可以省去在裸机调试时间分配的困扰。由于裸机我用了STM32F103C8T6芯片只有64KB,我本人懒于修改硬件,尝试修剪RTT,用尽可能少的组件,手动的把3.0.4版本去掉外围,只用内核。在内核上把平衡车的控制分为直立控制、蓝牙控制、屏幕控制、以及原来的LED控制,后续增加超声波,指南模块等。尽可能使用现成的元件搭建起实物原型,然后再不断增加功能,从扩充的过程中完成控制理论的学习和对实时操作系统的掌握。由于有限的代码空间也进一步锻炼代码的精简训练。
随着2021年电赛的临近和清单的出炉,各参赛队伍都在紧张的备赛当中。然而在电赛清单中,我们能看到一个比较特别的器件–空心透明球。这个器件的特别之处在于它的尺寸过大,以至于让人摸不着头脑。在网上看过很多预测,关于这个球的预测大家也是众说纷纭。那么现在就根据预测的最多的一种情况–球形机器人,来进行简单的设计方案分析。
就像动画《四驱兄弟》中展现的那样,在比赛中需要跟着赛车一起跑圈,而且赛车如果被撞翻还需要重新用手扶正,所浪费的时间非常影响比赛结果。
在上一章中,我们讨论了构建机器人所需的硬件组件的选择。 机器人中的重要组件是执行器和传感器。 致动器为机器人提供移动性,而传感器则提供有关机器人环境的信息。 在本章中,我们将集中讨论我们将在该机器人中使用的不同类型的执行器和传感器,以及如何将它们与 Tiva C LaunchPad 进行接口,Tiva C LaunchPad 是德州仪器(TI)的 32 位 ARM 微控制器板,在 80MHz。 我们将从讨论执行器开始。 我们首先要讨论的执行器是带有编码器的直流齿轮电动机。 直流齿轮电动机使用直流电工作,并通过齿轮减速来降低轴速并增加最终轴的扭矩。 这类电机非常经济,可以满足我们的机器人设计要求。 我们将在机器人原型中使用该电机。
最近在使用MPU9250来学习姿态解算,查询了非常多的网上关于MPU6050和MPU9250的资料,发现内置的DMP可以计算出姿态角,可原代码是用在MSP430和STM407上的,手上有块F429的野火板子,移植过程越到非常多的巨坑,现在想记录下来给各位初学者提供一些便利。
随着移动通信技术的发展,移动互联网日益普及,传统互联网已经在向移动互联网迁移,智能穿戴设备近年来发展的非常迅速,成为一个热点行业,它通过借助传感器,与人体进行信息交互,是一种在新理念下诞生的智能设备,具有广泛的应用领域,并能够根据用户需求不断升级。智能穿戴设备在提高人们生活品质、促进生活方式智能化方面将会起到很重要的作用。
这是本科时的毕业设计,想着之后读研了,研究方向是机器学习了,可能不会这么再碰32或者51之类的板子了,就想趁着还没有忘记就来梳理一下,纪念陪伴了我两年的硬件朋友们,也作为一个足迹。
之前发了LCD调试笔记,大家很感兴趣,所以这次再来一篇:六轴传感器ICM20608驱动移植笔记,大家还需要什么移植笔记?可以留言。我们尽量满足。
(MPU6886)6轴IMU单元是带有3轴重力加速度计和3轴陀螺仪的6轴姿态传感器,可以实时计算倾斜角度和加速度。该芯片采用mpu6886,具有16位ADC,内置可编程数字滤波器和片上温度传感器,采用I2C接口(addr:0x68)与上位机通信,并支持低功耗模式。
这个飞控是基于STM32,整合了MPU6050,即陀螺仪和重力加速计,但没有融合电子罗盘;
雷德斯 and枕头们,小飞哥又又叒好久没更新文章啦,最近实在是太忙啦,大家久等啦,这次是系列文章,一步步教你如何在ART-PI上实现无线重力感应遥控小车。
PS:LIS3DH和mpu6050的X和Y方向是相反的, mpu6050如下图所示:
先说arduino的来源吧。他是意大利的一名教师和一名晶体工程师发明的一个灵活性非常高的电子平台,主要是因为当时的学生跟他抱怨找不到便宜好用的微控制器。
MultiWii 的第一个配置是在固件源的config.h文件中完成的。使用 Arduino 等编程 IDE 或简单的文本编辑器,可以更改多旋翼飞行器、飞翼或直升机的多个选项。
领取专属 10元无门槛券
手把手带您无忧上云