Linkit en - Live data övervakas i Excel och visas med hjälp av en instrumentpanel (6 / 8 steg)
Steg 6: Faktiska koden att generera data
Du kan helt enkelt kopiera denna kod eller ladda ner filen i slutet
byte ledPin [] = {4,5,6,7,8,9,10,11,12}.
float ledDelay(65);
flyta testLow = 0;
int rad = 0;
int riktning = 1;
int currentLED = 0;
osignerade långa changeTime;
flyta potPin = A2;
void setup() {
pinMode (13, OUTPUT);
Serial.BEGIN(9600); öppnar serieport, uppsättningar data rate9600 bps
Serial.println("CLEARDATA"); rensar alla återstående data
Serial.println ("etikett, tid, begränsa, Pin, ljus nivå"); ställa in rubriker för data till excel-Serial.println("ROW,SET,2");
för (int x = 0; x < 9; x ++) {
pinMode (ledPin [x], produktionen);
}
changeTime = millis();
}
void loop() {
ledDelay = analogRead(potPin);
om ((millis()-changeTime)>ledDelay) {
changeLED();
changeTime=millis();
}
}
void changeLED() {
för (int x = 0; x < 9; x ++) {
digitalWrite(ledPin[x],LOW);
}
digitalWrite (ledPin [currentLED], hög);
currentLED += riktning;
om (currentLED == 8) {
riktning = -1;
}
om (currentLED == 0) {
riktning = 1;
}
om (ledDelay < = 20) {
digitalWrite 13, hög.
testLow = 0;
}
om (ledDelay > 20) {
digitalWrite 13, låg.
testLow = 1;
}
Serial.Print("data,Time,");
Serial.Print(testLow);
Serial.Print(",");
Serial.Print(currentLED);
Serial.Print(",");
Serial.println(ledDelay);
rad ++;
om (rad > 200) //set excel data gränsen {
rad = 0;
Serial.println("Row,set,2");
}
Delay(100);
}