Προς το περιεχόμενο

DIY Project: Noiz Midi Controller


Μανώλης Χναράκης

Προτεινόμενες αναρτήσεις

  • Guru

Φίλε mc

 

Με "προβλημάτισες" σε κάποια σημεία. Καλό αυτό...

 

Απαντάω ξεχωριστά στις ερωτήσεις σου.

 

Γίνεται να στείλω την ακόλουθη σειρά εντολών midi με το πάτημα ενός κουμπιού ?

system exlusive-αλλαγή ρυθμού-αλλαγή ήχου-αραβική κλίμακα

Αυτό που αναφέρεις λέγεται κατά κάποιο τρόπο complex λειτουργία. Με απλά λόγια, μπορεί να γίνει. Το έχω κάνει σε άλλο project και το γνωρίζω. Το θέμα είναι πως θα το προγραμματίζεις εσύ. Ο απλός χρήστης δηλαδή.

 

Θα υποστηρίζει όργανα εκτός roland ? για παράδειγμα yamaha tyros,ketron vega,korg pa1x,exr-gr5,d-50 ταυτόχρονα ?

Το σκεπτικό είναι "Ναί". Δεν θα υπάρχει τέτοιος περιορισμός.

 

Θα μπορώ να στείλω με το πάτημα ενός κουμπιού κλίμακα (όχι αραβική) αλλά με εντελώς δικό μου ξεκούρδισμα σε διαφορετικά όργανα ? Δηλαδή δύο διαφορετικές κλίμακες σε δύο διαφορετικά όργανα διαφορετικής μάρκας.

Εσύ πρέπει να με είχες ρωτήσει κάποτε γι'αυτό. Κατάλαβα γιατί το θες. Πολύ έξυπνο αλλά ποιός θα το χρησιμοποιήσει;

Ας πούμε... γιατί όχι. Θα το κοιτάξω.

 

Θα έχει μνήμες που θα μπορώ να αποθηκεύω τα δικά μου setup ή πως θα δουλεύει ?

Ζητάς κάτι παραπάνω από DIY. Θα εξαρτηθεί από τις γνώσεις στον προγραμματισμό που θα έχουν τα υπόλοιπα άτομα. Δηλαδή αυτοί που θα ασχοληθούν με το λειτουργικό σύστημα.

Το πως θα δουλεύει (αυτός ο τομέας) αποθήκευση, θα εξαρτηθεί και αυτό από το λειτουργικό σύστημα.

 

Αυτό που βάλατε στο σχήμα θα είναι το κανονικό ?

Όχι αλλά μπορεί και ναί. Απλά είναι μιά ιδέα που έδωσα εγώ για να υπάρχει μία αρχική ιδέα για το πως θα μπορούσε να είναι. Μπορεί να παραμείνει ως έχει και μπορεί να αλλάξει. Εάν πρόσεξες κάποια άτομα έδωσαν ήδη κάποιες ιδέες για το τι θα ήθελαν να έχει από πλευράς hardware όπως για παράδειγμα D-beam.

 

Πότε θα είναι έτοιμο και πόσο θα κοστίζει ?

Θα είναι έτοιμο όταν μαζευτούν κάποια άτομα που θα δουλέψουν πάνω στο project. Μέχρι στιγμής δεν ξέρω. Κανείς δεν επικοινώνησε μαζί μου έτσι ώστε να γίνει ένα σοβαρό ξεκίνημα. Ελπίζω όμως να υπάρχει ανταπόκριση απ'όσους γνωρίζουν επί του θέματος. Απ'ότι βλέπω άλλωστε είναι νωρίς. Οπότε και για το πόσο θα κοστίσει πάλι νωρίς είναι.

 

Πως θα το φτειάξω ?

Αυτό είναι το λιγότερο. Κάποιος θα βρεθεί.

 

Σ'ευχαριστώ για τις ιδέες σου.

 

Γνώμη μου πάντα. Ένα DIY πρέπει να είναι εύκολο στην κατασκευή και άλλο τόσο εύκολο στην χρήση. Αλλιώς παύει να είναι DIY αλλά κανονικό προϊόν.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • 3 εβδομάδες αργότερα...
  • Απαντήσεις 129
  • Πρώτη
  • Τελευταία

Περισσότερες συμμετοχές

Περισσότερες συμμετοχές

Έχει περάσει ένας μήνας από το πρώτο post.

Κανείς άλλος ?

Μόνος μου θα το φτειάξω ?

 

αν περιμενεις μεχρι του χρονου που θα ανεβω μονιμα για αθηνα? :P

 

 

