Arduino资料收集(动态更新)
本专题用于收集网络上关于Arduino的有关事情,供自己做研究时查阅,感兴趣的朋友,也可以参考。
备注:本专题有可能删减,对于该依赖,需要注意。
1、【Arduino】一天入门Arduino语言 教程
https://blog.csdn.net/as480133937/article/details/105322822
这个介绍相当详细,严重推荐,目前我也在学习中,没有新的建议。
好像没有讲解SPI方面的内容。以下是关于SPI的补充
100_Arduino SPI功能探索
https://blog.csdn.net/grey_csdn/article/details/89430999
2、【Arduino】Arduino IDE使用教程-超详细
https://blog.csdn.net/as480133937/article/details/105331315
观看完该使用教程后,可以回过头来看看如下深入内容:
1)由于该教程比较久远,Arduino IDE版本与现在差异较大了。最新的版本可以到官网更新,也可以在IDE安装后更新。
2)Arduino入门版一般是UNO版本,这个版本分为意大利原版和国内版本。意大利原版较贵。国内版
一般采用CH340作为串口下载芯片。上文提到的就是国内版,这个要注意。
3)我使用的版本是2.3.2,串口监视器和IDE集成在一起的,反而不太方便了,不清楚怎么分离的,有知道的朋友,帮忙告诉我,感谢。
3、关于Arduino 常用外设的使用
感谢 编程圈子,千年糊涂等博主的资料
输出类:
输出类外设常常被称作执行器。
1)指示灯还需要做解释吗?确实是非常常用(怎样插入表情?我不会啊),另一个是6812灯模块,通过一个引脚可以实现任意颜色输出,比较 好玩的。
2)继电器。继电器是对外输出大功率隔离开关类型的外设。
3) 液晶显示LCD。
4)OLED显示。
5)蜂鸣器
6)功放喇叭
7)直流电机
8)步进电机
9)舵机,一种输出旋转角度的电机
输入类:
输入类外设常常被称作传感器。这种外设比较有个性化,根据具体需要采用。
电信号类:
1)电位器,包括摇杆
2)编码器
3)红外遥控
4)按键
5)电容传感器
非电类传感器
1)温度传感器。测量周围环境温度,或者板载本身的温度。
2)超声波传感器。测量距离移动物体的距离。比如做避障,
3)颜色传感器。
4)紫外线传感器。
5)人体红外传感器。
6)火焰传感器
7)光电开关
8)倾斜开关(滚珠开关)
9)轻触开关
10)雨滴传感器
11)麦克风
12)光敏电阻,感应光强
13)压力传感器
14)酒精传感器
15)烟雾传感器
存储类
存储类外设是控制系统的一部分,帮助执行算法的。
1)EEPROM,用于存储运行过程中的变量,包括内置EEPROM和外置EEPROM,先找找内置EEPROM的操作。可以看看这一篇(找到这个资料,发现外置EEPROM也有,增加表情)
[Arduino 入门学习笔记11 读写内置EEPROM]
[Arduino 入门学习笔记12 读写外置EEPROM]
针对文中提到的内置EEPROM程序,已经验证过,可以使用。只是内容不够丰富,后面我给大家提供一个多字节的例程。
针对外置EEPROM程序还没有验证,手头没有EEPROM芯片,正在购买。
2)FLASH
Arduino通信
常用的Arduino包括串口通信,I2C通信,SPI通信。这个和单片机本质是一样的。不过,Arduino是采用库实现的,从操作简便性来说,是很有优势的。
1)串口通信:采用Serial函数
2)I2C通信:采用Wire函数
3)SPI通信:可以参考这个教程:ARDUINO 操作 SPI 教程
虽然给了代码,但这个没有指定具体的外设,无法立即验证。倒可以采用2个Arduino板子进行SPI通信。
自制Arduino板
该部分感谢yellowmao的贡献
绝大部分同学的Arduino板是外部购买,比如x宝购买的。由于Arduino是开源的,硬件原理图是开源的,bootloader也是开源的,我们也可以来自制属于自己的Arduino板,应用在项目中,比如智能小车。需要自制Arduino板的人群包括:
1、Arduino培训机构,需要做出自己的特色
2、利用Arduino做实际的项目,有空间结构的限制
参考如下的视频可以自己做一个核心板。该核心板的串口部分不是必要的,如果用于烧写的话,可以另外做一个CH340G的烧写器(自动烧写的),这样就形成真正的核心板,用于项目上面了。
[https://www.bilibili.com/video/BV1ma4y1n7Ln](https://www.bilibili.com/video/BV1ma4y1n7Ln)
有人反馈,找不到该板子的原理图。在Aruduino网站上,有公开的原理图,只是串口通信部分,采用了mega16的芯片,国内这种设计不常见。
1、核心板硬件设计
2、BOOTLOADER烧写
3、外部烧写器设计(CH340版)
4、编写Arduino自定义库
Arduino与STM32
该类目感谢 笑春风oO 等博主的贡献
Arduino丰富的外设操作,很多创客比较喜欢使用。但对于真正的工程级产品来说,AVR单片机往往不能满足要求。近年来(也有十几年了),STM32单片机比较流行,将Arduino IDE与STM32相结合,满足了大部分人的心愿。官方也做出了努力,目前已经可以满足绝大多数的STM32单片机。
首先参考下面的博文,设置STM32环境:
使用Arduino IDE对STM32全系列芯片编程
需要注意的是:
1)该支持的芯片不是全部的,如果进行开发时,先确认一下库里面是否有该芯片。
2)目前通过STcubeprog进行上传时,仅支持STlink(我只用stlink成功烧写过,JLINK没有成功)