ΨΗΦΙΑΚΟ ΚΟΥΡΔΙΣΤΗΡΙ ΜΟΥΣΙΚΩΝ ΟΡΓΑΝΩΝ



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

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

Lab 1: Experimenting on Arduino & AI Sense

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

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

Mini DVR. Οδηγίες χρήσης MDS 660

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

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

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

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

81722 ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ. Μαζί με το BC-228 ένας ενήλικας θα πρέπει να ελέγχει το βρέφος σε τακτά διαστήματα. Παροχή ρεύματος (Α) Πομπός

Ασύρματη ψηφιακή συσκευή παρακολούθησης και αμφίδρομης επικοινωνίας για μωρό VB601

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

ENERGY MUSIC BOX Z1 ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ

Profitstore.gr ΡΟΛΟΙ ΚΑΜΕΡΑ KJ402. Εισαγωγή: Περιγραφή Ψηφιακού Ρολογιού:

Εγχειρίδιο χρήσης (01VS ) Ψηφιακό Διπλό Θερμόμετρο & Διπλός Ελεγκτής για Εφαρμογές Θέρμανσης - Ψύξης

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

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

ΡΑΔΙΟΡΟΛΟΙ-ΞΥΠΝΗΤΗΡΙ AR280P

ΕΛΛΗΝΙΚA. Εισαγωγή: Συστήματα συναγερμού

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

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

ENERGY MUSIC BOX Z3 ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ

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

Φορητό σύστημα ηχείων με Bluetooth και ραδιόφωνο FM ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΤΗ PS-460 PS-465 PS

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

Ελληνικά. Εγχειρίδιο χρήσης του BT-02N

Ασύρματα στερεοφωνικά ακουστικά με μικρόφωνο ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ. AP-B250MV

LFT169 - LFR169 ΠΟΜΠΟΣ ΚΑΙ ΔΕΚΤΗΣ ΨΗΦΙΑΚΩΝ ΚΑΙ ΑΝΑΛΟΓΙΚΩΝ ΣΗΜΑΤΩΝ

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

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

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ. ΣυΣκΕυή ΗλΕκτΡΙκήΣ ΔΙαΔΕΡματΙκήΣ ΔΙέΓΕΡΣΗΣ των νεύρων TEN 240 TEN Έκδοση 2, Σεπτεμβρίου 2007

Εγχειρίδιο Χρήσης Μετατροπέα Τάσης / Φορτιστή Συσσωρευτών

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

OVERMAX ΚΑΘΡΕΠΤΗΣ ΟΠΙΣΘΟΠΟΡΕΙΑΣ CAMROAD MIRROR 2.0 ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ

ΤΗΛΕΧΕΙΡΙΣΤΗΡΙΟ ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΤΗ. Διαβάστε προσεκτικά το εγχειρίδιο χρήστη πριν τη λειτουργία. Φυλάξτε το παρόν εγχειρίδιο για μελλοντική αναφορά.

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

Bread Online. Παναγιώτης Ιωαννίδης Επιβλέπων καθηγητής: Μηνάς Δασυγένης

ΕΛΛΗΝΙΚΑ. Περιγραφή. 1. Ενεργοποίηση/Απενεργοποίηση 2. Ρύθμιση 3. Βραχίονας 4. Ενδείκτης ισχύος 5. Ανίχνευση κίνησης (Ενεργοποίηση)

Be.Be.Be.Be. ήχος, ραδιόφωνο ( FM / AM )

Φορητό σύστημα ηχείων με Bluetooth και ραδιόφωνο FM ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΤΗ PS-72.

UPS ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΤΗ UPS GP-1000

ΠΛΗΡΟΦΟΡΙΚH ΓΙΑ ΤΗΝ ΤEΧΝΗ Η ΕΞAΜΗΝΟ

ΨΗΦΙΑΚH ΑΜΠΕΡΟΤΣΙΜΠΙΔΑ 3 1/2

Μεγάφωνο HP UC. Οδηγός χρήσης

ΟΔΗΓΙΕΣ ΘΕΡΜΟΣΤΑΤΗ/ΧΕΙΡΙΣΤΗΡΙΟΥ

FM/MW/SW1,2 ΠΑΓΚΟΣΜΙΑΣ ΛΗΨΗΣ, ΜΕ ΦΑΚΟ,ΧΕΙΡΟΚΙΝΗΤΗ ΕΝΕΡΓΕΙΑ ΚΑΙ ΗΛΙΑΚΗ ΤΡΟΦΟΔΟΣΙΑ

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

PRESTIGIO GEOVISION 150/450

Ενότητα 1η. Εισαγωγή στην Πληροφορική

ENERGY MUSIC BOX B3 ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ

Android TV BOX Εγχειρίδιο χρήστη

Εγχειρίδιο χρήσης. Ασύρματα ακουστικά 2.4G

UPS ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΤΗ UPS GP Με LCD οθόνη

GSM INTD Εγχειρίδιο χρήσης GSM INTD0909

ENERGY MUSIC BOX BZ1

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

MOTOROLA. TLKR-T80 Extreme. Εγχειρίδιο χρήστη

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

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

Εγχειρίδιο τεχνικού εγκατάστασης. ECRU.1 Δέκτης 2 καναλιών 12/24 V 433 Mhz

Τεχνολογικό Εκπαιδευτικό Ίδρυμα Σερρών Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πληροφορικής & Επικοινωνιών

ICP-CP508. Οδηγός χρήστη Πληκτρολόγια ICP-CP508

Οδηγός γρήγορης έναρξης CD180

CashConcepts CCE 112 NEO

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

Οδηγίες χρήσης. Έγχρωμη Οθόνη TFT

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

ΘΥΡΟΤΗΛΕΟΡΑΣΗ ZEUS VISION MODEL: VHS-207 ΕΓΧΕΙΡΊΔΙΟ ΧΡΉΣΤΗ

ΕΛΛΗΝΙΚΑ. Περιγραφή ρολογιού

U R Safe. GSM Emergency Alarm System URS-007EG. Εγχειρίδιο χρήσης

UPS ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΤΗ UPS GP-600

Προειδοποίηση: Προειδοποιητικό σήμα κίνδυνος ηλεκτροπληξίας.

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

Ελεύθερα Προγραμματιζόμενος Ελεγκτής Θερμικών Εφαρμογών

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

ΦΟΡΗΤΟ RADIO / CD / MP3 / USB / AUX / SD-MMC CARD APRC60AT

ΤΑ ΠΡΩΤΑ ΒΗΜΑΤΑ ΜΕ ΤΟ HERCULES DJCONTROLWAVE KAI TO DJUCED DJW

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

Πίνακας περιεχομένων. Γενικές υποδείξεις. Περιγραφή. Πληροφορίες. Λειτουργία

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ APRC-106. ΦΟΡΗΤΟ MP3 Player με USB/SD

MT-3102 Μίνι ψηφιακή αμπεροτσιμπίδα 3 1/2 2A

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

ENERGY SISTEM H3 MP3 HEADPHONES SERIES ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ

ΘΕΜΑ : ΨΗΦΙΑΚΑ ΗΛΕΚΤΡΟΝΙΚΑ DIGITAL ELECTRONICS

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ DB -10

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ. ΑΜΠΕΡΟΤΣΙΜΠΙΔΑ ΠΟΛΥΜΕΤΡΟ UT 200/201/202 series

Εγχειρίδιο Χρήσης Κ Λ Ι Μ Α Τ Ι Σ Τ Ι Κ Α Σ Υ Σ Τ Η Μ Α Τ Α. Τηλεχειριστήριο L2VI-09 / L2VO-09 L2VI-12 / L2VO-12.

ΣΕΤ ΑΣΥΡΜΑΤΟΥ ΜΙΚΡΟΦΩΝΟΥ - ΔΕΚΤΗ AZUSA UHT-13

UTECO ABEE ΒΙΟΜΗΧΑΝΙΚΟΣ & ΝΑΥΤΙΛΙΑΚΟΣ ΑΥΤΟΜΑΤΙΣΜΟΣ

Εγχειρίδιο Οδηγιών. Soldi 420

Επαγγελματικός ανιχνευτής νομισμάτων ALFA - EC500. Εγχειρίδιο χρήσης

USB Σύστημα ηχείων πολυμέσων 2.0 ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ SVEN

MASTER-MID GPS. Εγχειρίδιο. Mobility, Versatility, Flexibility MT7000

Οδηγίες συναρμολόγησης

Εγχειρίδιο Χρήσης. Χαρακτηριστικά προϊόντος. Φόρτιση: Οδηγίες Λειτουργίας. Εναλλαγή λειτουργιών. Κουμπιά Λειτουργιών

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 7 Ακούγοντας Πρώτη Ματιά στην Ανάλυση Fourier. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων

INVERTER SC-IR ΕΓΧΕΙΡΙΔΙΟ

DigiFrame 1091 Ψηφιακή κορνίζα Full HD IPS

Φορητό σύστημα ηχείων με Bluetooth και ραδιόφωνο FM ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΤΗ PS-175 PS-185 PS-190.

Transcript:

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΑΝΑΤΟΛΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΚΑΙ ΘΡΑΚΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΨΗΦΙΑΚΟ ΚΟΥΡΔΙΣΤΗΡΙ ΜΟΥΣΙΚΩΝ ΟΡΓΑΝΩΝ Φοιτητές Παραπονιάρης Ανδροκλής - ΑΕΜ: 2002 Παπαδόπουλος Δημήτριος - ΑΕΜ: 2093 Επιβλέπων Καθηγητής Δρ. Γεώργιος Α. Παπακώστας Απρίλιος 2015 Καβάλα

Ευχαριστίες Θα θέλαμε να ευχαριστήσουμε τον επιβλέποντα καθηγητή Παπακώστα Γεώργιο για τηνυποστήριξη και τη βοήθειά του, καθώς και για την ευκαιρία που μας έδωσε να ασχοληθούμε με ένα τόσο ενδιαφέρον θέμα. Επίσης, θα θέλαμε να ευχαριστήσουμε τους γονείς μας για τη δύναμη, το κουράγιο και την υπομονή τους καθ όλη τη διάρκεια εκπόνησης αυτής της εργασίας. 2

Περιεχόμενα Περίληψη... 5 Κεφάλαιο 1. Κούρδισμα μουσικών οργάνων... 7 1.1 Ιστορική αναδρομή για τον τονισμό στη μουσική... 7 1.2 Οι σύγχρονοι μουσικοί τόνοι... 8 1.3 Ο τρόπος που παράγονται οι νότες... 9 1.4 Γιατί μας βοηθάει η αυτοματοποίηση του κουρδίσματος... 10 1.5 Πρότυπα κουρδίσματα εγχόρδων... 12 Κεφάλαιο 2. Περιγραφή του συστήματος... 14 2.1 Υλικά... 14 2.1.1 Arduino... 15 2.1.1.1 Μέρη ενός Arduino Uno... 17 2.1.1.2 Σειριακή θύρα... 19 2.1.1.3 Χαρακτηριστικά του Arduino... 19 2.1.1.4 Βασικές μνήμες... 20 2.1.1.5 Τροφοδοσία... 21 2.1.1.6 Επικοινωνία... 21 2.1.2 Ενισχυτής... 22 2.1.3 Οθόνη... 23 2.1.4 Buttons... 24 2.2 Γλώσσα ανάπτυξης συστήματος... 25 2.3 Λειτουργικές απαιτήσεις... 25 2.4 Μη λειτουργικές απαιτήσεις... 28 2.5 Προδιαγραφές... 29 2.6 Σχεδιαγράμματα... 35 3

