1
Χμμμ με τις επαναλήψεις δεν τα πας πολύ καλά ε? :P
Οι πρώτες 20 γραμμές:
int rawADC[20];
for(byte i =0; i<20; i ++)
rawADC[i] = analogRead (Read1);
Οι επόμενες 20 γραμμές
for(byte i=0; i<20; i++)
if (rawADC[i] <= average+percentADC && rawADC[i] >= average-percentADC) {
average2 = average2 + rawADC[i];
count++;
}
Παραπάνω αντί να έχω 20 μεταβλητές με 20 ονόματα έχω ένα πίνακα με 20 θέσεις και κάθε θέση είναι 1 μεταβλητή. Άρα με το ίδιο όνομα αλλάζοντας την θέση μέσω της επανάληψης αλλάζει και η μεταβλητή στην οποία αναφέρομαι. Τα υπόλοιπα παραμένουν ίδια.
Το ίδιο μπορεί να επαναληφθεί και για τις επόμενες 40 γραμμές.
Δηλαδή στις 200 μετρήσεις τι θα έκανες? :P
Αν σε βολεύει το κρατάς, το ίδιο πράγμα είναι σχεδόν.
Edit: και για το average:
int average =0;
for(byte i=0; i<20; i++){
average+=rawADC[i];
}
average = average/20;
**Μου είχε ξεφύγει κάτι πριν το edit