DIY 一个树莓派无人机

2023-05-16

学习目标:DIY 一个树莓派无人机

这篇文章来源于DevicePlus.com英语网站的翻译稿。

提示:这里可以添加学习目标
在这里插入图片描述

学习内容:

提示:这里可以添加要学的内容

今天,我们将利用一些现成的组件组装一台能够拍摄高质量航拍照片以及稳定高清视频的四轴飞行器。该飞行器还会配备多种安全功能,所以新手也可以自信地操作该四轴飞行器。四轴飞行器的实时视频流通过Wifi从Raspberry Pi传输到移动设备上。该无人机还搭载了一个Linux计算机,这会为您带来许多创造性——额外的传感器、计算机视觉等。

在本系列的第一部分中,我们首先介绍四轴飞行器的硬件——需要哪些部件,它们有什么作用,如何组装在一起。在本系列的第二部分和第三部分中,我们将介绍四轴飞行器的软件——故障保护功能、遥控和飞行模式。


硬件

DJI F450 ARF (几乎到手即飞) 套件

3300mAh 3S 35C LiPo 电池(附带T型接头)

EV-Peak – AP606 – 50W DC LiPo 电池充电器/放电器 (大多数LiPo充电器都适用)

RadioLink AT9 2.4GHz 9CH 发射器,R9D 9CH 接收器

Xiaomi Yi 运动相机(附带microSD卡)

FeiYu Tech Mini 3D 3轴无刷万向节

Raspberry Pi (Model A+), microSD 卡

Raspberry Pi 相机模块

任意支持 802.11a/n/ac (5GHz 频段)的USB无线网卡——本项目用的是 D-Link DWA-160

备用 micro USB cable

各种公母T型接头

RadioLink AT9 2.4GHz 9CH 发射器,R9D 9CH接收器

吸盘式车载手机支架

4 个M3螺栓,8个M3螺母

安卓手机

工具:

电烙铁

焊锡

内六角扳手

热熔胶枪

热熔胶棒

启动该项目之前,我们必须了解四轴飞行器各个部分的作用。下文列出了构建该四轴飞行器所需的零部件及其用途,以及本教程中所使用的每个零部件的具体型号。

机架:

    作用:该机架为安装电机和电子设备提供了一个简易环境

    本项目所使用的部件:DJI Flame Wheel 450 (F450) 机架(包含在ARF套件中)

无刷电机和螺旋桨:

    作用:电机带动螺旋桨旋转产生推力,以抬升四轴飞行器

    本项目所使用的部件:DJI E305 960KV 电机和DJI 9450螺旋桨(两者均包含在ARF套件中)

电子调速器 (ESC):

    作用:ESC为无刷电机供电,并提供PWM接口,以允许飞行控制器控制每一个电机的速度和推力

    本项目所使用的部件:DJI E305 960KV 电机(包含在ARF套件中)

飞行控制器:

    作用:顾名思义,飞行控制器负责控制四轴飞行器如何飞行。飞行控制器其实是一台小型计算机,配备了惯性测量装置(IMU,包含陀螺仪和加速度计),目的是保持四轴飞行器稳定。飞行控制器还搭载了气压计、GPS和磁力计,以便让飞行控制器分别知道它目前的高度,所处的地区,面朝的方位。

    本项目所使用的部件:NAZA-M Lite,附带GPS套件(包含在ARF套件中)

稳压器、飞行控制器状态LED/USB接口:

    作用:稳压器旨在为飞行控制器提供5V恒压。状态LED负责在飞行过程中将四轴飞行器的状态信息传递给操纵人员。状态LED灯包括电池电量低指示和GPS锁定指示。USB接口则允许我们在电脑上配置飞行控制器(我们将会在第2部分用到)。

    本项目所使用的部件:稳压器和状态LED灯包含在NAZA-M Lite中

