TA的每日心情 | 开心 2019-2-18 12:56 |
---|
签到天数: 851 天 连续签到: 1 天 [LV.10]以坛为家III
|
本帖最后由 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开发板的使用,虽然还存在一些问题,但是相信随着学习的深入会逐步解决的!
|
|