这两天接了一个小活是用arduino做一个类似智能家居检测的东西,包括温度、湿度、烟雾检测。对于arduino其实并不是第一次接触,之前和同学一起整过那个3轴的机器手画图,不过当时代码没有亲自写。这次算是完完整整接触了一回。
首先第一感觉就是便宜,一共淘宝了两次,加上七七八八的东西一共100块不到,arduino uno主板才25块钱,倒是有的好的传感器比较贵。毕竟arduino这东西硬件开源,一下大大拉低了价格。其次就是arduino的开发环境,这个也是我觉得为什么他能这么流行起来的原因,非常的straightforward,没有什么devicetree, memory map之类的,直接一个C++的编程环境,一个void setup() 一个void loop(),几行代码就可以点灯、驱动lcd屏,获取传感器数据等,非常的方便,这个世界还是软件的世界,因此适合软件编程才是正道。
整个系统搭起来前前后后也花了多半天时间,要把一件简单的是做好也是挺不容易的,下面讲讲其中一些经验。
1,对于arduino的编程风格,我觉得这个是最重要的,也是我写代码之前在搜索引擎上最想找到的,arduino因为软硬件都开源,所以可以非常好的继承已有的代码,避免重复造轮子,这也是软件编程最大的特点。特别是传感器就那么几种,肯定有别人写好的驱动,现成的库,因此千万不要拿到一个传感器就去找他的datasheet,然后重新写一个时序,这不是arduino的风格,是以前嵌入式单片机的风格。
这里我用的DHT11和LCD1602屏就是用的已有的库文件,其中DHT11是网上找到的,LCD的驱动是arduino开发环境自带的