电池:

    作用:锂聚合物(LiPo)电池具有较高的能量重量比以及较大的最大放电电流,因此是为四轴飞行器提供动能的首选方式。在将LiPo电池装上四轴飞行器之前,了解如何安全地使用和充电是非常重要的。否则,可能会引起火灾及爆炸。有一些电池规格需要了解,它们的定义如下:

    本项目所使用的部件:本项目使用的电池为ReadyMadeRC 3300mAh 3S 35C LiPo电池(附带T型接头)。

    容量:电池以特定电流放电,“耗尽”之前能够持续的放电时间。比如,如果一个电池的容量是1200mAh(毫安小时),然后连续向外界提供一个1000mA的电流,那么在1200mAh/1000mA = 1.2小时后,该电池耗尽。通常,电池寿命=容量(mAh)/电流(mA)。但我们建议在LiPo电池剩余电量在20%时就对其进行充电。

    电池芯数量:每个LiPo电池由1个或多个电池芯组成。一个电池内的电池芯串联连接,因此电池的总电压即为各个电池芯电压的总和。LiPo电池的电池芯数量通常为电池上字母“S”之前的数字——2S表示电池是两芯电池。

    放电率:放电率反映了电池的最大安全放电电流。LiPo电池的放电率通常为电池上字母“C”之前的数字——标记为35C的电池可提供的最大电流为“35x容量”。

LiPo 电池充电器:

    作用:LiPo电池充电器负责对LiPo电池进行安全充电。请注意,必须用LiPo电池充电器充电,而不能用其他充电器(例如镍镉电池或者镍氢电池充电器)。

    本项目所使用的部件:EV-Peak–AP606–50W DC充电器/放电器

发射器+接收器:

    作用:发射器通过多个操纵杆和开关接收操作人员指令,然后通过Wifi发送到四轴飞行器的接收器上。接收器负责解码操作人员的命令,然后将其转发给飞行控制器。

    本项目所使用的部件:RadioLink AT9 2.4GHz 9CH发射器,R9D 9CH接收器

万向节+相机

    作用:有了相机和万向节,四轴飞行器就能变成一个拍摄专业镜头的航拍平台。相机安装在万向节上,而万向节的动作实际上与四轴飞行器的相反——确保相机始终保持水平。

    本项目所使用的部件:Xiaomi Yi 运动相机,FeiYu Tech Mini 3D 3轴无刷万向节

RPi,RPi相机,WiFi无线网卡:

    作用:虽然安装在万向节上的相机能够以惊人的2K分辨率录制视频,但是,如果我们无法确定想要拍摄的物体是否位于镜头内,再好的摄像装备也没用。Raspberry Pi相机通过5GHz WiFi无线网卡连接到Raspberry Pi 3代A +。因此,Raspberry Pi可以将前向Raspberry Pi相机的实时视频流传输至通过WiFi连接的任何设备。

    本项目所使用的部件:Raspberry Pi Model A+,Raspberry Pi相机模块,D-Link DWA-160。

安卓手机,手机支架:

    作用:手机的作用是为Raspberry Pi提供Wi-Fi热点,并提供一个显示屏幕,方便我们查看无人机传输的实时视频流。手机支架负责将手机与发射器连在一起。

    本项目所使用的部件:LG Nexus 5(任何支持移动热点的安卓手机都可以)。任意一端是吸盘、另一端是磁性部件的手机支架。

组装步骤:

第1步:将ESC焊接到底板上

我们使用的DJI F450机架包含一个顶板和一个底板,安装完成后,它们应该将四个机臂“夹在中间”。每个机臂的末端安装一个电机,机臂下方安装一个ESC。这两块板将四个机臂固定在一起,并为四轴飞行器上的所有组件提供了一个安装表面。

图1
底板有一个非常重要的功能:它将电池的能量分配给所有的ESC。如上图所示,底板上有五对正负极焊盘——每个ESC用一对,电池接头用一对。每个ESC(电子调速器)都有两条电缆:一根双线PWM信号线和一根较粗的黑色电源线。

目前我们只关注调速器的电源线,后面再将PWM信号线连接到飞行控制器。这根电源线太长,可以将其剪成约12厘米长。然后剥掉电源线上的一段黑色绝缘层,露出红色电线(正极)和裸线(负极)。将红线焊接到焊盘(+)上,将裸线焊接到焊盘(-)上。为了防止短路,我在焊盘上打了热熔胶。请为每个电机重复此过程。