2.6.1 Αρχιτεκτονικό σχέδιο... 35 2.6.2 Διαγράμματα Ροής Δεδομένων... 36 2.6.3 Δέντρα λάθους... 41 Κεφάλαιο 3. Manual... 48 3.1 Εξώφυλλο... 48 3.2 Πρόλογος... 49 3.3 Οδηγίες ασφάλειας... 49 3.4 Επισκόπιση του συστήματος... 51 3.4.1 Στοιχεία χειρισμού... 51 3.4.2 Επεξήγηση μερών του συστήματος... 52 3.5 Λειτουργία του συστήματος... 53 3.5.1 Αρχικό μενού και υπομενού... 53 3.5.1.1 Επιλογή οργάνου... 54 3.5.1.2 Ελεύθερο κούρδισμα... 55 3.5.1.3 Κούρδισμα με το αφτί... 56 3.5.2 Standard κουρδίσματα οργάνων... 56 3.6 Τεχνικά δεδομένα... 57 Κεφάλαιο 4. Σύνοψη, συμπεράσματα... 58 4.1 Δυσκολίες... 58 4.2 Πλεονεκτήματα της υλοποίησης... 58 4.3 Επεκτάσεις... 59 Βιβλιογραφία... 60 4

Περίληψη Σκοπός της παρούσας πτυχιακής εργασίας είναι η ανάπτυξη ενός ενσωματωμένου συστήματος αναγνώρισης της ηχητικής συχνότητας και καθοδήγησης της επιθυμητής συχνότητας που θέλει να επιτύχει ο χρήστης που επιθυμεί να κουρδίσει ένα μουσικό όργανο (Ηλεκτρονικό κουρδιστήρι για έγχορδα μουσικά όργανα). Η βασική λειτουργία της συσκευής είναι ο προσδιορισμός της θεμελιώδους συχνότητας του παραγόμενου από το μουσικό οργάνου ήχου και η εμφάνιση της πληροφορίας αυτής σε μια οθόνη, έτσι ώστε ο μουσικός να μπορεί να κουρδίσει την κάθε χορδή στην επιθυμητή συχνότητα. Η συσκευή διαθέτει μια υποδοχή για καλώδιο jack για το κούρδισμα μουσικών οργάνων. Το σήμα εισόδου υφίσταται κατάλληλη επεξεργασία μέσω ηλεκτρονικών διατάξεων ενίσχυσης και φιλτραρίσματος, και στη συνέχεια οδηγείται σε έναν μικροελεγκτή, όπου γίνεται ο υπολογισμός της συχνότητάς του, και εντοπίζεται η πλησιέστερη νότα στην οποία αυτή αντιστοιχεί. Η επιλογή του μουσικού οργάνου, του τρόπου κουρδίσματος και της προς κούρδισμα χορδής, γίνεται μέσω πλοήγησης στο menu της οθόνης. 5

Summary The present thesis describes the development of an electronic tuning device for musical instrument. The device detects the fundamental frequency of the plucked string and displays it on an LCD screen, to facilitate the musician with tuning the musical instrument. The signal from the instruments output plug is processed through appropriate amplification and filtering stages, and is then fed to a microcontroller which calculates its frequency and the corresponding musical note. A button on the device is used to select the desired string to be tuned. 6

Κεφάλαιο 1. Κούρδισμα μουσικών οργάνων 1.1 Ιστορική αναδρομή για τον τονισμό στη μουσική Η μουσική είναι μία από τις παλαιότερες μορφές τέχνης. Από τα αρχαία χρόνια οι άνθρωποι ασχολούνται με τη μουσική ως μέσο ψυχαγωγίας και κοινωνικής έκφρασης. Ξεκίνησε με την ανθρώπινη φωνή, η οποία τραγουδούσε ή μιμούταν ήχους της φύσης. Πολύ σύντομα εμφανίστηκαν τα πρώτα μουσικά όργανα, τα οποία αρχικά ήταν πολύ απλά, καθώς ως μουσικό όργανο μπορεί να θεωρηθεί ακόμα και το χτύπημα δύο πετρών μεταξύ τους. Με τον καιρό όμως τα μουσικά όργανα γινόταν όλο και πιο σύνθετα και το κάθε ένα είχε την δυνατότητα να παράγει ένα πλήθος διαφορετικών ήχων. Η διαφοροποίηση αυτή προσεγγίζεται στην διαφορά του τονισμού του ήχου, δηλαδή της συχνότητας εκπομπής του παραγόμενου ηχητικού σήματος. Ο μουσικός λοιπόν μπορούσε να παίξει μια σειρά διαφορετικών ηχητικών τόνων ώστε να παραχθεί μια «μελωδία». Όταν άρχισαν δύο ή παραπάνω μουσικά όργανα να παίζουν μαζί, δημιουργήθηκε η ανάγκη να υπάρχει μια «συμφωνία» στους ήχους που παράγονταν από το κάθε ένα όργανο, καθώς δεν ακούγονται όλοι οι μουσικοί τόνοι ευχάριστα μεταξύ τους. Προκύπτει λοιπόν η ανάγκη τονίσματος των μουσικών οργάνων, ώστε να ξέρει ο μουσικός ότι σε συγκεκριμένα «πατήματα» πάνω στο όργανό του, έχει συγκεκριμένους ηχητικούς τόνους, ή όπως ονομάζονται πιο κοινά νότες. Εκτός όμως από το ότι βοηθάει στην ηχητική συμφωνία δύο μουσικών οργάνων, ο τονισμός της μουσικής είναι και ένας τρόπος κωδικοποίησης και καταγραφής, ο οποίος επιτρέπει, για παράδειγμα, να αναπαράγουμε και να ακούσουμε σήμερα μουσικά κομμάτια από παλαιότερες εποχές, κατά τις οποίες δεν υπήρχε η δυνατότητα ηχογράφησης. Τα πρώτα στοιχεία έγγραφου συμβολισμού της μουσικής τα συναντούμε γύρω στο 2000 π.χ. στην περιοχή του σημερινού Ιράκ. Σον 6ο π.χ. αιώνα έχουμε τα πρώτα ευρήματα συμβολισμού των μουσικών τονισμών στην αρχαία Ελλάδα. Ακολουθεί η Βυζαντινή γραφή η οποία 7

χρησιμοποιείται και διδάσκεται μέχρι και σήμερα. Γύρω στον 7ο μ.χ. αιώνα αναπτύσσεται στην Ευρώπη μια γραφή πολύ κοντά σε αυτήν που χρησιμοποιούμε σήμερα, γνωστή ως «πρώιμη μουσική γραφή», ώσπου το 17ο μ.χ. αιώνα να πάρει την τελική της μορφή, όπου χρησιμοποιείται έως και σήμερα, από τα περισσότερα σύγχρονα μουσικά ρεύματα. Παράλληλα, αναπτύχθηκαν πολλές ακόμα μουσικές γραφές ανά τον κόσμο, όπου σε κάθε μία από αυτές βασική πληροφορία που δίνεται για το κομμάτι, είναι ο τόνος στον οποίο πρέπει κάθε φορά να ακουστεί ο ήχος. 1.2 Οι σύγχρονοι μουσικοί τόνοι Οι επτά βασικές νότες (Ντο Ρε Μι Φα Σολ Λα Σι), μαζί με πέντε ακόμα ενδιάμεσους τόνους, που αποκαλούνται διέσεις ή υφέσεις, αποτελούν τους δώδεκα τόνους της σύγχρονης μουσικής συμβολοσειράς. Ντο Ντο# Ρε Ρε# Μι Φα Φα# Σολ Σολ# Λα Λα# Σι Ή όπως συμβολίζονται διεθνώς: C C# D D# E F F# G G# A A# B Ο κάθε ένας από αυτούς τους τόνους επαναλαμβάνεται σε πολλαπλές ηχητικές συχνότητες, η κάθε μία διπλάσια από την προηγούμενη. Μια σειρά 12 διαδοχικών τόνων αποτελούν μία μουσική οκτάβα. Παρακάτω βλέπουμε έναν πίνακα με τους δώδεκα τόνους σε όλες τις οκτάβες και τις συχνότητες που αντιστοιχούν σε όλους τους τόνους. 8

Πίνακας 1. Οι συχνότητες των τόνων σε όλες τις οκτάβες. 1.3 Ο τρόπος που παράγονται οι νότες Οι μουσικοί ήχοι που ακούμε με τα αφτιά μας δεν είναι τίποτα παραπάνω από κύματα πίεσης που παράγονται από τα διάφορα μουσικά όργανα και διαδίδονται στον αέρα. Τα κύματα, με τη σειρά τους, παράγονται όταν κάποιο σώμα κινείται παλμικά και συμπιέζει -αποσυμπιέζει τον αέρα στην περιοχή του. Στα έγχορδα όργανα, όπως για παράδειγμα η κιθάρα, το βιολί ή το πιάνο, το σώμα που κινείται παλμικά είναι μια χορδή. 9

1.4 Γιατί μας βοηθάει η αυτοματοποίηση του κουρδίσματος Στην αρχή το κούρδισμα των μουσικών οργάνων γινόταν καθαρά εμπειρικά. Μία βασική ικανότητα που έπρεπε να έχει ο μουσικός ήταν να μπορεί να αναγνωρίσει ακουστικά τουλάχιστον έναν βασικό μουσικό τόνο, και σύμφωνα με αυτόν να κουρδίσει το μουσικό όργανο. Πολλές φορές, όταν δύο ή παραπάνω μουσικά όργανα έπρεπε να παίξουν μαζί, απλά οι μουσικοί κούρδιζαν έτσι ώστε σε συγκεκριμένα πατήματα να βγαίνουν οι ίδιοι τόνοι, χωρίς να τους ενδιαφέρει ποιοι ακριβώς ήταν αυτοί, ή αν έπαιζαν ακριβώς πάνω σε τόνο ή ενδιάμεσα δύο τόνων. Ο τρόπος κουρδίσματος των μουσικών οργάνων πάνω στις πραγματικές νότες που χρησιμοποιούταν μέχρι και τα μέσα του 20ου αιώνα, αλλά χρησιμοποιείται από πολλούς ακόμα και σήμερα (κυρίως για το κούρδισμα οργάνων ορχήστρας), γίνεται με ένα μουσικό όργανο που παράγει έναν τυποποιημένο τόνο χωρίς να ξεκουρδίζεται. Ένα τέτοιο όργανο είναι το γνωστό σε όλους διαπασών. Το διαπασών αποτελείται από δύο παράλληλους μεταλλικούς βραχίονες που σχηματίζουν ένα «πέταλο», του οποίου οι δονήσεις παράγουν έναν σταθερό τόνο, συνηθέστερα τον τόνο Λα της 4ης οκτάβας, δηλαδή ηχητική συχνότητα 440Hz. Με βάση τον τόνο αυτό αναφοράς, ένας έμπειρος μουσικός μπορούσε να κουρδίσει με μεγάλη ακρίβεια το όργανο. Στην κιθάρα, για παράδειγμα, ο τόνος Α4 βρίσκεται στο 5ο τάστο της 1ης χορδής. Το πατάμε λοιπόν και κουρδίζουμε μέχρι να ακούγεται ο ίδιος ήχος με το διαπασών. Αφού κουρδίσουμε την πρώτη χορδή, ξέρουμε ότι ελεύθερη βγάζει Ε4 όπου είναι ο τόνος της 2ης χορδής στο 5ο τάστο. Με οδηγό λοιπόν την 1η χορδή κουρδίζουμε και την 2η και ούτω καθεξής. Γίνεται αντιληπτό ότι, ακόμα και αυτός ο τρόπος κουρδίσματος παρουσιάζει αρκετές δυσκολίες για κάποιον που δεν διαθέτει την απαραίτητη εμπειρία και το κατάλληλα εκπαιδευμένο αυτί. Από το δεύτερο μισό του 20ου αιώνα υπάρχουν ηλεκτρονικές συσκευές κουρδίσματος των μουσικών οργάνων οι οποίες στην ουσία ανιχνεύουν την συχνότητα του παραγόμενου ήχου και μας δείχνουν σε ποιον τόνο αντιστοιχεί, ή αν βρίσκεται ενδιάμεσα δύο τόνων, έτσι ώστε το κούρδισμα να γίνεται εύκολα και με ακρίβεια. Κάποιες από τις συσκευές αυτές διαθέτουν μόνο LEDs τα οποία δείχνουν εάν ο 10