Presets Suck!

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • Guru

Ας ξεκινήσουμε λοιπόν...

Ως επεξεργαστής θα παίξει κατά σειρά κόστους από φθηνό προς ακριβό:

1) PIC16F54

2) PIC16F877

3) PIC18F4550

4) SX28AC/DP

5) Basic Stamp

Στην 5η επιλογή (Basic Stamp) κατασκευαστικά τα πράγματα είναι πολύ πιό απλά, όμως σε αντίθεση με το αυξημένο κόστος.

 

Παράλληλα η γλώσα στις πρώτες 4 περιπτώσεις θα είναι C ή/καί assembly που σημαίνει αρκετές γραμμές κώδικα, ενώ στην 5η περίπτωση θα είναι τύπου Basic, οπότε τα πράγματα είναι πολύ πιό απλά και σύντομα. Εδώ όμως είναι πιό ακριβός ο επεξεργαστής. Περίπου στα 60$ χωρίς μεταφορικά. Θα εξαρτηθεί.

 

Αυτό στο οποίο δεν έχω καταλήξει και με απασχολεί πολύ είναι το θέμα της μνήμης.

Βάση παρατηρήσεων μέσω του Noiz αλλά και emails που έλαβα προσωπικά,

αυτά που ζήτησαν κάποιοι (και πολύ σωστά τα ζήτησαν), μάλλον θα υπάρχει κάποια επιπλέον εσωτερική μνήμη όπου θα υπάρχουν εκεί όλα τα δεδομένα του χρήστη.

Βάση αυτών, η τροπή που παίρνει το project αυτή τη στιγμή είναι η παρακάτω:

1) Να μην είναι self editable το κουτί αλλά μέσω προγράμματος Η/Υ όπου θα προγραμματίζει ο χρήστης το όλο πακέτο των δεδομένων και μετά θα το στέλνει στο κουτί. Δηλαδή θα υπάρχει ένας απλός εξωτερικός editor στον Η/Υ όπου θα ετοιμάζει "build" το κυρίως πακέτο δεδομένων του χρήστη και στη συνέχεια θα γίνεται dump του πακέτου μέσω midi στο κουτί (στην επιπλέον εσωτερική μνήμη).

Αυτό (η ύπαρξη editor) είναι αναγκαία για έναν άλλο πολύ βασικό σκοπό.

Για παράδειγμα κάποιος χρήστης, βάση των αναγκών του, θα μπορεί να έχει στην μνήμη [1] δεδομένα 8bytes, στην μνήμη [2] δεδομένα 60bytes και στην μνήμη [3] 150bytes. Ο κώδικας που θα πρέπει να ελέγχει αυτά τα bytes, αφού από χρήστη σε χρήστη θα διαφέρουν σε μέγεθος, δεν χωράει στην μνήμη του επεξεργαστή. Οπότε ο "εξωτερικός" editor θα αναλάβει αυτή την δουλειά, δηλαδή το file protocol έτσι ώστε όταν τα δεδομένα μπούν στο κουτί να γίνει σωστό file managment από τον επεξεργαστή (κώδικα).

 

2) Λόγω complex λειτουργιών (ταυτόχρονη αποστολή διαφορετικού τύπου μηνυμάτων) που είναι "must" για τα Ελληνικά δεδομένα όπως καταλάβαμε όλοι, θα υπάρξει περιορισμός στον αριθμό των setups (θέσης μνήμης). Η κάθε μνήμη θα μπορεί να στείλει ταυτόχρονα έως 255 bytes. Οπότε οι θέσεις θα είναι απ'ότι υπολογίζω γύρω στις 64 μνήμες. Για την αποθήκευση εντός του επεξεργαστή το ξεχνάμε διότι θα υπάρχει το λειτουργικό σύστημα. Γι'αυτό, θα υπάρχει σειριακή EEPROM της τάξης των 256Kb (32KB).

 

Σε κάθε περίπτωση (πλην του επεξεργαστή) η όλη κατασκευή θα αποτελείται από υλικά που υπάρχουν στην αγορά εκτός: α) της λίστας των υλικών, β) του ηλεκτρονικού σχεδίου, γ) των αρχικών δεδομένων και δ) του βασικού προγράμματος (τελικού κώδικα) του επεξεργαστή όπου θα υπάρχουν διαθέσιμα για download μέσω του Noiz.

 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Γεια χαρα,

 

προτείνω να χρησιμοποιηθεί ο 16F877, γιατί έχει χαμηλό κόστος, πολλές εισόδους/εξόδους και μπορεί να προγραμματιστεί εύκολα σε χαμηλή τάση 5V. Επίσης έχει ενσωματωμένη EEPROM για τις ρυθμίσεις του χρήστη.

 

