ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - Aegean · 2018-10-26 · ΜΗΧΑΝΕΣ ΠΑΡΑΓΩΓΗΣ...

37
Δημιουργός: Δρ.Αθανάσιος Μπαλαφούτης Επιβλέπων : Πετεινάτος Ηλίας Υποψήφιος Διδάκτωρ ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - ARDUINO ΚΑΙ ΗΧΟΣ I 1

Transcript of ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - Aegean · 2018-10-26 · ΜΗΧΑΝΕΣ ΠΑΡΑΓΩΓΗΣ...

Page 1: ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - Aegean · 2018-10-26 · ΜΗΧΑΝΕΣ ΠΑΡΑΓΩΓΗΣ ΗΧΟΥ Δεδομένα Διεπαφή χρήστη Παραγωγή ήχου • Δεδομένα

Δημιουργός: Δρ.Αθανάσιος Μπαλαφούτης

Επιβλέπων: Πετεινάτος Ηλίας

Υποψήφιος Διδάκτωρ

ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO -

ARDUINO ΚΑΙ ΗΧΟΣ I

1

Page 2: ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - Aegean · 2018-10-26 · ΜΗΧΑΝΕΣ ΠΑΡΑΓΩΓΗΣ ΗΧΟΥ Δεδομένα Διεπαφή χρήστη Παραγωγή ήχου • Δεδομένα

ARDUINO ΚΑΙ ΗΧΟΣ ΠΕΡΙΕΧΟΜΕΝΑ

• Εισαγωγή, μηχανές παραγωγής ήχου • Χρήση του πιεζοηλεκτρικού ηχείου • Εφαρμογή: ανίχνευση πυρκαγιάς • Εφαρμογή: Φωτορυθμικά • Arduino και Μουσική • Σειριακή επικοινωνία και SPI

2

Page 3: ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - Aegean · 2018-10-26 · ΜΗΧΑΝΕΣ ΠΑΡΑΓΩΓΗΣ ΗΧΟΥ Δεδομένα Διεπαφή χρήστη Παραγωγή ήχου • Δεδομένα

ΜΗΧΑΝΕΣ ΠΑΡΑΓΩΓΗΣ ΗΧΟΥ

Δεδομένα Διεπαφή χρήστη Παραγωγή ήχου

• Δεδομένα

- Ανάγνωση ψηφιακών δεδομένων (wav, mp3)

- online παραγωγή δεδομένων ήχου (μουσικά όργανα, μικρόφωνα)

• Διεπαφή χρήστη

- Μηχανισμοί για την αλλαγή των χαρακτηριστικών του ήχου

π.χ. έλεγχος έντασης από ποτενσιόμετρο.

• Παραγωγή ήχου

- Μετατροπέας DAC (Digital to Analog Converter)

π.χ. Ενισχυτής, Ηχεία

3

Page 4: ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - Aegean · 2018-10-26 · ΜΗΧΑΝΕΣ ΠΑΡΑΓΩΓΗΣ ΗΧΟΥ Δεδομένα Διεπαφή χρήστη Παραγωγή ήχου • Δεδομένα

ΜΗΧΑΝΕΣ ΠΑΡΑΓΩΓΗΣ ΗΧΟΥ

Δεδομένα Διεπαφή χρήστη Παραγωγή ήχου

4

Page 5: ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - Aegean · 2018-10-26 · ΜΗΧΑΝΕΣ ΠΑΡΑΓΩΓΗΣ ΗΧΟΥ Δεδομένα Διεπαφή χρήστη Παραγωγή ήχου • Δεδομένα

ΠΙΕΖΟΗΛΕΚΤΡΙΚΟ ΗΧΕΙΟ

5

Page 6: ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - Aegean · 2018-10-26 · ΜΗΧΑΝΕΣ ΠΑΡΑΓΩΓΗΣ ΗΧΟΥ Δεδομένα Διεπαφή χρήστη Παραγωγή ήχου • Δεδομένα

ΠΑΡΑΔΕΙΓΜΑ ΧΡΗΣΗΣ ΠΙΕΖΟΗΛΕΚΤΡΙΚΟΥ ΗΧΕΙΟΥ