παραγόμενος ήχος βρίσκεται ακριβώς πάνω στον τόνο, πιο πριν ή πιο μετά. Άλλα έχουν αναλογική ένδειξη με βελόνα για να μας δείχνουν σε ποιο σημείο της μουσικής κλίμακας παίζουμε, και άλλα ψηφιακή απεικόνιση σε LCD display. Σήμερα υπάρχουν και ρομποτικά κουρδιστήρια τα οποία όχι μόνο ανιχνεύουν την συχνότητα του ήχου, αλλά μπορούν τα ίδια και να κουρδίσουν το όργανο, χρησιμοποιώντας έναν μικρό κινητήρα για την αυτόματη περιστροφή των κλειδιών της κιθάρας. Υπάρχουν ακόμα και προγράμματα στον υπολογιστή με τα οποία μπορεί κάποιος να κουρδίσει ένα μουσικό όργανο, οδηγώντας το σήμα από την κιθάρα στην είσοδο της κάρτας ήχου του υπολογιστή. Ορισμένα αντιπροσωπευτικά παραδείγματα εμπορικά διαθέσιμων προϊόντων κουρδίσματος μουσικών οργάνων παρουσιάζονται στις παρακάτω (Εικόνες 1-3). Εικόνα 1. Χρωματικό κουρδιστήρι ψηφιακής ένδειξης Εικόνα 2. Κουρδιστήρι αναλογικής ένδειξης με βελόνα 11

Εικόνα 3. Ρομποτικό κουρδιστήρι 1.5 Πρότυπα κουρδίσματα εγχόρδων Κιθάρα: μι λα ρε σολ σι μι Μπάσο: μι λα ρε σολ Βιολί/Μαντολίνο: σολ ρε λα μι 12

Τσέλο: ντο σολ ρε λα (Υπάρχουν και άλλα έγχορδα μουσικά όργανα, αλλα αναφέραμε μόνο τα πρότυπα κουρδίσματα των μουσικών οργάνων τα οποία συμπεριλαβάνονται στο μενού του συστήματος μας). 13

Κεφάλαιο 2. Περιγραφή του συστήματος Στο κεφάλαιο αυτό θα αναλυθεί το σύστημα το οποίο χρησιμοποιήθηκε για την παρούσα πτυχιακή εργασία και θα αναπτυχθεί αναλυτικότερα η πλατφόρμα Arduino. 2.1 Υλικά Τα υλικά που χρησιμοποιήθηκαν για το ψηφιακό κουρδιστήρι είναι τα εξής: Αrduino Uno με ενσωματωμένο μικροελεγκτή ATmega328. Μη αναστρέφων ενισχυτής. Οθόνη LCD 4x20. Ηχείο (Speaker). Μπαταρίες 2x9V και 11.1V. Υποδοχή για καλώδιο (Jack). Καλώδια. Buttons. 14

2.1.1 Arduino Οι πλατφόρμες Arduino κατασκευάζονται κυρίως από την εταιρία Smart Project, ενώ η έναρξη της ανάπτυξής του ξεκίνησε στην Ιταλία, στο Ινστιτούτο Αλληλεπίδρασης Σχεδίασης Ivrea το 2005 για εκπαιδευτικούς σκοπούς. Γενικότερα πρόκειται για ένα εργαλείο με το οποίο γίνεται εφικτό να κατασκευαστεί ένα υπολογιστικό σύστημα με την έννοια ότι αυτό θα ελέγχει συσκευές του φυσικού κόσμου. Το Arduino είναι ένα εργαλείο για τη δημιουργία υπολογιστών οι οποίοι είναι ικανοί να αντιληφθούν περισσότερα από τον υλικό κόσμο σε σχέση με αυτά που είναι ικανός να κάνει ο προσωπικός υπολογιστής. Πρόκειται για μία ανοιχτού κώδικα υπολογιστική πλατφόρμα βασισμένη σε μία απλή πλακέτα, με εισόδους/εξόδους, έναν μικροελεγκτή και ένα προγραμματιστικό περιβάλλον για την εγγραφή του κώδικα. Πιο συγκεκριμένα βασίζεται σε ένα ευέλικτο και εύκολο στη χρήση υλικό και λογισμικό, σε μία αναπτυξιακή πλακέτα που ενσωματώνει επάνω έναν μικροελεγκτή και συνδέεται με τον ηλεκτρονικό υπολογιστή για να προγραμματιστεί μέσα από ένα απλό περιβάλλον ανάπτυξης. Με το Arduino δημιουργούνται διαφόρων ειδών συσκευές που εξυπηρετούν πλήθος εφαρμογών έχοντας τη δυνατότητα να επιδέχονται ερεθίσματα από το περιβάλλον τους, μέσω αισθητήρων και να αντιδρούν ανάλογα με τον προγραμματισμό τους. Μπορεί δηλαδή να χρησιμοποιηθεί για να αναπτύξει διαδραστικά αντικείμενα, εισάγοντας δεδομένα από ένα πλήθος διακοπτών ή αισθητήρων ώστε να ελέγχει άλλα φυσικά αντικείμενα. Οι κατασκευές (Projects) του μπορούν να είναι αυτόνομες ή να επικοινωνούν με κάποιο πρόγραμμα που τρέχει στον προσωπικό υπολογιστή. Τα σημαντικότερα πλεονεκτήματα του Arduino είναι: Το χαμηλό κόστος. Είναι ανεξαρτήτου πλατφόρμας (cross-platform). Το πρόγραμμά του εκτελείται και στα τρία λειτουργικά συστήματα (windows, linux, macintosh). Η απλότητα στη χρήση. Το ανοιχτού κώδικα και επέκτασης λογισμικό του. Η εμπειρία και η υπάρχουσα γνώση για το χρήστη. Η καθοδήγηση, η βοήθεια και η διδαχή βρίσκεται σε αμέτρητες ιστοσελίδες και forum. 15

Οι πολλαπλές εκδόσεις του Arduino. Κάθε έκδοση καλύπτει διαφορετικές ανάγκες και έχει διαφορετικές δυνατότητες και επιπρόσθετα υπάρχουν και πλακέτες επέκτασης (shields) για ενίσχυση και περεταίρω δυνατότητες. Παρακάτω ακολουθούν μερικές από τις πλατφόρμες Arduino που έχουν αναπτυχθεί και όπου η κάθε μία είτε αποτελεί εξέλιξη κάποιας άλλης, είτε έχει αναπτυχθεί για κάποιο συγκεκριμένο σκοπό: Arduino Uno Arduino Stamp Arduino Diecimila Arduino Fio Arduino Duemilanove Arduino NG Arduino Mega1280 Arduino NG+ Arduino Mega2560 Arduino Extreme Arduino Mini Arduino Bluetooth Arduino Nano LilyPad Arduino Arduino USB Serial Arduino 16

Arduino Uno Στην υπάρχουσα πτυχιακή εργασία χρησιμοποιήθηκε η πλατφόρμα Arduino Uno για την επίτευξη της κατασκευής του συστήματος ψηφιακού κουρδίσματος μουσικών οργάνων. Η καρδιά του Arduino Uno είναι ένας μικροεπεξεργαστής. Αυτός ελέγχει τα 14 ψηφιακά input/output pins και τα 6 αναλογικά που υπάρχουν επάνω στην πλακέτα ανάπτυξης. Δια μέσου αυτών των 20 pins γίνονται όλες οι διασυνδέσεις με εξωτερικά στοιχεία (κινητήρες, LEDs, LCD οθόνες κλπ) και αισθητήρες (Ultrasonic, θερμόμετρα, accelometers κ.α). Στην πλακέτα ανάπτυξης υπάρχει μια θύρα USB και μέσω αυτής γίνεται η μεταφορά των δεδομένων από αυτήν προς κάποια άλλη συσκευή, συνήθως έναν υπολογιστή, και το αντίστροφο. 2.1.1.1 Μέρη ενός Arduino Uno Όπως προαναφέρθηκε το Arduino (Εικόνα 4) έχει 14 ψηφιακούς ακροδέκτες Εισόδου/Εξόδου οι οποίοι μπορούν να τεθούν ως είσοδοι ή ως έξοδοι με τις εντολές-συναρτήσεις pinmode(), digitalwrite(), και digitalread() που θα αναλυθούν παρακάτω. Λειτουργούν στα 5 Volts και έχουν την δυνατότητα να παρέχουν ή να καταβυθίζουν ένταση της τάξεως των 40mA. Σε κάθε pin υπάρχει εσωτερικά ένας Pull-up αντιστάτης στα 20-50KΩ. Επιπλέον, έχει 6 αναλογικούς ακροδέκτες Εισόδου. Αυτοί μπορούν να διαβάσουν αναλογικές τιμές όπως η τάση μιας μπαταρίας κτλ και να τις μετατρέψουν σε έναν αριθμό από 0-1023. Η μέτρηση της τάσης γίνεται προκαθορισμένα από 0 έως 5 volts. Εκτός αυτού, 6 εκ των 14 ψηφιακών ακροδεκτών οι P3, P5, P6, P9, P10 και P11 έχουν την δυνατότητα να προγραμματιστούν ώστε να λειτουργούν ως αναλογικές έξοδοι. Κάποιοι ακροδέκτες έχουν συγκεκριμένες λειτουργίες: Σειριακή Λειτουργία: 0 (RX) και 1 (TX). Χρησιμοποιούνται για λήψη (RX) και εκπομπή (TX) TTL σειριακών δεδομένων. 17

