一、引言
作为一个专科大三的混子,写一篇文章给师弟师妹们,因为自己学arduino,stc51,stm32走了很多的坑,也逐渐摸索出了一条学习嵌入式的路,后面养成了自学的习惯。希望大家看完这篇文章可以对arduino的学习过程中有一个帮助。
二、学习arduino的过程
我更推荐系统的学习,先从基础的东西开始学起,然后逐渐增多arduino的外设,比如说先从GPIO引脚开始,先学数字输入输出,再学模拟输入输出,串口打印,串口控制,然后IIC,SPI…将这些内部的东西学会后面,就可以接着学模块了,学模块必须是泛而广的去学,因为模块太多了,每种模块不同的控制方法,我们要学的话,就要学到,一拿到手,一查资料,马上就可以知道该怎么去玩这个模块了。
当然,也可以按照老师公众号里面的顺序去学习,直接上手各类模块,玩熟了,自然就了解了。但是千万不要仅限于图形化编程,学图形化的时候,一定要对着代码去看,一定要学一下代码,要能了解这个代码是怎么实现的,是干什么的,这样子以后一找资料,一看到这些代码就一目了然了。
为什么一定要学代码?因为你出去工作,总不能打开米思齐给公司写代码吧?而且大部分公司可不会用arduino,因为有些库是不能商业话的,也因为其他更好的芯片成本更低,功能更好,所以arduino只适合我们入门去学习,芯片发展那么多年,千万不要局限于一个arduino,但可以从arduino跳到其他芯片去学习,因为很多东西的原理都是一样的,通一通百。 不过,图形化编程可以帮我们节省很多时间,有一些代码不知道怎么打,可以直接去米思齐实现,再复制粘贴到arduino IDE,如果是想从事创客教育行业,可以多学一下图形化编程,但是也不能离开代码。
三、学什么
1.编程思路
明白你要干什么,程序为什么要这样做。
2.自学的习惯
自学的习惯比什么都重要,很多老师也是自学才会的。
3.做笔记 总结
因为人的脑子始终有限,可能现在学会了,过一两个月也会忘记,所以做属于自己的笔记就很有必要了,因为是自己写的,怎么样,怎么做,一看就知道了。 推荐大家在CSDN写属于自己的笔记,随时随地可以查得到,也可以发给我,我过去给你点赞,一起学习。
4.灵活运用
略… 怎么说呢,毕竟是编程,活学活用吧。多动动脑子,多想想原理,多查查资料,然后再灵活的用起来。
而不是像上课,你完成了课堂作业就给你打分,然后你什么都不知道,照着别人的做出来了,实际上这样子很没用的,哪怕你想一节课,想了,查了,也没做出来也好过一股脑复制别人的,因为你是在用,而不是在抄。
这样子你以后拿到这些模块,马上就可以变着花样用起来了,因为你是真的懂了,而不是不明不白的实现了这个功能。
四、怎么学
对着网上的资料,老师的公众号,B站的视频去学,不懂就查。
串口打印
GPIO数字输出
GPIO数字输入
外部中断
GPIO模拟输出
GPIO模拟输入
了解函数
基础语句的用法和说明(if,for,while,switch)
数据的处理(认识int,String,布尔型...)
了解串口(串口是怎么收到数据的)
打印数据
接收数据
运用数据
上手传感器类的模块去玩
学校现有的模块:
继电器
火焰传感器
咪头传感器
光敏电阻传感器
红外传感器
水位检测模块
超声波测距传感器
DHT11温湿度传感器(单总线协议,了解数据的收发过程)
时钟模块DS1302(IIC)
上手执行器的模块去玩:
舵机
电机
用示波器了解脉冲
电机驱动块
蜂鸣器
RGB彩条灯
显示器类:
1602和IIC类的1602(了解IIC的原理)
OLED12864 (IIC)
OLED12864 (SPI)
四位数码管
四位数码管TM1637(iic)
MAX7219点矩阵
使用宏定义(#define xxx xxx)
使用数组
使用多维数组
用多维数组控制矩阵led
通讯类:
做个app和蓝牙通信
蓝牙通信(串口通信)
RFID红外接收通信(没有红外对管,发送通信做不了)
IIC通讯(arduino和arduino之间的主从通讯)
SPI通讯
RFID通讯(以门禁板为主,但是RFID不仅限于门禁,而是无线触摸通讯技术)
存储类:
EEPROM
SD卡(我没有。。。)
自定义模块:
了解arduino库的原理
自己做一个库(太麻烦了,做简单的就好)
物联网类(太难了,懒得教,精通前面的):
用代码编程会好一点,可以参考我之前物联网点灯的视频
blynk点灯
用blynk(中文版)给人发骚扰邮件
onenet结合app点灯
玩懂拓展块,熟悉原理图
|