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;
No tags

whaleforest · 2007/09/09 at 7:20 PM
good work.
applecider · 2007/11/07 at 11:46 AM
我是超级无敌菜鸟,请问,您写的code是用什么程序的?processing吗?还是java? 请忍受我的无知…期盼回答ing~~~谢谢!
Author comment by flamingoeda · 2007/11/07 at 12:32 PM
用的是Arduino语言,确切地说是针对于硬件平台Arduino作了一些扩展的Processing变种,你可以到
http://arduino.cc/
了解更多有关Arduino的信息;-)
applecider · 2007/11/07 at 12:41 PM
謝謝!真开心看到中文arduino教程~~~!!感谢ing~~~~~~
applecider · 2007/11/07 at 2:05 PM
我还是有一个很笨的问题…
像processing语言是通过processing这个程序来写的。那Arduino language是通过什么来写的呢?
Author comment by flamingoeda · 2007/11/07 at 4:11 PM
Arduino有一个集成开发环境,你去那里用Arduino语言(其实可以看作是Processing语言)写你的应用,然后下载到Arduino板子上去运行;-) 不知有没有回答你的问题?
James · 2007/11/09 at 11:46 AM
你们有没亲自试过? compile 都通不过啊 说
In function ‘void setup()’:
error: ‘lt’ was not declared in this scope In function ‘void loop()’:
Author comment by flamingoeda · 2007/11/09 at 12:59 PM
对不起,把代码贴上来的时候 ‘<‘ 变成了 ‘& lt;’,已经改正过来了。
James · 2007/11/10 at 11:04 AM
done !
11:03
Leon · 2008/07/15 at 11:36 AM
看到中文的教程了呵呵。请问processing怎么样调用arduino里的数据呢
Author comment by flamingoeda · 2008/07/17 at 12:30 AM
看看Processing跟Arduino的交互,是不是得考虑一下中文版本?哈哈
http://webzone.k3.mah.se/projects/arduino-workshop/projects/arduino_meets_processing/instructions/index.html
goldwins · 2009/05/31 at 3:28 PM
弱弱的问下,我买了一个直流9V1000毫安的变压器准备给A板供电。但是我用万用笔测得该变压器的实际输出是15.7V。这个会不会影响A板?
Author comment by flamingoeda · 2009/06/01 at 2:09 PM
似乎差得有点远,建议是6V-12V,主要看板子上的电容决定了,建议你还是推荐的9V:)