Εξωτερικές Διακοπές: 2 και 3. Αυτοί οι ακροδέκτες μπορούν να ενεργοποιούν διακοπές αν ανιχνευθεί παλμός χαμηλής τάσης. Με την συνάρτηση attachinterrupt(). Ο σκανδαλισμός των διακοπών μπορεί να γίνεται στο λογικό 0,1. PWM: 3, 5, 6, 9, 10, και 11 pins. Παρέχουν Έξοδο 8-bit PWM με την συνάρτηση analogwrite(). SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Αυτοί οι ακροδέκτες επιτρέπουν επικοινωνία SPI, η οποία αν και παρέχεται από το hardware δεν είναι ακόμα διαθέσιμη στην γλώσσα προγραμματισμού του Arduino. LED: 13. Στον ακροδέκτη 13 υπάρχει ένα ενσωματωμένο LED. Όταν ο ακροδέκτης έχει τιμή HIGH, το LED ανάβει ενώ όταν το pin είναι LOW δεν ανάβει. Εικόνα 4. Μέρη της πλατφόρμας Arduino Uno 18

2.1.1.2 Σειριακή Θύρα Χρησιμοποιείται για επικοινωνία μεταξύ της πλατφόρμας Arduino και ενός υπολογιστή ή με άλλες συσκευές. Επικοινωνεί με τις ψηφιακές ακίδες 0 (RX) και 1 (TX), καθώς και με τον υπολογιστή μέσω USB. Έτσι, εάν χρησιμοποιείται αυτή η λειτουργία(usb), δεν μπορούν ταυτόχρονα να χρησιμοποιηθούν οι ακίδες 0 και 1 για ψηφιακή είσοδο ή έξοδο. Ακόμη η ενσωματωμένη σειριακή οθόνη στο περιβάλλον του Arduino μπορεί να χρησιμοποιηθεί για να επικοινωνεί με την πλακέτα Arduino. Οι βασικές συναρτήσεις της σειριακής θύρας είναι: begin( ) Αρχικοποίηση της σειριακής. end( ) Κλείσιμο της σειριακής. available( ) Έλεγχος αν υπάρχουν δεδομένα να διαβαστούν. read( ) Ανάγνωση των εισερχόμενων σειριακών δεδομένων. peek( ) Επιστρέφει το επόμενο byte από την σειριακή. flush( ) Άδειασμα του buffer της σειριακής από δεδομένα που έχει. print( ) Γράψιμο δεδομένων στη σειριακή. println() Το ίδιο με την Print(), αλλά με αλλαγή γραμμής στο τέλος. write() Γράψιμο δυαδικών δεδομένων στη σειριακή. 2.1.1.3 Χαρακτηριστικά του Arduino Microcontroller: ATmega328 Τάση λειτουργίας: 5V Τάση εισόδου: 7-12V 19

Τάση εισόδου (όριο): 6-20V Digital I/O Pins: 14 (εκ των οποίων 6 περιέχουν PWM εξόδους) Analog Input Pins: 6 DC ρεύματος I/O Pin: 40 ma DC τρέχουσα για 3.3V Pin: 50 ma Flash Memory: εκ των οποίων 0,5 KB που χρησιμοποιούνται από τον bootloader SRAM: 2 KB EEPROM: 1 KB Clock Speed: 16 MHz Πίνακας 2. Χαρακτηριστικά Arduino 2.1.1.4 Βασικές μνήμες Οι πλατφόρμες Arduino διαθέτουν τρείς βασικές μνήμες και δύο σταθερές: Flash memory (32 Kbytes) στην οποία τοποθετείται κάθε φορά το πρόγραμμα που πρόκειται να εκτελεστεί καθώς και ο φορτωτής εκκίνησης (bootloader) που διευκολύνει την διαδικασία του προγραμματισμού της πλατφόρμας. SRAM memory (στατική μνήμη τυχαίας προσπέλασης των 2 Kbytes) η οποία χρησιμοποιείται για την προσωρινή αποθήκευση των στατικών και των μεταβλητών δεδομένων του προγράμματος που εκτελείται. ΕEPROM memory (1 Kbytes) στην οποία αποθηκεύονται οι τιμές των μεταβλητών όταν η πλατφόρμα σβήσει(off). Χρησιμοποιείται για την αποθήκευση ρυθμίσεων και άλλων παραμέτρων ανάμεσα στα Reset του Arduino. Και η μνήμη Flash με τη μνήμη ΕEPROM που είναι σταθερές (οι πληροφορίες παραμένουν μετά την απενεργοποίησης του ρεύματος). 20

2.1.1.5 Τροφοδοσία Το Arduino Uno τροφοδοτείται είτε από εξωτερική τροφοδοσία που παρέχεται είτε μέσω μιας υποδοχής των 2.1mm είτε απευθείας από την θύρα USB του υπολογιστή. H επιλογή της πηγής γίνεται αυτόματα από το αναπτυξιακό. Η πλακέτα μπορεί να λειτουργήσει με εξωτερική πηγή από 6 έως 20 Volts με μια ιδανική τάση τα 9 Volts. Οι ακροδέκτες τροφοδοσίας είναι οι εξής: VIN. Ακροδέκτης για μη σταθεροποιημένη τάση. Συνήθως εδώ συνδέεται μια εξωτερική πηγή τροφοδοσίας. 5V. Ακροδέκτης σταθεροποιημένης τάσης 5Volt. Η ρυθμιζόμενη παροχή ηλεκτρικού ρεύματος που χρησιμοποιείται για την τροφοδοσία του μικροελεγκτή ή άλλων ηλεκτρονικών στοιχείων της πλακέτας. Αυτό μπορεί να προέρχεται είτε από Vin με ενσωματωμένο ρυθμιστή, ή να παρέχεται από USB ή άλλη ρυθμιζόμενη παροχή 5V. 3V3. Μέγιστη κατανάλωση ρεύματος είναι 50mA. GND. Γειωμένες ακίδες. 2.1.1.6 Επικοινωνία Το Αrduino Uno έχει την δυνατότητα να επικοινωνεί με τον Ηλεκτρονικό Υπολογιστή, έναν άλλον Arduino ή άλλους μικροελεγκτές. Το ολοκληρωμένο ATMega328 (Εικόνα 5) παρέχει σειριακή επικοινωνία ΤΤL 5 Volt UART, η οποία είναι διαθέσιμη από τους ακροδέκτες (λήψη RX) 0 και (εκπομπή TX) 1 του ολοκληρωμένου. Επιπλέον η πλακέτα του Arduino παρέχει σειριακή επικοινωνία με τον Ηλεκτρονικό Υπολογιστή για προγραμματισμό με την βοήθεια ενός ειδικά προγραμματιζόμενου ενσωματωμένου ολοκληρωμένου ATmega328 αντί του chip FTDI. Με την σύνδεση του Arduino μέσω της θύρας USB αυτό εμφανίζεται ως εικονική σειριακή θύρα COM στο λογισμικό του υπολογιστή. Το firmware ATmega328 χρησιμοποιεί τα προγράμματα οδήγησης USB COM και δεν χρειάζεται να υπάρχει εξωτερικός παράγοντας. Επομένως, στα Windows απαιτείται μόνο ένα αρχείο.inf. 21

Ένα Arduino περιλαμβάνει ένα τμηματικό όργανο ελέγχου το οποίο επιτρέπει την απλή μορφή κειμένου δεδομένων που αποστέλλονται προς και από τη πλακέτα Arduino. Οι RX και TX λυχνίες LED στην πλακέτα αναβοσβήνουν όταν γίνεται μετάδοση δεδομένων μέσω του USB-tochip σειριακή και USB σύνδεση με τον υπολογιστή. Εικόνα 5. Μικροελεγκτής ATmega328 2.1.2 Ενισχυτής Για την επίτευξη της κατασκευής του συστήματος χρησιμοποιήθηκε ενας μη αναστρεφόμενος ενισχυτής (Εικόνα 6) ώστε να αυξηθεί το πλάτος του σήματος από περίπου + ή - 200mV έως + ή - 2.5V (ιδανικά) και να προστατευθεί η πηγή ήχου από τα υπόλοιπα μέρη του του κυκλώματος. 22

Εικόνα 6. Ενισχυτής Arduino 2.1.3 Οθόνη Η οθόνη η οποία χρησιμοποιήθηκε (Εικόνα 7) είναι μια μονοχρωματική LCD 4x20. Πρόκειται για μία οθόνη εργοστασιακά φτιαγμένη HD44780, με 4 γραμμές x 20 χαρακτήρες που απεικονίζονται με μαύρο χρώμα σε πράσινο φόντο και οπίσθιο φωτισμό. Εικόνα 7. Οθόνη LCD 4x20 23

Ακίδες ανά χαρακτήρα 5 x 8 Πλάτος χαρακτήρα 3 mm Αριθμός σειρών 4 Χαρακτήρες ανά σειρά 20 Μέγιστη κατανάλωση ρέυματος 240 ma οπίσθιου φωτισμού Μέγιστη κατανάλωση ρεύματος 3 ma Παροχή τάσης 5 V DC Ελλάχιστη θερμοκρασία λειτουργίας -20 C Μέγιστη θερμοκρασία λειτουργίας 70 C Πίνακας 3. Χαρακτηριστικά οθόνης 2.1.4 Buttons Το σύστημα περιλαμβάνει τέσσερα κουμπιά (buttons). Το κουμπί back για να πλοηγείται ο χρήστης στο προηγούμενο μενού, το κουμπί ok για να τρέχει την αντίστοιχη επιλογή και τα κουμπιά up και down για να πλοηγείται πάνω και κάτω στο μενού. 24

2.2 Γλώσσα ανάπτυξης συστήματος Η γλώσσα προγραμματισμού που επιλέχθηκε είναι η Wiring C (ουσιαστικά πρόκειται για τη C τροποποιημένη και προσαρμοσμένη στις εκάστοτε ανάγκες). Έρχεται με ένα φορτωτή εκκίνησης που επιτρέπει να ανέβει νέος κώδικας χωρίς τη χρήση εξωτερικού υλικού προγραμματιστή. Επικοινωνεί χρησιμοποιώντας το αρχικό πρωτόκολλο αναπτυξιακής κάρτας STK500. Το περιβάλλον ανάπτυξης του λογισμικού βασίζεται στην γλώσσα προγραμματισμού Processing και την γλώσσα προγραμματισμού Wiring, οι οποίες είναι ανοιχτού κώδικα (οpen source). 2.3 Λειτουργικές απαιτήσεις On/Off Αρχικά το σύστημα θα πρέπει να περιλαμβάνει ένα κουμπι On/Off για να ενεργοποιείται και να απενεργοποιείται αντίστοιχα. Είναι απαραίτητο για την εξοικονόμιση ενέργειας και τη σωστή λειτουργία του συστήματος. Οθόνη Το σύστημα πρέπει να περιλαμβάνει μία οθόνη (LCD 4x20), μέσω της οποίας ο χρήστης να πλοηγείται στο μενού όπου του εμφανίζονται οι επιλογές που θα ακολουθήσει σύμφωνα με τις ανάγκες του. Η χωρητικότητα σε χαρακτήρες και ο τύπος οθόνης θα πρέπει να καλύπτουν τις ανάγκες κατασκευής του μενού. Ηχείο (Speaker) Το σύστημα θα πρέπει να έχει ένα ηχείο (έξοδος), ικανό να αναπαράγει τη νότα που απαιτεί ο χρήστης για το κούρδισμα του οργάνου. 25

