Project 5: Συνθέτοντας μουσική



Σχετικά έγγραφα
Lab 1: Experimenting on Arduino & AI Sense

Παιδιά κάτω των 13 ετών δε θα πρέπει να χρησιμοποιούν το κιτ χωρίς επίβλεψη. Μη συνδέετε την κύρια πλακέτα σε εξωτερική τροφοδοσία μεγάλης ισχύος.

ΑΣΚΗΣΗ 1 (22 Νοεμβρίου 2017)

Ενσωματωμένα Συστήματα

Εφαρμογές Σειριακής Επικοινωνίας

Προγραμματισμο ς σε Arduino

ΕΡΓΑΣΤΗΡΙΟ 4 ΕΙΣΑΓΩΓΗ ΣΤΟN ARDUINO: ΨΗΦΙΑΚΗ ΕΙΣΟΔΟΣ/ΕΞΟΔΟΣ

Φύλλο εργασίας 7 - Δημιουργώ τα δικά μου χρώματα με το RGB LED

ΕΙΣΑΓΩΓΗ ΣΤΟ ARDUINO. Υποψήφιος Διδάκτωρ

Απλή Δομή Επιλογής. Ο κώδικας. //με χρήση μεταβλητών. delay (3000);

Εφαρμογές Αναλογικών Ε/Ε PWM (pulse Width Modulation)

Ψηφιακά Αντικείμενα Μάθημα 1 Δραστηριότητα 1. Προγραμματισμός Φυσικών Συστημάτων. Νέα Ψηφιακά Αντικείμενα

Φύλλο εργασίας 3 - Χριστουγεννιάτικα φωτάκια (σταδιακή αύξηση και μείωση φωτεινότητας ενός LED) Το κύκλωμα σε breadboard

Arduino Teachers Workshop

Φύλλο εργασίας 4 - Δημιουργώ τα δικά μου χρώματα με το RGB LED

Έργο 1 LED που αναβοσβήνει (LED Flasher)

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

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 1. Arduino + LabVIEW: Μέτρηση Έντασης Φωτός με Φωτοαντίσταση. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων

Ενσωματωμένα Συστήματα

Εφαρμογές αναλογικών / Ψηφιακών

ΕΝΟΤΗΤΑ 5 Αναλογικά σήματα

ΣΤΟΙΧΕΙΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ARDUINO

Παραδείγµατα χρήσης του µικροελεγκτή Arduino Εφαρµογές για το εργαστήριο Μέρος 2 ο :Οδήγηση Κινητήρων DC(PM)

ΔΡΑΣΤΗΡΙΟΤΗΤΑ ΕΙΣΑΓΩΓΗ ΣΤΟ ARDUINO- 01a

Κωνσταντίνος Γκαλονάκης. Arduino: Προγραμματισμός στην πράξη

Γνωριμία με το Arduino

Μ.Π.Σ. «ΠΡΟΗΓΜΕΝΕΣ ΜΕΘΟΔΟΙ ΚΑΤΑΣΚΕΥΗΣ ΠΡΟΙΟΝΤΩΝ ΑΠΟ ΞΥΛΟ» Μάθημα: Σχεδίαση και Εφαρμογές Διαδραστικών Συστημάτων. Διδάσκοντας: Α.

Μέτρηση Θερμοκρασίας με τον αισθητήρα TMP36. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων. Βασική δομή ενός προγράμματος στο LabVIEW.

Εφαρμογές βασισμένες στο Arduino

Workshops. Εισηγητής: Παλιούρας Αριστείδης

Εξαμηνιαία Εργασία 2013 Προγραμματίζοντας τον Arduino στη C Μέρος Β : Επικοινωνία Υπολογιστή με Μικροελεγκτή

Εξαμηνιαία Εργασία 2013 Προγραμματίζοντας τον Arduino στη C Μέρος Α : Υλικά

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 5. Ρυθμίζοντας τη Φορά Περιστροφής. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων

Μετρήσεις και συλλογή δεδομένων (Data acquisition) με μικροελεγκτές. Εισαγωγή στο Arduino. Ηλεκτρομηχανολογικός εξοπλισμός διεργασιών

Έλεγχος κινητήρα συνεχούς ρεύματος με τρανζίστορ και Arduino

Φύλλο εργασίας 6 - Θερμόμετρο εξωτερικού χώρου. Το κύκλωμα σε breadboard

