// Turbidimeter_SEN0189_Kal-1 // Programmet måler og beregner NTU verdien til en væske på bakgrunn av // kaliberingsverdier for NTU-verdi 200 og NTU-verdi 400 // Nils Kr. Rossing 01.06.23 // Deklarasjon av variabler float NTU = 0; // Målt og beregnet NTU-verdi float NTU_200 = 200; // Kalibrert NTU-verdi 200 NTU. float NTU_400 = 400; // Kalibrert NTU-verdi 400 NTU. float U_0 = 4.36; // Målt spenningsverdi ved NTU-verdi 400 float U_200 = 4.14; // Målt spenningsverdi ved NTU-verdi 200 float U_400 = 3.97; // Målt spenningsverdi ved NTU-verdi 400 void setup() { Serial.begin(115200); //Baud rate: 115 200 analogReadResolution(12); // Sett oppløsningen til AD-konverteren 12 bit } void loop() { long sensorValue = 0; // Les av analog inngang fra pinne A0: float UD_mid = 0; // Middelverdi av målt spenning float UD_mid_volt = 0; // Middelverdi av målt spenning for(int i=0; i<100; i++) { sensorValue = sensorValue + analogRead(A0); } UD_mid = 2.0 * float(sensorValue/100); // Finner middelverdien UD_mid_volt = UD_mid * (3.3 / 4096.0); // // Konverterer den analoge avlesningen (som går fra 0-4095) til en spenning (0 - 4.1 +/- 0,3 V ved 0 NTU (Rent vann)): Serial.print("Maalt midlere spenning: "); // Skriv ut den avleste verdien for kalibrering: Serial.println(UD_mid_volt); // Beregner NTU-verdien NTU = (NTU_400 - NTU_200)/(U_400 - U_200)*(UD_mid_volt-U_0); Serial.print("Maalt NTU: "); // Skriv ut den avleste verdien: Serial.println(NTU,0); delay(500); }