Το ευκολότερο που μπορεί να γίνει είναι φαντάζομαι ένα απλό κύκλωμα για τον προγραμματισμό του 16F877 μέσω της παράλληλης θύρας. Είναι σημαντικό όσοι ασχοληθούν να μπορούν να περάσουν το πρόγραμμα στον επεξεργαστή εύκολα, χωρίς να χρειαστούν τη βοήθεια τρίτων. Αυτό έχει και το πλεονέκτημα ότι θα μπορούν να περαστούν εύκολα και μελλοντικές αναβαθμίσεις του κυρίως προγράμματος.

 

Musical Instrument Digital Interface

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • Guru

Φίλε Gant,

Κατ'αρχήν σ'ευχαριστώ που ασχολήθηκες με το θέμα και σ'ενδιαφέρει.

Η ιδέα σου είναι αρκετά καλή. Έχει όμως τα υπέρ και τα κατά.

 

ΥΠΕΡ

1) Ο εύκολος προγραμματισμός του ολοκληρωμένου από τον χρήστη. Πολύ καλή η ιδέα σου.

2) Οι πολλές πόρτες. Καλύπτουν με το παραπάνω αυτό που θέλουμε.

3) Το χαμηλό κόστος του ολοκληρωμένου. Βασικό.

 

ΚΑΤΑ

1) Το 16F877 δεν υποστηρίζει USB (το θέλω για μελλοντική χρήση). Ας το αφήσουμε όμως για την ώρα. Φτειάχνουμε αργότερα άλλο με USB. Δε θα κολλήσουμε εκεί.

 

2) Αναφέρεις ότι:

Επίσης έχει ενσωματωμένη EEPROM για τις ρυθμίσεις του χρήστη.
Εάν εννοείς τις μνήμες (τα data) που θα κάνει edit ο χρήστης, τότε

μου είναι εντελώς άχρηστη. Ο λόγος είναι πάρα πολύ απλός. Ο χρήστης (Έλληνας) είναι κάτι very special και advanced performer. Δεν θέλει απλά με το πάτημα ενός κουμπιού ένα ή δύο program change και άντε τρία control changes.

Θέλει αυτό που έχω αναφέρει πολύ πιό πάνω, complex midi messages με το πάτημα ενός κουμπιού.

Τα program changes και control changes είναι 2 με 3 bytes το κάθε ένα. Στα 4 midi outs αυτό θα μας κάνει τελικά γύρω στα 32 bytes (CC00 + CC32 + PC) ανά μνήμη.

 

Το συγκεκριμένο ολοκληρωμένο έχει:

Program Flash : 8 Kbytes

Data Memory : 368 bytes

Data EEPROM : 256 bytes

 

Τα 256 bytes (εσωτερική EEPROM) δεν φτάνουν ούτε για ζήτω !!!

Εάν διαιρέσεις τα 256 bytes με 64 μνήμες που θέλουμε τουλάχιστον,

μας κάνει 4 bytes σε κάθε μνήμη. Τι ν'αποθηκεύσεις σε 4 bytes ?

Γι'αυτό έχω υπ'όψι εξωτερική EEPROM τύπου I2C.

Βασικά φλερτάρω την 24C256 (32 Kbytes), όπου θα καλύψει κάποιο μέρος των απαιτήσεων αφού θα έχω τουλάχιστον 32 bytes average για κάθε μνήμη.

 

Όσον αφορά τον επεξεργαστή που προτείνεις, αν και σε assembly, είμαι μαζί σου.

Αρκεί να μην ξεπεράσουμε σε βασικό κώδικα τα 8Kbytes Program Flash Memory.

 

Σ'ευχαριστώ πολύ και πάλι για τις ιδέες και την βοήθειά σου.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Να ξεπεράσετε τα 8Κ;;;;

 

Παιδιά το πρόγραμμα που θέλετε να φτιάξετε υλοποιείται μέσα από 5 απλές βασικές ρουτίνες οι οποίες με σωστό σχεδιασμό δεν πρόκειται να ξεπεράσουν το 0.5Κ.

 

1. Ελέγχου μεταβολής πλήκτρων

2. Ανάγνωση μνήμης I2C

3. Εγγραφή μνήμης I2C

4. Αποστολή δεδομένων σε midi out

5. Ανάγνωση από RS232 (δηλαδή από Midi out!) και εγγραφή δεδομένων σε I2C

 

 

