arduino从零开始学
- 格式:docx
- 大小:186.74 KB
- 文档页数:78
第1章进入Arduino的世界欢迎来到Arduino的世界!Arduino是一个开源的开发平台,在全世界范围内成千上万的人正在用它开发制作一个又一个电子产品,这些电子产品包括从平时生活的小物件到时下流行的3D打印机,它降低了电子开发的门槛,即使是从零开始的入门者也能迅速上手,制作有趣的东西,这便是开源Arduino的魅力。
通过本书的介绍,读者对Arduino会有一个更全面的认识。
本章知识点:Arduino的起源与发展Arduino的特点Arduino开发板简介Arduino的未来展望什么是Arduino什么是Arduino?相信很多读者会有这个疑问,也需要一个全面而准确的答案。
不仅是读者,很多使用Arduino的人也许对这个问题都难以给出一个准确的说法,甚至认为手中的开发板就是Arduino,其实这并不准确。
那么,Arduino究竟该如何理解呢?1.1.1 Arduino不只是电路板Arduino是一种开源的电子平台,该平台最初主要基于AVR单片机的微控制器[1]和相应的开发软件,目前在国内正受到电子发烧友的广泛关注。
自从2005年Arduino腾空出世以来,其硬件和开发环境一直进行着更新迭代。
现在Arduino已经有将近十年的发展历史,因此市场上称为Arduino的电路板已经有各式各样的版本了。
Arduino开发团队正式发布的是Arduino Uno和Arduino Mega 2560,如图1-1和图1-2所示。
图1-1 Arduino Uno R3图1-2 Arduino Mega 2560 R3图1-1和图1-2所示的开发板就是所谓的Arduino I/O印刷电路板(Printed CircuitBoard, PCB)。
Arduino项目起源于意大利,该名字在意大利是男性用名,音译为“阿尔杜伊诺”,意思为“强壮的朋友”,通常作为专有名词,在拼写时首字母需要大写。
其创始团队成员包括:Massimo Banzi、David Cuartielles、Tom Igoe、Gianluca Martino、David Mellis和Nicholas Zambetti 6人。
Arduino电路控制入门教程第一章:Arduino简介Arduino是一款开源电子平台,将硬件和软件相结合,用于创建各种电子项目。
它基于开放式软、硬件设计,非常适合初学者和专业人士。
Arduino的优势在于其易用性、可扩展性和灵活性,使其成为学习和实践电路控制的理想工具。
第二章:Arduino基础知识2.1 Arduino硬件组成Arduino主板包括一个微控制器,具有多个数字和模拟输入/输出引脚。
此外,还有一个USB接口用于与计算机通信,以及用于供电和编程的连接器。
2.2 Arduino编程语言Arduino使用C/C++编程语言,开发者可以使用Arduino IDE (集成开发环境)进行编码。
Arduino语言基于Wiring语言,具有简单易学的特点,适合初学者。
第三章:Arduino基本操作3.1 安装Arduino IDE下载Arduino IDE并根据安装向导进行安装。
启动IDE后,用户可以选择Arduino板型及端口。
3.2 第一个Arduino项目编写一个简单的程序来控制Arduino上的LED灯。
使用digitalWrite函数控制引脚的电平,通过设置为HIGH或LOW来打开或关闭LED灯。
第四章:数字输入与输出4.1 数字输入使用digitalRead函数读取数字输入引脚上的状态。
通过判断引脚为HIGH还是LOW,可以实现不同的应用,如按键检测或传感器数据获取。
4.2 数字输出使用digitalWrite函数控制数字输出引脚的状态。
通过设置引脚为HIGH或LOW,可以控制外部电路的开关状态,实现各种控制任务。
第五章:模拟输入与输出5.1 模拟输入Arduino具有一些模拟输入引脚,可以通过analogRead函数读取引脚上的模拟电压值。
这对于读取传感器数据或监测环境变量非常有用。
5.2 模拟输出Arduino可以通过PWM(脉宽调制)方式在数字输出引脚上生成模拟电压。
analogWrite函数可以设置引脚上的占空比,从而控制输出电平的变化。
Arduino教程一: 数字输出Arduino, 教程11 Comments »Arduino的数字I/O被分成两个部分,其中每个部分都包含有6个可用的I/O管脚,即管脚2到管脚7和管脚8到管脚13。
除了管脚13上接了一个1K的电阻之外,其他各个管脚都直接连接到ATmega上。
我们可以利用一个6位的数字跑马灯,来对Arduino数字I/O 的输出功能进行验证,以下是相应的原理图:电路中在每个I/O管脚上加的那个1K电阻被称为限流电阻,由于发光二极管在电路中没有等效电阻值,使用限流电阻可以使元件上通过的电流不至于过大,能够起到保护的作用。
该工程对应的代码为:int BASE = 2;int NUM = 6;int index = 0;void setup(){for (int i = BASE; i < BASE + NUM; i ++){pinMode(i, OUTPUT);}}void loop(){for (int i = BASE; i < BASE + NUM; i ++) {digitalWrite(i, LOW);}digitalWrite(BASE + index, HIGH);index = (index + 1) % NUM;delay(100);}下载并运行该工程,连接在Arduino数字I/O管脚2到管脚7上的发光二极管会依次点亮0.1秒,然后再熄灭:这个实验可以用来验证数字I/O输出的正确性。
Arduino上一共有十二个数字I/O管脚,我们可以用同样的办法验证其他六个管脚的正确性,而这只需要对上述工程的第一行做相应的修改就可以了:int BASE = 8;SEP01Arduino教程二: 数字输入Arduino, 教程3 Comments »在数字电路中开关(switch)是一种基本的输入形式,它的作用是保持电路的连接或者断开。
Arduino从数字I/O管脚上只能读出高电平(5V)或者低电平(0V),因此我们首先面临到的一个问题就是如何将开关的开/断状态转变成Arduino能够读取的高/低电平。
arduino 教程很抱歉,由于预训练模型限制,我无法提供不包含重复文本标题的文章。
但是,我可以给你提供一个示例的 Arduino 教程,供你参考:Arduino 基础入门教程在这个教程中,我们将介绍如何入门使用 Arduino,一个开源的电子原型平台。
通过 Arduino,您可以创建各种各样的电子项目,从简单的 LED 灯控制到复杂的机器人控制系统。
步骤1:购买 Arduino 板和其他必要的材料首先,您需要购买一块 Arduino 开发板。
目前市场上有多种型号可供选择,如 Arduino Uno、Arduino Nano 等。
此外,您可能还需要购买一些电子元件,如电阻、电容、LED 灯等,以便完成您的项目。
步骤2:安装 Arduino IDEArduino IDE 是一款用于编写和上传代码到 Arduino 开发板的集成开发环境。
您可以从 Arduino 官方网站上下载并安装该IDE。
安装完成后,您就可以打开 IDE 并开始编写代码了。
步骤3:连接 Arduino 板将 Arduino 板通过 USB 电缆连接到计算机上。
打开 Arduino IDE,点击 "工具" 菜单,选择正确的开发板和串口。
步骤4:编写并上传代码现在,您可以开始编写您的第一个 Arduino 程序了。
在Arduino IDE 中,打开一个新文件,编写代码并保存。
然后,点击 IDE 上方的 "上传" 按钮,将代码上传到 Arduino 板上。
步骤5:测试您的项目当代码上传成功后,您可以将 Arduino 连接到电路中的其他组件,并测试您的项目是否按照预期工作。
以上就是一个简单的 Arduino 入门教程的示例。
通过学习和实践,您可以掌握更多关于 Arduino 的知识,并创建出属于自己的电子项目。
祝您学习愉快!。
Arduino编程基础入门第一章:什么是Arduino?Arduino是一种开源电子平台,它由一个硬件部分和一个软件部分组成。
Arduino硬件包括一个可以编程的微控制器,用于控制各种电子元件的操作。
Arduino软件则是用于编写和上传程序到Arduino硬件的集成开发环境(IDE)。
第二章:Arduino的组成部分Arduino板上有一个微控制器,这是Arduino的核心部分。
该微控制器可以通过Arduino IDE进行编程,并通过与电脑的连接来上传程序。
Arduino板上还有一些输入和输出引脚,可以连接各种传感器和执行器。
此外,Arduino板还包括一个供电接口和一个USB 接口。
第三章:Arduino的编程语言Arduino使用一种基于C++的编程语言,它简单易学,适合初学者。
与其他编程语言相比,Arduino的编程语言具有一些专门为微控制器开发设计的特性,如控制引脚、延时函数等。
通过编写程序,可以实现与各种外部设备的交互。
第四章:Arduino的开发环境Arduino开发环境(IDE)是一个用于编写、上传和调试Arduino程序的软件工具。
它提供了一个简单直观的界面,使得编程变得容易上手。
通过IDE,用户可以创建新的程序、编辑现有的程序,并将程序上传到Arduino板上。
IDE还提供了错误检查、调试功能等。
第五章:Arduino的基本语法Arduino的基本语法与C++类似,包括函数、变量、运算符等。
在编写Arduino程序时,需要了解一些基本的语法规则,如注释、变量声明、控制结构等。
掌握这些基本语法是学习Arduino编程的重要一步。
第六章:Arduino的输入与输出Arduino的输入输出是其最基本的功能之一。
通过连接各种传感器和执行器,可以实现与外部环境的交互。
例如,可以通过连接一个温度传感器来读取环境温度,并通过连接一个LED灯来控制其亮灭。
学习如何使用不同的输入输出引脚是使用Arduino的关键。
Arduino入门教程引言Arduino作为一种开源电子平台,已经广泛应用于各种领域,无论是学习电子基础知识还是 DIY 制作小玩具,Arduino 都是一个不错的选择。
本文将从硬件选购、开发环境搭建、基础编程语言以及实例应用等方面为读者介绍 Arduino 的入门知识。
一、硬件选购对于初学者来说,选择一款合适的 Arduino 开发板是至关重要的。
在市面上有各式各样的 Arduino 开发板可供选择,如 Arduino Uno、Arduino Nano、Arduino Mega等。
首先要考虑的是项目需求,确定所需的输入输出接口、处理器性能和存储容量等因素,然后再选择合适的开发板。
此外,应该选择正版的 Arduino 开发板,以确保质量和稳定性。
二、开发环境搭建在开始编程之前,需要搭建一个 Arduino 集成开发环境(IDE)。
首先,从Arduino 官网上下载最新版本的Arduino IDE,并根据操作系统进行安装。
搭建好开发环境后,可以将 Arduino开发板连接到电脑上,并选择正确的开发板和端口。
通过该IDE,可以编写、上传和调试 Arduino 的代码。
三、基础编程语言Arduino 的编程语言基于C/C++,但相对于传统的C/C++ 语言,Arduino 提供了更为简洁的函数库和接口,使得编程变得更加容易上手。
以下是一些基本语法和函数的介绍:1. 串口通信Arduino 通过串行通信口(Serial)与电脑进行通信。
通过使用Serial.begin() 函数来初始化串口,Serial.print() 和 Serial.println() 函数可用于向串口输出数据。
2. 控制结构Arduino 支持常见的控制结构,如 if 语句、for 循环和 while 循环等,这些控制结构可以用于条件判断和循环控制。
3. 数组和字符串Arduino 支持数组和字符串操作。
可以通过声明数组变量和使用 strcpy()、strcat() 等字符串函数进行操作。
快速入门Arduino微控制器的开发Arduino是一种开源的微控制器平台,它简单易用且功能强大,适合初学者学习和开发各种电子项目。
本文将介绍如何快速入门Arduino微控制器的开发,并提供一些实用技巧和建议。
一、了解ArduinoArduino开发板由Atmel微控制器芯片、数字和模拟输入输出引脚、电源管理电路等组成。
它可以通过USB接口与计算机连接,利用Arduino开发环境编写和上传代码,实现对外设的控制和数据处理。
为了更好地了解Arduino,我们可以先熟悉一些常见的组件和术语。
例如,LED(Light Emitting Diode)是一种发光二极管,可用于指示状态或提供光源。
电阻用于限制电流,保护电子元件。
电容存储电荷,平滑电压波动。
这些是最基本的元件之一,你可以从电子元件的商店购买它们。
二、搭建基础电路在正式开始之前,我们需要准备一些基本的电子元件。
常见的Arduino入门套件通常具有一些基础组件,如电阻、LED、电容和按钮等。
你可以从在线商店或你附近的电子元件商店购买这些套件。
接下来,我们将搭建一个简单的电路示例。
首先,将一个LED连接到Arduino 板上的数字引脚13,通过一个电阻将其与地(GND)连接。
然后,将Arduino板通过USB线连接到计算机。
这样,我们就搭建好了一个简单的电路。
三、编写代码在Arduino开发环境中打开一个新的项目,并编写以下代码:```cppvoid setup() {pinMode(13, OUTPUT); // 将引脚13设置为输出}void loop() {digitalWrite(13, HIGH); // 将引脚13设置为高电平delay(1000); // 延时1秒digitalWrite(13, LOW); // 将引脚13设置为低电平delay(1000); // 延时1秒}```这段代码的作用是让LED每隔1秒钟闪烁一次。
首先,在`setup()`函数中,我们将引脚13设置为输出模式。
Arduino开发板入门教程第一章:Arduino简介Arduino是一款开源硬件平台,广泛应用于物联网、机器人和自动化领域。
它由一个简单易用的硬件开发板和一个基于Java的集成开发环境(IDE)组成。
本章将介绍Arduino的基本知识和原理。
1.1 Arduino开发板的组成Arduino开发板包含一个微控制器、一组输入输出引脚和一些其他的电子元件。
常用的Arduino型号有Arduino Uno、Arduino Nano和Arduino Mega等。
1.2 Arduino的特点和应用Arduino具有开源、低成本、易使用和可扩展的特点,使其成为广大电子爱好者和创客的首选。
它可以用于建造简单的电子装置、控制传感器、驱动电机以及与计算机进行通信等。
第二章:Arduino的基本用法本章将详细介绍Arduino的基本用法,包括设置Arduino开发环境、编写代码、上传程序以及与外部电路的连接。
2.1 Arduino开发环境的安装与设置首先,需要从Arduino官方网站上下载并安装Arduino集成开发环境(IDE)。
安装完成后,用户需要选择合适的开发板和端口。
2.2 Arduino编程基础Arduino使用一种类似C语言的编程语言。
本节将介绍Arduino编程的基本结构、语法和常用函数。
同时,还将介绍数字输入/输出、模拟输入/输出和串口通信等常用功能。
2.3 Arduino程序的上传编写好的Arduino程序需要通过USB接口将代码上传到开发板上。
本节将介绍如何将程序上传到Arduino开发板,并进行调试和测试。
2.4 Arduino与外部电路的连接Arduino开发板上有多个数字引脚和模拟引脚,可以与外部电路进行连接。
本节将介绍如何使用面包板和杜邦线将Arduino与LED、电位器、温度传感器等外部元件进行连接,并通过编写程序进行控制和读取。
第三章:Arduino的高级用法在本章中,将介绍一些Arduino的高级应用,包括使用库函数、扩展Arduino功能以及与其他设备的通信等。
第1章进入Arduino的世界欢迎来到Arduino的世界!Arduino是一个开源的开发平台,在全世界范围内成千上万的人正在用它开发制作一个又一个电子产品,这些电子产品包括从平时生活的小物件到时下流行的3D打印机,它降低了电子开发的门槛,即使是从零开始的入门者也能迅速上手,制作有趣的东西,这便是开源Arduino的魅力。
通过本书的介绍,读者对Arduino会有一个更全面的认识。
本章知识点:Arduino的起源与发展Arduino的特点Arduino开发板简介Arduino的未来展望什么是Arduino什么是Arduino相信很多读者会有这个疑问,也需要一个全面而准确的答案。
不仅是读者,很多使用Arduino的人也许对这个问题都难以给出一个准确的说法,甚至认为手中的开发板就是Arduino,其实这并不准确。
那么,Arduino究竟该如何理解呢1.1.1 Arduino不只是电路板Arduino是一种开源的电子平台,该平台最初主要基于AVR单片机的微控制器[1]和相应的开发软件,目前在国内正受到电子发烧友的广泛关注。
自从2005年Arduino腾空出世以来,其硬件和开发环境一直进行着更新迭代。
现在Arduino已经有将近十年的发展历史,因此市场上称为Arduino 的电路板已经有各式各样的版本了。
Arduino开发团队正式发布的是Arduino Uno和Arduino Mega 2560,如图1-1和图1-2所示。
图1-1 Arduino Uno R3图1-2 Arduino Mega 2560 R3图1-1和图1-2所示的开发板就是所谓的Arduino I/O印刷电路板(Printed Circuit Board, PCB)。
Arduino项目起源于意大利,该名字在意大利是男性用名,音译为“阿尔杜伊诺”,意思为“强壮的朋友”,通常作为专有名词,在拼写时首字母需要大写。
其创始团队成员包括:Massimo Banzi、David Cuartielles、Tom Igoe、Gianluca Martino、David Mellis和Nicholas Zambetti 6人。
Arduino的出现并不是偶然,Arduino最初是为一些非电子工程专业的学生[1] 关于AVR单片机的内容会在第3章进行介绍。
设计的。
设计者最初为了寻求一个廉价好用的微控制器开发板从而决定自己动手制作开发板,Arduino一经推出,因其开源、廉价、简单易懂的特性迅速受到了广大电子迷的喜爱和推崇。
几乎任何人,即便不懂电脑编程,利用这个开发板也能用Arduino做出炫酷有趣的东西,比如对感测器探测做出一些回应、闪烁灯光、控制马达等。
Arduino的硬件设计电路和软件都可以在官方网站上获得,正式的制作商是意大利的SmartProjects(), 许多制造商也在生产和销售他们自己的与Arduino兼容的电路板和扩展板,但是由Arduino团队设计和支持的产品需要始终保留着Arduino的名字。
所以,Arduino更加准确的说法是一个包含硬件和软件的电子开发平台,具有互助和奉献的开源精神以及团队力量。
1.1.2 Arduino程序的开发过程由于Arduino主要是为了非电子专业和业余爱好者使用而设计的,所以Arduino被设计成一个小型控制器的形式,通过连接到计算机进行控制。
Arduino开发过程是:(1)开发者设计并连接好电路;(2)将电路连接到计算机上进行编程;(3)将编译通过的程序下载到控制板中进行观测;(4)最后不断修改代码进行调试以达到预期效果。
为什么要使用Arduino在嵌入式开发中,根据不同的功能开发者会用到各种不同的开发平台。
而Arduino作为新兴开发平台,在短时间内受到很多人的欢迎和使用,这跟其设计的原理和思想是密切相关的。
首先,Arduino无论是硬件还是软件都是开源的,这就意味着所有人都可以查看和下载其源码、图表、设计等资源,并且用来做任何开发都可以。
用户可以购买克隆开发板和基于Arduino的开发板,甚至可以自己动手制作一个开发板。
但是自己制作的不能继续使用Arduino这个名称,可以自己命名,比如Robotduino。
其次,正如林纳斯·本纳第克特·托瓦兹的Linux操作系统一样,开源还意味着所有人可以下载使用并且参与研究和改进Arduino,这也是Arduino 更新换代如此迅速的原因。
全世界各种电子爱好者用Arduino开发出各种有意思的电子互动产品。
有人用它制作了一个自动除草机,去上班的时候打开,不久花园里的杂草就被清除干净了!有人用它制作微博机器人,配合一些传感器监测植物的状态,并及时发微博来提醒主人,植物什么时间该浇水、施肥、除草等,非常有趣。
图1-3所示为日本一开发者用Arduino和Kinect制作的可以自己接住丢掉垃圾的智能垃圾桶。
图1-3 智能垃圾桶Arduino可以和LED、点阵显示板、电机、各类传感器、按钮、以太网卡等各类可以输出输入数据或被控制的任何东西连接,在互联网上各种资源十分丰富,各种案例、资料可以帮助用户迅速制作自己想要制作的电子设备。
在应用方面,Arduino突破了传统的依靠键盘、鼠标等外界设备进行交互的局限,可以更方便地进行双人或者多人互动,还可以通过Flash、Processing等应用程序与Arduino进行交互。
Arduino与Flash、Processing的交互将在第6章介绍。
Arduino硬件的分类在了解Arduino起源以及使用Arduino制作的各种电子产品之后,接下来对Arduino硬件和开发板,以及其他扩展硬件进行初步的了解和学习。
1.3.1 Arduino开发板Arduino开发板设计得非常简洁,一块AVR单片机、一个晶振或振荡器和一个5V的直流电源。
常见的开发板通过一条USB数据线连接计算机。
Arduino有各式各样的开发板,其中最通用的是Arduino UNO。
另外,还有很多小型的、微型的、基于蓝牙和Wi-Fi的变种开发板。
还有一款新增的开发板叫做Arduino Mega 2560,它提供了更多的I/O引脚和更大的存储空间,并且启动更加迅速。
以Arduino UNO为例,Arduino UNO的处理器核心是ATmega 328,同时具有14路数字输入/输出口(其中6路可作为PWM输出),6路模拟输入,一个16MHz的晶体振荡器,一个USB口,一个电源插座,一个ICSP header和一个复位按钮。
因为Arduino UNO开发板的基础构成在一个表里显示不下,所以这里特意设计了两个表来展示,如表1-1和表1-2所示。
表1-1 Arduino UNO开发板基本概要构成(ATmega328)1表1-2 Arduino UNO开发板基本概要构成(ATmega328)2图1-4对一块Arduino UNO开发板功能进行了详细标注。
图1-4 Arduino UNO R3功能标注Arduino UNO可以通过以下三种方式供电,能自动选择供电方式:外部直流电源通过电源插座供电;电池连接电源连接器的GND和VIN引脚;USB接口直接供电,图1-4所示的稳压器可以把输入的7V~12V电压稳定到5V。
在电源接口上方,一个右侧引出3个引脚,左侧一个比较大的引脚细看会发现上面有AMST1117的字样,其实这个芯片是个三端5V稳压器,电源口的电源经过它稳压之后才给板子输入,其实电源适配器内已经有稳压器,但是电池没有。
可以理解为它是一个安检员,一切从电源口经过的电源都必须过它这一关,这个“安检员”对不同的电源会进行区别对待。
首先,AMS1117的片上微调把基准电压调整到%的误差以内,而且电流限制也得到了调整,以尽量减少因稳压器和电源电路超载而造成的压力。
再者根据输入电压的不同而输出不同的电压,可提供、、、、5V稳定输出,电流最大可达800mA,内部的工作原理这里不必去探究,读者只需要知道,当输入5V的时候输出为,输入9V的时候输出才为5V,所以用9V(9V~12V 均可,但是过高的电源会烧坏板子)电源供电的原因就在这,如使用5V的适配器与Arduino连接,之后连接外设做实验,会发现一些传感器没有反应,这就是某些传感器需要5V的信号源,可是板子最高输出只能达到,必然有问题。
重置按钮和重置接口都用于重启单片机,就像重启电脑一样。
若利用重置接口来重启单片机,应暂时将接口设置为0V即可重启。
GND引脚为接地引脚,也就是0V。
A0~A5引脚为模拟输入的6个接口,可以用来测量连接到引脚上的电压,测量值可以通过串口显示出来。
当然也可以用作数字信号的输入输出。
Arduino同样需要串口进行通信,图1-4所示的串口指示灯在串口工作的时候会闪烁。
Arduino通信在编译程序和下载程序时进行,同时还可以与其他设备进行通信。
而与其他设备进行通信时则需要连接RX(接收)和TX (发送)引脚。
ATmega 328芯片中内置的串口通信硬件是可以通过同步和异步模式工作的。
同步模式需要专用的信号来表示时钟信息,而Arduino 的串口(USART外围设备,即通用同步/异步接收发送装置)工作在异步模式下,这和大多数PC的串口是一致的。
数字引脚0和1分别标注着RX和TX,表明这两个可以当做串口的引脚是异步工作的,即可以只接收、发送,或者同时接收和发送信号。
1.3.2 Arduino 扩展硬件与Arduino相关的硬件除了核心开发板外,各种扩展板也是重要的组成部分。
Arduino开发板设计的可以安装扩展板,即盾板进行扩展。
它们是一些电路板,包含其他的元件,如网络模块、GPRS模块、语音模块等。
在图1-4所示的开发板两侧可以插其他引脚的地方就是可以用于安装其他扩展板的地方。
它被设计为类似积木、通过一层层的叠加而实现各种各样的扩展功能。
例如Arduino UNO同W5100网络扩展板可以实现上网的功能,堆插传感器扩展板可以扩展Arduino连接传感器的接口。
图1-5和图1-6为Arduino同扩展板连接的例子。
图1-5 Arduino UNO与一块原型扩展板连接图1-6 Arduino UNO与网络扩展板连接虽然Arduino开发板支持很多扩展板来扩展功能,但其扩展插座中引脚的间距并不严格规整。
仔细观察开发板会发现上面两个最远的引脚之间距离为,这与标准的网格的面包板及其他扩展工具并不兼容,尽管要求改正的呼声很强烈,但是这个误差却很难改正,一旦改正将使得原来的大量扩展板变得不兼容,所以这个误差便没有去改动。
虽然这个误差没有改动,但是很多公司和个人在生产Arduino兼容的产品时兼顾增加了额外两行的针孔来解决这个问题,另外美国Gravitech()公司完全舍弃了扩展板兼容来解决这个问题。