ΕΝΟΤΗΤΑ 3 ΕΚΦΡΑΣΕΙΣ, ΑΝΑΜΟΝΕΣ (DELAYS), ΗΧΟΙ

ΑΣΚΗΣΗ ΜHΧΑΤΡΟΝΙΚΗΣ. Τέλος όταν εισάγετε ένας σωστός συνδυασμός η ένδειξη του display να μηδενίζετε.

Εργαστηριακές σημειώσεις για το μάθημα: «Εισαγωγή στην Μηχατρονική»

ΚΥΚΛΩΜΑΤΑ AC-DC. ΚΕΦΑΛΑΙΟ 1ο ΒΑΣΙΚΑ ΚΥΚΛΩΜΑΤΑ ΚΑΙ ΕΞΑΡΤΗΜΑΤΑ - ΑΠΛΑ ΓΡΑΜΜΙΚΑ ΚΥΚΛΩΜΑΤΑ

Πλακέτα Arduino. 1ο ΕΠΑΛ Περάματος - 7ο ΕΚ Πειραιά

ΕΝΟΤΗΤΑ 10: ΟΔΗΓΗΣΗ ΚΙΝΗΤΗΡΩΝ

4 Εισαγωγή στο Arduino

ΕΡΓΑΣΤΗΡΙΟ 6 ΟΔΗΓΗΣΗ ΑΠΕΙΚΟΝΙΣΕΩΝ SSD ΚΑΙ LCD

Εμμανουήλ Πουλάκης. Προγραμματίζοντας με τον μικροελεγκτή Arduino

ΕΝΟΤΗΤΑ ΤΗΛΕΦΩΝΙΑ ΕΙΣΑΓΩΓΗ

για τις ρυθμίσεις LabView μέσα από το κανάλι και του καλωδίου USB.

ΔΙΔΑΚΤΙΚΟ ΣΕΝΑΡΙΟ ΔΗΜΙΟΥΡΓΙΑ ΣΥΣΤΗΜΑΤΟΣ ΔΙΕΞΑΓΩΓΗΣ ΠΑΙΧΝΙΔΙΟΥ ΕΡΩΤΗΣΕΩΝ/ΑΠΑΝΤΗΣΕΩΝ ΜΕ ΧΡΗΣΗ ARDUINO - QUIZ GAME ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 3

Συλλογή & Επεξεργασία Δεδομένων Εξαμηνιαία ΡομποΚαθαριστής Μέρος Β : Το Πρόγραμμα. Σχεδίαση Συστήματος Πραγματικής Εφαρμογής (Prototyping).

2017 Κατασκευάζω και Προγραμματίζω με τον μικροελεγκτή Arduino

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 2 USB και Σειριακή Επικοι- νωνία Σ Σειριακή Επικοινωνία

Το κύκλωμα σε breadboard

Α. Βασική Χρήση κινητήρα - Servo με τη βιβλιοθήκη <Servo.h>

Έλεγχος με Μικροϋπολογιστές Εργαστήριο ενσωματωμένων συστημάτων

ΑΣΚΗΣΗ 2 (29 Νοεμβρίου 2016)

Φύλλο εργασίας 4 - Αυτόματο φωτάκι νυκτός

Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια

Ο μικροελεγκτής Arduino στο εργαστήριο των Θετικών Επιστημών. Χρήσιμες διευθύνσεις στο διαδίκτυο

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 4. Οδηγώντας έναν DC Κινητήρα. Το κύκλωμα της Λειτουργίας DC Κινητήρα

Βιβλιοθήκη για οθόνη LCD

«ΥΛΟΠΟΙΗΣΗ ΑΣΥΡΜΑΤΗΣ ΕΠΙΚΟΙΝΩΝΙΑΣ ΜΕ ΧΡΗΣΗ ΜΙΚΡΟΕΛΕΓΚΤΩΝ» ΒΥΣΑΝΣΙΩΤΗΣ ΣΤΑΥΡΟΣ Α.Μ ΚΑΡΒΟΥΝΙΔΟΥ ΑΓΓΕΛΙΚΗ Α.Μ

Τα ηλεκτρονικά σήματα πληροφορίας διακρίνονται ανάλογα με τη μορφή τους σε δύο κατηγορίες : Αναλογικά σήματα Ψηφιακά σήματα

Συλλογή & Επεξεργασία Δεδομένων. Προγραμματίζοντας τον Arduino Μέρος Ι: Μεταβλητές, Εντολές Εισόδου & Εξόδου. Ολοκληρωμένο Περιβάλλον Ανάπτυξης (IDE)