Buttons Το σύστημα οφείλει να ενσωματώνει κουμπιά με τη βοήθεια των οποίων ο χρήστης θα έχει τη δυνατότητα να πλοηγείται στο μενού. Jack Το σύστημα θα πρέπει να έχει ικανότητα σύνδεσης μέσω jack καλώδιο. Θα πρέπει να δίνεται η δυνατότητα σύνδεσης του μουσικού όργανου με το κουρδιστήρι μέσω του jack καλώδιου για μεγαλύτερη ακρίβεια στο κούρδισμα. Συχνότητες Το σύστημα θα πρέπει να είναι ικανό να αναγνωρίζει τη συχνότητα που εισέρχεται από το όργανο το οποίο ο χρήστης θέλει να κουρδίσει και να εμφανίζει στην οθόνη τη νότα στην οποία αντιστοιχεί η εκάστοτε συχνότητα. Θα πρέπει, δηλαδή, το μήκος κύματος που προσλαμβάνει το σύστημα να μεταφράζεται στην αντίστοιχη νότα. Αρχικό μενού Με την ενεργοποίηση του κουρδιστηριού θα πρέπει να εμφανίζεται το αρχικό μενού, στο οποιό ο χρήστης έχει τη δυνατότητα να επιλέξει μια από τις παρακάτω λειτουργίες: 1. Επιλογή οργάνου 2. Ελεύθερο κούρδισμα 3. Κούρδισμα με το αφτί Υπομενού Το σύστημα θα πρέπει με κάθε επιλογή στο μενού να καλεί μία συνάρτηση που εμφανίζει το επόμενο υπομενού. Πλοήγηση στο μενού Το σύστημα θα πρέπει να έχει τη δυνατότητα μέσω των κουμπιών να εμφανίζει στην οθόνη μία ένδειξη βέλους (<-) για την πλοήγηση στο μενού και μία ένδειξη ΟΚ για την επιλογή. Επιλογή οργάνου (Musical Instrument) Το σύστημα πρέπει να επιτρέπει την επιλογή του εκάστοτε οργάνου προς κούρδισμα. Θα πρέπει να υπάρχουν οι επιλογές κιθάρα, μπάσο, βιολί/μαντολίνο, τσέλο, ώστε ο χρήστης αφού επιλέξει το 26

όργανο το οποίο θέλει να κουρδίσει, να εμφανιστεί η αλληλουχία νοτών τις οποίες το όργανο περιέχει και έτσι να τις κουρδίσει καθεμία ξεχωριστά. Έτσι εαν για παράδειγμα ο χρήστης επιλέξει την ένδειξη «κιθάρα» θα πρέπει να εμφανιστεί στην οθόνη: Κιθάρα --------- όργανο που έχει επιλέξει ο χρήστης. Έπειτα θα πρέπει να υπάρχει η ένδειξη: Χορδή 4 Νότα D (Η χορδή που κουρδίζει και νότα που θα πρέπει να ακούγεται στην κιθάρα μετά το κουρδισμά) Τρέχον Νότα C (Η νότα που βρίσκεται η χορδή της κιθάρας του χρήστη εκεινή στιγμή). Και τέλος θα πρέπει να δίνεται η ένδειξη του τί θα πρέπει να κάνει ο χρήστης: Σφίξε ΟΚ Χαλάρωσε (Το βέλος θα δείχνει στο χρήστη την ενέργεια που πρέπει να κάνει ώστε να φτάσει στο σωστό κούρδισμα). Ελεύθερο κούρδισμα (Default Tunning) Θα πρέπει να υπάρχει η δυνατότητα στον αρχάριο χρήστη να κουρδίσει το μουσικό του όργανο σύμφωνα με την προεπιλεγμένη αρμονία νοτών για κάθε όργανο. Μέσω ενδείξεων «σφίξε» (tighten up) και «χαλάρωσε» (loosen up), τις οποίες ο χρήστης θα ακολουθεί και θα προσαρμόσει, θα επιτευχθεί το επιθυμητό αποτέλεσμα. Κούρδισμα με το αφτί (Buzzer Tunning) Θα πρέπει να δίνεται η δυνατότητα, εαν ο χρήστης είναι πιο προχωρημένος και έμπειρος στο κούρδισμα του οργάνου ή εαν το όργανο του χρήστη δεν περιλαμβάνεται στο μενού του κουρδιστηρίου, να κουρδίσει το όργανό του επιλέγοντας τη νότα για την εκάστοτε χορδή κλπ. και με το πάτημα του αντίστοιχου κουμπιού να την ακούσει. Εαν ο χρήστης επιλέξει την ένδειξη «κούρδισμα με το αφτί» θα πρέπει στην οθόνη να εμφανίζεται η εξής επιλογή: Νότα προς αναπαραγωγή F (Εδώ υπάρχει η δυνατότητα να διαφοροποιηθεί η νότα σε αυτή που θέλει ο χρήστης και πατώντας τα αντίστοιχα κουμπιά την ακούει). 27

2.4 Μη λειτουργικές απαιτήσεις Υποδοχή νοτών Το σύστημα θα δέχεται τις νότες σε πραγματικό χρόνο για να τις υπολογίζει δυνητικά. Range Το σύστημα θα δέχεται τη νότα μέσα στο συγκεκριμένο range: 20 εως 20000 Hz Χρόνος παραγωγής της νότας Η νότα θα πρέπει να διαρκέσει τουλάχιστον ένα δευτερόλεπτο (1 sec) και κάτι για να προσληφθεί σωστά από το σύστημα. Καθαρότητα ήχου Κατά την παραγωγή της εκάστοτε νότας θα πρέπει να υπάρχει έλλειψη θορύβου από το περιβάλλον που υπερβαίνει τη βασική νότα. Παραγωγή μίας νότας κάθε φορά Το σύστημα αδυνατεί να επεξεργαστεί πολλές νότες ταυτόχρονα. Ο χρήστης πρέπει να κουρδίζει μία νότα κάθε φορά. Επιλογή οργάνου Το σύστημα ενσωματώνει συγκεκριμένες επιλογές οργάνων σε αυτό το υπομενού, οι οποίες είναι: κιθάρα, μπάσο, βιολί/μαντολίνο, τσέλο. Για άλλα όργανα τα οποία δεν αναφέρονται ο χρήστης πρέπει αναγκαστικά να ακολουθήσει τις επιλογές: «Ελεύθερο κούρδισμα» ή «Κούρδισμα με το αφτί», στις οποίες ο χρήστης οφείλει να γνωρίζει τις νότες του οργάνου του. 28

2.5 Προδιαγραφές Προδιαγραφή 1: Ενεργοποίηση συστήματος Υπηρεσία ή λειτουργία Περιγραφή Δεδομενα εισόδου Προέλευση Δεδομένα εξόδου Προορισμός Ενέργεια Απαίτηση Προυπόθεση ή προσυνθήκη Αποτέλεσμα Πλευρικά φαινόμενα Ενεργοποίηση συστήματος Ενεργοποιείται η οθόνη και εμφανίζει το αρχικό μενού Power Διακόπτης Switch, ο οποίος ενεργοποιείται από τον χρήστη Εκτυπώνει το αρχικό μενού στην οθόνη Power συστήματος Ο χρήστης αλλάζει τη θέση του διακόπτη από Off σε On Οι μπαταρίες να είναι τοποθετημένες στο σύστημα Οι μπαταρίες να είναι φορτισμένες Εμφάνιση αρχικού μενού στην οθόνη Βραχυκύκλωμα κατά την ενεργοποίηση τροφοδοσίας, low battery Προδιαγραφή 2: Αναγνώριση Εκτύπωση συχνότητας Υπηρεσία ή λειτουργία Περιγραφή Δεδομενα εισόδου Προέλευση Δεδομένα εξόδου Προορισμός Ενέργεια Απαίτηση Προυπόθεση ή προσυνθήκη Αποτέλεσμα Πλευρικά φαινόμενα Αναγνώριση Εκτύπωση συχνότητας Λαμβάνει την τρέχουσα παραγόμενη συχνότητα και την εμφανίζει στην οθόνη Ηχητικά κύματα jack Εκτυπώνει σε μορφή text το σύμβολο που αντιστοιχεί στη εκάστοτε συχνότητα στην οθόνη Οθόνη Ο χρήστης παίζει τη νότα που τον ενδιαφέρει να κουρδίσει στο μουσικό του όργανο Να λειτουργεί το καλώδιο Ο χρήστης να έχει επιλέξει τον τύπο κουρδίσματος από το αρχικό μενού Μήνυμα στην οθόνη Θόρυβος 29

Προδιαγραφή 3: Επιλογή οργάνου Υπηρεσία ή λειτουργία Επιλογή οργάνου Περιγραφή Ο χρήστης επιλέγει την επιλογή οργάνου από το αρχικό μενού και κουρδίζει τη νότα θέλει Δεδομενα εισόδου Buttons, Επιλογή οργάνου Προέλευση Αρχικό μενού, buttons Δεδομένα εξόδου Interface επιλογής οργάνου Προορισμός Οθόνη Ενέργεια Ο χρήστης επιλέγει με τα buttons την επιλογή οργάνου από το αρχικό μενού Απαίτηση Ο χρήστης να πατήσει το κουμπί επιλογής Προυπόθεση ή προσυνθήκη Το σύστημα να είναι ενεργοποιημένο Αποτέλεσμα Εμφανίζει το interface της επιλογής οργάνου στην οθόνη Πλευρικά φαινόμενα - Προδιαγραφή 4: Επιλογή ελεύθερου κουρδίσματος Υπηρεσία ή λειτουργία Επιλογή ελεύθερου κουρδίσματος Περιγραφή Ο χρήστης επιλέγει το ελεύθερο κούρδισμα από το αρχικό μενού και κουρδίζει τη νότα θέλει Δεδομενα εισόδου buttons, Επιλογή ελεύθερου κουδίσματος Προέλευση Αρχικό μενού, buttons Δεδομένα εξόδου Interface ελεύθερου κουρδίσματος Προορισμός Οθόνη Ενέργεια Ο χρήστης επιλέγει με τα buttons το ελεύθερο κούρδισμα από το αρχικό μενού Απαίτηση Ο χρήστης να πατήσει το κουμπί επιλογής Προυπόθεση ή προσυνθήκη Το σύστημα να είναι ενεργοποιημένο Αποτέλεσμα Εμφανίζει το interface του ελεύθερου κουρδίσματος στην οθόνη Πλευρικά φαινόμενα - Προδιαγραφή 5: Επιλογή κουρδίσματος με το αφτί Υπηρεσία ή λειτουργία Περιγραφή Δεδομενα εισόδου Επιλογή κουρδίσματος με το αφτί Ο χρήστης επιλέγει το κούρδισμα με το αφτί από το αρχικό μενού και κουρδίζει τη νότα θέλει buttons, Επιλογή κουρδίσματος με το αφτί 30

