- 博客(33)
- 收藏
- 关注
原创 记录使用TB6600与STM32驱动42步进电机
步进电机一般都会在电机标注出A+、A-、B+、B-,四线两相。这里使用了145ON246OFF的形式,就是4Microstep、800Pulse/rev、1.5A、1.7PK。这里只是用了非常简单的给步进电机一个开环脉冲,多少个脉冲是由TB6600的拨码器来决定的。VCC接12V,PUL+接PC7、DIR+接PC6、ENA+接PC4。2、可以使用万用表测试同相的端口,有电阻的是同相。那我们给它800个脉冲,是不是就一直转,对的。3、一点要共地、一定要共地、一定要共地!或者STM32F103VET6。
2023-11-11 00:54:28
127
2
原创 ESP01s的开发勘误
这个模块应该有5V转3.3V的电路,所以外接电源时必须连接到5V,而我接的是3.3V,可能是供电不足引起不断的重启,从而不停的复件,接上5V后就正常了。需要使用独立电源去供电,笔记本的USB电流较小,可能会供电不足,导致下载的时候失败。还有在一直是上电等待的时候可以尝试一下,RST引脚插拔一下GND的操作就可以下载了。上真下假,假的真的很折磨人。
2023-09-10 10:50:25
41
原创 实验7 二叉树的建立及遍历应用
2.选择一种遍历方式计算该树中叶子结点的个数,并打印出叶子结点。(采用递归算法进行任何一种遍历方式的时候,计算叶子结点数目算法思想:从二叉树的根结点开始,如果结点为NULL,则返回0;否则,分别递归计算左子树和右子树的叶子结点数,并将它们的和返回。1.构造一棵二叉树,树的形态如下图所示,打印出先序遍历、中序遍历、后序遍历的遍历序列。3.编写一个层序遍历算法,利用队列结构按层次(同一层自左至右)输出二叉树中所有的结点。2、掌握二叉树遍历的基本方法(前序、中序、后序)3、掌握递归二叉树遍历算法的应用。
2023-09-01 08:41:06
93
原创 实验8 排序和查找
实验8 排序和查找一、【实验目的】(1)掌握主要的排序算法:插入排序,快速排序,归并排序等。(2)理解不同排序算法的时间复杂度,观察在不同排列数据下排序算法的比较次数,排序规则为升序(最小到大)。二、【实验内容】使用快速排序、冒泡排序算法完成对下列三组数据的排序,计算对每组数据排序时的比较次数。三组示例数据如下(每组数据包含20个元素):分析两种排序算法在每组数据上的比较次数呈现变化的原因,将分析与总结写在实验报告第五部分。
2023-09-01 01:07:39
21
原创 Python Dome(二)- 三种摄像头开启方式总结
为了方便图像处理,我们在python中就会去调用摄像头,通过三种方式去调用摄像头进行实时的图像处理或者拍照后的图像处理。
2023-08-31 02:46:28
75
原创 刷题C/C++(二)- 对齐输出
个字符的宽度,右对齐输出它们,按照格式要求依次输出三个整数,之间以一个空格分开。只有一行,按照格式要求依次输出三个整数,之间以一个空格分开。这题最好使用C++的输入输出流来做,C的话有点麻烦。输出的时候每个数字的间隔为8,再加一个空格。读入三个整数,按每个整数占。整数之间以一个空格分开。只有一行,包含三个整数。
2023-08-29 01:00:49
147
原创 Kotlin语言(3)- 函数的可见性修饰符
当在一个类前面声明了data关键字时,就表明你希望这个类是一个数据类,Kotlin会根据主构造函数中的参数帮你将equals()、hashCode()、toString()等固定且无实际逻辑意义的方法自动生成、从而大大减少了开发的工作量。protected关键字在Java中表示对当前类、子类和同一包路径下的类可见,在Kotlin中则表示只对当前类和子类可见。public修饰符的作用虽然也是一致的,表示对所有的类都可见,但是在Kotlin中public修饰符是默认项,而在Java中default才是默认项。
2023-08-23 09:26:28
28
原创 基于Mediapipe的视觉控制机械臂(1)-Dome的制作
视觉实现需要使用Google的mediapipe这个model,碍于本作者手中没有派派或者英伟达的板子,只能使用PC去实现这个功能。五自由度舵机机械臂,这没啥好说的。通过mediapipe的关键点检测,并通过各个关键点之间的angle来确定手势,通过串口跟下位机(arduino)进行通信,从而操控舵机的转动。PyCharm或者其他编译器也可以,只要能够编译运行python代码。理论成立,开始实践!电源加电源控制电路,这个可以得到5V就可以。这样就做好了,舵机控制那可以自行设计。
2023-08-18 18:16:18
70
原创 Kotlin语言(2)-OOP
次构造函数是通过constructor关键字来定义的,这里我们定义了两个次构造函数:第一个次构造函数接收name和age参数,然后它有通过this关键字调用了主构造函数,并将sno和grade这两个参数赋值成初始值;第二个次构造函数不接收任何参数,它通过this关键字调用了我们刚才定义的第一个次构造函数,并将name和age参数也赋值成初始值,由于第二个次构造函数间接调用了主构造函数,因此这是合法的。主构造函数是常用的构造函数,每个类都会默认有一个不带参数的主构造函数,当然也可以给它显式地给它指明参数。
2023-08-16 20:19:12
55
1
原创 Kotlin语言(1)-BasicThing
checkNumber是Kotlin内置的一个抽象类,像Int、Long、Float、Double等与数字有关的类都是它的子类,所以这里就可以使用类型匹配来判断传入的参数到底属于什么类型,如果是Int或者Double类,就将该类型打印出来,否则就打印不支持该参数的类型,这是对于重写的checkNumber函数来说的。默认情况下,for-in循环每次执行循环时会在区间范围内递增1,相当于Java for-i 循环中的i++效果,而如果你想跳过其中的一些元素,可以使用step关键字,就是设置步长。
2023-08-15 22:05:42
24
原创 数据结构-队列
1.仿照教材顺序循环队列的例子,设计一个只使用队头指针和计数器的顺序循环队列抽象数据类型。其中操作包括:初始化、入队列、出队列、判断队列是否非空。编写主函数,设计合适的测试用例,验证你的队列是个循环队列。测试:设置队列最大容量为10,第一次入满队列,然后出队3个元素,入队2个元素,出队所有元素并输出,观察输出元素是否符合先进先出的规则。(4)QueueDelete(Q,d) 出队列,把队列Q的队头元素删除并由参数d带回。(3)QueueAppend(Q,x) 入队列,在队列Q的队尾插入数据元素x。
2023-05-24 21:11:06
164
1
原创 JAVA实验六-Swing组件的应用
程序由 3个类组成,其中 Teacher 对象充当监视器,负责给出算术题日,并判断回答者的答察是否正确Compu;ComputerFrame 对象负责为算术题目提供视图,比如用户可以通过 ComputerFrame对象提供的GUI 界面看到题目,并通过该 GUI 界面给出题目的答案;这个计算器的计算是使用了栈计算,不懂的可以看我的另一篇文章。1、掌握swing包里常见的容器类及组件类;4、理解事件处理的几种方式;3、掌握事件处理的过程;图二 有菜单的窗口。图二 有菜单的窗口。2、掌握事件的概念;
2023-05-22 21:08:25
128
原创 AndroidDome(1)-如何写一个APP送给女生当生日礼物
遇到女生生日,不得准备生日礼物,刚好在学Android,顺便写了一个Dome给她当生日礼物。(很简单的而已,不喜勿喷)Android Studio是Google旗下的一款软件,它可以使用Java、Kotlin、以及C++开发。当然了,Java开发是现在的潮流,但Kotlin开发才是未来。我这使用了Java开发,还是用熟悉的语言写起来得心应手。&emspAndroid Studio是有官方教程的,比较方便。安卓发展这么多年了,教程和错误都很完备了,学会百度,幸福一生。
2023-05-20 14:27:52
249
原创 如何使用AD2021画一个板子(1)-前言
以前没画板子的时候,就会使用杜邦线和其他导线来连接各个元器件,非常麻烦且非常不美观,而且对于手残党来说,这超难的好吧。而且手汗会腐蚀元器件,对电路造成不可逆转的伤害,最后的bug也是奇奇怪怪的。应朋友之邀,也考虑到大部分人对GitHub的不熟悉,我将在此更新AD教程,从零开始学怎么将一个板子画出来,其中也会解释该电路的设置。在该教程中,我们会学习使用AD来绘制STM32F103ZET6开发板,对标的就是野火的开发板。作为一个从画板子的小白,在画了比较多的板子后,发现画板子也是十分有趣的。
2023-05-14 21:04:07
167
原创 一个小项目-基于stm32的小台灯
基于stm32的小台灯一、前言二、所需模块三、代码四、成品一、前言 由于各位对于的单片机较为生疏,在此我再仔细介绍一下单片机。 俗话说,以项目驱动学习,才是学习快速的秘诀通过一次次的项目才能更加对某一个东西熟悉。 废话不多说,直接开始做如果对单片机不熟悉的话,可以看我的另一篇blog(虽然还没更完)二、所需模块一个stm32模块,任何型号都可以,因为这个项目所需的资源不是太多,当然了,太老太旧的型号也是不行的。下图是stm32f103c8t6有单片机也要有电源是吧,这里使用了一个
2023-05-12 16:19:09
547
原创 Java的第五次实验(1)-使用代码来购物
内部购物劵:手机专卖店为了促销自己的产品,决定发现内部购物劵,但是其他商场不能发行该购物劵;编写一个MobileShop类(模拟手机店);该类中有个名字为InnerPurchaseMoney的内部类(模拟内部购物劵)。
2023-05-11 21:05:23
416
原创 学习AD常见错误(2)
2、问题描述:Alitum Designer 在进行编译检查时,出现警告:Class Document Source Message Time Date No. [Warning] xxx.SchDoc Compiler Net xxx has no driving source (Pin J1-28,Pin U23-15,Pin U24-3) 20:01:18 2020/11/14 13。解决方法:将需要连接的两端的引脚修改为Passive或者相同的电气属性。问题分析:芯片管脚的电气属性未能满足要求。
2023-05-08 22:25:24
2155
原创 Java第二次实验
PC类与CPU类和HardDisk类关联的UML图如图2.3所示,其中,CPU类要求getSpeed()返回speed的值,要求setSpeed(int m)方法将参数m的值赋给speed;机动车的UML图如图2.1所示。(1)创建TV.java、Family.java和MainClass.java等3个源文件,其中TV.java中的TV类负责创建"电视"对象,Family.java中的Family类负责创建"家庭"对象,MainClass.java是主类,负责模拟活动,属业务逻辑类,程序入口。
2023-05-06 11:31:23
768
原创 数据结构-第三次实验
1.利用教材中定义单链表的方存储整型数据(单链表的定义如下),要求使用头文件实现单链表的以下操作,要求使用带头结点的单链表。④ 单链表的删除操作 int ListDelete(LinkedList *head, int i,ElemType *x)③ 单链表的插入操int ListInsert(LinkedList *head, int i, ElemType x)⑦ 完成单链表的数据元素就地逆置void Reverse(LinkedList *head)1、掌握使用头插法、尾插法建立单链表的基本方法。
2023-05-06 11:23:35
59
原创 数据结构-第一次实验
2.歌德巴赫猜想:任一大于2的偶数,都可以表示成两个素数之和。请验证:2000以内大于2的偶数都能够分解为两个素数之和。请尽量优化自己的算法。1.设计一个函数,计算S=1-2+3-4+5-6+……+/-N的值,并计算你所设计的函数的时间复杂度。实验1 C语言结构体、指针与函数。
2023-05-06 11:22:05
111
原创 数据结构-第四次实验
说明:十进制数值转换成二进制使用辗转相除法将一个十进制数值转换成二进制数值。即用该十进制数值除以2,并保留其余数;重复此操作,直到该十进制数值为0为止。)]等为正确格式,而[(]或()))或 [())均为不正确的格式。请使用栈结构,编写算法检验某表达式中的括号是否匹配,要求区分下面四种情况,并测试你的算法是否正确。1.利用栈结构,编写程序将十进制数转换成二进制数或八进制数或十六进制,由用户选择转换成哪种进制。2.假设算术表达式中允许包含两种括号:圆括号和方括号,其嵌套的顺序随意,即([][])或[(
2023-05-06 00:37:29
105
原创 JAVA第四次实验
(3)要求有一个Truck类,该类以ComputerWeight接口类型的数组作为成员(Truck面向接口),那么该数组的单元就可以存放Television对象的引用、Computer对象的引用可WashMachine对象的引用。1、计算平均分:体操比赛计算选手成绩的办法是去掉一个最高分和最低分后再计算平均分,而学校考查一个班级的某科目的考试情况时是计算全班同学的平均成绩。(1)编写一个接口DogState,该接口有一个名字为void showState()的方法。1、掌握接口的定义;
2023-05-04 23:16:39
1300
原创 学习AD——出现错误以及其解决方法(1)
某些元件没有定义好封装或者封装找不到相应的路径,到工具-封装管理器里查看下,添加封装,当然了,要对应自己的BOM元件菜单。找到“Nets with multiple names”,点“警告”,下拉菜单,选“不报告”,点右下角“确定”2、打开“Options for PCBProject …提示:OSC OUT网络线上,多个名字。就是封装有问题,没添加或者库里根本没有。1、点“工程->工程选项”3、再编译,就没此警告了。导入对应的封装库或者。
2023-04-30 23:15:00
3230
原创 Java第三次实验
建设银行ConstructionBank是Bank的子类,准备隐藏继承的成员变量year,并重写计算利息的方法,即自己声明一个double型的year变量,比如,当year取值为5.216时,表示要计算5年零216天的利息,但希望首先按银行Bank的方法computerInterest(计算出5整年的利息,然后再自己计算216天的利息。属性:月薪(3)HourlyEmployee: Employee 的子类, 按小时拿工资的员工,每月工作超出160 小时的部分按照1.5 倍工资发放。
2023-04-25 09:36:32
1173
原创 数据结构-第二次实验
2.设计顺序表定位查找算法,写成一个函数,完成的功能为:在线性表L中查找数据元素x,如果存在则返回线性表中和x值相等的第1个数据元素的序号;① 初始化顺序表② 求顺序表的长度③顺序表的插入操作 ④顺序表的删除操作 ⑤ 取数据元素 ⑥数据元素遍历打印 ⑦ 完成数据元素就地逆置操作。请在主函数中测试查找是否存在姓名为x的病人,并根据返回的序号打印出病人信息。2、掌握顺序表的插入、删除算法的思想和实现,并能灵活运用。用顺序表实现病历信息的管理与查询功能。要求定义顺序表,数据元素为患者病历,数据操作包括。
2023-04-13 14:02:43
139
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人