Ακούγεται ένα “κλικ” κάθε 1 sec

Αν αλλάξουμε το delay(1000) σε delay(1) θα ακούμε έναν ήχο συχνότητας 500Hz

6

Page 7: ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - Aegean · 2018-10-26 · ΜΗΧΑΝΕΣ ΠΑΡΑΓΩΓΗΣ ΗΧΟΥ Δεδομένα Διεπαφή χρήστη Παραγωγή ήχου • Δεδομένα

Για να παράγουμε ηχούς υψηλών συχνοτήτων χρησιμοποιούμε τη συνάρτηση

delayMicroseconds()

ΠΑΡΑΔΕΙΓΜΑ ΧΡΗΣΗΣ ΠΙΕΖΟΗΛΕΚΤΡΙΚΟΥ ΗΧΕΙΟΥ

7

Page 8: ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - Aegean · 2018-10-26 · ΜΗΧΑΝΕΣ ΠΑΡΑΓΩΓΗΣ ΗΧΟΥ Δεδομένα Διεπαφή χρήστη Παραγωγή ήχου • Δεδομένα

ΜΟΥΣΙΚΗ ΚΑΙ ΜΙΚΡΟΕΛΕΓΚΤΗΣ

Οι μουσικές νότες διαφοροποιούνται με τη συχνότητα. π.χ. η νότα ΛΑ αντιστοιχεί σε

συχνότητα 440Hz. Ο μικροελεγκτής μετρά χρόνο

8

Page 9: ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - Aegean · 2018-10-26 · ΜΗΧΑΝΕΣ ΠΑΡΑΓΩΓΗΣ ΗΧΟΥ Δεδομένα Διεπαφή χρήστη Παραγωγή ήχου • Δεδομένα

ΜΟΥΣΙΚΗ ΚΑΙ ARDUINO

Αντιστοιχία συχνοτήτων και χρονικών καθυστερήσεων μιας τυπικής μουσικής

οκτάβας

9

Page 10: ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - Aegean · 2018-10-26 · ΜΗΧΑΝΕΣ ΠΑΡΑΓΩΓΗΣ ΗΧΟΥ Δεδομένα Διεπαφή χρήστη Παραγωγή ήχου • Δεδομένα

Η βιβλιοθήκη tone: Απλουστεύει τους μαθηματικούς υπολογισμούς

ΜΟΥΣΙΚΗ ΚΑΙ ARDUINO

10

Page 11: ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - Aegean · 2018-10-26 · ΜΗΧΑΝΕΣ ΠΑΡΑΓΩΓΗΣ ΗΧΟΥ Δεδομένα Διεπαφή χρήστη Παραγωγή ήχου • Δεδομένα

ΜΟΥΣΙΚΗ ΚΑΙ ARDUINO - ΠΑΡΑΔΕΙΓΜΑΤΑ

11

Page 12: ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - Aegean · 2018-10-26 · ΜΗΧΑΝΕΣ ΠΑΡΑΓΩΓΗΣ ΗΧΟΥ Δεδομένα Διεπαφή χρήστη Παραγωγή ήχου • Δεδομένα

Υλικά:

- Arduino

- Ηχείο 8 ohm

- 3 αντιστάσεις force sensing

- 3 αντιστάσεις 10k ohm

- μια αντίσταση 100 ohm

- καλώδια

- breadboard

ΜΟΥΣΙΚΗ ΚΑΙ ARDUINO - ΠΑΡΑΔΕΙΓΜΑΤΑ

12

Page 13: ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - Aegean · 2018-10-26 · ΜΗΧΑΝΕΣ ΠΑΡΑΓΩΓΗΣ ΗΧΟΥ Δεδομένα Διεπαφή χρήστη Παραγωγή ήχου • Δεδομένα

Αντιστάσεις force sensing

ΜΟΥΣΙΚΗ ΚΑΙ ARDUINO - ΠΑΡΑΔΕΙΓΜΑΤΑ

13

Page 14: ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - Aegean · 2018-10-26 · ΜΗΧΑΝΕΣ ΠΑΡΑΓΩΓΗΣ ΗΧΟΥ Δεδομένα Διεπαφή χρήστη Παραγωγή ήχου • Δεδομένα