Παράρτημα. Πραγματοποίηση μέτρησης τάσης, ρεύματος, ωμικής αντίστασης με χρήση του εργαστηριακού εξοπλισμού Άσκηση εξοικείωσης

CUBE ΗΧΕΙΟ ΜΕ BLUETOOTH. kitsound.co.uk. ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΤΗ Christchurch, Dorset, BH23 4FL, Ηνωμ. Βασίλειο

ΕΦΑΡΜΟΓΕΣ ΤΗΛΕΠIΚΟΙΝΩΝΙΑΚΩΝ ΔΙΑΤΑΞΕΩΝ

Αρχές επικοινωνίας με ήχο και εικόνα Συστήματα επικοινωνίας με ήχο και εικόνα

1o ΕΠΑΛ- Ε.Κ. Συκεών -Τομέας: Ηλεκτρονικής, Ηλεκτρολογίας και Αυτοματισμού Εκπαιδευτικοί: Μπουλταδάκης Στέλιος Μαυρίδης Κώστας

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

Έλεγχος με Μικροϋπολογιστές Εργαστήριο ενσωματωμένων συστημάτων

Φορητά ηχεία. Συνοπτικό εγχειρίδιο

Ψηφιακά Αντικείμενα Μάθημα 1 Δραστηριότητα 2. Προγραμματισμός Φυσικών Συστημάτων. Συστήματα Πραγματικών Εφαρμογών. Νέα Ψηφιακά Αντικείμενα

Ενσωµατωµένα Συστήµατα

Προγραμματισμός Ρομπότ

Αναπαραγωγή και stop/pause έτοιμων ηχητικών clips

FOSSCOMM ο Συνέδριο Κοινοτήτων Ανοιχτού Λογισμικού Σάββατο 20 Απριλίου Ομάδα Σχολής Ικάρων Εργαστήριο Arduino

Υλοποίηση μικρού αυτόνομου ρομποτικού οχήματος με μικροελεγκτή Arduino.

Calisto Ηχείο ανοικτής ακρόασης USB. Εγχειρίδιο χρήσης

ΑΥΤΟΜΑΤΟ ΦΩΤΟΒΟΛΤΑΪΚΟ ΠΑΝΕΛ

Οδηγός Arduino για το μάθημα της Πληροφορικής

Δομή (Structure) Προγραμματισμός Arduino. Η λειτουργία setup()

ΡΟΜΠΟΤΙΚΗ ΚΑΙ ΑΥΤΟΜΑΤΙΣΜΟΣ

Συσκευή ελεύθερης πτώσης

ΠΑΛΜΟΓΡΑΦΟΣ ΤΡΟΦΟ ΟΤΙΚΟ ΓΕΝΝΗΤΡΙΑ

Εμπειρίες από την Κατασκευή Φάρου, υπό Κλίμακα, με Arduino

Σκοπός. Προγραμματίζοντας τον Arduino ΙΙ Εντολή Εκχώρησης & Εντολές. Συλλογή & Επεξεργασία Δεδομένων. Πρόγραμμα. Εντολές Επεξεργασίας Δεδομένων

ΟΔΗΓΙΕΣ ΧΡΗΣΕΩΣ Κ3-3 ΜΟΝΑΔΑ ΕΛΕΓΧΟΥ ΠΡΟΣΒΑΣΗΣ

Εφαρμογές Arduino Σεμινάριο Ηλεκτρονικού Τομέα

Συλλογή μεταφορά και έλεγχος Δεδομένων. 1.4 Απλά και σύνθετα συστήματα αυτοματισμού.

Έλεγχος με Μικροϋπολογιστές Εργαστήριο ενσωματωμένων συστημάτων

1o ΕΠΑΛ- Ε.Κ. Συκεών -Τομέας: Ηλεκτρονικής, Ηλεκτρολογίας και Αυτοματισμού Εκπαιδευτικοί: Μπουλταδάκης Στέλιος Μαυρίδης Κώστας

ΜΙΚΡΟΕΛΕΓΚΤΗΣ PICAXE 18M2

Δρ. Π. Ασβεστάς Τμήμα Μηχανικών Βιοϊατρικής Τεχνολογίας Τ.Ε

Ο Παλμογράφος στη Διδασκαλία της Τριγωνομετρίας. Εφαρμογές της Τριγωνομετρίας σε πραγματικά προβλήματα και ενδιαφέρουσες επεκτάσεις