Προέλευση Αρχικό μενού, buttons Δεδομένα εξόδου Interface κουρδίσματος με το αφτί Προορισμός Οθόνη Ενέργεια Ο χρήστης επιλέγει με τα buttons το κούρδισμα με το αφτί από το αρχικό μενού Απαίτηση Ο χρήστης να πατήσει το κουμπί επιλογής Προυπόθεση ή προσυνθήκη Το σύστημα να είναι ενεργοποιημένο Αποτέλεσμα Εμφανίζει το interface του ελεύθερου κουρδίσματος στην οθόνη Πλευρικά φαινόμενα - Προδιαγραφή 6: Ένδειξη «σφίξε» Υπηρεσία ή λειτουργία Ένδειξη «σφίξε» Περιγραφή Όταν η συχνότητα είναι χαμηλότερη από την επιθυμητή, εμφανίζεται η ένδειξη «σφίξε» Δεδομενα εισόδου Τιμή συχνότητας Προέλευση jack Δεδομένα εξόδου Ένδειξη «σφίξε» Προορισμός Οθόνη Ενέργεια Υπολογισμός των ορίων και ενεργοποίηση της κατάλληλης ένδειξης Απαίτηση - Προυπόθεση ή προσυνθήκη Η συχνότητα να βρίσκεται στο φάσμα συχνοτήτων του συστήματος Αποτέλεσμα Εμφανίζεται η ένδειξη «σφίξε» στην οθόνη Πλευρικά φαινόμενα - Προδιαγραφή 7: Ένδειξη «χαλάρωσε» Υπηρεσία ή λειτουργία Περιγραφή Δεδομενα εισόδου Προέλευση Δεδομένα εξόδου Προορισμός Ενέργεια Ένδειξη «χαλάρωσε» Όταν η συχνότητα είναι υψηλότερη από την επιθυμητή, εμφανίζεται η ένδειξη «χαλάρωσε» Τιμή συχνότητας jack Ένδειξη «χαλάρωσε» Οθόνη Υπολογισμός των ορίων και ενεργοποίηση της κατάλληλης ένδειξης Απαίτηση - Προυπόθεση ή προσυνθήκη Η συχνότητα να βρίσκεται στο φάσμα συχνοτήτων του 31

συστήματος Αποτέλεσμα Εμφανίζεται η ένδειξη «χαλάρωσε» στην οθόνη Πλευρικά φαινόμενα - Προδιαγραφή 8: Παραγωγή της νότας Α Υπηρεσία ή λειτουργία Παραγωγή της νότας Α Περιγραφή Ο χρήστης επιλέγει τη νότα Α από το υπομενού κούρδισμα με το αφτί και η νότα παράγεται από το ηχείο Δεδομενα εισόδου buttons, Νότα Α Προέλευση buttons Δεδομένα εξόδου Ηχητικά κύματα στη συχνότητα που αντιστοιχεί στη νότα Α Προορισμός Ηχείο Ενέργεια Ενεργοποίηση ηχείου, παραγωγή νότας Α Απαίτηση - Προυπόθεση ή προσυνθήκη Να λειτουργεί το ηχείο Αποτέλεσμα Παραγωγή νότας Α στο ηχείο Πλευρικά φαινόμενα - Προδιαγραφή 9: Παραγωγή της νότας Β Υπηρεσία ή λειτουργία Παραγωγή της νότας Β Περιγραφή Ο χρήστης επιλέγει τη νότα Β από το υπομενού κούρδισμα με το αφτί και η νότα παράγεται από το ηχείο Δεδομενα εισόδου buttons, Νότα Β Προέλευση buttons Δεδομένα εξόδου Ηχητικά κύματα στη συχνότητα που αντιστοιχεί στη νότα Β Προορισμός Ηχείο Ενέργεια Ενεργοποίηση ηχείου, παραγωγή νότας Β Απαίτηση - Προυπόθεση ή προσυνθήκη Να λειτουργεί το ηχείο Αποτέλεσμα Παραγωγή νότας Β στο ηχείο Πλευρικά φαινόμενα - Προδιαγραφή 10: Παραγωγή της νότας C 32

Υπηρεσία ή λειτουργία Παραγωγή της νότας C Περιγραφή Ο χρήστης επιλέγει τη νότα C από το υπομενού κούρδισμα με το αφτί και η νότα παράγεται από το ηχείο Δεδομενα εισόδου buttons, Νότα C Προέλευση buttons Δεδομένα εξόδου Ηχητικά κύματα στη συχνότητα που αντιστοιχεί στη νότα C Προορισμός Ηχείο Ενέργεια Ενεργοποίηση ηχείου, παραγωγή νότας C Απαίτηση - Προυπόθεση ή προσυνθήκη Να λειτουργεί το ηχείο Αποτέλεσμα Παραγωγή νότας C στο ηχείο Πλευρικά φαινόμενα - Προδιαγραφή 11: Παραγωγή της νότας D Υπηρεσία ή λειτουργία Παραγωγή της νότας D Περιγραφή Ο χρήστης επιλέγει τη νότα D από το υπομενού κούρδισμα με το αφτί και η νότα παράγεται από το ηχείο Δεδομενα εισόδου buttons, Νότα D Προέλευση buttons Δεδομένα εξόδου Ηχητικά κύματα στη συχνότητα που αντιστοιχεί στη νότα D Προορισμός Ηχείο Ενέργεια Ενεργοποίηση ηχείου, παραγωγή νότας D Απαίτηση - Προυπόθεση ή προσυνθήκη Να λειτουργεί το ηχείο Αποτέλεσμα Παραγωγή νότας D στο ηχείο Πλευρικά φαινόμενα - Προδιαγραφή 12: Παραγωγή της νότας E Υπηρεσία ή λειτουργία Περιγραφή Δεδομενα εισόδου Προέλευση Δεδομένα εξόδου Παραγωγή της νότας E Ο χρήστης επιλέγει τη νότα E από το υπομενού κούρδισμα με το αφτί και η νότα παράγεται από το ηχείο buttons, Νότα E buttons Ηχητικά κύματα στη συχνότητα που αντιστοιχεί στη νότα E 33

Προορισμός Ηχείο Ενέργεια Ενεργοποίηση ηχείου, παραγωγή νότας E Απαίτηση - Προυπόθεση ή προσυνθήκη Να λειτουργεί το ηχείο Αποτέλεσμα Παραγωγή νότας E στο ηχείο Πλευρικά φαινόμενα - Προδιαγραφή 13: Παραγωγή της νότας F Υπηρεσία ή λειτουργία Παραγωγή της νότας F Περιγραφή Ο χρήστης επιλέγει τη νότα F από το υπομενού κούρδισμα με το αφτί και η νότα παράγεται από το ηχείο Δεδομενα εισόδου buttons, Νότα F Προέλευση buttons Δεδομένα εξόδου Ηχητικά κύματα στη συχνότητα που αντιστοιχεί στη νότα F Προορισμός Ηχείο Ενέργεια Ενεργοποίηση ηχείου, παραγωγή νότας F Απαίτηση - Προυπόθεση ή προσυνθήκη Να λειτουργεί το ηχείο Αποτέλεσμα Παραγωγή νότας F στο ηχείο Πλευρικά φαινόμενα - Προδιαγραφή 14: Παραγωγή της νότας G Υπηρεσία ή λειτουργία Παραγωγή της νότας G Περιγραφή Ο χρήστης επιλέγει τη νότα G από το υπομενού κούρδισμα με το αφτί και η νότα παράγεται από το ηχείο Δεδομενα εισόδου buttons, Νότα G Προέλευση buttons Δεδομένα εξόδου Ηχητικά κύματα στη συχνότητα που αντιστοιχεί στη νότα G Προορισμός Ηχείο Ενέργεια Ενεργοποίηση ηχείου, παραγωγή νότας G Απαίτηση - Προυπόθεση ή προσυνθήκη Να λειτουργεί το ηχείο Αποτέλεσμα Παραγωγή νότας G στο ηχείο Πλευρικά φαινόμενα - 34

2.6 Σχεδιαγράμματα Τα σχεδιαγράμματα αποτελούν ένα μέσο κατανόησης της λειτουργίας του συστήματος και των σχέσεων αλληλεπίδρασης που συντελούνται ανάμεσα στα μέρη του συστήματος. Στο υποκεφάλαιο αυτό θα παρουσιαστούν και θα αναλυθούν λεπτομερειακά το αρχιτεκτονικό σχέδιο, τα διαγράμματα ροής δεδομένων και τα δέντρα λάθους του συστήματος. 2.6.1 Αρχιτεκτονικό σχέδιο Το αρχιτεκτονικό σχέδιο (Εικόνα 8) περιγράφει τα επίπεδα από τα οποία αποτελείται το υλοποιημένο σύστημα και τις αλληλεπιδράσεις τους. 35

Εικόνα 8. Αρχιτεκτονικό Σχέδιο 2.6.2 Διαγράμματα Ροής Δεδομένων Στο διάγραμμα περιβάλλοντος (Εικόνα 9) περιγράφονται οι σχέσεις μεταξύ των οντοτήτων και του συστήματος με τις βασικές ροές δεδομένων από και προς αυτήν. 36

Εικόνα 9. Διάγραμμα ροής δεδομένων Στο πρώτο επίπεδο (Εικόνα 10) των διαγραμμάτων ροής δεδομένων αναλύεται το σύστημα στις επιμέρους διεργασίες του. Βασικές διεργασίες είναι η γενική διαχείριση των εντολών του χρήστη και των δεδομένων που αποστέλλει η υποδοχή jack μέσω συχνοτήτων προς αναγνώριση στο σύστημα. 37

Εικόνα 10. Διάγραμμα ροής δεδομένων 1ου επιπέδου Η ανάλυση των διεργασιών συνεχίζεται στα διαγράμματα ροής δεδομένων 2ου επιπέδου (Εικόνες 11-13). Η ανάλυση της διαχείρισης εφαρμογής (1.0) παράγει τρείς διεργασίες. Τη διαχείριση εντολών (1.1) που είναι υπεύθυνη για την εκτέλεση των βασικών λειτουργιών της εφαρμογής. Τη διαχείριση απεικόνισης επιλογών (1.2) η οποία, αναλαμβάνει και προωθεί προς τη διαχείριση εντολών όλες τις εντολές και ενέργειες του χρήστη. Τέλος, τη διαχείριση ρυθμίσεων (1.3) ευθύνη της οποίας είναι η επικοινωνία με το αρχείο ρυθμίσεων. 38

Εικόνα 11. Διάγραμμα ροής δεδομένων 2ου επιπέδου Η περαιτέρω ανάλυση των απεικονίσεων (2.0) χωρίζει την αρχική διεργασία σε δύο, την απεικόνιση νότας (2.1) και την ένδειξη νότας (2.2). Κάθε μία από τις διεργασίες είναι υπεύθυνη για την επικοινωνία με την αντίστοιχη οντότητα. Η απεικόνιση νότας λαμβάνει τα στοιχεία προς εμφάνιση από τη διαχείριση εντολών (1.1) και τα προωθεί στην οθόνη, ενώ η ένδειξη νότας (2.2) δέχεται τη συχνότητα και στέλνει την εντολή ενεργοποίησης της αντίστοιχης νότας. 39

Εικόνα 12. Διάγραμμα ροής δεδομένων 2ου επιπέδου Το τελευταίο διάγραμμα ροής δεδομένων 2ου επιπέδου αφορά τη διεργασία της ανίχνευσης συχνότητας και την αναγνώριση νότας (3.0). Η παραπάνω διεργασία σπάει σε δύο μέρη, στην ανίχνευση συχνότητας (3.1) και στην αναγνώριση των της νότας (3.2). Η πρώτη, διεργασία δέχεται ως είσοδο τον ήχο που θα λάβει και τις παραμέτρους των συναρτήσεων και επιστρέφει τα στοιχεία της συχνότητας που ανιχνεύθηκε. Η δεύτερη, διεργασία λαμβάνει τον ήχο προς ανάλυση και τις παραμέτρους των συναρτήσεων και επιστρέφει τα στοιχεία της νότας που αναγνωρίστηκε. 40

