查看: 210|回复: 0

[原创] 【LinkNode D1开发板试用】学习和调试程序

[复制链接]

4

主题

0

好友

271

积分

秀才

Rank: 3Rank: 3

  • TA的每日心情
    开心
    11 小时前
  • 签到天数: 190 天

    [LV.7]常住居民III

    发表于 2016-9-6 11:23:46 |显示全部楼层
    本帖最后由 tianlai-1033994 于 2016-9-6 11:50 编辑

       这几天都在用  LinkNode D1开发板学习和调试程序,基本上几个程序都调通了。
    1:入门必须的Hello world
    void setup() {
       pinMode(D13, OUTPUT);
       Serial.begin(115200);
    }
    void loop() {
      digitalWrite(D13, HIGH);
      delay(500);            
      digitalWrite(D13, LOW);   
      delay(2000);            
       Serial.println("Hello world!");
       delay(1000);            
    }


    2:开发板控制LED闪灭程序;
    void setup() {
    // initialize digital pin GPIO2/D9 as an output.
    pinMode(D13, OUTPUT);
    }
    // the loop function runs over and over again forever
    void loop() {
    digitalWrite(D13, HIGH);   // turn the LED on (HIGH is the voltage level)
    delay(500);              // wait for a second
    digitalWrite(D13, LOW);    // turn the LED off by making the voltage LOW
    delay(2000);              // wait for a second
    }

    控制的是开发板上的SCK灯闪烁。

    3:采集温湿度DHT22并通过串口输出数据

      
    4:采集器呀传感器BMP180数据并通过串口输出温度,气压和海拔数据
    #include "Wire.h"
    #include "I2Cdev.h"
    #include "BMP085.h"
    BMP085 barometer;
    float temperature;
    float pressure;
    float altitude;
    int32_t lastMicros;
    bool blinkState = false;
    void setup() {
         Wire.begin();
        Serial.begin(9600);
        barometer.initialize();
          Serial.println("Testing device connections...");
        Serial.println(barometer.testConnection() ? "BMP180 connection successful" : "BMP180 connection failed");
    }
    void loop() {
         barometer.setControl(BMP085_MODE_TEMPERATURE);
        lastMicros = micros();
        while (micros() - lastMicros < barometer.getMeasureDelayMicroseconds());
          temperature = barometer.getTemperatureC();
         barometer.setControl(BMP085_MODE_PRESSURE_3);
       while (micros() - lastMicros < barometer.getMeasureDelayMicroseconds());
         pressure = barometer.getPressure();
            altitude = barometer.getAltitude(pressure);
          Serial.print("Temperature:");
        Serial.print(temperature);
          Serial.print(" \t");
        Serial.print("ressure:");
        Serial.print(pressure);
        Serial.print(" \t");
          Serial.print("Altitude:");
        Serial.print(altitude);
         Serial.print(" \n");
          delay(10000);
    }


      这个在实验中发现一个问题,就是有时候气压和海拔的数据是异常的乱数,但是供电和开发板都很正常也没有移动,这个问题琢磨了好久也没有解决,有哪位同学能给指点迷津吗?

    5:测试ESP8266的STA+AP工作模式连接和配置:
    #include <ESP8266WiFi.h>          //https://github.com/esp8266/Arduino

    //needed for library
    #include <DNSServer.h>
    #include <ESP8266WebServer.h>
    #include <WiFiManager.h>         //https://github.com/tzapu/WiFiManager



    void setup() {
       pinMode(D13, OUTPUT);
       Serial.begin(115200);  
       WiFiManager wifiManager;
        wifiManager.setAPStaticIPConfig(IPAddress(10,0,1,1), IPAddress(10,0,1,1), IPAddress(255,255,255,0));
          wifiManager.autoConnect("LinkNodeAP");
            Serial.println("connected... ");
    }
    void loop() {
      }


    这个测试成功了并自动保存了,之后下砸别的程序不会冲掉已经保存的数据。实际应用还是很方便的。
      6:通过LinkNode D1开发板连接到LinkSprite IO平台,控制开发板上的LED的开和关



        试验很成功,控制正常,从点击按钮到控制成功大约延时5S,可以接受的范围。
    通过这几天的学习,让我比较详细的了解了LinkNode D1开发板的使用,虽然还存在一些问题,但是相信随着学习的深入会逐步解决的!
      

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    关闭

    站长推荐上一条 /6 下一条


    手机版|爱板网 |网站地图  

    GMT+8, 2016-12-3 17:47 , Processed in 0.355098 second(s), 9 queries , Memcache On.

    苏公网安备 32059002001056号

    Powered by Discuz!

    回顶部