无人艇一代制作

该文详细介绍了使用ArduinoUno作为主板,通过520编码电机和TB6612电机驱动模块来操控无人艇的方案。文中提到了Arduino的供电方式,数字电平概念,以及PWM技术在控制电机速度中的应用。此外,还讨论了串口通信在硬件和软件串口中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

记录一下制作过程和方案

目的:上位机遥控无人艇在水中游动

 方案:外形由sw设计,主板为arduino,电机使用520编码电机,电机驱动模块为TB6612

arduino:

Arduino Uno可以使用三种方式供电:

● 直流电源插孔 -可以使用DC电源插孔为开发板供电。供电范围可以是5-20V,但制造商建议将其保持在7-12V之间。

● VIN引脚 - 该引脚用于使用外部电源为开发板供电。

● USB电缆 - 连接到计算机时,提供500mA/5V电压。

● 5v和3v3

提供稳压的5V和3.3v,向外部组件供电。

●    GND

在Arduino Uno引脚分配图中,GND引脚它们都是互连的。

 

 ●    RES - 复位Arduino开发板。

数字电平

数字电平:用数字0或1来表示电压,1表示高电平,0表示低电平。Arduino上的数字引脚可以为输入引脚也可以为输出的引脚,由用户编程确定。数字引脚可以打开或关闭。开启时,它们处于5V的高电平状态,当关闭时,它们处于0V的低电平状态。

当数字引脚配置为输出时,设置为0或5V。

当数字引脚配置为输入时,电压由外部设备提供。该电压可以在0-5V之间变化,并转换成数字表示(0或1),数字电平电压阈值:

●    低于0.8v - 视为0。

●    高于2.0v - 视为1。
 

Arduino Uno引脚分配 - 数字引脚

Arduino Uno的引脚0-13用作数字输入/输出引脚。其中,引脚13连接到板载的LED指示灯;引脚3、5、6、9、10、11具有PWM功能(表示符号~)。串行通信发生在数字引脚0(RX)和1(TX),在上传程序时引脚0,1勿连接其他元器件。
 

PWM

PWM,也就是脉冲宽度调制,用于将一段信号编码为脉冲信号(一般是方波信号)。是在数字电路中 达到 模拟输出效果的一种手段。即:使用数字控制产生占空比不同的方波(一个不停在开与关之间切换的信号)来控制模拟输出。我们要在数字电路中输出模拟信号,就可以使用PWM技术实现。在嵌入式开发中,我们常用PWM来驱动LED的暗亮程度,电机的转速等。

PWM由两个关键部分组成:频率和占空比。PWM频率决定了完成单个周期(周期)所需的时间以及信号从高到低的波动速度。占空比决定信号在总时间段内保持高电平的时间。占空比以百分比表示。

在Arduino中,支持PWM的引脚产生约500Hz的恒定频率,而占空比根据用户设置的参数而变化。见下图:

PWM在编程中使用analogWrite(pin, X);   //pin为引脚,X取值0~255。若x设为120,则电机设计就为120/255倍的最大速度。

串口通信

Arduino采用USART通信模式,可以有硬串口,软串口两种实现方式。

通常将Arduino UNO上自带的串口0(RX)、1(TX)称为硬件串口,可与外围串口设备通信。而使用SoftwareSerial类库模拟成的串口,称为软件模拟串口(简称软串口)。如果要连接更多的串口设备,可以使用软串口。
 

软串口的操作类为SoftwareSerial,定义于SoftwareSerial.h源文件中,但不像硬串口那样,源文件中并没有事先声明软串口对象,Arduino程序中需要手动创建软串口对象。

在使用前需要先声明包含SoftwareSerial.h头文件。

之后调用SoftwareSerial类的构造函数,通过它可指定软串口RX、TX引脚。

我们讲到串口通信模块的时候细说 。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值