YFROBOT创客社区

标题: Arduino入门教程—测试实验 板载LED实验 [打印本页]

作者: AllBlue    时间: 2013-4-27 19:43
标题: Arduino入门教程—测试实验 板载LED实验
本帖最后由 AllBlue 于 2013-8-15 10:48 编辑

板载LED测试实验

上面的帖子我们介绍了Arduino的硬件、软件及语法。估计大家看着也很枯燥,话不多说,今天我们就将用我们的UNO板做第一个实验。

一般在我们的Arduino UNO或者相关的兼容板上都会有一个标有“L”字母的LED灯,它直接连接在控制板的数字端口13,它方便刚开始接触的新手进行第一次测试。

今天我们要准备的实验材料也很简单:一块 UNO R3控制板、一根USB数据线

首先我们要将UNO R3控制板用USB连接到电脑,之前的贴子我们已经装好了驱动,你的计算机已经认识了你的板子,这次连接,就可以直接用了。(如果还没装好驱动的,请回 http://www.yfrobot.com/forum.php?mod=viewthread&tid=251 参考)

然后我们打开arduino IDE编译器:

[attach]66[/attach]
打开后我们会看到下面的图标(说明正在打开,第一次打开可能会有点慢)


[attach]54[/attach]

打开后,我们就可以看到之前介绍过的编译界面了

[attach]55[/attach]

下面我们就可以打开程序了,官方下载下来的IDE软件中都带有很多例子,我们就使用其中的Blink程序;

下图是打开方式:

[attach]56[/attach]

打开后,看到如下图:

[attach]57[/attach]

打开之后我们要选择控制板型号,我们使用的是TSRobot UNO兼容板,所以我们选择Arduino UNO即可:

[attach]94[/attach]

然后还要选择下端口号,我们的端口号为2,所以选择它,如果你的电脑有多个端口,一般选择最后一个:

[attach]95[/attach]

当然如果你想锻炼下编程能力也可以自己编写代码

程序很简单:就是给LED灯一秒高电平,一秒低电平,使其亮一秒,灭一秒;

代码如下:

  1. // 给端口13一个名字,让程序认识它
  2. int led = 13;

  3. //setup 函数在烧写是只运行一次
  4. void setup() {
  5. // 初始化led引脚为输出。
  6. pinMode(led, OUTPUT);
  7. }

  8. // loop 函数是不停止的循环
  9. void loop() {
  10. digitalWrite(led, HIGH); // 点亮LED(HIGH为高电平,这个语句表示给13端口高电平)
  11. delay(1000); // 保持LED亮一秒
  12. digitalWrite(led, LOW); // 熄灭LED(LOW表示低电平)
  13. delay(1000); // 保持LED灭一秒
  14. }
复制代码

代码打开或者你自己码好之后,点击IDE中的编译按钮:[attach]61[/attach]

点击后,IDE自动编译,窗口中下方出现“Compiling sketch... ”,旁边还出现个进度条:

[attach]63[/attach]

待编译完成,“Compiling sketch...”字样,变为“Done  compiling.”说明编译成功,信息提示框内也会出现一行提示:

[attach]64[/attach]

编译成功后我们就可以将其烧写进控制板中,点击IDE中的上传按钮:[attach]62[/attach]

点击后,IDE将程序传给控制板,窗口中下方还会出现“Compiling sketch... ”,旁边有个进度条(这是在编译):

[attach]65[/attach]

再过一会,进度条过半,“Compiling sketch... ” 字样变成“Uploading”(正在上传),这时候观察控制板TX/RX串口灯,它们会不停的闪烁(数据传输):

[attach]67[/attach]

待上传完成提示“Done uploading”上传完成:

[attach]68[/attach]

程序我们已经上传完成,观察控制板上标有“L”字样的LED灯(如下图):

[attach]468[/attach]

它应该按照我们的要求:点亮一秒,熄灭一秒。

如果实验结果正确,恭喜你,你的第一个实验完成了,并且你的板子可以正常工作!


作者: mwam2005    时间: 2020-4-16 17:49
写的非常好,学习了

作者: keliyuan    时间: 2020-5-25 13:07
利用板载3个LED做个流水灯
[attach]2416[/attach]


[AppleScript] 纯文本查看 复制代码
volatile int item;

void setup(){
  item = 0;
  pinMode(0, OUTPUT);
  pinMode(1, OUTPUT);
  pinMode(13, OUTPUT);
}

void loop(){
  for (int item = 50; item <= 400; item = item + (25)) {
    digitalWrite(0,HIGH);
    digitalWrite(1,HIGH);
    digitalWrite(13,HIGH);
    delay(item);
    digitalWrite(0,HIGH);
    digitalWrite(1,LOW);
    digitalWrite(13,LOW);
    delay(item);
    digitalWrite(0,LOW);
    digitalWrite(1,HIGH);
    digitalWrite(13,LOW);
    delay(item);
  }
  for (int item = 400; item >= 50; item = item + (-25)) {
    digitalWrite(0,HIGH);
    digitalWrite(1,HIGH);
    digitalWrite(13,HIGH);
    delay(item);
    digitalWrite(0,HIGH);
    digitalWrite(1,LOW);
    digitalWrite(13,LOW);
    delay(item);
    digitalWrite(0,LOW);
    digitalWrite(1,HIGH);
    digitalWrite(13,LOW);
    delay(item);
  }
  for (int item = 50; item <= 400; item = item + (25)) {
    digitalWrite(0,LOW);
    digitalWrite(1,HIGH);
    digitalWrite(13,LOW);
    delay(item);
    digitalWrite(0,HIGH);
    digitalWrite(1,LOW);
    digitalWrite(13,LOW);
    delay(item);
    digitalWrite(0,HIGH);
    digitalWrite(1,HIGH);
    digitalWrite(13,HIGH);
    delay(item);
  }
  for (int item = 400; item >= 50; item = item + (-25)) {
    digitalWrite(0,LOW);
    digitalWrite(1,HIGH);
    digitalWrite(13,LOW);
    delay(item);
    digitalWrite(0,HIGH);
    digitalWrite(1,LOW);
    digitalWrite(13,LOW);
    delay(item);
    digitalWrite(0,HIGH);
    digitalWrite(1,HIGH);
    digitalWrite(13,HIGH);
    delay(item);
  }

}







欢迎光临 YFROBOT创客社区 (http://www.yfrobot.com.cn/) Powered by Discuz! X3.1