第2步:将稳压器和电池导线焊到底板上

将ESC焊接到底板上之后,您会看到还剩下一对焊盘(图1底部的焊盘)。这对焊盘是用来连接电池导线和稳压器导线的(图3)。

NAZA-M Lite盒中应包含两根大规格的导线——一根红色和一根黑色。将盒中的红色导线和稳压器的红色导线焊接到正极(+)焊盘上。将盒中的黑色导线和稳压器的黑色导线焊接到负极(-)焊盘上。为了防止短路,我在焊盘上打了热熔胶。

第3步:连接T型接头

我们不能直接将电池焊接到上述导线,因为那样的话我们将无法更换电池或为电池充电。要将电池连接至底板中的配电板,我们需要将一个公的T型接头焊接到我们刚刚焊接的那两根导线上。为此,将接头的短边朝上,将红色导线焊接到较短的水平部分,将黑色导线焊接到较短的垂直部分(有关极性,请参见下图右侧的接头)。

完成焊接后,接头的样子如下所示(我用电工胶带包住了裸露的金属部分,当然您也可以用热缩管):

第4步:安装飞行控制器

将NAZA-M Lite附带的黑色双面胶切成与飞行控制器一样长。撕掉双面胶一面的保护膜,然后将其牢固地粘在底板的中间。然后,将飞行控制器标有M1、M2、M3等多个标签的一侧朝着底板上您认为是四轴飞行器正面的那一侧。撕下双面胶另一面的保护膜,将飞行控制器粘在上面。

第5步:安装RC接收器

我选择将RC接收器安装在机架背面底板底部延伸处,用热熔胶或者双面胶对其简单固定。从接收器伸出的那根导线是天线,暂时不用管它,等组装支腿的时候再考虑。

第6步:将接收器的伺服线连至飞行控制器

接收器上每三个一列的引脚会输出一个PWM信号。在RC领域,每个PWM信号都称为一个通道,代表操纵人员命令的一个组成部分。比如,接收器的通道3是操纵人员所需的加速信号。为了让飞行控制器能够接收操纵人员的每个命令,我们必须使用一根PWM信号线将接收器上的每个通道连接到飞行控制器。请注意,插入飞行控制器时,PWM信号线上的橙色(信号)导线应位于顶部,而棕色导线的另一端连接接收器时应朝下。

PWM信号线应按以下方式连接(左侧的通道编号在接收器上,右侧括号中的字母位于NAZA的背面):

通道 1 = 副翼 (A)

通道 2 = 升降副翼 (E)

通道 3 = 加速 (T)

通道 4 = 舵 (R)

通道 5 = 飞行模式 (U)

通道 6 = 方向锁定 (X2)

第7步:将ESC伺服线连至飞行控制器

还记得我前面提到的ESC的那根双线伺服电线吗?现在,我们将其连至飞行控制器。飞行器坠毁的一个常见原因就是ESC与飞行控制器的连接顺序按错误,因此我们必须在首次就正确安装该器件。

在NAZA-M Lite的正面,您会看到多列标有M1-M6的引脚,我们只需连接M1-M4。您必须根据下图将电机连至飞行控制器,其中红色机臂是四轴飞行器的前方。比如,右前ESC的伺服线必须连接到M1;左前ESC伺服线必须连接到M2,依此类推,按逆时针方向转。

第8步:将顶板安装到机臂上

我们已经将所有电子设备都安装在底板上了,现在应先从顶板开始将顶板和底板与机臂固定在一起。您可能已经注意到,DJI F450机架包含两个红色机臂和两个白色机臂。我们可以将两个红色机臂放在四轴飞行器的前部,将两个白色机臂放置在四轴飞行器的后部,当四轴飞行器在空中时,我们就会知道其前方是哪个方向。

请用机架附带的螺栓将机臂固定到顶板上,每个机臂用四个螺栓。请确保两个红色机臂位于ESC伺服线与M1和M2相连的NAZA侧——这将是四轴飞行器的前部。下一步之后,您会看到每个机臂实际上都“夹在”顶板和底板之间。

