Arduino中国 | Flamingo EDA

Aug/07

30

Arduino教程一: 数字输出

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

13 comments

  • 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:)

Leave a Reply

使用新浪微博登录

<<

>>

Theme Design by devolux.nh2.me