Καλωσορίσατε στο. DIY Synth Kit - Οδηγίες Χρήσης

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 8. Μετρώντας Επιτάχυνση με το Accelerόμετρο (ADXL 335) Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων

Register your product and get support at SPA1260. Εγχειρίδιο χρήσης

Ακολουθιακό κύκλωμα Η έξοδος του κυκλώματος εξαρτάται από τις τιμές εισόδου ΚΑΙ από την προηγούμενη κατάσταση του κυκλώματος

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

ΕΝΟΤΗΤΑ ΡΑΔΙΟΦΩΝΙΑ

Transcript:

Project 5: Συνθέτοντας μουσική Επίπεδο: Μέτριο Κατηγορία: Προγραμματισμός Σύντομη Περιγραφή: Πράγματι το Arduino είναι ικανό να παίξει μουσική! Το μόνο επιπλέον εξάρτημα που απαιτείται είναι Buzzer ή πιεζοηλεκτρικό ηχείο το οποίο μπορεί να μετατρέψει τους παλμούς που του στέλνει το Arduino σε ήχο. Εξαρτήματα: Arduino board Καλώδιο USB Καλώδια σύνδεσης (γέφυρες) Buzzer (Πιεζοηλεκτρικο ηχείο) (Προσοχή! Το buzzer είναι διαφορετικό εξάρτημα από το passive buzzer). Θα το ξεχωρίσετε από την ένδειξη HDX. Αντίσταση 220 Ohm ή Ροοστάτης 50 kohm Συνδεσμολογία: Πραγματοποιούμε το παρακάτω κύκλωμα προσέχοντας η άνοδος του Buzzer (το αντίστοιχο ποδαράκι συμβολίζεται με + πάνω στο buzzer) να αντιστοιχεί στο «κόκκινο» κομμάτι του κυκλώματος που καταλήγει στην ψηφιακή θύρα 5. Χρησιμοποιούμε αυτή τη θύρα γιατί υποστηρίζει την παραγωγή παλμού (Pulse-Width Modulation ή PWM) και συμβολίζεται με το σύμβολο της περισπωμένης (~). Αυτό είναι απαραίτητο ώστε να μπορέσει το Robotale να στείλει παλμούς κατάλληλου πλάτους που αντιστοιχούν σε διαφορετικές νότες. Αν δοκιμάσουμε θύρα που δεν υποστηρίζει το PWM, θα ακούσουμε την ίδια νότα να επαναλαμβάνεται.

Συνδεσμολογία: Κώδικας: 1 /* Project 5. Συνθέτοντας μουσική. Κάθε μουσική νότα αντιστοιχεί σε μια συχνότητα ηχητικού 2 κύματος η οποία μέσω του παρακάτω κώδικα μετατρέπεται σε ηλεκτρική 3 τάση και 4 στέλνεται στο buzzer όπου μετατρέπεται σε ήχο. */ 5 // Ορισμός της θύρας στην οποία είναι συνδεδεμένο το buzzer. 6 int speakerpin = 5; // Ορισμός της θύρας στην οποία είναι συνδεδεμένο το LED του 7 Robotale. 8 int ledpin = 13; 9 // Οι συχνότητες που αντιστοιχούν στις νότες. 10 // Πηγή: 11 // https://gist.github.com/tagliati/1804108 12 // http://home.mit.bme.hu/~bako/tonecalc/tonecalc.htm 13 #define c 261 14 #define d 294 15 #define e 329 16 #define f 349

17 #define g 391 18 #define gs 415 19 #define a 440 20 #define as 455 21 #define b 466 22 #define ch 523 23 #define csh 554 24 #define dh 587 25 #define dsh 622 26 #define eh 659 27 #define fh 698 28 #define fsh 740 29 #define gh 784 30 #define gsh 830 31 #define ah 880 32 33 void setup() 34 { 35 // Ορισμός του Pin στο οποίο είναι συνδεμένο το LED ως έξοδος. 36 pinmode(ledpin, OUTPUT); 37 // Ορισμός του Pin στο οποίο είναι συνδεμένο το Buzzer ως έξοδος. 38 pinmode(speakerpin, OUTPUT); 39 } 40 41 void loop() 42 { 43 // Εκτέλεση της συνάρτησης march. Πρόκειται για το γνωστό Imperial March 44 του John Williams. 45 march(); 46 } 47 // Η συνάρτηση beep ενεργοποιεί το Led με βάση το ρυθμό της μελωδίας. 48 void beep (unsigned char speakerpin, int frequencyinhertz, long timeinmilliseconds) 49 {