第9步:安装支腿和底板

F450 ARF套件附带的白色支腿(如上图所示)负责在起飞和降落期间保护四轴飞行器下方的重要电子设备。请用机架附带的长螺栓连接支腿。支腿应位于机臂正下方,安装时螺栓要穿过支腿、底板,进入机臂底部。请确保ESC电源线从机臂底部弧形部分下方的机架中伸出。请为每个机臂重复此过程。

第10步:将ESC安装到机臂上

现在,机架的核心已经成型,我们可以开始将各个部件安装到机臂上了。您可以用扎带将每个ESC固定在机臂的下方,如下图所示。

第11步:用螺栓电机安装到机臂上

请将电机安装到每个机臂的末端,电机的旋转方向如下图所示。电机的旋转方向位于电机侧面。比如,请在左后方安装一个逆时针电机,在左前方安装一个顺时针电机。

第12步:将电机引线连至ESC

请将每个电机的三根引线连至相邻ESC正面的三个孔中。此时,导线的连接顺序无所谓。(如有必要,我们将在第2部分中更正线序)。

第13步:将LED模块连接到飞行控制器和手臂

NAZA-M Lite附带的这个小模块集成了LED指示灯(比如电池电量低警告、良好的GPS锁定指示)以及连接PC的USB接口。LED模块如下图所示。将长导线的一端连接到NAZA-M Lite背面标有“LED”的插槽中。我们会在本教程的第2部分用该USB接口配置飞行控制器。我用热熔胶将该模块粘在了左后机臂的侧面。

第14步:安装GPS

NAZA-M Lite附带的GPS有一个安装杆。将GPS安装在这个安装杆上可以增加电机和ESC与GPS之间的距离,从而减少电磁干扰的可能。GPS杆分为三部分:底座,有四根腿;一根细长杆(紧密连接底座和顶部,连接处有胶水);用来安装GPS的平坦顶部。我把GPS安装杆安装在机架的右后端。GPS线末端的接头与LED模块的接头相同。请将GPS线连至相邻LED模块的“EXP”插槽中。

第15步:安装Raspberry Pi

我发现安装Raspberry Pi最方便的地方是在支腿与机架连接处之间的底板上(请参见上图)。请将GPIO引脚的方向朝下,并让USB端口对着电池接头。Raspberry Pi无法与底板平坦接触,因此不能用双面胶粘贴。我用热熔胶将四个角固定在支腿上。

第16步:安装稳压器

我们处理四轴飞行器的底部时,可以将稳压器粘在其导线焊接处正下方的底板上。

第17步:安装Raspberry Pi相机

由于Raspberry Pi相机的目的是提供四轴飞行器飞行前方的实时视图,因此应将其安装在四轴飞行器的前部。我用热熔胶将一小块纸板粘到两个机臂之间的机架前部,然后再将Raspberry Pi相机粘到纸板上(请参见下图;我的相机带有广角镜头,因此您的相机看起来可能略有不同)。

您的Raspberry Pi相机应该已经自带一根排线。排线的另一端必须连接到四轴飞行器底部的Raspberry Pi。首先将排线滑过纸板的后方,并穿过正下方的孔;然后稍微弯曲排线,让线上的裸露金属朝向USB端口的相反方向。

要将排线连至Raspberry Pi,请轻轻拉开标有CAMERA的黑色接头(HDMI端口和音频输出/复合视频输出端口之间)上的白色盖子。请用力插入排线,以确保线缆均匀插入。抓紧排线,同时用我们先前打开的白色盖子将排线锁定在适当位置。

第18步:用稳压器为飞行控制器和Raspberry Pi供电

我们之前安装的稳压器可提供5V输出,很方便地为飞行控制器供电。我们也可以利用该5V电源为Raspberry Pi供电。为此,我切开来自稳压器的PWM信号线的红色和棕色线,分别将它们焊接到Micro USB线的正极(红色)和负极(黑色/棕色)。请务必将PWM信号线的末端也焊接到该新线束上!否则,您将无法为飞行控制器供电。然后只需将Micro USB数据线插入Raspberry Pi即可为其供电。

