Χρησιμοποιούμε τον αισθητήρα LM35.
Τον τοποθετούμε έτσι ώστε να βλέπουμε το επίπεδο μέρος του.
Το αριστερό ποδαράκι συνδέεται με τα 5 V
Το δεξί ποδαράκι συνδέεται με τη γείωση (GND)
To κεντρικό ποδαράκι συνδέεται με την αναλογική είσοδο μέτρησης Α1 .
Ο παρακάτω κώδικας δίνει το πως θα διαβάζουμε την ένδειξη του αισθητήρα από την είσοδο 3 του Arduino UNO και πως η μέτρηση μετατρέπεται σε βαθμούς Κελσίου.
int val; //integer variable that will accept the value of temperature
int temp=1; // Number of port for temperature sensor reading
void setup() {
// put your setup code here, to run once:
Serial.begin (9600); // speed 9600 bits per sec
}
void loop() {
// put your main code here, to run repeatedly:
val= analogRead (temp);
float mv= (val/1024.0)*5000; //conversion to Celcius Degrees
float c=mv/10; //conversion to Celcius Degrees
Serial.print("Temperature= ");
Serial.print(c);
Serial.print("oC");
Serial.println();
delay (1000);
}
Αρχικά ορίζουμε μία ακέραιη μεταβλητή (val) που θα δεχθεί τη μέτρηση.
Ορίζουμε μία ακέραια μεταβλητή για τη θύρα εισόδοου (temp).
Δηλώνουμε ότι θέλουμε ταχύτητα εισόδου 9600 baud (bits per sec).
Διαβάζουμε τη θύρα τρία και τοποθετούμε την τιμή στη μεταβλητή val.
Κάνουμε μαθηματικούς υπολογισμούς για μετατροπή της τιμής σε βαθμούς Κελσίου.
Εμφανίζουμε την ένδειξη στην οθόνη ( Serial.print(c);)
Για να δούμε την τιμή πρέπει να πάμε Εργαλέια → Παρακολούθηση σειριακής.
Ο παρακάτω κώδικας επιδιώκει μόλις η θερμοκρασία ξεπεράσει τους 20 βαθμούς Κελσίου, να ανάβει ένα κόκκινο LED και να χτυπάει ένας buzzer.
Με βάση τις γνώσεις σας από την πρώτη άσκηση, κατασκευάστε το κύκλωμα και συμπληρώστε τον κώδικα σωστά.
Ερευνήστε στο διαδίκτυο και βρείτε τις εντολές ενεργοποίησης του buzzer (π.χ. για σήμα 1KHz ¨¨:
Προσοχή! Το κοντό ποδαράκι του Buzzer, πηγαίνει στη γείωση και το μακρύ σε μία ψηφιακή έξοδο του Arduino. Μεταξύ της ψηφιακής εξόδου παρεμβάλλεται αντίστασή 220 Ω.
Τον τοποθετούμε έτσι ώστε να βλέπουμε το επίπεδο μέρος του.
Το αριστερό ποδαράκι συνδέεται με τα 5 V
Το δεξί ποδαράκι συνδέεται με τη γείωση (GND)
To κεντρικό ποδαράκι συνδέεται με την αναλογική είσοδο μέτρησης Α1 .
Ο παρακάτω κώδικας δίνει το πως θα διαβάζουμε την ένδειξη του αισθητήρα από την είσοδο 3 του Arduino UNO και πως η μέτρηση μετατρέπεται σε βαθμούς Κελσίου.
int val; //integer variable that will accept the value of temperature
int temp=1; // Number of port for temperature sensor reading
void setup() {
// put your setup code here, to run once:
Serial.begin (9600); // speed 9600 bits per sec
}
void loop() {
// put your main code here, to run repeatedly:
val= analogRead (temp);
float mv= (val/1024.0)*5000; //conversion to Celcius Degrees
float c=mv/10; //conversion to Celcius Degrees
Serial.print("Temperature= ");
Serial.print(c);
Serial.print("oC");
Serial.println();
delay (1000);
}
Αρχικά ορίζουμε μία ακέραιη μεταβλητή (val) που θα δεχθεί τη μέτρηση.
Ορίζουμε μία ακέραια μεταβλητή για τη θύρα εισόδοου (temp).
Δηλώνουμε ότι θέλουμε ταχύτητα εισόδου 9600 baud (bits per sec).
Διαβάζουμε τη θύρα τρία και τοποθετούμε την τιμή στη μεταβλητή val.
Κάνουμε μαθηματικούς υπολογισμούς για μετατροπή της τιμής σε βαθμούς Κελσίου.
Εμφανίζουμε την ένδειξη στην οθόνη ( Serial.print(c);)
Για να δούμε την τιμή πρέπει να πάμε Εργαλέια → Παρακολούθηση σειριακής.
Ο παρακάτω κώδικας επιδιώκει μόλις η θερμοκρασία ξεπεράσει τους 20 βαθμούς Κελσίου, να ανάβει ένα κόκκινο LED και να χτυπάει ένας buzzer.
if (c> 20.0){ digitalWrite(ledPin, .....); //Turn led on } else{ digitalWrite(ledPin, ....); //Turn led off }
Με βάση τις γνώσεις σας από την πρώτη άσκηση, κατασκευάστε το κύκλωμα και συμπληρώστε τον κώδικα σωστά.
Ερευνήστε στο διαδίκτυο και βρείτε τις εντολές ενεργοποίησης του buzzer (π.χ. για σήμα 1KHz ¨¨:
tone(buzzer, 1000);).
Προσοχή! Το κοντό ποδαράκι του Buzzer, πηγαίνει στη γείωση και το μακρύ σε μία ψηφιακή έξοδο του Arduino. Μεταξύ της ψηφιακής εξόδου παρεμβάλλεται αντίστασή 220 Ω.
Δεν υπάρχουν σχόλια:
Δημοσίευση σχολίου