ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - Aegean · 2018-10-26 · ΜΗΧΑΝΕΣ ΠΑΡΑΓΩΓΗΣ...
Transcript of ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - Aegean · 2018-10-26 · ΜΗΧΑΝΕΣ ΠΑΡΑΓΩΓΗΣ...
Δημιουργός: Δρ.Αθανάσιος Μπαλαφούτης
Επιβλέπων: Πετεινάτος Ηλίας
Υποψήφιος Διδάκτωρ
ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO -
ARDUINO ΚΑΙ ΗΧΟΣ I
1
ARDUINO ΚΑΙ ΗΧΟΣ ΠΕΡΙΕΧΟΜΕΝΑ
• Εισαγωγή, μηχανές παραγωγής ήχου • Χρήση του πιεζοηλεκτρικού ηχείου • Εφαρμογή: ανίχνευση πυρκαγιάς • Εφαρμογή: Φωτορυθμικά • Arduino και Μουσική • Σειριακή επικοινωνία και SPI
2
ΜΗΧΑΝΕΣ ΠΑΡΑΓΩΓΗΣ ΗΧΟΥ
Δεδομένα Διεπαφή χρήστη Παραγωγή ήχου
• Δεδομένα
- Ανάγνωση ψηφιακών δεδομένων (wav, mp3)
- online παραγωγή δεδομένων ήχου (μουσικά όργανα, μικρόφωνα)
• Διεπαφή χρήστη
- Μηχανισμοί για την αλλαγή των χαρακτηριστικών του ήχου
π.χ. έλεγχος έντασης από ποτενσιόμετρο.
• Παραγωγή ήχου
- Μετατροπέας DAC (Digital to Analog Converter)
π.χ. Ενισχυτής, Ηχεία
3
ΜΗΧΑΝΕΣ ΠΑΡΑΓΩΓΗΣ ΗΧΟΥ
Δεδομένα Διεπαφή χρήστη Παραγωγή ήχου
4
ΠΙΕΖΟΗΛΕΚΤΡΙΚΟ ΗΧΕΙΟ
5
ΠΑΡΑΔΕΙΓΜΑ ΧΡΗΣΗΣ ΠΙΕΖΟΗΛΕΚΤΡΙΚΟΥ ΗΧΕΙΟΥ
Ακούγεται ένα “κλικ” κάθε 1 sec
Αν αλλάξουμε το delay(1000) σε delay(1) θα ακούμε έναν ήχο συχνότητας 500Hz
6
Για να παράγουμε ηχούς υψηλών συχνοτήτων χρησιμοποιούμε τη συνάρτηση
delayMicroseconds()
ΠΑΡΑΔΕΙΓΜΑ ΧΡΗΣΗΣ ΠΙΕΖΟΗΛΕΚΤΡΙΚΟΥ ΗΧΕΙΟΥ
7
ΜΟΥΣΙΚΗ ΚΑΙ ΜΙΚΡΟΕΛΕΓΚΤΗΣ
Οι μουσικές νότες διαφοροποιούνται με τη συχνότητα. π.χ. η νότα ΛΑ αντιστοιχεί σε
συχνότητα 440Hz. Ο μικροελεγκτής μετρά χρόνο
8
ΜΟΥΣΙΚΗ ΚΑΙ ARDUINO
Αντιστοιχία συχνοτήτων και χρονικών καθυστερήσεων μιας τυπικής μουσικής
οκτάβας
9
Η βιβλιοθήκη tone: Απλουστεύει τους μαθηματικούς υπολογισμούς
ΜΟΥΣΙΚΗ ΚΑΙ ARDUINO
10
ΜΟΥΣΙΚΗ ΚΑΙ ARDUINO - ΠΑΡΑΔΕΙΓΜΑΤΑ
11
Υλικά:
- Arduino
- Ηχείο 8 ohm
- 3 αντιστάσεις force sensing
- 3 αντιστάσεις 10k ohm
- μια αντίσταση 100 ohm
- καλώδια
- breadboard
ΜΟΥΣΙΚΗ ΚΑΙ ARDUINO - ΠΑΡΑΔΕΙΓΜΑΤΑ
12
Αντιστάσεις force sensing
ΜΟΥΣΙΚΗ ΚΑΙ ARDUINO - ΠΑΡΑΔΕΙΓΜΑΤΑ
13
ΜΟΥΣΙΚΗ ΚΑΙ ARDUINO - ΠΑΡΑΔΕΙΓΜΑΤΑ
14
ΑΝΙΧΝΕΥΣΗ ΠΥΡΚΑΓΙΑΣ
15
ΑΝΙΧΝΕΥΣΗ ΠΥΡΚΑΓΙΑΣ
16
Σε πραγματικά συστήματα ανίχνευσης πυρκαγιάς το buzzer δεν χρησιμοποιείται.
Μπορώ να συνδέσω στο Arduino σειρήνα ή μηχανισμούς που ρίχνουν νερό;
Μπορώ να συνδέσω στο Arduino συσκευές που λειτουργούν σε τάση μεγαλύτερη από τα 5V; (π.χ. 12V, 30V ή 220V)
ΑΝΙΧΝΕΥΣΗ ΠΥΡΚΑΓΙΑΣ
17
ΗΛΕΚΤΡΟΝΟΜΟΣ - ΡΕΛΕ
Ο ηλεκτρονόμος, ρελέ (relay) είναι ένας ηλεκτρικός διακόπτης που ανοίγει και
κλείνει ένα ηλεκτρικό κύκλωμα κάτω από τον έλεγχο ενός άλλου ηλεκτρικού
κυκλώματος.
18
Επαφές ενός Ηλεκτρονόμου:
Κανονικά - Ανοικτή (Normally Open, NO)
συνδέει το κύκλωμα όταν ο ηλεκτρονόμος ενεργοποιείται
Κανονικά - Κλειστή (Normally Closed, NC)
αποσυνδέει το κύκλωμα όταν ο ηλεκτρονόμος είναι ανενεργός.
Μεταγωγική επαφή (change-over) που ελέγχει
δύο κυκλώματα.
ΗΛΕΚΤΡΟΝΟΜΟΣ - ΡΕΛΕ
19
Σύνδεση με το Arduino
ΗΛΕΚΤΡΟΝΟΜΟΣ - ΡΕΛΕ
20
Ρελέ Στερεάς Κατάστασης (Solid State):
Μικρότερα
Πιο γρήγορα
Δεν έχουν μηχανικά μέρη
Αθόρυβα
Μεγαλύτερη διάρκεια ζωής
ΗΛΕΚΤΡΟΝΟΜΟΣ - ΡΕΛΕ
21
ΕΦΑΡΜΟΓΗ: ΦΩΤΟΡΥΘΜΙΚΑ
Μπορώ να χρησιμοποιήσω το
Arduino για να αναβοσβήνω leds ή
φώτα στο ρυθμό μιας μουσικής;
22
Χρησιμοποιώ την αναλογική είσοδο Α0
για να διαβάσω την ένταση του ήχου
από μια εξωτερική πηγή
Συνδέω τα leds στις ψηφιακές εξόδους
3,4,5,6
ΕΦΑΡΜΟΓΗ: ΦΩΤΟΡΥΘΜΙΚΑ
23
ΕΦΑΡΜΟΓΗ: ΦΩΤΟΡΥΘΜΙΚΑ
24
ΕΦΑΡΜΟΓΗ: ΦΩΤΟΡΥΘΜΙΚΑ
25
Χρησιμοποιώντας leds ή φώτα που λειτουργούν σε μεγαλύτερη τάση
ΕΦΑΡΜΟΓΗ: ΦΩΤΟΡΥΘΜΙΚΑ
26
ΣΕΙΡΙΑΚΗ ΕΠΙΚΟΙΝΩΝΙΑ
• Ασύγχρονη επικοινωνία
• Τα ρολόγια δεν είναι συγχρονισμένα
• Απαιτείται start και stop bit
• Συμφωνία στο ρυθμό μετάδοσης των
δεδομένων (π.χ. 9600 bps)
27
SPI (SERIAL PERIPHERAL INTERFACE BUS)
• Χρησιμοποιούνται ξεχωριστές γραμμές για data
και clock
• Τo ρολόι χρησιμοποιείται για το συγχρονισμό
των δεδομένων
• Δε χρειάζεται οι 2 συσκευές να αποφασίσουν
για το ρυθμό μετάδοσης των δεδομένων
• Υλοποιείται με έναν απλό shift register
28
ΜΕΤΑΔΟΣΗ ΔΕΔΟΜΕΝΩΝ ΜΕ SPI
• Η Συσκευή που ελέγχει το ρολόι ονομάζεται master
• Ένας μόνο master
• πολλοί slaves
• Η ροή των δεδομένων από master σε slave γίνεται από τη γραμμή MOSI
• Η ροή των δεδομένων από slave σε master γίνεται από τη γραμμή MISO
• Η επικοινωνία είναι full duplex
29
SPI - ΕΠΙΛΟΓΗ SLAVE (SS)
• Χρησιμοποιείται για την επιλογή της
συσκευής slave με την οποία θα
μιλήσει ο master
• Χρησιμοποιείται η λογική “active low”
• Όσο η γραμμή μένει στο “1” δεν υπάρχει επικοινωνία
• Όταν η γραμμή πέσει στο “0” ξεκινά η επικοινωνία
30
SPI - ΠΟΛΛΑΠΛΟΙ SLAVES
Υπάρχουν 2 τρόποι για να συνδέσουμε πολλούς slaves στο SPI bus:
Α ΤΡΟΠΟΣ
Μειονέκτημα: Ο master πρέπει να διαθέτει πολλά SS pins
31
B ΤΡΟΠΟΣ
Μειονέκτημα: Τα δεδομένα θα περάσουν μέσα από όλους τους slaves
SPI - ΠΟΛΛΑΠΛΟΙ SLAVES
32
SPI - ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΤΟ ARDUINO
• Με χρήση των εντολών shiftIn() και shiftOut()
33
• Με χρήση των εντολών shiftIn() και shiftOut()
SPI - ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΤΟ ARDUINO
34
ΣΥΝΔΕΣΕΙΣ
SPI - ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΤΟ ARDUINO
35
SPI - ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΤΟ ARDUINO
ΣΥΝΔΕΣΕΙΣ
36
ΕΥΧΑΡΙΣΤΟΥΜΕ ΠΟΛΥ !!!
37