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

Post on 05-Mar-2020

6 views 0 download

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