// μεταβλητές για την φωτοαντίσταση int photoPin = A2; int photoValue; // μεταβλητές για το θερμόμετρο int tempPin = A0; float tempValue; float temp; // μεταβλητές για το μικρόφωνο int micPin = A5; int micValue; double volts; int sampleCount = 300; void setup() { Serial.begin(9600); // Όλα τα pins είναι είσοδος pinMode(photoPin, INPUT); pinMode(tempPin, INPUT); pinMode(micPin, INPUT); } void loop() { // Παίρνουμε τις μετρήσεις με analogRead() // διότι οι αισθητήρες είναι αναλογικοί photoValue = analogRead(photoPin); tempValue = analogRead(tempPin); //micValue = analogRead(micPin); // Μετατρέπουμε την τιμή του αισθητήρα σε // θερμοκρασία σε βαθμούς Κελσίου temp = ((tempValue * 5000) / 1024) / 10; long sumSquares = 0; for (int i = 0; i < sampleCount; i++) { int raw = analogRead(micPin); int centered = raw - 512; // remove DC bias sumSquares += (long)centered * centered; } float rms = sqrt((float)sumSquares / sampleCount); float dB = 20.0 * log10(rms); // Μετατρέπουμε την τιμή του μικροφώνου σε volt //volts = (micValue * 5.0) / 1024; // Εμφανίζουμε τις μετρήσεις στο Serial Monitor // // Serial.print("Photovalue: "); // Serial.println(photoValue); // // Serial.print("tempValue: "); // Serial.print(tempValue); // Serial.print(" Temperature: "); // Serial.println(temp); // // // Serial.print("micValue: "); // Serial.print(micValue); // Serial.print(" Volts: "); // Serial.println(volts); // Serial.print("RMS: "); // Serial.print(rms); // Serial.print (" dB: "); // Serial.println(dB); // // Serial.println(); // Serial.println(); //Temperature if(temp <= 12) Serial.print("L"); else if(temp<= 20) Serial.print("M"); else Serial.print("H"); //Sound if(rms >= 160 && rms <= 173) Serial.print("L"); else if(rms<= 183) Serial.print("M"); //Light else Serial.print("H"); if(photoValue <= 300) Serial.println("L"); else if(photoValue<= 450) Serial.println("M"); else Serial.println("H"); delay(500); }