ΜΟΥΣΙΚΗ ΚΑΙ ARDUINO - ΠΑΡΑΔΕΙΓΜΑΤΑ

14

Page 15: ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - Aegean · 2018-10-26 · ΜΗΧΑΝΕΣ ΠΑΡΑΓΩΓΗΣ ΗΧΟΥ Δεδομένα Διεπαφή χρήστη Παραγωγή ήχου • Δεδομένα

ΑΝΙΧΝΕΥΣΗ ΠΥΡΚΑΓΙΑΣ

15

Page 16: ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - Aegean · 2018-10-26 · ΜΗΧΑΝΕΣ ΠΑΡΑΓΩΓΗΣ ΗΧΟΥ Δεδομένα Διεπαφή χρήστη Παραγωγή ήχου • Δεδομένα

ΑΝΙΧΝΕΥΣΗ ΠΥΡΚΑΓΙΑΣ

16

Page 17: ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - Aegean · 2018-10-26 · ΜΗΧΑΝΕΣ ΠΑΡΑΓΩΓΗΣ ΗΧΟΥ Δεδομένα Διεπαφή χρήστη Παραγωγή ήχου • Δεδομένα

Σε πραγματικά συστήματα ανίχνευσης πυρκαγιάς το buzzer δεν χρησιμοποιείται.

Μπορώ να συνδέσω στο Arduino σειρήνα ή μηχανισμούς που ρίχνουν νερό;

Μπορώ να συνδέσω στο Arduino συσκευές που λειτουργούν σε τάση μεγαλύτερη από τα 5V; (π.χ. 12V, 30V ή 220V)

ΑΝΙΧΝΕΥΣΗ ΠΥΡΚΑΓΙΑΣ

17

Page 18: ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - Aegean · 2018-10-26 · ΜΗΧΑΝΕΣ ΠΑΡΑΓΩΓΗΣ ΗΧΟΥ Δεδομένα Διεπαφή χρήστη Παραγωγή ήχου • Δεδομένα

ΗΛΕΚΤΡΟΝΟΜΟΣ - ΡΕΛΕ

Ο ηλεκτρονόμος, ρελέ (relay) είναι ένας ηλεκτρικός διακόπτης που ανοίγει και

κλείνει ένα ηλεκτρικό κύκλωμα κάτω από τον έλεγχο ενός άλλου ηλεκτρικού

κυκλώματος.

18

Page 19: ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - Aegean · 2018-10-26 · ΜΗΧΑΝΕΣ ΠΑΡΑΓΩΓΗΣ ΗΧΟΥ Δεδομένα Διεπαφή χρήστη Παραγωγή ήχου • Δεδομένα

Επαφές ενός Ηλεκτρονόμου:

Κανονικά - Ανοικτή (Normally Open, NO)

συνδέει το κύκλωμα όταν ο ηλεκτρονόμος ενεργοποιείται

Κανονικά - Κλειστή (Normally Closed, NC)

αποσυνδέει το κύκλωμα όταν ο ηλεκτρονόμος είναι ανενεργός.

Μεταγωγική επαφή (change-over) που ελέγχει

δύο κυκλώματα.

ΗΛΕΚΤΡΟΝΟΜΟΣ - ΡΕΛΕ

19

Page 20: ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - Aegean · 2018-10-26 · ΜΗΧΑΝΕΣ ΠΑΡΑΓΩΓΗΣ ΗΧΟΥ Δεδομένα Διεπαφή χρήστη Παραγωγή ήχου • Δεδομένα

Σύνδεση με το Arduino

ΗΛΕΚΤΡΟΝΟΜΟΣ - ΡΕΛΕ

20

Page 21: ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - Aegean · 2018-10-26 · ΜΗΧΑΝΕΣ ΠΑΡΑΓΩΓΗΣ ΗΧΟΥ Δεδομένα Διεπαφή χρήστη Παραγωγή ήχου • Δεδομένα

Ρελέ Στερεάς Κατάστασης (Solid State):

Μικρότερα

Πιο γρήγορα

Δεν έχουν μηχανικά μέρη

Αθόρυβα

Μεγαλύτερη διάρκεια ζωής