50 digitalwrite(ledpin, HIGH); 51 int x; 52 long delayamount = (long)(1000000/frequencyinhertz); 53 long looptime = (long)((timeinmilliseconds*1000)/(delayamount*2)); 54 for (x=0;x<looptime;x++) 55 { 56 digitalwrite(speakerpin,high); 57 delaymicroseconds(delayamount); 58 digitalwrite(speakerpin,low); 59 delaymicroseconds(delayamount); 60 } 61 62 digitalwrite(ledpin, LOW); 63 delay(20); 64 65 } 66 67 //Η συνάρτηση march περιέχει τη μελωδία. 68 void march() 69 { 70 //Η παρτιτούρα βρίσκεται εδώ: 71 //http://www.musicnotes.com/sheetmusic/mtd.asp?ppn=mn0016254 72 beep(speakerpin, a, 500); 73 beep(speakerpin, a, 500); 74 beep(speakerpin, a, 500); 75 beep(speakerpin, f, 350); 76 beep(speakerpin, ch, 150); 77 78 beep(speakerpin, a, 500); 79 beep(speakerpin, f, 350); 80 beep(speakerpin, ch, 150); 81 beep(speakerpin, a, 1000); 82 83 beep(speakerpin, eh, 500);

84 beep(speakerpin, eh, 500); 85 beep(speakerpin, eh, 500); 86 beep(speakerpin, fh, 350); 87 beep(speakerpin, ch, 150); 88 89 beep(speakerpin, gs, 500); 90 beep(speakerpin, f, 350); 91 beep(speakerpin, ch, 150); 92 beep(speakerpin, a, 1000); 93 94 beep(speakerpin, ah, 500); 95 beep(speakerpin, a, 350); 96 beep(speakerpin, a, 150); 97 beep(speakerpin, ah, 500); 98 beep(speakerpin, gsh, 250); 99 beep(speakerpin, gh, 250); 100 101 beep(speakerpin, fsh, 125); 102 beep(speakerpin, fh, 125); 103 beep(speakerpin, fsh, 250); 104 delay(250); 105 beep(speakerpin, as, 250); 106 beep(speakerpin, dsh, 500); 107 beep(speakerpin, dh, 250); 108 beep(speakerpin, csh, 250); 109 110 beep(speakerpin, ch, 125); 111 beep(speakerpin, b, 125); 112 beep(speakerpin, ch, 250); 113 delay(250); 114 beep(speakerpin, f, 125); 115 beep(speakerpin, gs, 500); 116 beep(speakerpin, f, 375); 117 beep(speakerpin, a, 125); 118 119 beep(speakerpin, ch, 500);

120 beep(speakerpin, a, 375); 121 beep(speakerpin, ch, 125); 122 beep(speakerpin, eh, 1000); 123 124 beep(speakerpin, ah, 500); 125 beep(speakerpin, a, 350); 126 beep(speakerpin, a, 150); 127 beep(speakerpin, ah, 500); 128 beep(speakerpin, gsh, 250); 129 beep(speakerpin, gh, 250); 130 131 beep(speakerpin, fsh, 125); 132 beep(speakerpin, fh, 125); 133 beep(speakerpin, fsh, 250); 134 delay(250); 135 beep(speakerpin, as, 250); 136 beep(speakerpin, dsh, 500); 137 beep(speakerpin, dh, 250); 138 beep(speakerpin, csh, 250); 139 140 beep(speakerpin, ch, 125); 141 beep(speakerpin, b, 125); 142 beep(speakerpin, ch, 250); 143 delay(250); 144 beep(speakerpin, f, 250); 145 beep(speakerpin, gs, 500); 146 beep(speakerpin, f, 375); 147 beep(speakerpin, ch, 125); 148 149 beep(speakerpin, a, 500); 150 beep(speakerpin, f, 375); 151 beep(speakerpin, c, 125); 152 beep(speakerpin, a, 1000); 153 }

Σύντομη επεξήγηση Κώδικα Τα κείμενα που βρίσκονται μέσα σε /* */ ή μετά από // (σε γκρι χρωματισμό) είναι σχόλια και δεν λαμβάνονται υπόψη από το πρόγραμμα.