【雕爷学编程】Arduino动手做(154)---AFMotor电机扩展板模块
37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞不掂的问题,希望能够抛砖引玉。
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百五十四:L293D四路电机驱动扩展板 motor control shield 马达板 Adafruit Motor Shield模块 Arduino AFMotor 电机扩展板
知识点:L293D芯片
L293D是ST公司生产的一种高电压、小电流电机驱动芯片,其设计用于在4.5 V至36 V的电压下提供高达600 mA的双向驱动电流。可以用于驱动电感性负载,例如继电器,螺线管,DC和双极步进电机,以及在正电源应用中的其他大电流/高压负载。
每个输出都是一个完整的图腾柱驱动电路,带有一个达林顿晶体管沉和一个伪达林顿源。驱动程序成对启用,驱动程序1和2由1,2EN启用,驱动程序3和4由3,4EN启用。
L293D的工作温度范围为0°C至70°C。
L293D特性
电源电压范围:4.5V至36V
单独的输入逻辑电源
内部ESD保护
热关断
高噪声抗扰度输入的
通标L293和L293DSGS的功能替代
输出电流1A每通道(600毫安L293D)
峰值输出电流每通道2A(1.2 L293D)
输出钳位二极管的感性瞬态抑制(L293D)
L293D参数
制造商: STMicroelectronics
产品种类: 电机/运动控制器和驱动器
类型: Driver
工作电源电压: 4.5 V to 36 V
封装 / 箱体: POWERDIP
封装: Tube
该器件是单片集成的高电压,高电流的四通道驱动器,旨在接受标准的DTL或TTL逻辑电平并驱动感性负载(例如继电器螺线管,直流和步进电机)和开关功率晶体管。为了简化用作两个桥接器的使用,每对通道都配备了一个使能输入。 独立为逻辑电路提供了电源输入,允许在较低电压下工作,并包括内部钳位二极管。该设备适合在高达5 kHz的频率下切换应用。L293D用16引线塑料组装具有4个中心引脚连接到gether并用于散热的包装L293DD装配在20引线表面中具有8个中心引脚连接到gether并用于散热的安装座。
内部电路框图
1,2EN:启用驱动器通道1和2(高可用有效输入)
<1-4> A:驱动器输入,同相
<1-4>Y:驱动输出
3,4EN:启用驱动器通道3和4(高允许有效输入)
4、5、12、13:设备接地和散热器引脚。通过多个实心通孔连接到印刷电路板接地层
V CC1:用于内部逻辑转换的5V电源
V CC2:驱动器的电源VCC 4.5 V至36 V
L293D电气特性
(对于每个通道,VS = 24 V,VSS = 5 V,Tamb = 25°C,除非另有规定)
L293D(双H桥路)工作原理(视频21分钟)
L293D驱动电机原理视频讲解
https://www.bilibili.com/video/BV1Kz4y1R7u6/?spm_id_from=333.788.videocard.15
L293D四路电机驱动模块 扩展板 motor control shield 马达板
这是一款常用的直流电机驱动模块,采用293D芯片小电流直流电机驱动芯片。管脚被做成了rduino兼容的,也方便了爱好者快速的基于rduino的开发。
rduino 是一款很好的电子制作入门,有了电机扩展板可以很好的成为机器人开发平台。这里介绍一款能驱动各种简单到稍复杂项目的全功能的电机扩展板。
适用范围:rduino初学者,rduino实验器材平台,rduino互动电子,Arduino机器人等。
特点:功能多,操作方便,有强大的驱动库支持及功能更新。
缺点:I/O占用较多在同时驱动四路电机的情况下(相对rduino I/O少的版本而言),小功率。
可驱动4路直流电机或者2路步进电机的同时还能驱动2路舵机,支持最新rduino UNO, rduino Mega 2560
可以这样搭配:
驱动四路直流电机和两路舵机
驱动两路直流电机和一路步进电机和两路舵机
驱动两路步进电机和两路舵机
L293D四路电机扩展板特点
-
2个5V伺服电机(舵机)端口 联接到Arduino的高解析高精度的定时器-无抖动!
-
多达4个双向直流电机及4路PWM调速(大约0.5%的解析度)
-
多达2个步进电机正反转控制,单/双步控制,交错或微步及旋转角度控制。
-
4路H-桥:L293D 芯片每路桥提供.0.6A(峰值1.2A)电流并且带有热断电保护,4.5V to 36V。
-
下拉电阻保证在上电时电机保持停止状态。
-
大终端接线端子使接线更容易(10 - 22AWG)和电源。
-
带有Arduino复位按钮。
-
2个大终端外部电源接线端子 保证逻辑和电机驱动电源分离。
-
兼容Mega, Diecimila, & Duemilanove。
*下载方便使用的Arduino软件库快速进行项目开发。
L293D四路电机扩展板电原理图
L293D四路电机扩展板模块原理
使用L293D来驱动电机的,中间有一个74HC595芯片,是将串行信号转为并行信号的,因为该模块是为arduino设计的,arduino的I/O口较少,控制4个直流电机需要12个引脚,使用74HC595可以减少4个引脚的使用,也可以取掉74HC595芯片,焊接接线,直接使用51单片机并行控制2个L293D芯片从而控制电机。
74HC595
74HC595是一个8位串行输入、并行输出的位移缓存器:并行输出为三态输出。在SCK 的上升沿,串行数据由SDL输入到内部的8位位移缓存器,并由Q7’输出,而并行输出则是在LCK的上升沿将在8位位移缓存器的数据存入到8位并行输出缓存器。当串行数据输入端OE的控制信号为低使能时,并行输出端的输出值等于并行输出缓存器所存储的值。简单的说,先将模块的引脚7置0,然后模块的引脚4(74HC595芯片的数据输入时钟端)接受到一个上升沿,就将芯片中的8位数据左移一位,空出低位将引脚8(74HC595芯片的串行数据输入端)的0或1信号写入低位,写入八次就将控制4个电机的8位信号写入74HC595的芯片中了(M3M4M3M2M1M1M2M4),然后在给引脚12一个上升沿,就将芯片中的数据输出在芯片的引脚上(Q0~Q7)。
程序计数器——74HC595(视频6分32秒)
https://www.bilibili.com/video/BV1ME411T7EY/?from=search&seid=17494597794294138238
电机和驱动器
电机是许多机器人和电子项目不可分割的一部分,根据应用的不同,它们可以使用不同的类型。以下是有关不同类型电机的一些信息:
直流电机(DC Motor):直流电机是最常见的电机,可用于许多应用。我们可以在遥控车、机器人等中看到它。这种电机结构简单。它将通过向其端部施加适当的电压并通过切换电压极性来改变其方向来开始滚动。直流电机的速度由施加的电压直接控制。当电压电平小于最大容许电压时,速度会降低。
步进电机(Stepper Motor):在一些项目中,如3D打印机、扫描仪和数控机床,我们需要准确了解电机旋转步数。在这些情况下,我们使用步进电机。步进电机可将整个旋转分成多个相等的步长。每步的旋转量由电机结构决定。这些电机具有非常高的精度。
伺服电机(Servo Motor):伺服电机是一种简单的直流电机,带有位置控制服务。通过使用伺服电机,您将能够控制轴的旋转量并将其移动到特定位置。它们通常尺寸小,是机器人手臂的最佳选择。
TT马达直流减速电机,作为一款被广泛应用于电子DIY,机器人制作,智能车制作环节重点动力装置,以其组装简单,扩展性能强,价格低廉等诸多特点受到广大师生和电子爱好者的喜欢。
主要参数
额定电压:4.5-6V
空载转速:90±10rpm (具体视减速比而定)
负载电流:190mA(250mA 最大)
最大扭矩:0.8Kg·cm
这里做实验准备使用TT马达
为什么用L293D驱动电机?
驱动电动机需要大电流。另外,旋转方向和速度是两个需要控制的重要参数。这些要求可以通过使用微控制器(或像Arduino这样的开发板)来处理。但有个问题;微控制器无法提供足够的电流来运行电机,如果直接将电机连接到微控制器,可能会损坏微控制器。例如,Arduino UNO引脚限制为40mA电流,远小于控制小型电机所需的100-200mA电流。要解决这个问题,我们应该使用电机驱动器。电机驱动器可以连接到微控制器以接收命令并以高电流运行电机。L293D是最受欢迎的电机驱动器之一,可驱动直流电机,电流负载高达1A.L293D有4个输出,适用于4线步进电机。 L293D也可用于驱动伺服电机。
L293D四路电机扩展板支持Arduino UNO. Arduino Mega2560
可以这样搭配
驱动四路直流电机和两路舵机
驱动两路直流电机和一路步进电机和两路舵机
驱动两路步进电机和两路舵机
可以同时控制4个直流电机和2个步进电机和两个伺服电机(舵
机)。有专门的代码库。导入库后,简单使用。
L293D四路电机扩展板接线图
在L293D上哪些引脚我们可以使用呢?
所有的六个模拟输入引脚都是可用的。它们也可以当做数字芯片来使用。(引脚14到19),数字引脚2和13可用。
下面的引脚只有在下面提到的直流或者步进电机工作时才会被用到
数字引脚11: 1号直流电机或者1号步进电机数字引脚3: 2号直流电机或者1号步进电机数字引脚5: 3号直流电机或者2号步进电机数字引脚6:4号直流电机或者2号步进电机
下面的引脚只有在下面的直流或者步进电机工作时才会被用到
数字信号4,7,8,和12通过74hc595(serial-to-parallel)来驱动直流或者步进电机
数字引脚4:DIR CLK触发
数字引脚7:DIR EN指令的允许端EN
数字引脚8:DIR SER
数字引脚12:DIR ATCH中断连接
下面的引脚只有在舵机工作时才会被用到
数字信号9:1号舵机数字信号10: 2号舵机
所以只要相应的引脚没被L293D驱动板使用到,你也是可以拿来用的但前提是你得自己焊出引脚来。另外,GND、5V引脚必须也要连接,否则的话就无法稳定地控制直流电动机。
外接电源供电
如下图所示,AFMotor电机扩展板上配有外接电源接口。该接口所连接的直流电源可以为电机和Arduino开发板供电。
使用AFMotor电机扩展板驱动电机时,首要考虑的问题就是如何为扩展板供电。如果电源输出功率达不到驱动电机的要求,那么电机是无法正常工作的。在考虑如何选择电源时,我们需要重点关注两个方面 ,一个是电源电压,一个是电源电流。
注意:外接电源极性千万不要接反,否则会对扩展板造成损坏!
外接电源电压要求
AFMotor扩展板中起关键作用的芯片是L293D。该芯片所允许的直流电源电压范围是4.5V ~25V。因此AFMotor扩展板外接电源接口允许我们连接的电源也是4.5V ~25V。请注意:这是一个很宽泛的电压指标。具体我们应该连接的电源电压有多大,这是由被驱动的电机工作电压来决定的。
外接电源电流要求
与上面提到的电源电压要求相同,外接电源的电流要求也是由被驱动的电机来决定的。通常我们使用AFMotor电机扩展板所驱动的电机就是普通的模型电机(如以上电源讲解中的图片所示)。对于这一类型的电机,它们的工作电流大约是500mA左右,因此我们只要为扩展板配一个500 mA~1000 mA的外接电源就足够了。请注意,假如您所驱动的电机工作电流超过500mA,那么就要考虑为扩展板上的L293D加装散热片了。
电源使用
为直流电动机,电压和电流需求供电电动机需要大量能量,尤其是便宜的电动机,因为它们的效率较低。首先要弄清楚电动机要使用的电压。如果幸运的话,您的电动机带有一些规格。一些小型的业余电动机仅打算以1.5V的电压运行,但6-12V电动机的使用却一样普遍。该屏蔽罩的电机控制器设计为在 4.5V至25V 范围内运行。
MOST 1.5-3V电动机将无法工作
电流要求:要弄清的第二件事是电动机需要多少电流。该套件随附的电机驱动器芯片旨在为每个电机提供高达600 mA的电流,峰值电流为1.2A。请注意,一旦接近1A,您可能会希望在电机驱动器上放一个散热器,否则会出现热故障,从而可能烧坏芯片。
使用SN754410
某些人使用SN754410电机驱动器芯片是因为它与引脚兼容,具有输出二极管,每个电机可提供1A电流,峰值2A电流。在仔细阅读数据表并与TI技术支持和电源工程师进行讨论之后,看来输出二极管仅设计用于ESD保护,并且将其用作反冲保护是一种黑客行为,并且不能保证性能。因此,该套件不随SN754410一起提供,而是使用带有集成反冲保护二极管的L293D。如果您愿意冒险,并且需要额外的流动资金,请随时购买SN754410并更换提供的芯片。
需要更多电源吗?请购买另一组L293D驱动器并将其焊接在板上的顶部(背负式)。瞧,当前功能加倍!您可以在顶部再焊接2个芯片,否则可能不会为您带来很多好处
您不能用9V电池来驱动电动机,因此甚至不浪费时间/电池! 使用大号铅酸或镍氢电池。它还非常建议您设置两个电源(分离电源),一个用于Arduino,另一个用于电机。 99%的“怪异电机问题” 是由于共享电源线上的噪声引起的供应和/或没有足够的供应!
如何设置Arduino + Shield来为电机供电 Servos的电源是与Arduino使用的相同的5V电压。建议使用小型业余伺服器。如果您想要更好的东西,请切断去往伺服连接器上+的走线,并为您自己的5-6V电源接线!
直流电动机由“高压电源”供电,而不是经过调节的5V电源。请勿将电动机电源连接到5V线。除非您确定自己知道自己在做什么,否则这是一个非常非常糟糕的主意!
可以在两个地方获得电动机的“高压电源”。一个是Arduino板上的DC插孔,另一个是屏蔽板上标有 EXT_PWR 的2端子块.Arduino上的DC插孔具有保护二极管,因此您将无法弄乱如果插入错误的电源,情况可能会变得非常糟糕。但是,屏蔽层上的 EXT_PWR端子没有保护二极管(出于相当充分的理由)。请小心不要将其向后插入,否则您将破坏电机护罩和/或Arduino!
如果您想要一个为Arduino和电机提供单个DC电源,只需将其插入Arduino的DC插孔或屏蔽板上的2针PWR_EXT模块。将电源跳线放在电动机的护罩上。
如果您有Diecimila Arduino,请将Arduino电源跳线设置为EXT。
请注意,如果电池电源无法提供恒定的电源,您可能会遇到Arduino重置问题,但这不是建议您为电机项目供电的方法
如果您想让 Arduino的USB电源关闭,而电机的电源是直流电源,插入USB电缆。然后将电动机电源连接到屏蔽板上的PWR_EXTblock。请勿将跳线放在防护罩上。这是为电机项目供电的建议方法
(如果您有Diecimila Arduino,请不要忘记将Arduino电源跳线设置为USB。如果您有Diecimila,则可以交替执行以下操作:将DC电源插入
如果您要 2个用于Arduino和电机的独立直流电源。请插入Arduino的电源插入DC插孔,然后将电动机电源连接到PWR_EXT块。确保将跳线从电动机护罩上卸下。
如果您有Diecimila Arduino,请将Arduino跳线设置为EXT。这是为电动机项目供电的建议方法。
无论哪种方式,如果要使用直流电动机/步进系统,电动机的护罩LED均应点亮,指示电动机功率良好。
这是它的工作方式:
安装AFMotor电机库
使用AFMotor电机扩展板驱动电机以前,需要先将AFMotor库安装到Arduino IDE中。如果您不知道如何进行操作,请点击这里进入Arduino IDE安装库的说明页面(http://www.taichi-maker.com/home … ll-arduino-library/)。
在这里我们向您推荐两个电机程序库。一个是必须安装的,一个是可按您需要选择安装的。
必装的库是AFMotor库。这个库是AFMotor扩展板的开发团队Adafruit专门为该扩展板编写的。它的优点是非常简单易用,但是功能相对单一。假如您只是驱动直流模型电机,那么这个AFMotor库就足够了。
但是如果您还想用AFMotor扩展板驱动28BYJ-48步进电机的话,AFMotor库虽然也可以实现这一功能,但是它的功能太简单了。所以我们建议您使用AccelStepper库来控制步进电机。请注意:AccelStepper库本身不能配合AFMotor电机扩展板工作。只有安装了AFMotor库以后,AccelStepper库在AFMotor库的配合下才能用于AFMotor电机扩展板驱动步进电机。这也就是说,无论您是否使用AccelStepper库,都要首先安装AFMotor库。
以下是这两个库的下载链接:
下载 AFMotor库(https://pan.baidu.com/s/1xVViDOb_VIb0qenXVdGErw)
下载 AccelStepper库(https://pan.baidu.com/s/1PXKIEiSYR-P_3IpY5cs7tw)
Arduino实验开源代码
/*【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)实验一百五十四:L293D四路电机驱动扩展板 motor control shield 马达板 Adafruit Motor Shield模块 Arduino AFMotor 电机扩展板1、安装库:百度搜索“AFMotor库”— 下载 — 拷贝到Arduino-libraries 文件夹中2、实验之一:测试驱动M2直流电机*/#include <AFMotor.h>AF_DCMotor motor(2, MOTOR12_64KHZ);void setup() {motor.setSpeed(200);}void loop() {motor.run(FORWARD);delay(1000);motor.run(BACKWARD);delay(1000);motor.run(RELEASE);delay(1000);}
Arduino AFMotor 电机扩展板实验场景图
相关文章:

【雕爷学编程】Arduino动手做(154)---AFMotor电机扩展板模块
37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&am…...

【RPC】—Protobuf入门
Protobuf入门 ⭐⭐⭐⭐⭐⭐ Github主页👉https://github.com/A-BigTree 笔记链接👉https://github.com/A-BigTree/Code_Learning ⭐⭐⭐⭐⭐⭐ Spring专栏👉https://blog.csdn.net/weixin_53580595/category_12279588.html SpringMVC专栏&a…...

【⑩MySQL】:表管理,让数据管理不再困难
前言 ✨欢迎来到小K的MySQL专栏,本节将为大家带来MySQL表/数据库创建和管理的讲解✨ 目录 前言1. 基础知识2. 创建和管理数据库3.创建表4. 修改表5. 删除表6.总结 1. 基础知识 ✨1.1 表的基本概念 在MySQL数据库中,表是一种很重要的数据库对象…...

Springboot项目使用原生Websocket
目录 1.启用Websocket功能2.封装操作websocket session的工具3.保存websocket session的接口4.保存websocket session的类5.定义websocket 端点6.创建定时任务 ping websocket 客户端 1.启用Websocket功能 package com.xxx.robot.config;import org.springframework.context.a…...

在Vue 3中如何实现服务端渲染(SSR)
今天我要给你们介绍一个很酷的功能——在Vue 3中实现服务端渲染(SSR) 首先,我们来聊聊SSR是什么。它就像是一个魔术师,能让你的网页在服务器上就预先渲染好,然后发送到客户端。想象一下,你在浏览一个网页&…...

【计算机组成原理期末课设作业】16位微型计算机实现——MOVS串传送扩展指令设计
16位微型计算机实现——MOVS串传送扩展指令设计😎 前言🙌教学目的:1、数据**加粗样式**通路分析2、微程序控制器分析3、指令系统分析4、微程序控制器指令周期流程图5、微指令编码6、测试程序和运行结果(1)首先先在内存…...

CodeMirror 对 XML 文档熟悉及元素控制自定义
CodeMirror 是一个网络代码编辑器组件。它可以在网站中用于实现支持多种编辑功能的文本输入字段,并具有丰富的编程接口以允许进一步扩展。 本文为 xml 格式的代码提示约束格式规范的自定义示例内容。 先看效果,如下: 官方 Demo 的完整代码如…...

Jetpack - ViewModel
一、概念 二、使用 2.1 创建ViewModel //无参 class MainViewModel : ViewModel() {} //有参 class MainViewModel(mainRepository: MainRepository) : ViewModel() {} class MainViewModelFactory(private val mainRepository: MainRepository) : ViewModelProvider.Factor…...

【新版系统架构】第十三章-层次式架构设计理论与实践
软考-系统架构设计师知识点提炼-系统架构设计师教程(第2版) 第一章-绪论第二章-计算机系统基础知识(一)第二章-计算机系统基础知识(二)第三章-信息系统基础知识第四章-信息安全技术基础知识第五章-软件工程…...

剖析Linux文件系统
Linux 文件系统体系结构是一个对复杂系统进行抽象化的有趣例子。通过使用一组通用的 API 函数,Linux 可以在许多种存储设备上支持许多种文件系统。例如,read 函数调用可以从指定的文件描述符读取一定数量的字节。read 函数不了解文件系统的类型ÿ…...

简介Maven结构与配置方法
一、Maven是什么 Maven是apache旗下的一个开源项目,是一款用于管理和构建java项目的工具。 它有什么用呢? 比如我以前要IOUtils这个包,那要到网站下去下载下来,再导入。 当jar包多的时候,一个一个导出,…...

好用的网址6
PPT课件网:http://www.pptkj.net/ ImgUpscaler:AI Image Upscaler - Upscale Photo, Cartoons in Batch Free 加强图片 AI Draw:AI Draw | Convert Images to One-Line Drawings with AI ZToDoList:https://www.ztodolis…...

MySQL数据库---笔记5
MySQL数据库---笔记5 一、锁1.1、介绍1.2、全局锁1.2.1、全局锁介绍1.2.2、一致性数据备份 1.3、表级锁1.3.1、表锁1.3.2、元数据锁(meta data lock , MDL)1.3.3、意向锁 1.4、行级锁1.4.1、介绍1.4.2、行锁1.4.3、间隙锁/临建锁 二、InnoDB引擎2.1、逻辑…...

Yocto:初始
1.构建Yocto项目前,需要先安装其所依赖的一些组件及工具 1 System Requirements — The Yocto Project 4.2.999 documentation 需要依次安装: $ sudo apt install gawk wget git diffstat unzip texinfo gcc build-essential chrpath socat cpio python3 python3-pip python…...

autodl算力租用平台应用于pycharm
一、GPU租用选择 1、创建实例 首先进入算力市场 博客以2080为例,选择计费方式,选择合适的主机,选择要创建实例中的GPU数量,选择镜像(内置了不同的深度学习框架),最后创建即可 2、SSH远程连…...

高德地图的使用
JS API 结合 Vue 使用 高德地图 jsapi 下载、引入 npm add amap/amap-jsapi-loaderimport AMapLoader from amap/amap-jsapi-loader 使用2.0版本的loader需要在window对象下先配置 securityJsCode JS API 安全密钥使用 JS API 使用 script 标签同步加载增加代理服务器设置…...

<List<Map<String,String>>> 删除元素常见的误区以及删除方法
看到这么标题可能觉得这个真是太easy了,不就remove吗,分分钟搞定。 但结果却出乎意料,下面我们来j简单说说list删除数据可能遇到的坑: 先说明我们可能会遇到的两个问题: 1.java.lang.IndexOutOfBoundsException(索引越…...

Linux下的编辑器——vim的简单上手指南
文章目录 一.概念1. 什么是 vim2. Vim 的模式①命令模式② 插入模式③底线命令模式 二.vim的基本操作1.如何启动vim?2. [命令模式」切换至 「插入模式」3.「插入模式」 切换至 「命令模式」4.「命令模式」切换至 「底行模式」5. 如何退出 vim? 三.vim指令…...

C++多线程学习(二、多线程的几种创造方式【有返回值的之后讲】)
目录 创建多线程 1.普通函数充当线程处理函数创造线程 2.Lambda表达式充当线程处理函数 3.带参函数创建线程 3.1普通参数 3.2传入引用 3.3智能指针充当函数参数 4.通过类中的成员函数创建 4.1仿函数方式创建:类名的方式调用 4.2普通类中的成员函数 创建多…...

前端开发框架生命周期详解:Vue、React和Angular
引言 作为前端开发者,掌握前端开发框架的生命周期是非常重要的。在现代Web应用开发中,Vue.js、React和Angular是三个最流行的前端开发框架。本篇博客将详细解读这三个框架的生命周期,包括每个阶段的含义、用途以及如何最大限度地利用它们。通…...

【Java从入门到大牛】程序流程控制
🔥 本文由 程序喵正在路上 原创,CSDN首发! 💖 系列专栏:Java从入门到大牛 🌠 首发时间:2023年7月7日 🦋 欢迎关注🖱点赞👍收藏🌟留言🐾…...

UML学习统一建模语言
unified modeling language 统一建模语言 面向对象软件分析与设计建模的事实标准 类命名:帕斯卡特命名 类之间的关系 关联关系:班级和学生,一个类的对象作为另一个类的成员变量; 通过非构造和setter注入的方式建立联系…...

【C++学习笔记】RAII思想——智能指针
智能指针 1 内存泄漏问题2 RAII(Resource Acquisition Is Initialization)2.1 使用RAII思想设计的SmartPtr类2.2 智能指针的原理2.3 小总结智能指针原理 3 智能指针的拷贝问题3.1 std::auto_ptr3.2 std::unique_ptr3.3 std::shared_ptr3.3.1 拷贝构造函数…...

ubantu配置python环境
安装python 参考博客 安装pycharm 博客 创建Pycharm快捷方式 博客 ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1, currently the ‘ssl’ module is compiled with File “/home/r00t/IdeaProjects/data/venv/lib/python3.9/site-packages/urllib3/init.py”…...

单向/双向V2G环境下分布式电源与电动汽车充电站联合配置方法(matlab代码)
目录 1 主要内容 目标函数 电动汽车负荷建模 算例系统图 程序亮点 2 部分代码 3 程序结果 4 下载链接 1 主要内容 该程序复现博士文章《互动环境下分布式电源与电动汽车充电站的优化配置方法研究》第五章《单向/双向V2G环境下分布式电源与电动汽车充电站联合配置方法》…...

dockerfile常用指令
Dockerfile常用指令 视频学习资料来源这里,点击本行文字即可跳转,讲的比较详细,不过比较老,跟最新的肯定是有一些差异的 Dockerfile官网文档的话点击这里 中文文档可以看看这个,不过没有详细的代码demo 或者是看这个 或…...

Matlab/simulink与dsp28335联合开发教程
一.入门篇(开发环境搭建) 1.1 Code Composer Studio 软件安装1.2 MATLAB 软件安装1.3 Control_SUIT3.4 软件安装1.4 C2000 Simulink 开发工具箱安装1.5 Visual_Studio_Professional 二. 基础篇(片内外设使用) 2.1 G…...

新项目搞完啦!!!
大家好,我是鱼皮。 经过了 7 场直播,总时长近 20 小时,我在 自己的编程导航 的第 5 个 全程直播开发 的项目 —— 智能 BI 项目,完结啦! 我在这里对该项目做一个简单的总结,希望让更多需要它的同学看到&am…...

分享一个可交互的小场景(二)
先看效果: 可互动的小场景 再看代码: JS部分 <script>var rotateDiv document.getElementById(rot);var rotateIcons document.getElementById(rot-icons);var clickRotateDiv document.getElementById(click-rot);var angle 0;clickRotateDi…...

2.5 DNS 应用 -- 1. DNS 概述
2.5 DNS 应用 -- 1. DNS 概述 DNS:Domain Name SystemDNS分布式层次式数据库DNS根域名服务器TLD和权威域名解析服务器本地域名解析服务器 DNS 查询迭代查询递归查询 DNS记录缓存和更新 DNS:Domain Name System Internet上主机/路由器的识别问题 IP地址域…...