ΗΛΕΚΤΡΟΝΟΜΟΣ - ΡΕΛΕ

21

Page 22: ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - Aegean · 2018-10-26 · ΜΗΧΑΝΕΣ ΠΑΡΑΓΩΓΗΣ ΗΧΟΥ Δεδομένα Διεπαφή χρήστη Παραγωγή ήχου • Δεδομένα

ΕΦΑΡΜΟΓΗ: ΦΩΤΟΡΥΘΜΙΚΑ

Μπορώ να χρησιμοποιήσω το

Arduino για να αναβοσβήνω leds ή

φώτα στο ρυθμό μιας μουσικής;

22

Page 23: ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - Aegean · 2018-10-26 · ΜΗΧΑΝΕΣ ΠΑΡΑΓΩΓΗΣ ΗΧΟΥ Δεδομένα Διεπαφή χρήστη Παραγωγή ήχου • Δεδομένα

Χρησιμοποιώ την αναλογική είσοδο Α0

για να διαβάσω την ένταση του ήχου

από μια εξωτερική πηγή

Συνδέω τα leds στις ψηφιακές εξόδους

3,4,5,6

ΕΦΑΡΜΟΓΗ: ΦΩΤΟΡΥΘΜΙΚΑ

23

Page 24: ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - Aegean · 2018-10-26 · ΜΗΧΑΝΕΣ ΠΑΡΑΓΩΓΗΣ ΗΧΟΥ Δεδομένα Διεπαφή χρήστη Παραγωγή ήχου • Δεδομένα

ΕΦΑΡΜΟΓΗ: ΦΩΤΟΡΥΘΜΙΚΑ

24

Page 25: ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - Aegean · 2018-10-26 · ΜΗΧΑΝΕΣ ΠΑΡΑΓΩΓΗΣ ΗΧΟΥ Δεδομένα Διεπαφή χρήστη Παραγωγή ήχου • Δεδομένα

ΕΦΑΡΜΟΓΗ: ΦΩΤΟΡΥΘΜΙΚΑ

25

Page 26: ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - Aegean · 2018-10-26 · ΜΗΧΑΝΕΣ ΠΑΡΑΓΩΓΗΣ ΗΧΟΥ Δεδομένα Διεπαφή χρήστη Παραγωγή ήχου • Δεδομένα

Χρησιμοποιώντας leds ή φώτα που λειτουργούν σε μεγαλύτερη τάση

ΕΦΑΡΜΟΓΗ: ΦΩΤΟΡΥΘΜΙΚΑ

26

Page 27: ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - Aegean · 2018-10-26 · ΜΗΧΑΝΕΣ ΠΑΡΑΓΩΓΗΣ ΗΧΟΥ Δεδομένα Διεπαφή χρήστη Παραγωγή ήχου • Δεδομένα

ΣΕΙΡΙΑΚΗ ΕΠΙΚΟΙΝΩΝΙΑ

• Ασύγχρονη επικοινωνία

• Τα ρολόγια δεν είναι συγχρονισμένα

• Απαιτείται start και stop bit

• Συμφωνία στο ρυθμό μετάδοσης των

δεδομένων (π.χ. 9600 bps)

27

Page 28: ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - Aegean · 2018-10-26 · ΜΗΧΑΝΕΣ ΠΑΡΑΓΩΓΗΣ ΗΧΟΥ Δεδομένα Διεπαφή χρήστη Παραγωγή ήχου • Δεδομένα

SPI (SERIAL PERIPHERAL INTERFACE BUS)

• Χρησιμοποιούνται ξεχωριστές γραμμές για data

και clock

• Τo ρολόι χρησιμοποιείται για το συγχρονισμό

των δεδομένων

• Δε χρειάζεται οι 2 συσκευές να αποφασίσουν

για το ρυθμό μετάδοσης των δεδομένων

• Υλοποιείται με έναν απλό shift register

28

Page 29: ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - Aegean · 2018-10-26 · ΜΗΧΑΝΕΣ ΠΑΡΑΓΩΓΗΣ ΗΧΟΥ Δεδομένα Διεπαφή χρήστη Παραγωγή ήχου • Δεδομένα

