Arduino实践基础


preface
参考资料:https://www.jianshu.com/u/9dcb33c9d805

推荐:简要介绍arduino的视频,一个开源的硬件软件平台

开发板

Arduino Uno R3,淘宝正版120左右,但其硬件和原理图都是开源的,需要的可以支持正版。

其硬件资源配置:


LED指示灯说明:

ON:
电源指示灯。当Arduino通电时,ON灯会点亮。

TX:
串口发送指示灯。当使用USB连接到计算机且Arduino向计算机传输数据时,TX灯会点亮。

RX:
串口接收指示灯。当使用USB连接到计算机且Arduino接收到计算机传来的数据时,RX灯会点亮。

L:
可编程控制指示灯。该LED通过特殊电路连接到Arduino的13号引脚,当13号引脚为高电平或高阻态时,该LED 会点亮;低电平时,不会点亮。可以通过程序或者外部输入信号,控制该LED亮灭。


引脚说明:

Power 引脚
开发板可提供3.3V和5V电压输出,Vin引脚可用于从外部电源为开发板供电。

Analog In引脚
模拟输入引脚,开发板可读取外部模拟信号,A0~A5为模拟输入引脚。

Digital 引脚
UNO R3拥有14个数字I/O引脚,其中6个可用于PWM(脉宽调制)输出。数字引脚用于读取逻辑值(0或1),或者作为数字输出引脚来驱动外部模块。标有”~“的引脚可产生PWM。

TX和RX引脚
标有TX(发送)和RX(接收)的两个引脚用于串口通讯。其中标有TX和RX的LED灯连接相应引脚,在串口通讯时会以不同速度闪烁。

13引脚
开发板标记第13引脚,连接板载LED灯,可通过控制13引脚来控制LED灯亮灭。一般拿到开发板上电板载灯都会闪烁,可辅助检测开发板是否正常。4.29:某宝正版,橙色灯一直闪烁,应该是正常的。


基础器件

1红外遥控的使用:https://www.jianshu.com/p/5add4c666983

2蜂鸣器的使用:https://www.jianshu.com/p/eae823cc343a


3MPU6050的使用:https://www.cnblogs.com/zhoug2020/p/7636742.html

MPU6050的数据获取、分析与处理:https://blog.csdn.net/jickjiang/article/details/84237863

扫盲:https://blog.csdn.net/zuoheizhu/article/details/96697274

MPU6050是一种非常流行的空间运动传感器芯片,可以获取器件当前的三个加速度分量和三个旋转角速度。

使用集成的MPU6050模块。MPU6050的数据接口用的是I2C总线协议,因此我们需要Wire程序库的帮助来实现Arduino与MPU6050之间的通信。


陀螺仪(Gyroscope、GYRO-Sensor)也叫地感器,传统结构是内部有个陀螺,如下图所示(三轴陀螺),三轴陀螺仪的工作原理是通过测量三维坐标系内陀螺转子的垂直轴与设备之间的夹角,并计算角速度,通过夹角和角速度来判别物体在三维空间的运动状态。三轴陀螺仪可以同时测定上、下、左、右、前、后等6个方向(合成方向同样可分解为三轴坐标),最终可判断出设备的移动轨迹和加速度。

也就是说陀螺仪通过测量自身的旋转状态,判断出设备当前运动状态,是向前、向后、向上、向下、向左还是向右呢,是加速(角速度)还是减速(角速度)呢,都可以实现,但是要判断出设备的方位(东西南北),陀螺仪就没有办法。

加速计(Accelerometer、G-Sensor)也叫重力感应器,实际上是可以感知任意方向上的加速度(重力加速度则只是地表垂直方向加速度),加速计通过测量组件在某个轴向的受力情况来得到结果,表现形式为轴向的加速度大小和方向(XYZ),这一点又有点类似于陀螺仪,但陀螺仪的更多关注自身旋转情况(原位运动),加速计则主要是测量设备的受力情况,也就是三轴运动情况,尽管加速计也可能在某个小范围换算出角速度的可能,但设计原理决定似乎更适合于空间运动判断。

两者看起来很接近,不过加速度计只能侦测物体的移动行为,并不具备精确侦测物体角度改变的能力,陀螺仪可以侦测物体水平改变的状态,但无法计算物体移动的激烈程度。


数据格式:

  • 0x3B,加速度计的X轴分量ACC_X
  • 0x3D,加速度计的Y轴分量ACC_Y
  • 0x3F,加速度计的Z轴分量ACC_Z
  • 0x41,当前温度TEMP
  • 0x43,绕X轴旋转的角速度GYR_X
  • 0x45,绕Y轴旋转的角速度GYR_Y
  • 0x47,绕Z轴旋转的角速度GYR_Z

4舵机控制:https://www.jianshu.com/p/f3fee0082519

5步进电机:https://www.jianshu.com/p/877006ab4859

7继电器控制:https://www.jianshu.com/p/81ff85cbd82e


6 L9110s四路直流电机驱动板

arduino上数字引脚动不了直流减速电机
试一下用驱动板控制,没


7 超声波模块

https://www.arduino.cn/thread-3194-1-1.html

关于gnd没接时有数据:
GND作为参考电平在系统互联通讯时是一定要接的
也可能是某些信号线和GND之间的耦合代替了GND的作用
但这绝对是不正确的接法


8编码器(encoder)是将信号(如比特流)或数据进行编制、转换为可用以通讯、传输和存储的信号形式的设备。编码器把角位移或直线位移转换成电信号,前者称为码盘,后者称为码尺。


9 语音识别模块 LD3320

淘宝地址:https://detail.tmall.com/item.htm?id=41365254224&spm=a1z09.2.0.0.67932e8dIj7xuu&_u=62029c35dmffd0

供电电压:5V
IO口输出:高电平3.3V
通信方式:串口通信(不支持max232,RS485)

+继电器=语音开关,可用于智能家居


10 MPU6050
淘宝地址:https://detail.tmall.com/item.htm?id=608978882219&spm=a1z09.2.0.0.67932e8dIj7xuu&_u=62029c35dm8cce

三轴陀螺仪+三轴加速计
通信方式:标准IIC通信协议

Arduino教程:MPU6050的数据获取、分析与处理:https://zhuanlan.zhihu.com/p/20082486


11 HC06蓝牙模块

12 2.4inch tft屏幕,16个引脚要接(不加sd卡),鸡肋


其它
树莓派教程:https://shumeipai.nxez.com/hot-explorer


文章作者: ╯晓~
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 ╯晓~ !
评论
  目录