Stap 3: Areduino Code
Het installatiebestand Paralax maakt een aantal voorbeeld-werkbladen die eigenlijk hoeft u alleen maar aan de kant van Excel. Eenmaal geïnstalleerd, alles wat je moet doen is open het voorbeeldbestand en accepteer het gebruik van macro's-op dat moment de PLX DAQ-controle wordt geopend. Troep op opwaarts volgens de vorige afbeelding in stap 1 ervoor te zorgen dat u uw com-poort en niet degene die ik gebruikt heb (tenzij jou toevallig COM 3 zo goed)
Arduino
Het volgende is de code die ik in elkaar - geflanst kunt de Arduino te lezen het potentiaalverschil tussen de
Adruino pennen 5 volt en A2. De potentiële waarde is ten eerste gekalibreerd met behulp van de Potentiometer.
De kalibratie wordt gedaan door het volledig die betrekking hebben op de LDR zodat haar weerstand daalt tot bijna niets als mogelijk (dit maakt de LED's zeer snel veranderen) dan moet je de POT tot de fietsen lichte verandering van de LEDs aanpassen is zichtbaar.
Hoe meer u het aanpassen van de POT de grote kun je de tijd veranderingen geregistreerd in Excel, maar wees voorzichtig niet te ver gaan of niet ziet u gegevens aan het andere eind van de schaal (d.w.z. Wanneer u de LDR aan het licht weer bloot)
Verklaringen - de variabelen instellen in de toepassing worden gebruikt
byte ledPin [] = {4, 5, 6, 7, 8, 9, 10,11,12,13}; Array LED pennen maken
int potPin = 2; Selecteer de invoer pin voor de potmeter
int ledDelay; Een vertragingstijd LED verandering stellen
int delayData = 80; Een vertragingstijd voor de gegevens overgebracht naar Excel stellen en proberen te verminderen gegevensvolumes
int richting = 1;
int currentLED = 0;
int x = 0; De eerste teller voor LED-uitvoer instellen
int rij = 0; Stel de rij Excel starten
unsigned long changeTime;
//---------------------------------------------------------------------------------------------------------
Instellen van de Arduino seriële poort tarief, schakelt u alle eerdere gegevens en stuur de koppen voor de overdracht van gegevens naar excel
VOID Setup {}
Serial.begin(128000); seriële poort wordt geopend, stelt gegevens rate128000 bps
Serial.println("CLEARDATA"); worden alle resterende gegevens gewist
Serial.println ("LABEL, tijd, Pin, lichte niveau");
Reset alle pinten voor de LED's met digitale uitgang
voor (int x = 0; x < 10; x ++) {}
pinMode (ledPin [x], OUTPUT); }
changeTime = millis();
}
void loop {}
ledDelay = analogRead(potPin); luiden naar de waarde van de pot
Als ((millis()-changeTime) > ledDelay) {/ / als sinds ledDelay ms laatste wijziging
changeLED();
changeTime = millis();
}
}
ongeldig changeLED() {}
voor (int x = 0; x < 10; x ++) {/ / uitzetten alle LED's
digitalWrite (ledPin [x], laag);
}
digitalWrite (ledPin [currentLED], hoge); de huidige LED inschakelen
currentLED += richting; _ / / verhogen de waarde richting
veranderen van richting als we het einde hebt bereikt
Als (currentLED == 9) {richting = -1;}
Als (currentLED == 0) {richting = 1;}
Stuur de gegevens naar excel en de volgende stap voor de bepaalde periode van tijd vertragen
Serial.Print("Data,time,"); Serial.Print(currentLED); Serial.Print(","); Serial.println(ledDelay);
rij ++;
x ++;
vertraging (delayData);
}