要为飞行控制器供电,请将稳压器的PWM信号线连至飞行控制器背面的X3插槽。

第19步:安装防抖万向节

万向节通过六个防抖橡胶球连接到四轴飞行器的机架上,这些橡胶球是抵消相机抖动和旋转运动的第一道屏障。要安装橡胶球,您必须先将其装入万向节下部的小孔中,然后将球的顶部装入万向节的顶板中。为了防止万向节在飞行中脱落(比如防抖球碰巧损坏),我在万向节两侧中间的球孔内各绑了一根轧带。这一步完成后,机架的样子应与上图类似。

第20步:用螺栓将万向节固定到机架的前部延伸部分

为了减少在快速转弯时四轴飞行器的支腿进入拍摄画面的可能性,我决定用螺栓将万向节固定到机架的前部延伸部分(如果将万向节安装在机架中心下方的话,那么支腿更容易出现在拍摄画面中)。为此,我将M3螺栓的头部(您也可以使用M4的螺母和螺栓,但是需要将两个后孔的尺寸稍微扩大一点)插入万向节顶板的两个孔内,将另外两个M3螺栓插入宽阔开口的右下角(请参阅上文螺栓的放置位置;请注意,小箭头方向表示万向节的前方)。

然后,我在每个螺栓上安装螺母并拧紧,将其固定在万向节上。要将万向节固定到机架上,我将螺栓滑入机架前部延伸部分的两排开口中,并用螺母将其固定(有关将万向节用螺栓固定到机身前部的外观,请参见下文)。

第21步:制作一根单独的电池接头延长线,并将其焊到万向节电源线上

为了让FeiYu Tech Mini 3D万向节正常工作,必须将其连至电池。我特意制作了一根电池接头延长线,同时剪掉了万向节电源线上的JST接头,然后将电源线焊接到延长线上。该延长线由一个公T型头、一个母T型头和焊在中间的万向节电源线组成。使用延长线之后,我们不必将万向节电源直接焊接到配电板上。这样,运输时可以从机架上卸下万向节,或者可以实现没有万向节情况下的飞行可能。

第22步:将相机安装在万向节上

此项目中使用的Xiaomi Yi相机比该万向节设计配套的GoPro稍大。但是,如果您先拧入支架的底部螺栓,然后再拧紧顶部,Xiaomi Yi相机仍然可以正常安装,无需对万向节进行任何修改。

第23步:将手机支架安装到发射器上

具体手机支架的安装步骤可能会有所不同,对于我的手机支架,我只是用了一块比支架吸盘稍大的带有双面胶的圆盘。我首先用双面胶带将该圆盘牢固地粘在发射器的背面。然后,将吸盘也就是手机支架固定到发射器上。将支架的金属板(手机支架自带)粘到手机外壳上之后,请掰弯支架的柔性机械臂,以便在正常握住发射器的情况下可以看到手机屏幕。手机支架的侧视图请参见上图。

手机支架末端的磁铁通过上述金属板将手机固定在支架上。

第24步:安装发射器电池

只需取下发射器的电池盖,然后将AA电池安装在电池盒中即可。然后,请根据两个引脚附近印制的极性(如下图所示,发射器的电池槽内部视角)将电池盒的小接头插入发射器。

