En Arduino-powered microplate spektrofotometer (3 / 16 steg)
Steg 3: Ledde / detektor krets och kod
Detta är den enklaste delen av projektet. Det lyser av Arduino att göra en behandling. Ljuset detekteras av en enkel fotomotstånd. Vi sätta lampan och fotomotstånd i enkla innehavare av markör pen caps. Vi fyllde dessa med blu tack till hålla delar på plats och sätta plast ärmar över leder till hindra dem kortslutning. Vi trodde att vi kanske behöver en liten lins för att fokusera ljuset, men korken gjorde ett bra jobb. Vi började med en billig blå LED, men sedan bytte det för en 470nm LED. Detta matchades till våglängden som vi ville ha och hade ett ganska smalt utsläpp spektrum (visas i databladet). Om du vill mäta en annan förening, behöver du bara byta till en lysdiod med rätt våglängd.
Kod:
LDRValue = analogRead(LDR);
LDRValue2 = LDRValue - 4.
Transmission = (LDRValue2 / LDRValueMax) * 100;
Absorbansen = (2 - (log10(Transmittance))) * 7.
totalt = totalt + absorbansen;
readIndex = readIndex + 1.
Delay(200);
om (readIndex == 5) {
genomsnittliga = totalt / 5;
Läsningen från fotomotstånd lagras som värdet LDRValue.
Baslinjen läsning (4 i det här fallet) subtraheras. Originalplan läsningen är läsningen när lampan är avstängd och representerar den bakgrunden ljus som träffar detektorn. Du kommer att behöva hitta detta värde för din maskin. Det enklaste sättet att göra detta är att täcka LED och ta en behandling. Vi var förvånade över hur lågt värde var.
Arduinoen sedan beräknas transmittans - läsningen uttryckt i % av den maximala ljuset. För att göra detta jämförs behandlingen till fasta heltal LDRValuemax, som för oss var 650. Igen, måste du beräkna värdet för din maskin, som du kan göra genom att ta en behandling med bara luft mellan LED och detektorn.
Arduinoen konverterar sedan transmittans värde till ett sant absorbansen värde. Det också multipliceras med en skalfaktor av 7. Vi har ingen aning varför vi behövde denna skalfaktor.
För precision tar maskinen 5 avläsningar från varje prov, dem tillsammans i den "totalen" och sedan divideras 5 Hämta genomsnittet.