Arduino 常见问题

      Arduino是开源平台,硬件原理图都是公开的,世界上的任何一个人都可以生产制作Arduino开发板并拿来售卖,而且不需要得到Arduino的许可,只要不使用Arduino这一商标。非Arduino官网制作、不带Arduino商标的就叫Arduino克隆版或者寨板。Arduino意大利正版和克隆版最大的区别就是价格,以Arduino UNO R3开发板为例,正版开发板淘宝售卖138RMB,克隆版淘宝售价在20RMB以内,也就相当于1个正版抵7个克隆版。另外,克隆版为了节省成本,使用的是国产WCH(沁恒)的串口芯片CH340G,价格在1~2RMB,而正版使用的是ATMEL(爱特梅尔)的ATMEGA16U2芯片,价格在10RMB左右。使用CH340G版的开发板时,需要在沁恒官网或者零知官网的软件下载页面下载并安装CH340G的驱动程序。对于初学者而言,可以使用Arduino克隆版,把板子折腾坏了也不会心疼。
------------------------------------------------------------------------------------------------------------------------------------------------------------------


      Arduino分为硬件和软件两部分,关于硬件需要了解一些电子的基本知识,比如电阻、电容、电感的基本功能和单位换算,还有电压、电流、频率、功率等基本概念,最好会万用表、电烙铁、热风枪等工具的使用。关于软件需要学习C/C++语言基础,因为Arduino语言是建立在C/C++ 语言基础上的,会C/C++的话使用Arduino编程会非常简单。Arduino是非常热门的硬件开源平台,很多人为Arduino贡献了非常详细的资料,许多的外围器件都有大量的类库,学习使用这些类库就能很轻松的制作非常炫酷的项目。在Arduino IDE上有从简到难的例程,只需要一步一步把这些例程跑完并理解明白,便可以轻松的学会Arduino。
------------------------------------------------------------------------------------------------------------------------------------------------------------------


      在使用Arduino的过程中,有很多时候需要用到上拉或者下拉电阻。当使用Arduino开发板的模拟和数字引脚读取输入的模拟量或数字量时,在没有外部信号输入的情况下,Arduino的引脚是悬空的,引脚悬空就是没有接入任何信号,这个时候,Arduino是没有办法读取到正确数值的,可能受外部环境的干扰,返回一些无意义的数值,这是在电路中不希望看到的,而接入上拉或者下拉电阻就可以解决这个问题。上拉电阻就是将引脚固定到高电平,比如在使用Arduino的2号引脚时,将2号引脚与10KΩ的电阻串联,然后接到5V的电源上,而下拉电阻是将引脚固定在低电平,与10KΩ电阻串联接到GND上。当接入上拉或者下拉电阻时,Arduino就可以读取到一个稳定的高电平或者低电平了,而不会是一些无意义的参数。电阻的阻值一般是按照经验选取,Arduino使用10KΩ即可。
------------------------------------------------------------------------------------------------------------------------------------------------------------------


      能正常编译,但上传不了程序,Arduino提示上传项目出错。这种情况一般为开发板和端口选择不正确或者开发板未正常连接电脑,可以检查开发板与电脑是否正常连接,查看Arduino IDE选择的开发板型号是否为使用的开发板型号,端口是否为开发板的端口。 ------------------------------------------------------------------------------------------------------------------------------------------------------------------

      程序编译出错:
             1.提示expected ';' before '}' token,缺少”;”号,检查语句哪里漏写。
             2.提示a function-definition is not allowed here before '{' token,检查函数是否少写了半边花括号”}”。
             3.提示stray '\357' in program,检查程序中是否使用了全角字符,即中文字符。
             4.提示'a' was not declared in this scope,有一个变量’a’在使用的时候没有声明,需要先声明再使用。
             5.提示xx.h: No such file or directory,没有找到对应的库文件,需要将库文件放入Arduino的库目录下。
             6.提示'serial' was not declared in this scope,serial的首字母未大写,正确的写法为Serial。
             7.提示expected primary-expression before '/' token,在使用注释的时候少写了一根斜杠。
             8.提示too few arguments to function 'void pinMode(uint8_t, uint8_t)',在使用pinMode()函数时少写了参数。
------------------------------------------------------------------------------------------------------------------------------------------------------------------