// Caz 0: O singura achizi?ie unsigned int valueAchiz = analogRead(Analog_PIN);// Citire intrare analogica // Caz 1: Achizi?ie din mai multe e?antioane folosind "for" unsigned long valueAchiz = 0; for (i=0; i<10; i++) { valueAchiz += analogRead(Analog_PIN);// Citire intrare analogica } // end for valueAchiz = valueAchiz / 10; // Caz 2: Achizi?ie din mai multe e?antioane folosind "while" unsigned long valueAchiz = 0; unsigned int samples = 16; // 2^4 while (samples--) { valueAchiz += analogRead(Analog_PIN);// Citire intrare analogica | //end while valueAchiz = valueAchiz >> 4; // deplasare spre dreapta înseamna împar?ire cu 16 // Caz 3: E?antionare multipla cu deplasare (cre?terea rezolu?iei de conversie) unsigned long valueAchiz = 0; unsigned int samples = 4096; unsigned int suma = 0; int i = 0; // E?antionare multipla cu 4096 (pentru 16 bi?i 4^(Resolutia dorita - ResolutiaADC)) // 16 bi?i - 10 bi?i = 6. 2^16 = 65536 = 64 * 1024. 4096 = 64 * 64 while(i < samples) { valueAchiz = analogRead(Analog_PIN);// Citire intrare analogica delayMicroseconds(10);// filtrare zgomote suma += valueAchiz ;// însumarea e?antioanelor i++; } // end while valueAchiz = suma >> 6;// divizare cu 64