Εικόνα 13. Διάγραμμα ροής δεδομένων 2ου επιπέδου 3.6.3 Δέντρα λάθους Στα δέντρα λάθους (Εικόνες 14-19) που παρατίθενται παρακάτω, αναλύονται όλες οι περιπτώσεις σφάλματος στο σύστημα και που αυτά οφείλονται. Συγκεκριμένα τα δέντρα λάθους είναι: Σφάλμα εμφάνισης στοιχείων στην οθόνη Δυσκολία αναγνώρισης της συχνότητας Σφάλμα κατά την πλοήγηση 41

Σφάλμα κατά την πλοήγηση στο υπομενού Σφάλμα κατά την παραγωγή ήχου Σφάλμα καθοδήγησης Εικόνα 14. Δέντρο λάθους: Σφάλμα εμφάνισης στοιχείων στην οθόνη 42

Εικόνα 15. Δέντρο λάθους: Δυσκολία αναγνώρισης της συχνότητας 43

Εικόνα 16. Δέντρο λάθους: Σφάλμα κατά την πλοήγηση 44

Εικόνα 17. Δέντρο λάθους: Σφάλμα κατά την πλοήγηση στο υπομενού 45

Εικόνα 18. Δέντρο λάθους: Σφάλμα κατά την παραγωγή ήχου 46

Εικόνα 19. Δέντρο λάθους: Σφάλμα καθοδήγησης 47

Κεφάλαιο 3. Mannual 3.1 Εξώφυλλο Σε αυτό το υποκεφάλαιο δίνεται ένα ενδεικτικό παράδειγμα για το πως ακριβώς θα είναι το εξώφυλλο του Mannual του «Ψηφιακού κουρδιστηρίου» στα ελληνικά. Εικόνα 20. Εξώφυλλο Manual 48

3.2 Πρόλογος Πριν χρησιμοποιήσετε τον νέο σας κουρδιστήρι, διαβάστε το παρόν εγχειρίδιο προσεκτικά, ώστε να σιγουρευτείτε ότι γνωρίζετε πώς να χρησιμοποιήσετε το κουρδιστήρι σωστά και με ασφάλεια. Βεβαιωθείτε ότι έχετε πάντοτε διαθέσιμο αυτό το εγχειρίδιο έτσι ώστε να ανατρέχετε σε αυτό οποιαδήποτε στιγμή. 3.3 Οδηγίες ασφάλειας Οι σημαντικές οδηγίες για την ασφάλεια υποδεικνύονται και παρουσιάζονται στη συνέχεια. Βεβαιωθείτε ότι ακολουθείτε αυτές τις οδηγίες για να προστατευτείτε από τραυματισμούς ή υλικές ζημιές. Μην αφήνετε το προϊόν σε χώρους που εκτίθενται σε υψηλές θερμοκρασίες ή/και σε υγρασία. Μην αποθηκεύετε το προϊόν σε χώρους με υγρασία ή σκόνη. Μην χρησιμοποιείτε ή αποθηκεύετε το προϊόν για μεγάλο χρονικό διάστημα σε μέρη όπου υπάρχει πολλή σκόνη, υγρασία, έλαια, καπνός ή ατμός. Εάν το προϊόν βραχεί, σκουπίστε αμέσως το νερό με ένα στεγνό πανί. Μην χρησιμοποιείτε οργανικούς διαλύτες, όπως οινόπνευμα και διαλυτικά, για καθαρισμό. Βεβαιωθείτε ότι δεν επικάθεται άμμος ή λάσπη στο προϊόν. Η άμμος ή η λάσπη μπορεί να προκαλέσει μη επισκευάσιμες φθορές. Μην ασκείτε ισχυρές δονήσεις ή κραδασμούς στο προϊόν. 49

Μην χρησιμοποιείτε το προϊόν σε χώρους όπου μπορεί να βραχεί. Μην επιχειρήσετε να αποσυναρμολογήσετε, να επισκευάσετε ή να τροποποιήσετε το προϊόν. Αν το προϊόν πέσει σε νερό ή αν νερό, μέταλλο ή εύφλεκτη ξένη ουσία εισχωρήσει στο προϊόν, εκτελέστε τα παρακάτω βήματα: 1. Απενεργοποιήστε το άμεσα 2. Απευθυνθείτε στους κατασκευαστές Μην αφήνετε το προϊόν σε μέρη όπου έχουν πρόσβαση βρέφη ή παιδιά. Όταν χρησιμοποιείτε το προϊόν κοντά σε βρέφη ή παιδιά, πάρτε ιδιαίτερες προφυλάξεις και μη αφήνετε απρόσεχτα το προϊόν χωρίς εποπτεία. Τα παιδιά δεν αντιλαμβάνονται τις προειδοποιήσεις και τις ενδείξεις προσοχής. Επιπλέον, ενδέχεται να συμβούν τα ακόλουθα ατυχήματα: 1. Τυχαία περιέλιξη των καλωδίων γύρω από το λαιμό και πνιγμός. 2. Εκτέλεση εσφαλμένης λειτουργίας, με αποτέλεσμα τραυματισμό ή φθορά του συστήματος. Διακόψτε αμέσως τη χρήση του προϊόντος εάν παρατηρήσετε ανωμαλίες όπως ασυνήθιστη οσμή, ασυνήθιστο ήχο ή καπνό. Μην προκαλείτε ζημίες στα καλώδια του συστήματος. Μην τραβάτε τα καλώδια για να τα αφαιρέσετε από το σύστημα. 50

3.4 Επισκόπηση του συστήματος 3.4.1 Στοιχεία χειρισμού Αυτός ο εύχρηστος συντονιστής οργάνων προσφέρει τρεις διαφορετικούς τρόπους κουρδίσματος και διάφορες επιλογές οργάνων, ώστε να γίνει εφικτό το κούρδισμα οποιουδήποτε οργάνου με τον ευκολότερο δυνατό τρόπο. Εικόνα 21. Σχέδιο συστήματος 1 Συσκευή κουρδίσματος βασισμένη σε μικροεπεξεργαστή Arduino Uno 51

2 Οn/Οff διακόπτης, για την ενεργοποίηση και απενεργοποίηση του συστήματος αντίστοιχα. 3 4 5 6 Οθόνη LCD 4x20 Υποδοχή jack Ηχείο Buttons όπου: Η επιλογή ΟΚ Πλοήγηση (Up, Down) Επιστροφή στο αρχικό μενού (Back) 3.4.2 Επεξήγηση μερών του συστήματος Τα εξαρτήματα που παρουσιάζονται παρακάτω συνοδεύουν το προϊόν για τη σωστή λειτουργία του. Τροφοδοσία: Η τροφοδοσία του συστήματος γίνεται με δύο μπαταρίες 9V για τον ενισχυτή και μία μπαταρία για το Arduino 11,1V, οι οποίες μπορούν να είναι και αλκαλικές επαναφορτιζόμενες για την εξοικονόμηση ενέργειας και χρημάτων. Η τοποθέτηση γίνεται στο πίσω μέρος της συσκευής. Η επαναφόρτιση γίνεται με κατάλληλο φορτιστή. Διακόπτης ON/OFF: Ο διακόπτης αυτός είναι υπεύθυνος για την ενεργοποίηση και 52

