Με το Arduino μπορούμε να αναπαράγουμε μονοτονικούς ήχους μέσα από ένα μικρό speaker ή buzzer. Η συνάρτηση tone() μας βοηθάει να το πετύχουμε αυτό στέλνοντας στο μικρό μας ηχείο έναν ήχο/τόνο με μια συγκεκριμένη συχνότητα. Ο ήχος αυτός μπορεί να είναι είτε ένα "μπιπ" (σε μια συγκεκριμένη συχνότητα π.χ. 500Ηz) που αναπαράγεται για μια χρονική στιγμή είτε μια μελωδία, μονοτονική, σαν αυτή που είχαμε στα παλιά μας ασπρόμαυρα κινητά τηλέφωνα.
Η συνάρτηση tone()
tone(pin, συχνότητα);
Κάνοντας χρήση της παραπάνω εντολής μπορούμε να στείλουμε σε ένα συγκεκριμένο pin του Arduino, στο δικό μας παράδειγμα το pin 9 όπου και έχουμε συνδέσει το ηχείο μας, ένα σήμα/τόνο το οποίο να έχει συγκεκριμένη συχνότητα.
π.χ. tone(9, 500); ή tone(buzzer, 1000); (όπου buzzer σταθερά που δείχνει το pin 9)
tone(pin, συχνότητα, διάρκεια);
Μπορούμε να προσθέσουμε και διάρκεια, δηλαδή χρόνο, στην συνάρτηση αυτή. Ο χρόνος αυτός όπως και στην delay() πρέπει να είναι σε ms. Έτσι, αν για παράδειγμα θέλουμε για δυο δευτερόλεπτα να παίζει ήχος συχνότητας 1ΚHz στο pin 9, η εντολή που θα γράψουμε είναι: tone(9, 1000, 2000);
noTone(pin);
Αν κάνουμε χρήση της tone χωρίς το όρισμα 'διάρκεια', τότε θα πρέπει με κάποιον τρόπο να σταματήσουμε τον ήχο που ακούγεται μετά από κάποιο χρονικό διάστημα, αυτό γίνεται με την χρήση της noTone().
π.χ. noTone(9); ή noTone(buzzer);
Τα υλικά που θα χρειαστούμε:
Το κύκλωμα μας σε breadboard
Η συνάρτηση tone()
tone(pin, συχνότητα);
Κάνοντας χρήση της παραπάνω εντολής μπορούμε να στείλουμε σε ένα συγκεκριμένο pin του Arduino, στο δικό μας παράδειγμα το pin 9 όπου και έχουμε συνδέσει το ηχείο μας, ένα σήμα/τόνο το οποίο να έχει συγκεκριμένη συχνότητα.
π.χ. tone(9, 500); ή tone(buzzer, 1000); (όπου buzzer σταθερά που δείχνει το pin 9)
tone(pin, συχνότητα, διάρκεια);
Μπορούμε να προσθέσουμε και διάρκεια, δηλαδή χρόνο, στην συνάρτηση αυτή. Ο χρόνος αυτός όπως και στην delay() πρέπει να είναι σε ms. Έτσι, αν για παράδειγμα θέλουμε για δυο δευτερόλεπτα να παίζει ήχος συχνότητας 1ΚHz στο pin 9, η εντολή που θα γράψουμε είναι: tone(9, 1000, 2000);
noTone(pin);
Αν κάνουμε χρήση της tone χωρίς το όρισμα 'διάρκεια', τότε θα πρέπει με κάποιον τρόπο να σταματήσουμε τον ήχο που ακούγεται μετά από κάποιο χρονικό διάστημα, αυτό γίνεται με την χρήση της noTone().
π.χ. noTone(9); ή noTone(buzzer);
Τα υλικά που θα χρειαστούμε:
- Arduino uno
- Speaker 8Ohm ή Buzzer
- Αντίσταση 100Ohm
Το κύκλωμα μας σε breadboard