Η σύνδεση USB μου φαίνεται άχρηστη από τη στιγμή που πρόκειται για MIDI CONTROLER και συνεπώς υπάρχει διαθέσιμο και έτοιμο σειριακό σήμα (από RS232 ή MIDI OUT είναι το ίδιο πράμα, η συχνότητα αλλάζει) και σχετικό κύκλωμα (...μια αντίσταση στην ουσία!)

 

Κατα τα άλλα κρίνω απαραίτητη την ύπαρξη εσωτερικής μνήμης EEPROM στην οποία θα αποθηκεύεται κάτι σαν TOC. Δηλαδή έναν χάρτη που θα υποδυκνύει τι είδους μήνυμα καταλαμβάνεται από κάθε "μνήμη" που έχει προγραμματιστεί από τον χρήστη. Και όχι μόνο!

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • Guru

Φίλε pantelis51, σ'ευχαριστώ πάρα πολύ γι'αυτά που γράφεις.

Μια πολύ-πολύ μικρούλα παρατήρηση.

Γράφεις

το πρόγραμμα που θέλετε να φτιάξετε

Εάν κατάλαβα καλά αυτά που γράφεις, τότε κατάλαβα ακόμα καλύτερα και το πόσο γνωρίζεις. Οπότε, θα ακουγόταν καλύτερα εάν έγραφες "το πρόγραμμα που θέλουμε να φτειάξουμε."

Εξ'αρχής ανέφερα ότι θα δουλέψουν γι'αυτό όσα μέλη του Noiz θέλουν και γνωρίζουν. Γιατί να μην ανήκεις κι εσύ σ'αυτό το team ?

 

Συνεχίζω.

1) Σχετικά με τα 8K το γνωρίζω, απλά το αναφέρω για να μην αρχίσει ο καθένας και γράφει τον κώδικα της ζωής του και στο τέλος βγούμε εκτός.

 

2) Οι ρουτίνες που ανέφερες αφορούν μόνο το βασικό τμήμα με τους 8Χ8 διακόπτες (64 μνήμες). Εάν προσέξεις καλά το σχέδιο που έδωσα, υπάρχουν και άλλα πράγματα (optional) τα οποία και αυτά θα έχουν τον κώδικά τους.

 

3) Σχετικά με την EEPROM γράφεις "εσωτερική". Εννοείς "εξωτερική". Εσωτερική είναι αυτή που έχει μέσα του ο PIC.

 

4) Σχετικά με το USB, θα βοηθούσε πάρα πολύ. Κοίτα το επόμενο (το 5).

 

5) Εάν υπήρχε USB για στικάκι, τότε θα υπήρχε μεγάλη "άπλα" χώρου, δηλαδή μεγάλη χωρητικότητα δεδομένων ανά μνήμη, αφού τα αρχεία θα ήταν έτοιμα από λογισμικό στον Η/Υ και το μόνο που θα έπρεπε να κάνει το σύστημα, θα ήταν να διαβάσει κάποιο συγκεκριμένο αρχείο τη φορά και να το στείλει στο MidiOut.

 

Όμως, επειδή δεν θα υπάρχει συνδεσμολογία USB, πρέπει από την αρχή να ετοιμαστεί το block των δεδομένων της εξωτερικής EEPROM και να σταλεί στο κουτί (project) ως Bulk Dump.

 

Είναι λιγάκι νωρίς ν'ανοίξω τα χαρτιά μου, αφού δεν έχω καταλήξει ακόμα στο memory file protocol του συγκεκριμένου project. Όταν καταλήξω, θα υπάρχει σχετική ενημέρωση.

 

Επειδή αυτό (memory file protocol) είναι το Α και το Ω , ήδη δουλεύω πάνω σ'αυτό.

 

Με εκτίμηση

Μανώλης Χναράκης

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • Guru

Noiz Midi Controller 1

================

Από χθες το βράδυ το project απέκτησε επίσημα και όνομα [noiz_mc1].

Επίσης υπάρχει στα [DOWNLOADS] ειδικός φάκελος που αφορά το project.

 

Σ'ευχαριστώ admin.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργήστε λογαριασμό

Γραφτείτε στην παρέα μας. Είναι εύκολο!

Δημιουργία λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Σύνδεση

×
×
  • Δημοσιεύστε κάτι...

Τα cookies

Τοποθετήθηκαν cookies στην συσκευή σας για να είναι πιο εύκολη η περιήγηση στην σελίδα. Μπορείτε να τα ρυθμίσετε, διαφορετικά θεωρούμε πως είναι OK να συνεχίσετε. Πολιτική απορρήτου