1
我有一個簡單的Arduino程序,每5秒將溫度傳感器的傳感器值上傳到Google Spreadsheet。它一切正常。我有3個LED。一個設置完成時會永久打開,一個在上傳值時閃爍,另一個在上載完成時打開3秒。如何在Arduino中獲得連續的LED閃光燈? [C/C++]
我的問題是,我不知道如何讓引腳3 LED閃爍,而價值正在上傳。無論我把它放在哪裏,它似乎只運行一次,並繼續執行其餘的程序。我意識到這是一個非常基本的邏輯問題,但我無法弄清楚,真的很感謝一些幫助!
這是主程序。
/* Setup shield-specifiC#include statements */
#include <SPI.h>
#include <WiFi.h>
#include <WiFiClient.h>
#include <Temboo.h>
#include "TembooArduino.h" // Contains Temboo account information
WiFiClient client;
int numRuns = 1; // Execution count, so this doesn't run forever
int maxRuns = 3; // Maximum number of times the Choreo should be executed
void setup() {
Serial.begin(9600);
pinMode(A0,INPUT);
pinMode(4, OUTPUT);
digitalWrite(4, LOW);
pinMode(3, OUTPUT);
digitalWrite(3, LOW);
pinMode(2, OUTPUT);
digitalWrite(2, LOW);
// For debugging, wait until the serial console is connected.
delay(4000);
while(!Serial);
int wifiStatus = WL_IDLE_STATUS;
// Determine if the WiFi Shield is present.
Serial.print("\n\nShield:");
if (WiFi.status() == WL_NO_SHIELD) {
Serial.println("FAIL");
// If there's no WiFi shield, stop here.
while(true);
}
Serial.println("OK");
// Try to connect to the local WiFi network.
while(wifiStatus != WL_CONNECTED) {
Serial.print("WiFi:");
wifiStatus = WiFi.begin(WIFI_SSID, WPA_PASSWORD);
if (wifiStatus == WL_CONNECTED) {
Serial.println("OK");
} else {
Serial.println("FAIL");
}
delay(5000);
}
Serial.println("Setup complete.\n");
digitalWrite(4,HIGH);
}
void loop() {
if (numRuns <= maxRuns)
{
Serial.println("Running AppendRow - Run #" + String(numRuns++) + "\n");
int sensorVal = analogRead(A0);
//two lines to test the sensor value in serial output
Serial.print("sensor Value: ");
Serial.print(sensorVal);
float voltage = (sensorVal/1024.0) * 5.0; //testing voltage output in serial
Serial.print(", volts ");
Serial.print(voltage);
float temperature = (voltage - .5) * 100;
Serial.print(", temperature in C ");
Serial.print(temperature);
Serial.print("\n");
TembooChoreo AppendRowChoreo(client);
// Invoke the Temboo client
AppendRowChoreo.begin();
// Set Temboo account credentials
AppendRowChoreo.setAccountName(TEMBOO_ACCOUNT);
AppendRowChoreo.setAppKeyName(TEMBOO_APP_KEY_NAME);
AppendRowChoreo.setAppKey(TEMBOO_APP_KEY);
// Set Choreo inputs
String UsernameValue = "xxxx";
AppendRowChoreo.addInput("Username", UsernameValue);
String PasswordValue = "xxxx";
AppendRowChoreo.addInput("Password", PasswordValue);
String RowDataValue = (String)analogRead(A0);
AppendRowChoreo.addInput("RowData", RowDataValue);
String SpreadsheetTitleValue = "TempSensor";
AppendRowChoreo.addInput("SpreadsheetTitle", SpreadsheetTitleValue);
// Identify the Choreo to run
AppendRowChoreo.setChoreo("/Library/Google/Spreadsheets/AppendRow");
// Run the Choreo; when results are available, print them to serial
AppendRowChoreo.run();
while(AppendRowChoreo.available())
{
char c = AppendRowChoreo.read();
Serial.print(c);
}
AppendRowChoreo.close();
digitalWrite(2, HIGH);
delay(3000);
digitalWrite(2, LOW);
}
Serial.println("\nWaiting...\n");
delay(5000); // wait 5 seconds between AppendRow calls
}
這裏是環我想實現
void flash()
{
digitalWrite(3, HIGH);
delay(100);
digitalWrite(3, LOW);
delay(100);
}
開始
TembooChoreo AppendRowChoreo(client);
,並在
AppendRowChoreo.close();