Page 28

analogRead()

Διαβάζει την τιμή από τον καθορισμένο αναλογική ακροδέκτη. Η πλακέτα Arduino περιέχει 6 κανάλια (8 κανάλια για το Mini και Nano, 16 για το Mega), και μετατροπέα αναλογικό σε ψηφιακό στα 10 bit. Αυτό σημαίνει ότι θα χαρτογραφήσει τάσεις εισόδου μεταξύ 0 και 5 βολτ σε ακέραιες τιμές μεταξύ 0 και 1023. Αυτό δίνει μια ανάλυση μεταξύ των τιμών που εισάγονται: 5 βολτ / 1024 μονάδες ή 0,0049 βολτ ( 4.9 mV ) ανά μονάδα. Το εύρος εισόδου και η ανάλυση μπορεί να αλλάξει με τη χρήση της εντολής analogReference(). Κάθε ανάγνωση από τις αναλογικές εισόδους χρειάζεται περίπου 100 μικροδευτερόλεπτα (0.0001sec) για να πραγματοποιηθεί, οπότε ο μέγιστος ρυθμός ανάγνωσης είναι περίπου 10.000 φορές το δευτερόλεπτο. Η σύνταξη της εντολής είναι: analogRead(pin)

όπου pin είναι ο αριθμός του αναλογικού ακροδέκτη εισόδου που θέλουμε να διαβάσουμε (τιμή 0 έως 5 στις περισσότερες πλακέτες, 0 έως 7 στο Mini και Nano, 0 έως 15 για το Mega).

Η τιμή που επιστρέφεται είναι ακέραιου τύπου int στο διάστημα 0 έως 1023. Σημείωση

Αν το αναλογικό pin εισόδου δεν συνδέεται με τίποτα, η τιμή που επιστρέφεται από την εντολή analogRead() θα εξαρτηθεί από διάφορους άλλους (τυχαίους) παράγοντες, όπως οι τιμές των άλλων αναλογικών εισόδων, πόσο κοντά είναι στο χέρι σας από την πλακέτα του Arduino, κλπ. Παράδειγμα int analogPin = 3; int val = 0;

// ποτενσιόμετρο συνδεδεμένο στον μεσαίο // ακροδέκτη και στο αναλογικό pin 3. // εξωτερικά συνδέεται στη γείωση και // στα +5V // μεταβλητή για να αποθηκεύσουμε //την τιμή που διαβάζεται

void setup() { Serial.begin(9600); }

//

αρχικοποίηση της σειριακής θύρας

void loop() { val = analogRead(analogPin); }

Serial.println(val);

34

// διάβασμα της τιμής του // ακροδέκτη εισόδου // εμφάνιση τιμής στη σειριακή θύρα

Σημειώσεις arduino kales  
Σημειώσεις arduino kales  
Advertisement