!恭喜!您刚刚完成了航拍四轴飞行器的组装。然而,该四轴飞行器目前无法正常飞行。在第2部分和第3部分中,我们将描述如何配置四轴飞行器的软件、学习如何飞行并进行一些飞行测试。
`

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DIY 一个树莓派无人机 的相关文章

  • ArduPilot飞控之DIY-F450计划

    ArduPilot飞控之DIY F450计划 1 历史2 源由3 计划3 1 硬件3 2 软件 4 动手4 1 接线4 1 1 ELRS nano接收机4 1 2 BN880 GPS模块4 1 3 Radio Telemetry 4 2 配
  • ST-LINK V2 DIY笔记(一)

    最近一段时间调试STM32板子的时候 xff0c 都是用JLINK 43 杜邦线 xff0c 或者拿官方板子当STLINK用 xff0c 可以用 xff0c 但是体积比较大 xff0c 有时候觉得比较麻烦 正好前一阵手头项目少 xff0c
  • 歪国人DIY的MINI四轴

    歪国人DIY的MINI四轴 Crazyflie 2 0 自己仿Crazyflie CrazyPony 转载于 https www cnblogs com LittleTiger p 4699001 html
  • 4G路由 linux,DIY低成本4G路由器:性能高,易于开发和应用

    笔者发现 xff0c 随着5G的到来 xff0c 4G流量资费以及相关硬件模块成本越来普及 xff0c 恰好原来用MT7688 RT5350做一个路由器的应用 xff0c 于是想尝试自行DIY一个低成本 xff0c 软硬件开放 xff0c
  • diy 企业级路由器(route os )

    Mikrotik Router Os 来自拉托维亚 xff0c 一个不起眼的欧洲小国家 xff0c 但是它的功能却是很强大 今天我就用口碑比较好的 ROS2 9 6 版进行讲解了 主要功能 xff1a IP 路由 支持无线热区 PPPoE
  • 最简单DIY基于STM32F407探索者开发板的MPU6050陀螺仪姿态控制舵机程序

    STM32库函数开发系列文章目录 第一篇 xff1a STM32F103ZET6单片机双串口互发程序设计与实现 第二篇 xff1a 最简单DIY基于STM32单片机的蓝牙智能小车设计方案 第三篇 xff1a 最简单DIY基于STM32F40
  • ArduPilot飞控之DIY-F450计划

    ArduPilot飞控之DIY F450计划 1 历史2 源由3 计划3 1 硬件3 2 软件 4 动手4 1 接线4 1 1 ELRS nano接收机4 1 2 BN880 GPS模块4 1 3 Radio Telemetry 4 2 配
  • Dreamweaver 代码配色方案 DIY

    Dreamweaver 代码配色方案 DIY 最近刚换上隐形眼镜 xff0c 电脑上满屏的白花花的颜色 xff0c 看得我眼泪鼻涕直流 xff0c 无奈 xff0c 代码还是要看滴 xff0c 改造了一下Dreamweaver代码配色方案
  • DIY个人智能家庭网关—— 路由器篇之刷机

    先选择合适的路由器型号 xff0c 要求有两个 xff0c 一 xff1a 有USB口 xff0c 二 xff1a 可以刷openwrt系统 xff0c 我的首选是newifi mini xff0c 比较喜欢折腾的可以刷openwrt官方固
  • ESP32 DIY 机器狗

    关注v x 公 众 号 xff1a 嵌入式基地 后 台 回 复 xff1a 电赛 即可获资料 回复 编程 即可获取 包括有 xff1a C C 43 43 C JAVA Python JavaScript PHP 数据库 微信小程序 人工智
  • DIY高清云台(吊舱)方案

    这些天评论好些学友都问我关于组装一套高清的云台方案 xff0c 趁这几天有空 xff0c 思考了一下方案 xff0c 仅供大家参考 近两年随着短视频红火 各种各样的题材是百家争鸣 xff0c 你题材不新 xff0c 就没人看 xff0c 没
  • ESP32 + Python 还不知道怎么垃圾分类? 用HaaS DIY一个智能垃圾桶吧

    来这里发现更多创意案例 HaaS开发框架 HaaS积木方案 xff0c 赋能生态开发者 xff0c 让您快速找到自己需要的解决方案 xff0c 硬件主板与外设 xff0c 以及各种应用组件 https haas iot aliyun com
  • DIY一个基于树莓派和Python的无人机视觉跟踪系统

    DIY 一个基于树莓派和Python的无人机视觉跟踪系统 无人机通过图传将航拍到的图像存储并实时传送回地面站几乎已经是标配 如果想来点高级的 在无人机上直接处理拍摄的图像并实现自动控制要怎么实现呢 xff1f 其实视觉跟踪已经在一些高端的消
  • 自平衡机器人DIY(一)

    看到一篇DIY自平衡机器人的文章 xff0c 感觉特别有意思 xff01 正好趁着寒假的工夫 xff0c 也来做一做 参考过程 xff1a 自平衡机器人 蛋黄物语 原理 原理 就是应用负反馈控制 xff0c 由测量到的角度和自身平衡时的自然
  • DIY 无人机

    这是一个为满足个人兴趣的实践性项目 这个项目起源于我买的一架航模级的遥控电动直升机 xff0c 想要飞好它还是相当困难的 xff0c 需要敏捷的反应 轻柔的控制 xff0c 不幸的是我的反射弧很长 xff0c 所以练习起来格外困难 在对我的
  • DIY无人机组装与飞控参数调试记录(DJI NAZA-LITE)

    早就想玩一玩无人机 xff0c 奈何各种原因一直没有机会 xff0c 工作之后资金富足 xff0c 加上本身工作和这个相关性比较大 xff0c 于是就自己DIY了一台无人机 一 材料准备 xff1a F450机架 GPS支架 好盈乐天 20
  • Cannot open: No such file or directory的解决方法

    bz2 Cannot open No such file or directory 根本原因就是解压的文件需要填写完整目录
  • 关于STM32软件IIC与PCF8563通信 逻辑分析仪0xA2 Missing Ack /NAK排查与解决

    最近在使用PCF8563时 准备用STM32 软件IIC通信时 改了软件IIC后 将所有函数都做了适配 但是 发现PCF正常初始化 程序无法运行 链接上逻辑分析仪后发现是一直收不到ACK 发送的A2 地址和0x08都正常 程序正常时先设置时
  • 关于TP5400锂电池充放电一体模块 电感“尖叫”(升压Boost电路中 电感有可听见的高频振荡的问题探索与尝试改善)

    TP5400锂电池充放电一体模块电感 尖叫 前言 电感高频振荡人耳可听问题 1 怀疑是电感问题 2 芯片升压功能本身振荡频率低 3 芯片坏了 4 选用电感有问题 猜想 验证 结论 前言 最近一个项目中用到了锂电池充放电电路 之后在 立创开源
  • 从零开始制作Linux

    提到制作Linux 大家都能想到如雷贯耳 大名鼎鼎的Linux from scratch 但Linux from scratch的复杂性不是普通人能轻易掌握的 对于初学者来说 任何步骤出现不一致 会让初学者遇到挫拆 攻破LFS的信心越来越低

随机推荐

  • 【STM32L4】FreeRTOS消息队列三串口接收发送

    环境 STM32L476G DISCO 开发板STM32CubeIDE 1 1 0STM32CubeMX 5 4 0 STM32CubeIDE配置 移植FreeRTOS xff0c 选择CMSIS V2 FreeRTOS的所有配置的选择默认
  • OpenCV如何获取视频当前的一帧图像

    xff08 OpenCV读取视频 OpenCV提取视频每一帧 每一帧图片合成新的AVI视频 xff09 CvCapture 是视频获取结构 被用来作为视频获取函数的一个参数 比如 CvCapture cap IplImage cvQuery
  • 无人机、无人车仿真器AirSim中激光雷达Lidar设置

    1 在车辆或无人机中激活激光雷达 默认情况下 xff0c 激光雷达是不开启的 xff0c 如果需要开启激光雷达 xff0c 则需要在settings jason文件中进行激活 xff0c settings jason 文件位于 Docume
  • 软件项目产品化之路

    软件项目产品化之路 2 产品化之路 2 1 困惑 软件项目产品化是大量软件企业 xff0c 特别是应用型软件研发企业所必须面临的问题 不论是小型的软件公司和中大型的软件企业 xff0c 在面对软件项目和软件产品 xff0c 都有诸多困惑 到
  • 软件产品化的一些见解

    软件产品化的定义 软件产品化 即客户无需为软件添加或调整代码和语句即能完成软件的安装配置 应用初始化 系统管理 用户使用的全过程 并且软件至少能满足80 以上的用户某一组应用需求 软件产品化只是完成了产品的生产环节 后面的产品销售 市场推广
  • 程序员与工匠精神

    前几天和一个朋友聊天时说 xff1a 我有强迫症 xff0c 每次看到不符合自己审美的代码时 xff0c 总想重构一下 朋友的观点与大多数人相仿 xff0c 程序只要满足要求 xff0c 运行正确就可以 在现实的工作中一样 xff0c 每当
  • linux 进程线程思维导图

  • 修改结构体中成员的值

    include lt iostream gt using namespace std struct student char name 10 float grade 更改student数据的grade成员 xff0c 参数形式为引用 voi
  • C++中冒号的用法

    1 冒号 xff08 xff09 用法 xff08 1 xff09 表示机构内位域的定义 xff08 即该变量占几个bit空间 xff09 typedef struct XXX unsigned char a 4 unsigned char
  • C/C++预处理指令

    本文主要记录了C C 43 43 预处理指令 xff0c 常见的预处理指令如下 xff1a 空指令 xff0c 无任何效果 include包含一个源代码文件 define定义宏 undef取消已定义的宏 if如果给定条件为真 xff0c 则
  • STM32F1常用外设介绍(超详细35000字介绍)

    STM32学习笔记 GPIO配置步骤 步骤 xff1a 第一步 xff0c 使用RCC开启GPIO的时钟 第二步 xff0c 使用GPIO Init 函数初始化GPIO 第三步 xff0c 使用输出或者输入的函数控制GPIO口 常用的RCC
  • MFC拷贝文件及进度条显示

    参考 xff1a 封装CopyFileEx函数 xff0c 实现文件复制中的暂停 xff0c 控速 xff0c 获取进度 http blog csdn net career2011 article details 6844513 实例讲解C
  • 什么是寄存器?(STM32)

    什么是寄存器 xff1f 我们现在在开发STM32时 xff0c 已经很少用到寄存器编程 xff0c 更多的使用ST公司所提供的标准库和最新的HAL库进行编程实现 xff0c 但是不管是标准库还是HAL库都是在原来的寄存器层面上进行了封装
  • 计算机网络——物理层(一)

    物理层 xff08 部分 xff09 机械特性 xff1a 指明接口所用接线器的形状和尺寸 引脚数目和排列 固定和锁定装置等 电气特性 xff1a 指明在接口电缆的各条线上出现的电压的范围 功能特性 xff1a 指明某条线上出现的某一电平的
  • 洛谷P5717-三角形分类

    洛谷P5717 三角形分类 题目 这道题更像是初中题 xff0c 但是怎么能完整的按照题目的意思来解决呢 xff0c 说实话这个题卡了我有一会儿 xff0c 要做一次性做出这个题 xff0c 我觉得需要搞清楚if if 和if else i
  • 洛谷P1424-小鱼的航程(改进版)

    洛谷P1424 小鱼的航程 xff08 改进版 xff09 这个题我第一次做的时候 xff0c 有两个没过 xff0c 后来检查的时候发现原来是没有考虑开始的时间是不是周六周日 xff0c 如果是周六要在原来的天数上 2 xff0c 如果是
  • freertos-简介(一)

    FreeRTOS 裸机 不带任何操作系统 只能先打完游戏回复信息 实时性差 xff0c 程序轮流执行delay空等待 xff0c CPU不执行其他代码结构臃肿 xff0c 实现功能都在while循环 RTOS 实时操作系统 会执行打游戏一个
  • PCB设计过程中AD使用流程详解(超详细)

    PCB设计过程中AD使用流程详解 xff08 超详细 xff09 1 设计前期部分 规则设定 xff1a Preference system file type关联文件 xff08 所有关联 xff09 PCB editor General
  • python面向对象编程

    符合python风格的对象 先来看一个向量类的例子 span class token keyword class span span class token class name Vector2d span span class token
  • DIY 一个树莓派无人机

    学习目标 xff1a DIY 一个树莓派无人机 这篇文章来源于DevicePlus com英语网站的翻译稿 提示 xff1a 这里可以添加学习目标 学习内容 xff1a 提示 xff1a 这里可以添加要学的内容 今天 xff0c 我们将利用