记录一下制作过程和方案
目的:上位机遥控无人艇在水中游动
方案:外形由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引脚。
我们讲到串口通信模块的时候细说 。