zoukankan      html  css  js  c++  java
  • Arduino入门笔记(3):单LED闪烁

    转载请注明:@小五义http://www.cnblogs.com/xiaowuyi

    欢迎加入讨论群 64770604

        在搭建好arduino开发环境(http://www.cnblogs.com/xiaowuyi/p/3190201.html或者http://wikicode.net/?p=152)后,就可以进行入门学习了。

    一、本次实验所用到的器材为:

    1、arduino uno R3无特殊注明,本学习笔记全部使用此板。

    2、面包板(1个SYB-120):这里简单介绍一下面包板,以后的笔记中不再介绍。

          面包板又称“集成电路实验板“,就是一种插件板,此板上具有若干小型插座(孔)。在进行电路实验时,可以根据电路连接要求,在相应孔内插入电子元器件的引脚以及导线等,使其与孔内弹性接触簧片接触,由此连接成所需的实验电路。

    3、LED:LED两个针脚有一长一短,短的是连接GND,长的是连接正极。

    4、几根导线:确切的说只用到了两根。

         在本实验中,我使用了arduino板子上的数字5号端口,其实该实验在arduino程序的实例中存在,名字叫“blink”,只是在blink实例中使用的是13号端口。连接图如下:

    二、实验

    1、blink代码实验

          点击file菜单下EXAMPLES--011.Basics--Blink,就可以看到Blink程序已经加载到程序编辑区。因为使用的端口不同,略加修改如下:

    /*
      Blink
      Turns on an LED on for one second, then off for one second, repeatedly.
     
      This example code is in the public domain.
     */
     
    // Pin 13 has an LED connected on most Arduino boards.
    // give it a name:
    int led = 5; #这里将原来的13改为5,当然你也可以改为其实端口,只要和led正极连接端口相一致即可。
    
    // the setup routine runs once when you press reset:
    void setup() {                
      // initialize the digital pin as an output.
      pinMode(led, OUTPUT);     
    }
    
    // the loop routine runs over and over again forever:
    void loop() {
      digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
      delay(1000);               // wait for a second
      digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
      delay(1000);               // wait for a second
    }

    点击“校验”按钮实现程序的编译,等待一会儿后状态栏会提示Done compiling(程序编译完成),然后点击upload后,会发现led灯开始每一秒闪烁一次。

    2、间隔时间不等的闪烁

    想要让led闪烁的时间间隔不等,会出现一会亮的快,一会亮的慢的情况,这里我们把代码做一修改就可实现。

    第一修改:

    int led = 5;
    
    // the setup routine runs once when you press reset:
    void setup() {                
      // initialize the digital pin as an output.
      pinMode(led, OUTPUT); 
       
    }
    
    // the loop routine runs over and over again forever:
    void loop() {
      digitalWrite(led, HIGH);  
      delay(200); 
      digitalWrite(led, LOW);
      delay(200);
      digitalWrite(led,HIGH);
      delay(2000);
      digitalWrite(led, LOW);    
      delay(2000);             
    }

    该代码运行后,led先是0.2秒闪一下,然后再2秒闪一下。

    进一步修改,加入了for循环,主要是为了练习一下基本语句:

    int led = 5;
    
    // the setup routine runs once when you press reset:
    void setup() {                
      // initialize the digital pin as an output.
      pinMode(led, OUTPUT); 
       
    }
    
    // the loop routine runs over and over again forever:
    void loop() {
      for (int i=0;i<5;i=i+1)
      {
      digitalWrite(led, HIGH);  
      delay(200);  
      digitalWrite(led, LOW);
      delay(200);
      }
      digitalWrite(led,HIGH);
      delay(2000);
      digitalWrite(led, LOW);  
      delay(2000);            
    }

    在这一代码中,led后首先间隔0.2秒连续闪5次,然后间隔2秒闪一次。upload后,会看到具体的效果。

     推荐购买网址:https://item.taobao.com/item.htm?spm=a1z10.5-c-s.w4002-15820725129.16.AtgoEm&id=545093340395

  • 相关阅读:
    ES monitoring
    my stackoverflow
    ES 监控
    Natural Language Processing 课程,文章,论文
    搜索引擎名著
    https://medium.com/netflix-techblog/linux-performance-analysis-in-60-000-milliseconds-accc10403c55
    MySQL 性能跟踪方法
    JAVA CAS原理深度分析 volatile,偏向锁,轻量级锁
    spark-architecture-shuffle
    Linux performance commands and tool
  • 原文地址:https://www.cnblogs.com/xiaowuyi/p/3337739.html
Copyright © 2011-2022 走看看