【雕爷学编程】Arduino动手做(154)---AFMotor电机扩展板模块

news2024/9/20 10:38:01

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 电机扩展板实验场景图

在这里插入图片描述

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

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

相关文章

备忘录模式的学习与使用

1、备忘录模式的学习 当您需要在不破坏封装性的前提下保存和恢复对象的状态时&#xff0c;备忘录模式是一种有用的设计模式。备忘录模式允许您将对象的状态保存到备忘录对象中&#xff0c;并在需要时从备忘录中恢复状态。这种模式分离了状态的保存和恢复逻辑&#xff0c;使得对…

stm32usart+中断接收定长数据

文章目录 前言一、cubemx的配置二、代码编写1.主函数在这里插入图片描述2. it.c 总结 前言 中断接收固定的数据值。 一、cubemx的配置 开启USART1 打开NVIC中断 二、代码编写 1.主函数 #define RxBuf_SIZE_1 50 //USART1接收缓冲区大小 #define MainBuf_SIZE_1 50 //USAR…

实现会议管理功能

目录 生成原始会议数据 一、数据结构 二、添加测试数据 查询会议列表分页数据&#xff08;后端&#xff09; 一、业务分析 二、编写持久层代码 三、编辑业务层代码 四、编写Web层代码 查询成员列表&#xff08;后端&#xff09; 一、编写持久层代码 二、编写业务层…

Mybatis-plus——查询条件设置+字段映射和表名映射

查询条件设置 等匹配查询 假如要进行登录查询的话&#xff0c;需要用到如下的等匹配&#xff0c;在实际的登录中应该做md5加密&#xff0c;从查询条件取出密码。 //条件查询LambdaQueryWrapper<mpdb> lqwnew LambdaQueryWrapper<mpdb>();//模拟登陆查询等匹配lqw…

SELF-ATTENTION DOES NOT NEED O(n2) MEMORY

背景 主要是要解决self-attention空间复杂度的问题&#xff0c;因为对于gpu计算来说&#xff0c;内存空间非常宝贵&#xff0c;序列长度较长的时候会出现oom问题。 用线性时间解决self-attention问题 解决数据稳定问题 因为由于进行求和计算&#xff0c;容易导致浮点数超过最…

栈区和堆区以及注意事项

>>栈区 #include<stdio.h> #include<string.h> #include<stdlib.h>int* func() {int a 10;//栈上创建的变量return &a; }void test01() {int* p func();//结果早已不重要&#xff0c;因为上面的a早已被释放&#xff0c;再去操作这块内存属于//非…

行业追踪,2023-07-04,受特斯拉中报影响,汽车零部件放量强势拉升,不调整

自动复盘 2023-07-04 成交额超过 100 亿 排名靠前&#xff0c;macd柱由绿转红 成交量要大于均线 有必要给每个行业加一个上级的归类&#xff0c;这样更能体现主流方向 rps 有时候比较滞后&#xff0c;但不少是欲杨先抑&#xff0c; 应该持续跟踪&#xff0c;等 macd 反转时参与…

Gitbash常用指令总结

Part I git 开始的指令 1、git init&#xff1a;初始化一个Git仓库&#xff1b; 2、git clone&#xff1a;从远程仓库克隆代码到本地&#xff1b; 直接使用网址 git clone <url>or 用a代替网址 git remote add a <url>git clone a3、git add&#xff1a;添加文件到…

计算机基础--->数据结构(8)【B树、B+树<超详细图文>】

文章目录 B树(B-Tree)B树的查询操作B树的几种插入删除情况 B树B树的主要特点插入操作删除操作 B树(B-Tree) B树&#xff08;B-Tree&#xff09;是一种自平衡的搜索树&#xff0c;又称平衡多路查找树&#xff0c;主要用于系统中大量数据的读和写操作。B树的特点是能保持数据有序…

English-英语语法体系

语法体系 英语中的所有语句类型&#xff1a;什么怎么样 英语语法最重要的就是动词&#xff01;

3.4.流的学习,异步任务的管理

目录 前言1. 流总结 前言 杜老师推出的 tensorRT从零起步高性能部署 课程&#xff0c;之前有看过一遍&#xff0c;但是没有做笔记&#xff0c;很多东西也忘了。这次重新撸一遍&#xff0c;顺便记记笔记。 本次课程学习精简 CUDA 教程-流的学习&#xff0c;异步任务的管理 课程大…

MySQL库表操作作业

创建数据库 mysql> create database Market; mysql> use Market; 创建表和约束 mysql> create table customers(c_num int(11) primary key not null UNIQUE Key auto_increment , -> c_name varchar(50), -> c_city varchar(50), -> c_birth datetime…

九、HTML中的定位

1、定位 position static 默认值 没有使用定位 relactive 相对定位 absolute 绝对定位 fixed 锚定 标准文档流 标准文档流 从上到下&#xff0c;从左向右&#xff0c;依次显示网页中的每一个元素 元素分类 行内元素 依次一个挨着一个显示 块级元素 独占一行 static 定位 以…

【STM32智能车】智能寻迹

【STM32智能车】智能寻迹 基础算法寻迹小车 我们之前说了到了寻迹这里会涉及到一些算法&#xff0c;不过各位小伙伴可以放心&#xff0c;我们这里用的是一些基础算法。不需要公式&#xff0c;只需要进行简单的判断就行。 基础算法 寻迹车的程序算法如下&#xff1a; 初始化&…

MySQL数据库小练习1

1.创建数据库&#xff0c;删除数据库&#xff0c;查询创建数据的语句&#xff0c;使用数据库&#xff0c;查询当前默认的数据库以及使用的编码方式校验规则 创建数据库及使用数据库&#xff1a; create database hzc default character set utf8mb4 collate utf8mb4_0900_ai_…

uniapp电子签名以及竖屏签名后内容旋转90度变为横屏图片

用该插件挺不错的 电子签名插件地址 如果你一个页面要用多个该插件&#xff0c;就改成不同的cavas-id&#xff0c;修改插件源码 效果图 竖屏写 旋转成横屏图片 插件内 在拿到签名临时地址后的页面 <!-- 旋转图片canvas --> <canvas canvas-id"camCacnvs&quo…

第二次CCF计算机软件能力认证

第一题&#xff1a;相邻数对 给定 n 个不同的整数&#xff0c;问这些数中有多少对整数&#xff0c;它们的值正好相差 1。 输出格式 输入的第一行包含一个整数 n&#xff0c;表示给定整数的个数。 第二行包含所给定的 n 个整数。 输出格式 输出一个整数&#xff0c;表示值正好相…

华为OD计算工时python脚本

前言 刚入职不知道工时要平均每天满8小时&#xff0c;并且看不到每天的实际工时&#xff0c;一气之下花了一个中午写了个脚本计算每天的工时&#xff0c;分享一下&#xff0c;不同地区的兄弟需要修改一下午休和晚饭时间才能使用。 文件位置 把welink上 上下班时间输入work.c…

支持向量机推导之r||w||=1的限制转化

支持向量机推导之r||w||1的限制转化 很多同学肯定是学过支持向量机的&#xff0c;也可能大致的理解了支持向量机这个算法&#xff0c;我想大部分人在学习这个算法的时候&#xff0c;对于推导过程有一步应该是不太理解。 我先简要介绍一下SVM,SVM的核心思想在于找到一个多维空间…

getCurrentInstance

https://blog.csdn.net/m0_46318298/article/details/130726043 注&#xff1a;$是在vue中所有实例中都可用的一个简单约定&#xff0c;这样做会避免和已被定义的数据&#xff0c;方法&#xff0c;计算属性产生冲突。