以下是小白文:
初入大学的时候对什么都是很新鲜的,而我也很喜欢去尝试各种不同的东西。我的专业是网络工程,但是为什么我会搞这些单片机开发板的东西呢? 那还用问吗,那是身为一个男人的浪漫啊。试想一下,你能控制一个数十台四轴飞行器,让他们在天空做任何姿态的动作(就像复仇者联盟里面那个场景,让),那场面得有多么震撼。闲话就到这里了,下面还是进入正题吧。
个人使用经验归纳:
51单片机
Q1:what is 51单片机?
A1:第一次接触,我也不知道是什么东西,总是被告知是一个微机。后来接触了,学习了,我给他的定义是“初生的婴儿电脑(脑袋是一片空白的)”。就是他具备电脑的功能潜能,但是却需要人去教会他,给它灌输“知识”(也就是写入程序)。他中间长条的那块芯片就相当于人的大脑。而其他部件就是人体的器官,板子上面各种线路相当于人体的神经脉络。头脑被灌入知识,身体各部分就会按照“所学”知识进行相对应的动作。比如:给它写入知识“旁边那一排灯的第一盏LED灯点亮10秒,然后熄灭。”那么那一盏灯就是按照你的命令进行发光和熄灭的动作。
Q2:输入的“知识“是什么? 怎么输入?
A2:知识就是C语言所写的编程。靠用USB线与电脑连接,把C语言编程通过软件烧进去。(”烧“:通俗讲就是搞进去);
Q3:51单片机能做什么?
A3:闪烁的LED灯,LCD液晶屏上显示你想要显示的文字(就像街边的电子屏幕广告一样),做一个温度(51单片机内置温度传感器)和时间的显示器,做一个远程空调遥控器(通过内置的红外传感器)等等。
PS:当你通过51单片机点亮第一盏LED灯的时候,你就会体验到单片机的魅力了,这是每个初学者共同的感受。 当你把这块单片机上的所有模块都弄明白后,你还可以外置一些传感器进行操作,比如烟雾传感器,超声波传感器,电子罗盘等等。
Arduino
这是我入手的第二种开发板。Arduino有很多个系列,UNO,nano,mini等等。初学者建议入手Arduino UNO。相比于51单片机,这个开发板更小更轻盈,操作更方便,因为很多函数是封装的(可以理解为功能是封装的,只要你用一条语句就可以调用那个功能,而51单片机则需要把那个功能的实现方法也要写出来。)。所以当我十分艰辛的学完51单片机后,我再看Arduino,我基本上是半天就入门了(天壤之别啊!51单片机我可是忍着看了好几个月的)。所以如果是基于兴趣或者不准备深入嵌入式学习的话,还是建议玩Arduino算了,它就像乐高积木一样。只用把想要的功能拼装起来。入门简单,但是要成为大神,也一样是很难的。随着创客文化的兴起,Arduino作为一种更为适合于产品创作的板子在未来是很吃香的。
下面是Arduino UNO
Q1:如果用Arduino 进行创作?
A1:例如:做一个智能插座(简易版)
需要硬件:Arduino开发板一块,3.3v稳压模块,继电器模块,插座外壳,WIFI模块(选择ESP8266)。
如何连接?:插座-继电器-arduino-wifi模块
工作原理:这里选择wifi模块作为Server,手机作为Client。手机连接wifi模块发射出来无线wifi,然后输入相应命令与wifi模块进行通讯,arduino接收wifi模块收到的信息,然后进行处理,打开相应的功能(连接继电器的IO口工作),继电器工作,插座通电。
详细的制作过程经验之后再分享。
Q2:Arduino 与51单片机的区别。
A2:Arduino是免除硬件底层的开发板,而51单片机则连底层也要写。
拿个delay() 延迟函数做例子。
51单片机:需要自己写这个延迟函数
void delay(unsigned int xms) // xms代表需要延时的毫秒数
{
unsigned int x,y;
for(x=xms;x>0;x--)
for(y=110;y>0;y--);
}//这里需要自己用调试工具来测试这个函数运行的时间是否是自己所需的延迟时间。
Arduino:不需要自己写这个函数,基本库中就有这个函数了
delay(unsigned int xms); //xms代表需要延时的毫秒数,库中已经写好了,而且给出的标准是延迟x毫秒。
分享一下关于Arduino的资料网站:
arduino官网(需要):https://www.arduino.cc/
arduino教程总汇:http://www.arduino.cn/thread-1066-1-1.html
arduino中文社区:http://www.arduino.cn/
开发板专区:http://bbs.ickey.cn/forum/board/series/3.html?utm_campaign=shequ&utm_medium=cpc&utm_source=baidu&utm_content=arduino&utm_term=arduino
NodeMCU
这是我在做智能插座时接触的一块近年来很火的一个开发板。简单的说他就是Arduino+ESP8266的开发板。相当于arduino自带wifi功能。而且用它来实现远程控制更为简单,在未来智能家居发展的路上它必将越来越火。相比较于arduino它免除了无线通讯时繁杂的数据处理。用它来进行无线通讯只需简单的几行代码函数。(原谅我偷懒了。NodeMCU的介绍日后再详细补上)
相关资料:
NodeMCU简介与快速入门:http://my.oschina.net/u/2306127/blog/402931
用NodeMCU打造智能插座:http://www.geek-workshop.com/thread-24907-1-1.html