απενεργοποίηση αντίστοιχα του συστήματος. Όταν ο διακόπτης είναι πατημένος στο ON το σύστημα είναι ενεργοποιημένο και μπορείτε να περιηγηθείτε στο μενού. Όταν ο διακόπτης βρίσκεται στο OFF το σύστημα απενεργοποιείται. Μην ξεχνάτε να κλείνετε πάντα το σύστημα μετά το τέλος των αναγκών σας, για την εξοικονόμιση ενέργειας και την καλή λειτουργία του συστήματος. Οθόνη: Η οθόνη που παρέχεται είναι LCD 4x20. Μετά την ενεργοποίηση του συστήματος στην οθόνη εμφανίζεται το αρχικό μενού το οποίο περιέχει τα τρία είδη κουρδίσματος που προσφέρονται (βλ. 4.5.1 Αρχικό μενού). Υποδοχή jack: Η υποδοχή αυτή υπάρχει για να συνδέεται το όργανο απευθείας με το σύστημα για την εξάλειψη της απώλειας ήχου που μπορεί να έχει το μικρόφωνο. Όργανα που επιδέχονται σύνδεση μέσω jack, όπως ηλεκτρική κιθάρα, μπάσο κλπ., καλό θα είναι να συνδέονται με αυτό τον τρόπο. Ηχείο: Το ηχείο είναι απαραίτητο στην παραγωγή της νότας σε περίπτωση που επιλεχθεί αυτή η λειτουργία από το μενού. Buttons: Μέσω των buttons γίνεται η πλοήγηση στο μενού του συστήματος. Πάνω, κάτω, για πλοήγηση με ένδειξη βέλους (<-) στην οθόνη και πάτημα του κουμπιού για την επιλογή (OK). Δίνονται ακόμη δύο επιπλέον επιλογές. Η επιλογή και η επιστροφή στο αρχικό μενου (βλ. 4.4.1 Στοιχεία χειρισμου, buttons. 3.5 Λειτουργία του συστήματος 3.5.1 Αρχικό μενού 53

Αφού το σύστημα ενεργοποιηθεί εμφανίζεται στην οθόνη το αρχικό μενού με τις επιλογές κουρδίσματος. Δίνεται η δυνατότητα να επιλέξεις μια από τις παρακάτω λειτουργίες που ταιριάζει στις απαιτήσεις σου: 4. Επιλογή οργάνου (Musical Instrument) 5. Ελεύθερο κούρδισμα (Default Tunning) 6. Κούρδισμα με το αφτι (Buzzer Tunning) 3.5.1.1 Επιλογή οργάνου Επέλεξε την επιλογή οργάνου εαν γνωρίζεις τις νότες στο όργανο που θέλεις να κουρδίσεις. Επέλεξε μία ανάμεσα στις επιλογές οι οποίες δίνονται: κιθάρα, μπάσο, βιολί/μαντολίνο, τσέλο Εαν το όργανο το οποίο θέλεις να κουρδίσεις δεν υπάρχει στις επιλογές αυτού του υπομενού πάτα το κουμπί: επιστροφή στο αρχικό μενού Εαν για παράδειγμα επιλέξεις την ένδειξη «κιθάρα» πάτα ΟΚ και θα εμφανιστεί στην οθόνη: Κιθάρα --------- όργανο που έχει επιλέξει ο χρήστης. Πάτα ΟΚ Έπειτα θα εμφανιστεί η ένδειξη: Χορδή 4 Νότα D Χτύπα την τέταρτη χορδή. Εαν η νότα που ακουστεί είναι κάποια άλλη η ένδειξη στην οθόνη θα είναι: Τρέχον Νότα C Πάτα ΟΚ Το σύστημα τότε θα σου δείξει στην οθόνη τι πρέπει να κάνεις ώστε να φτάσεις στο σωστό κούρδισμα μέσω ενός βέλους που θα δείχνει μία από τις δύο επιλογές: Tighten up ΟΚ Loosen up Εαν το βέλος δείχνει στην ένδειξη Tighten up, θα πρέπει να σφίξεις τη χορδή σου. Εαν 54

δείχνει Loosen up πρέπει να τη χαλαρώσεις. Εαν η νότα που ακουστεί είναι σωστή η ένδειξη που θα δεις στην οθόνη σου είναι: Τρέχον Νότα D Πάτα ΟΚ Τέλος υπάρχει η δυνατότητα να αλλάξεις τη χορδή την οποία θέλεις να κουρδίσεις μέσω του χειριστηρίου με την αλλαγή χορδής 3.5.1.2 Ελεύθερο κούρδισμα Επέλεξε το ελεύθερο κούρδισμα εαν είσαι αρχάριος. Στην οθόνη θα εμφανιστεί η εξής επιλογή: Νότα προς αναπαραγωγή F Χτύπα τη χορδή που θα έπρεπε να αντιστοιχεί σε αυτή τη νότα. Εαν η νότα που ακουστεί είναι κάποια άλλη η ένδειξη στην οθόνη θα είναι: Τρέχον Νότα C Πάτα ΟΚ Το σύστημα τότε θα σου δείξει στην οθόνη τι πρέπει να κάνεις ώστε να φτάσεις στο σωστό κούρδισμα μέσω ενός βέλους που θα δείχνει μία από τις δύο επιλογές: Tighten up ΟΚ Loosen up Εαν το βέλος δείχνει στην ένδειξη Tighten up, θα πρέπει να σφίξεις τη χορδή σου. Εαν δείχνει Loosen up πρέπει να τη χαλαρώσεις. Εαν η νότα που ακουστεί είναι σωστή η ένδειξη που θα δεις στην οθόνη σου είναι: Τρέχον Νότα F Πάτα ΟΚ 55

3.5.1.3 Κούρδισμα με το αφτί Επέλεξε το κούρδισμα με το αφτί εαν κατέχεις το όργανό σου ή το όργανό σου δε βρίσκεται ανάμεσα στις επιλογές που δίνονται στην επιλογή οργάνου. Στην οθόνη θα εμφανιστεί η εξής επιλογή: Νότα προς αναπαραγωγή F Άκουσε τη νότα εαν θέλεις να την ακούσεις, μέσω του κουμπιού OK. 3.5.2 Standard κουρδίσματα οργάνων Παρακάτω αναγράφονται τα αρχικά κουρδίσματα των οργάνων που διαθέτει το σύστημα στην επιλογή οργάνου. 1 η χορδή 2 η χορδή 3 η χορδή 4 η χορδή 5 η χορδή 6 η χορδή Κιθάρα E B G D A E Μπάσο G D A E Β Βιολί/Μαντολίνο G D A E Τσέλο C G D A Πίνακας 4. Standard κουρδίσματα οργάνων 56

3.6 Τεχνικά δεδομένα Σύνδεση in: 6.3 mm, Σύνδεση μονής υποδοχής, Σύνθετη αντίσταση: 500 kω Σύνδεση out: 6.3 mm, Σύνδεση μονής υποδοχής, Σύνθετη αντίσταση: 1 kω Παροχή ρεύματος: 9V, 100mA προσαρμοσμένη Μπαταρία: 9V τύπος 6LR61 Κατανάλωση ρεύματος: 70mA Διαστάσεις (Υ x Π x Β): Περίπου 2cm x 20cm x 10cm Βάρος: Περίπου 0.50 kg 57

Κεφάλαιο 4. Σύνοψη, συμπεράσματα 4.1 Δυσκολίες Το βασικό πρόβλημα είναι ότι δεν υπάρχουν έτοιμες βιβλιοθήκες που να διαχειρίζονται ήχο για το Αrduino. Αρχικός μας στόχος ήταν να λάβουμε σήματα στην είσοδο, από τα οποία θα υπολογίζαμε την περίοδο τους και στη συνέχεια τη συχνότητά τους, ώστε να μπορέσουμε να τη διαχειριστούμε. Δεν υπήρχε βιβλιοθήκη που θα μας εμφάνιζε κατευθείαν τη συχνότητα, οπότε συμπεριλάβαμε κώδικα τον οποίο βρήκαμε διαδικτυακά και ο οποίος κάνει αυτή τη δουλειά. Ένα άλλο πρόβλημα που αντιμετωπίσαμε είναι ο θόρυβος στο μικρόφωνο. Αρχικά σαν δεύτερη είσοδο (η οποία ουσιαστικά κάνει την ίδια δουλειά με το jack) χρησιμοποιήσαμε ένα πυκνωτικό μικρόφωνο, το οποίο στη συνέχεια και αφαιρέσαμε γιατί δεν μπορέσαμε να απομονώσουμε το θόρυβο και δεν ήταν αξιόπιστες οι τιμές Hz που εμφάνιζε. 4.2 Πλεονεκτήματα της υλοποίησης Ο χρήστης σε αντίθεση με τα συνηθισμένα κουρδιστήρια, έχει τη δυνατότητα να επιλέξει τον τρόπο κουρδίσματος που επιθυμεί, ανάλογα με την εμπειρία του. 58

Για παράδειγμα, εαν ο χρήστης είναι έμπειρος μουσικός και γνωρίζει ποια νότα αντιστοιχεί σε κάθε χορδή του μουσικού του οργάνου, μπορεί να επιλέξει το default tunning η το buzzer tunning. Αν ο χρήστης είναι ακόμα πιο έμπειρος, μπορεί να χρησιμοποιήσει το buzzer tunning ώστε να κουρδίσει με το αφτί ακούγοντας απλά τις νότες, χωρίς να χάνει το χρόνο του με την καθοδήγηση του συστήματος. Αν ο χρήστης είναι άπειρος και δεν γνωρίζει το κούρδισμα κάποιου απο τα παρακάτω όργανα που συμπεριλάβαμε (κιθάρα, μπάσο, βιολί/μαντολίνο, τσέλο), μπορεί να επιλέξει το musical instrument το οποίο θα τον καθοδηγήσει σε ποια νότα αντιστοιχεί σε κάθε χορδή και στην ακριβή συχνότητά της. 4.3 Επεκτάσεις Θα μπορούσαμε να συμπεριλάβουμε και άλλα μουσικά όργανα στην επιλογή μουσικού οργάνου. Επίσης θα μπορούσαμε να συμπεριλάβουμε την αλλαγή κουρδίσματος, στην επιλογή μουσικού οργάνου, έτσι ώστε όλες οι νότες που αντιστοιχούν σε κάθε χορδή του μουσικού οργάνου, να πέσουν ή να ανέβουν όσα ημιτόνια επιθυμεί ο χρήστης. (Για ειδικευμένα μουσικά έργα). Το να συμπεριλάβουμε τροφοδοσία με μετασχηματιστή θα ήταν καλό για την εξοικονόμηση ενέργειας, αλλά έτσι θα υπήρχε περιορισμός στη μεταφορά του συστήματος, η οποία αποτελεί σημαντική απαίτηση για το λόγο δημιουργίας του συστήματος. Η συμπεριλογή πυκνωτικού μικροφώνου, θα ήταν μια χρήσιμη εναλλακτική είσοδος στο σύστημα μας στην περίπτωση που ο χρήστης δεν είχε καλώδια ή μαγνήτη ενσωματωμένο στο μουσικό του όργανο. 59

Βιβλιογραφία Βιβλία 1. Παπάζογλου Π., Πολυχρόνης Σ., «Ανάπτυξη Εφαρμογών με το Arduino», Εκδόσεις Τζιόλα, 2015. 2. Παχίδης Θ., «Εισαγωγή στην Τεχνολογία Λογισμικού», Εκπαιδευτικό υλικό τμήματος Μηχανικής Πληροφορικής. 3. Παχίδης Θ., «Διαχείριση Λογισμικού Ποιότητα Λογισμικού», Εκπαιδευτικό υλικό τμήματος Μηχανικής Πληροφορικής. 4. Νικολαρόπουλος Ε., «Τεχνολογία Ενσωματωμένων Συστημάτων Βασιζόμενων σε Μικροεπεξεργαστές», Εκπαιδευτικό υλικό τμήματος Μηχανικής Πληροφορικής. 5. Αλεβίζος Θ., «Προγραμματισμός με τη Γλώσσα C++, Μέρος Α'», Τ.Ε.Ι. Καβάλας, Καβάλα, 2000. 6. Αλεβίζος Θ., «Προγραμματισμός με τη Γλώσσα C++, Μέρος Β'», Τ.Ε.Ι. Καβάλας, Καβάλα, 2000. Ιστότοποι 7. http://www.instructables.com/id/arduino-audio-input/step3/non-inverting-amplifier/ 8. http://www.instructables.com/id/arduino-guitar-tuner/step10/program/ 9. http://www.instructables.com/id/play-the-french-can-can-using-an-arduino-and- Buzze/step8/Play-Musical-Notes/ 10. http://startingelectronics.org/beginners/circuits/arduino-buzzer/ 11. http://armaosmusic.gr/default.asp?static=43&category=160&id=21147 12. https://projectmaniacs.wordpress.com/2014/11/22/%ce%b5%ce%b9%cf%83%ce%b1% CE%B3%CF%89%CE%B3%CE%AE-%CF%83%CF%84%CE%BF-arduino/ 13. http://robotstore.gr/components/lcd/monochrome/lcd-screen-4x20-lcm2004d/ 60

14. http://robotstore.gr/development-tools/arduino/boards/arduino-uno-rev3/ 15. http://gym-falan.lar.sch.gr/activities/paper/paper01/pap01-moysiki.html 16. http://www.guitarpitchshifter.com/fig_2_1.png 17. https://www.google.gr/search?q=2.%09https://www.google.gr/search%3fq%3dguitar%2btu ner%26biw%3d1525%26bih%3d777%26source%3dlnms%26tbm%3disch%26sa%3dx% 26ei%3DvDI1VZSHFq6p7AaVqoHYCQ%26sqi%3D2%26ved%3D0CAcQ_AUoAg%26dpr %3D0.9%23imgrc%3DIQL71zpn85oSKM%25253A%253BlSF- 5Vpe3dNtSM%253Bhttp%25253A%25252F%25252Fwww.performingmusician.com%25252Fpm%25252Fmay09%25252Fimages%25252Ftuners_4.jpg%253Bhttp %25253A%25252F%25252Fwww.performingmusician.com%25252Fpm%25252Fmay09%25252Farticles%25252Fstagetuners.htm%253B 1200%253B744&source=lnms&tbm=isch&sa=X&ei=SzQ1VaSoJ8jOaKy9gdgL&ved=0CAc Q_AUoAQ&biw=1525&bih=777&dpr=0.9#tbm=isch&q=guitar+tunner&imgrc=IQL71zpn8 5oSKM%253A%3BlSF-5Vpe3dNtSM%3Bhttp%253A%252F%252Fwww.performingmusician.com%252Fpm%252Fmay09%252Fimages%252Ftuners_4.jpg%3Bhttp%253A%25 2F%252Fwww.performingmusician.com%252Fpm%252Fmay09%252Farticles%252Fstagetuners.htm%3B1200%3B74 4 61