ΜΕΤΑΔΟΣΗ ΔΕΔΟΜΕΝΩΝ ΜΕ SPI

• Η Συσκευή που ελέγχει το ρολόι ονομάζεται master

• Ένας μόνο master

• πολλοί slaves

• Η ροή των δεδομένων από master σε slave γίνεται από τη γραμμή MOSI

• Η ροή των δεδομένων από slave σε master γίνεται από τη γραμμή MISO

• Η επικοινωνία είναι full duplex

29

Page 30: ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - Aegean · 2018-10-26 · ΜΗΧΑΝΕΣ ΠΑΡΑΓΩΓΗΣ ΗΧΟΥ Δεδομένα Διεπαφή χρήστη Παραγωγή ήχου • Δεδομένα

SPI - ΕΠΙΛΟΓΗ SLAVE (SS)

• Χρησιμοποιείται για την επιλογή της

συσκευής slave με την οποία θα

μιλήσει ο master

• Χρησιμοποιείται η λογική “active low”

• Όσο η γραμμή μένει στο “1” δεν υπάρχει επικοινωνία

• Όταν η γραμμή πέσει στο “0” ξεκινά η επικοινωνία

30

Page 31: ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - Aegean · 2018-10-26 · ΜΗΧΑΝΕΣ ΠΑΡΑΓΩΓΗΣ ΗΧΟΥ Δεδομένα Διεπαφή χρήστη Παραγωγή ήχου • Δεδομένα

SPI - ΠΟΛΛΑΠΛΟΙ SLAVES

Υπάρχουν 2 τρόποι για να συνδέσουμε πολλούς slaves στο SPI bus:

Α ΤΡΟΠΟΣ

Μειονέκτημα: Ο master πρέπει να διαθέτει πολλά SS pins

31

Page 32: ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - Aegean · 2018-10-26 · ΜΗΧΑΝΕΣ ΠΑΡΑΓΩΓΗΣ ΗΧΟΥ Δεδομένα Διεπαφή χρήστη Παραγωγή ήχου • Δεδομένα

B ΤΡΟΠΟΣ

Μειονέκτημα: Τα δεδομένα θα περάσουν μέσα από όλους τους slaves

SPI - ΠΟΛΛΑΠΛΟΙ SLAVES

32

Page 33: ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - Aegean · 2018-10-26 · ΜΗΧΑΝΕΣ ΠΑΡΑΓΩΓΗΣ ΗΧΟΥ Δεδομένα Διεπαφή χρήστη Παραγωγή ήχου • Δεδομένα

SPI - ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΤΟ ARDUINO

• Με χρήση των εντολών shiftIn() και shiftOut()

33

Page 34: ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - Aegean · 2018-10-26 · ΜΗΧΑΝΕΣ ΠΑΡΑΓΩΓΗΣ ΗΧΟΥ Δεδομένα Διεπαφή χρήστη Παραγωγή ήχου • Δεδομένα

• Με χρήση των εντολών shiftIn() και shiftOut()

SPI - ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΤΟ ARDUINO

34

Page 35: ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - Aegean · 2018-10-26 · ΜΗΧΑΝΕΣ ΠΑΡΑΓΩΓΗΣ ΗΧΟΥ Δεδομένα Διεπαφή χρήστη Παραγωγή ήχου • Δεδομένα

ΣΥΝΔΕΣΕΙΣ

SPI - ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΤΟ ARDUINO

35

Page 36: ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - Aegean · 2018-10-26 · ΜΗΧΑΝΕΣ ΠΑΡΑΓΩΓΗΣ ΗΧΟΥ Δεδομένα Διεπαφή χρήστη Παραγωγή ήχου • Δεδομένα

SPI - ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΤΟ ARDUINO

ΣΥΝΔΕΣΕΙΣ

36

Page 37: ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - Aegean · 2018-10-26 · ΜΗΧΑΝΕΣ ΠΑΡΑΓΩΓΗΣ ΗΧΟΥ Δεδομένα Διεπαφή χρήστη Παραγωγή ήχου • Δεδομένα

ΕΥΧΑΡΙΣΤΟΥΜΕ ΠΟΛΥ !!!

37