Intellekten Edison spektrofotometer (3 / 4 steg)
Steg 3: Steg 3: skriva koden
Starta upp den Arduino IDE och gör ett nytt projekt, och vi kan få kodning!
Jag ska prata igenom min koden nedan (något med ett "/ /" innan, det är en kommentar).
Så detta är början av koden: anger de variabler som huvudloop kräver; SS kan du se i kommentarerna, det säger det att ljussensorn är på A0 och Led uttaget är kopplat till D3; Ange Vout (Volt ut) på 0.0V och Vin (Volt i) på 3.0V.
Så kör vi avsnittet installation: det anger stiften A0 som INPUT och D3 som en utgång; Ange serienummer för.
Nu till det viktigaste kretsar av kod: Ange den led som hög, läsa värdet för ljussensorn och omvandla den i Volt. Omvandlingen i Volt är att ha värden som ska användas i lag Lambert-öl:
En = logg (I0 / jag)
där "I0" är intensiteten av ljuset falla i kuvetten (dvs. tomt) och "I" är den ljusa bortgången igenom provet. Så, mellan ledde och sensor du måste sätta en kyvett med "Tom" (dvs. vatten), för det första, och prova än.
CONST int pinLight = A0; Ställ in ljussensorn på A0
CONST int pinLed = 3; Uppsättning ledde Socket på D3
flyta Vout = 0,0; Volt ut
flyta Vin = 3.0; Volt av Intel = 3V
void setup()
{
Serial.BEGIN(9600);
pinMode (pinLight, ingång); ställa in sensorn på Analog 0 som indata
pinMode (pinLed, produktionen); Set LED på Digital 3 som en utgång
}
void loop()
{
digitalWrite (pinLed, hög); Ange LED som hög
int sensorValue = analogRead(pinLight); läsa värdet av Sensor Light
Vout = (Vin/1024.0 * sensorValue); konvertera sensorValue i Volt
Serial.Print ("sensor =");
Serial.println(Vout);
Delay(1000);
}