Πίνακας περιεχομένων:

Microcontroller Fabric Tone Generator σε κωδικό C: 8 βήματα (με εικόνες)
Microcontroller Fabric Tone Generator σε κωδικό C: 8 βήματα (με εικόνες)

Βίντεο: Microcontroller Fabric Tone Generator σε κωδικό C: 8 βήματα (με εικόνες)

Βίντεο: Microcontroller Fabric Tone Generator σε κωδικό C: 8 βήματα (με εικόνες)
Βίντεο: LDmicro 11: Serial LCD Temperature Controller (Microcontroller PLC Ladder Programming with LDmicro) 2024, Ιούλιος
Anonim
Microcontroller Fabric Tone Generator σε κωδικό C
Microcontroller Fabric Tone Generator σε κωδικό C

Στα τέλη Οκτωβρίου του περασμένου έτους, οι οδηγοί carmissu του χρήστη μου έστειλαν ένα μήνυμα αφού είδα το synth του lunchbox. Από το μήνυμά του: Διδάσκω μουσική στο δημοτικό. Παίζουμε πολύ μουσική εγγραφής. δηλ. τα παιδιά παίζουν μικρά φλάουτα …… Έχω πολλά παιδιά με ειδικές ανάγκες που μπορούν να χρησιμοποιούν αυτούς τους μαύρους πίνακες αφισών με κύκλους που φέρουν το όνομα της σημείωσης. Αυτοί οι μαθητές σπρώχνουν τους κύκλους με ονόματα νότες, ενώ οι υπόλοιποι μαθητές παίζουν ένα τραγούδι….. Τα περισσότερα παιδιά με ειδικές ανάγκες μπορούν να το κάνουν αρκετά καλά και εγκαίρως με τη μουσική. Αυτό που επιδιώκω είναι να φτιάξω μια πολύ απλή γεννήτρια ήχου έτσι ώστε αυτά τα παιδιά να μπορούν να παίζουν το ίδιο γήπεδο με αυτά που παίζουν οι μαθητές στις συσκευές εγγραφής τους. Θα ήμουν μόνο μερικά γήπεδα. Σκέφτηκα ότι μπορούσα να συνδέσω ένα είδος μικρού κουμπιού στο κάτω μέρος των στρογγυλών κύκλων τους, έτσι ώστε όταν τους πατήσουν ο ήχος να βγαίνει από ένα μικρό ηχείο, αρκετά δυνατό για να μπορούν να ακούνε. Έχοντας μια μητέρα που είναι δασκάλα και του αρέσει το σχολείο, πώς θα μπορούσα να αντισταθώ; Να πω την αλήθεια δεν μπορούσα. Αυτό είναι σχεδόν ένα χρονικό του έργου και οδηγίες για το πώς να φτιάξετε το δικό σας.

Βήμα 1: Η αρχή ή γιατί δεν μπορούσα να κολλήσω στο αναλογικό

Η αρχή ή γιατί δεν μπορούσα να κολλήσω στο αναλογικό
Η αρχή ή γιατί δεν μπορούσα να κολλήσω στο αναλογικό

Τα καλά πράγματα ξεκινούν από την επόμενη σελίδα. Αν θέλετε να μάθετε πώς κατέληξα να χρησιμοποιώ τα μέρη που έκανα, διαβάστε παρακάτω. Το αληθινό χρονόμετρο: Αφού σκέφτηκα το έργο σκέφτηκα αμέσως τη γεννήτρια πιέζο τόνου από το βιβλίο μου Forest Mims III. Φαινόταν καλός τρόπος, είναι απλά ένα πιεζό, ένα 741 IC και ένα ζευγάρι παθητικά εξαρτήματα. Δεν έχει μεγάλη σημασία έτσι; Λοιπόν, έχει 2 προβλήματα, 1) όταν πατάτε το διακόπτη, είναι δυνατό να αλλάξετε το βήμα 2) είναι σχεδόν αδύνατο να συντονιστείτε. Το πρώτο θα μπορούσε πιθανότατα να ξεπεραστεί με κάποια τεχνολογία αποκοπής, αν και δεν ήξερα πώς να το κάνω χωρίς να προσθέσω άλλο μετρητή. Θα μπορούσε επίσης να είναι ένα πρόβλημα με τη χρήση πιεζό. Το δεύτερο τεύχος μόλις έγινε δυσκίνητο όταν ξεκινήσατε να προσπαθείτε να χτυπήσετε ένα συγκεκριμένο γήπεδο. Τι γίνεται με το 555; Το φύλλο δεδομένων δείχνει μια λειτουργία χρονικής καθυστέρησης που βασίζεται σε αντιστάσεις και πυκνωτές. Αυτό είναι υπέροχο μέχρι να αρχίσετε να πληκτρολογείτε πραγματικές τιμές των τμημάτων του πραγματικού κόσμου, τότε θα δυσκολευτείτε λίγο να χτυπήσετε ένα βήμα 440Hz. Μπορείτε να χρησιμοποιήσετε διακοσμητικά δοχεία για να το συντονίσετε, αλλά με την πάροδο του χρόνου τείνουν να κινούνται. Συνεχώς συντονίζοντας το όργανο, το οποίο συντάσσεται πάνω από την ταχεία αύξηση του κόστους και της ποσότητας των εξαρτημάτων, και η σύζυγός μου που έκανε την αλλαγή του βήματος όταν πάτησε το κουμπί σκότωσε το 555 για αυτό το έργο. Ενισχυτής: Κανένα πρόβλημα, οι άνθρωποι κάνουν συνθετικά με οπ-ενισχυτές από πριν γεννηθώ. Πόσο δύσκολο θα ήταν να φτιάξετε ένα πραγματικά απλό, με λίγα μέρη και συγκεκριμένες σημειώσεις; Πιο δύσκολο από όσο νόμιζα. Τα περισσότερα από τα σχέδια εκεί έξω είναι πολύ περίπλοκα για αυτό το έργο. Οι σχεδιαστές της Synth είναι έτοιμοι για την τέλεια κυματομορφή/τόνο. Αυτό έρχεται σε άμεση σύγκρουση με ένα έργο που υποτίθεται ότι είναι αρκετά φθηνό για τους προϋπολογισμούς του σχολείου ή των εκπαιδευτικών. Η κατασκευή ενός πληκτρολογίου είναι αρκετά εύκολη, είναι απλώς μια δέσμη αντιστάσεων και ισχύος ή μια δέσμη διόδων και ισχύος. Είναι το υπόλοιπο σχέδιο κυκλώματος και το κόστος των προσαρμοσμένων υπολογιστών που αρχίζουν να ξεφεύγουν από κάποιον σε αρχικό ηλεκτρονικό επίπεδο. Επαναπροσδιορισμός έργου: Έτσι το έργο επαναπροσδιορίστηκε πριν ακόμη ξεκινήσω. Χρειαζόμουν κάτι που θα μπορούσε να αλλάξει την ακίδα ενός ηχείου, εγκαίρως, με το πάτημα ενός κουμπιού. Δεν ήθελα να σχεδιάσω και να αγοράσω ένα PCB. Αυτό έπρεπε να χρησιμοποιήσει όσο το δυνατόν λιγότερα εξαρτήματα και να συναρμολογηθεί ως κιτ για αρχάριους. Με κοίταζε όλη την ώρα στο πρόσωπο. Duh !! Μικροελεγκτής! Microcontroller: Έτσι, αφού αγόρασα ένα κιτ Modern Devices Bare Bones Arduino και ένα Evil Mad Scientist Simple Target Board και τα άφησα να καθίσουν στο γραφείο μου για μήνες χωρίς να χρησιμοποιηθώ, είχα το τέλειο εισαγωγικό έργο. Άρχισα να κοιτάζω το χρόνο που χρειάζεται για να συγκεντρωθούν και τα δύο, η καμπύλη εκμάθησης για τον κώδικα, το κόστος, τα πρόσθετα μέρη που χρειάζονται και να γίνει αυτό που θέλω και εγκαταστάθηκε στον πίνακα προορισμού. Το κόστος ήταν αρκετά ίσο, $ 15 συν ένα καλώδιο FTDI $ 20 για το Arduino, $ 12 συν έναν προγραμματιστή USBtinyISP $ 22. Iξερα ήδη το C ++ από το μικρό κολέγιο που άντεχα και πίστευα ότι το C για τους μικροελεγκτές δεν θα ήταν τόσο κακό, ενώ εκτός από το να αναβοσβήνει ένα φως για να βεβαιωθώ ότι έβαλα το κιτ μου σωστά, δεν είχα εμπειρία Arduino. Και τα δύο θα μπορούσαν να τοποθετηθούν. Prettyταν λίγο πολύ μια ανατροπή, οπότε αποφάσισα για τα λιγότερα μέρη των δύο, τον πίνακα -στόχο.

Βήμα 2: Τι χρειάζεστε Rev 1

Τι χρειάζεστε Rev 1
Τι χρειάζεστε Rev 1

Parts CostUSBtinyISP AVR Programmer Kit (USB SpokePOV Dongle) v2.0 22,00 $ 5-pk 2,75 $ http 5) 3,49 $ (4συσκευασία) https://www.radioshack.com/product/index.jsp?productId=2062539"AAA "Θήκη μπαταρίας 1,79 $ $ Submini Slide Switch (προαιρετικό για διακόπτη τροφοδοσίας) 2,69 $ (2 πακέτα) https://www.radioshack.com/product/index.jsp?productId=2062490LED και αντίσταση (προαιρετικά, αν θέλετε λαμπτήρα τροφοδοσίας) $ θα πρέπει να είναι δωρεάν αν είναι ξαπλωμένοι Το καλώδιο $ πρέπει επίσης να βρίσκεται γύρω Ασημένιο συγκολλητικό (αν πρόκειται να πάει οπουδήποτε κοντά στα παιδιά, μάλλον δεν πρέπει να χρησιμοποιείτε μόλυβδο, οι γονείς γίνονται πολύ περίεργοι για τέτοια πράγματα;)) Τρίψιμο αλκοόλ (για να move flux) Αν θέλετε κάποια μέρη για εξοικονόμηση χρημάτων, δεν χρειάζεται να προμηθευτείτε ανταλλακτικά από το RadioShack. Το έκανα γιατί είναι κοντά και προβλέψιμα.

Βήμα 3: Συναρμολόγηση Rev 1

Συνέλευση Rev 1
Συνέλευση Rev 1
Συνέλευση Rev 1
Συνέλευση Rev 1

Συνδυάστε τα μέρη σας όπως φαίνεται. Βεβαιωθείτε ότι χρησιμοποιείτε αλκοόλ και ένα πινέλο ροής όταν τελειώσετε για να απαλλαγείτε από κάθε ροή από τη συγκόλληση. Το σχηματικό είναι παρακάτω για όσους το προτιμούν. Τα D1 και R1 μπορούν να είναι ό, τι θέλετε, είναι απλώς ένα φωτιστικό ισχύος. Το C1 είναι απλώς για να βοηθήσει να γίνει η ισχύς λίγο πιο συνεπής. Χρησιμοποίησα 10uF. Αυτό το σχηματικό είναι το ίδιο για τις μεταγενέστερες εκδόσεις, απλώς αλλάξτε τα κουμπιά για υφασμάτινους διακόπτες. στην τελευταία αναθεώρηση πρόσθεσα διακόπτες σε PC4 και PC5 ή ακίδες 27 και 28.

Βήμα 4: Τι χρειάζεστε Rev 2

Τι χρειάζεστε Rev 2
Τι χρειάζεστε Rev 2

Ουσιαστικά αλλάζετε τα κουμπιά Radio Shack για χειροποίητα υφασμάτινα. Χρειάζεστε: Πολλαπλά χρώματα υφάσματος ή ένα χρώμα αν θέλετε κάθε νότα να έχει το ίδιο χρώμα. Το καπιτονέ τμήμα του πλησιέστερου υφασμάτινου καταστήματός σας είναι το καλύτερο μέρος για να το αγοράσετε φθηνά. Τα τεταρτημόρια είναι 1,50 $ και μπορείτε να πάρετε έναν τόνο διακόπτες από έναν. Υφασμάτινο αγώγιμο, προτείνω το ύφασμα Flectron από το LessEMF είναι 20 $ για ένα κομμάτι 12 "x54" Eyelets για τη σύνδεση του σύρματος στο ύφασμα. Μπορείτε να τα βρείτε στα περισσότερα καταστήματα υφασμάτων φθηνά. Το JoAnn έχει το εργαλείο και 25 για $ 2 Θα χρειαστείτε ένα σφυρί για αυτό. Καλώδιο, χρησιμοποίησα το 22AWG, προτείνω μικρότερο αν το έχετε. Συνδυάζοντας, για να κολλήσει το χρωματιστό και αγώγιμο ύφασμα. Ρωτήστε στο κατάστημα και πιθανότατα μπορείτε να το αγοράσετε στην αυλή. Αυτό πιθανότατα θα λειτουργούσε καλά, αν και προτείνω να ρωτήσετε κάποιον που χτυπάει, χρησιμοποίησα στην αρχή ένα πραγματικά χαλαρό πράγμα και μετά άλλαξα σε κάτι πιο σφιχτό πλεκτό. Σας προτείνω να δοκιμάσετε μόνο μερικά διαφορετικά μέχρι να βρείτε αυτό που λειτουργεί καλύτερα. Οι σωλήνες συρρίκνωσης θερμότητας, αυτό έκανε το όλο πράγμα πολύ πιο διαχειρίσιμο. Τα σύρματα συρρικνώνονται μεταξύ τους καθώς περνούν το ένα από το άλλο και θα παραμείνουν πολύ καλύτερα.

Βήμα 5: Συναρμολόγηση Rev 2

Συνέλευση Rev 2
Συνέλευση Rev 2
Συνέλευση Rev 2
Συνέλευση Rev 2
Συνέλευση Rev 2
Συνέλευση Rev 2

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

Βήμα 6: Τι χρειάζεστε Rev 3

Τι χρειάζεστε Rev 3
Τι χρειάζεστε Rev 3

Στο Rev 3 έκανα τους διακόπτες ανεξάρτητους από την καλωδίωση. Αυτό εξοικονόμησε πολύ χρόνο. Μου αρέσει επίσης η εμφάνιση του τελικού αποτελέσματος πολύ περισσότερο. Λοιπόν, εδώ είναι τα νέα μέρη που χρειάζεστε: Snaps, Just goted from JoAnn's. Theyρθαν με ένα εργαλείο εγκατάστασης που δεν είναι κακό για $ 7, θα πρότεινα ένα από τα εργαλεία πένσας, καθώς έπρεπε να χωρίσω το εργαλείο μου για να εγκαταστήσω τα κουμπώματα στη μέση. Το ράψιμο θα ήταν μια καλή εναλλακτική λύση, αν και χρειάζονται περισσότερο χρόνο για να κολλήσουν. Αγώγιμο νήμα, το Spark Fun έχει πράγματα που μπορούν να μπουν στη ραπτομηχανή σας. Έπρεπε να πάω πολύ αργά στο μηχάνημά μου, διαφορετικά θα σπάσει το νήμα. Τα χιλιόμετρα σας μπορεί να διαφέρουν

Βήμα 7: Συναρμολόγηση Rev 3

Συνέλευση Rev 3
Συνέλευση Rev 3
Συνέλευση Rev 3
Συνέλευση Rev 3
Συνέλευση Rev 3
Συνέλευση Rev 3
Συνέλευση Rev 3
Συνέλευση Rev 3

Αυτή η αναθεώρηση ήταν πολύ καλύτερη από την προηγούμενη όσον αφορά το χρόνο μέχρι την κατασκευή της. Επιπλέον, οι αφαιρούμενοι διακόπτες έσωσαν τη λογική μου περισσότερες από μία φορές. Ξεκινήστε κάνοντας τη βάση. Είναι μόνο ένα καπιτονέ τέταρτο διπλωμένο στη μέση. Βάλτε ένα στρώμα κτυπήματος στην κορυφή και ράψτε, αφήνοντας μια τρύπα για να το ανατρέψετε. Σπρώξτε το πράγμα μέσα από την τρύπα και βασικά έχετε ένα πράγμα τύπου μαξιλαριού. Το πάτησα έτσι ήταν πιο εύκολο να δουλέψω. Χρησιμοποιήστε απλό νήμα και τρελαθείτε. Έκανα διαμάντια σε αυτό, αλλά ίσως την επόμενη φορά να βάλω έναν δράκο πίσω ή κάτι δροσερό. Τώρα, στους διακόπτες. Μου αρέσει αυτό το σχέδιο επειδή μπορείτε βασικά να φτιάξετε έναν τόνο από αυτά εκ των προτέρων και να χρησιμοποιήσετε μόνο αυτό που θέλετε. ξεκινήστε χρησιμοποιώντας ένα κομμάτι χαρτόνι, χαρτί ή ύφασμα και κόψτε ένα σχήμα αχλαδιού από αυτό. Χρησιμοποιήστε το ως οδηγό για να κόψετε το πάνω και το κάτω μέρος για κάθε διακόπτη. Έκοψα ένα χρώμα για κάθε πάτο και ένα διαφορετικό χρώμα για τις κορυφές, αλλά μπορείτε να είστε δημιουργικοί και να κάνετε ό, τι θέλετε. Κόψτε τον οδηγό σας σε σχήμα γλειφιτζούρι που θα ταιριάζει εύκολα στο διακόπτη. Επιμηκύνετε το "ραβδί" ώστε να μπορεί να τυλιχτεί στην άκρη του "αχλαδιού". Κόψτε το σχήμα από το συντηγμένο και αγώγιμο ύφασμα και ασφαλίστε τη μία πλευρά του αγώγιμου υφάσματος. Αφαιρέστε το υπόστρωμα από το υλικό σύντηξης και λιώστε το στην κορυφή του υφάσματος που θα βρίσκεται στο κάτω μέρος και στο κάτω μέρος του υφάσματος που θα βρίσκεται στην κορυφή. Τυλίξτε το επιπλέον κομμάτι στην κορυφή. Προχωρήστε προς τη ραπτομηχανή σας και βάλτε το κτύπημα με τρύπες μεταξύ του άνω και του κάτω υφάσματος. Ράψτε έξω από το αγώγιμο ύφασμα και παραλείψτε το μέρος "διακόπτη" του διακόπτη. Διαπίστωσα ότι είναι δυνατό να ράψετε το πάνω αγώγιμο ύφασμα στο κάτω μέρος δημιουργώντας ένα κοντό. Είναι καλύτερα να μην ράβετε το αγώγιμο ύφασμα. Συνδέστε τα κουμπώματα και ο διακόπτης τελείωσε. Βρήκα πιο εύκολο να χρησιμοποιήσω το αρσενικό κουμπί για όλες τις συνδέσεις κάτω/GND και το θηλυκό για όλες τις κορυφές. Αυτό κάνει όλους τους διακόπτες εναλλάξιμους. Το κύκλωμα: Το θέμα με την κοπή των γύρων είναι ότι έχετε πολλά επιπλέον bits. Πήρα τα απορρίμματά μου, ένωσα μεγάλα κομμάτια σύντηξης σε μεγάλα κομμάτια αγώγιμου υφάσματος και τα χρησιμοποίησα για να κόψω τα μικρότερα ορθογώνια που χρησιμοποιούσα ως τακάκια. Απλώστε τους διακόπτες σας και ασφαλίστε τα μαξιλάρια στη βάση με αρκετό χώρο για να τους ράψετε μια γραμμή και να ασφαλίσετε. Το πόδι της ραπτομηχανής που χρησιμοποίησα δεν πήρε την καλοσύνη να είμαι πολύ κοντά στο κουμπί, οπότε λάβετε αυτό υπόψη σας και δώστε λίγο χώρο στον εαυτό σας. Δεδομένου ότι πήρα αγώγιμο νήμα που μπορούσε να μπει στη ραπτομηχανή μου, έραψα μια γραμμή από μαξιλάρι σε μπλοκ και πίσω. Έπρεπε να πάω αργά αλλιώς το νήμα θα σπάσει, αλλά ήταν πολύ πιο γρήγορο από το ράψιμο στο χέρι. Επίσης με αγώγιμο νήμα στο μπομπίνα και τη βελόνα, είχα μια πολύ καλή σταθερή σύνδεση. Τα πράγματα ξεφτίζουν σαν τρελά, αλλά μια μικρή κόλλα χειροτεχνίας ή ο Έλμερς το καθαρίζει. Προσπαθήστε να κρατάτε τις γραμμές μακριά ο ένας από τον άλλον και δεν πρέπει να έχετε κανένα πρόβλημα. Τελική συναρμολόγηση: Τοποθετήστε όλους τους διακόπτες σας, συνδέστε την πλακέτα, φορτώστε τον κωδικό και τελειώσατε. Χρησιμοποίησα σύρμα για να φτάσω από τον πίνακα στο μαξιλάρι και στη συνέχεια έραψα το σύρμα στη βάση με το χέρι. Για την επόμενη έκδοση, θα τοποθετήσω την πλακέτα σε ένα πλαστικό κουτί με κουμπώματα για να τη στερεώσω στη βάση, έτσι ώστε τα αδρανή δάχτυλα να μην την απομακρύνουν.

Βήμα 8: Κωδικός

Κώδικας
Κώδικας

Εάν δεν έχετε προγραμματίσει ποτέ ένα τσιπ πριν, αυτό είναι ένα κάπως αποθαρρυντικό έργο. Δεν βοηθάει ότι τα εργαλεία είναι ξεφλουδισμένα και τις περισσότερες φορές πρέπει να εκτελέσετε την ίδια λειτουργία πολλές φορές. Οι δύο καλύτεροι πόροι που βρήκα για να κατανοήσω τι συμβαίνει είναι η σελίδα για το USBtinyISP, https://www.ladyada.net/make/usbtinyisp/ και η πορεία συντριβής στον προγραμματισμό του παιχνιδιού θορύβου, http:/ /blog.makezine.com/archive/2008/05/noise_toy_crashcourse_in.html Αυτά θα πρέπει να μπορούν να σας ξεκινήσουν.

Σε πολλούς αρέσει το Arduino για αυτήν την κωδικοποίηση και δεν υπάρχει τίποτα κακό στη χρήση του, εκτός από το ότι πιστεύω ότι προσθέτει πολύ φούσκωμα σε ένα κανονικά απλό πρόγραμμα. Επίσης, ήξερα το C και δεν ξέρω το Arduino. Oneσως μια μέρα, αν υπάρχει χρόνος.:) Κωδικός: {{{ ##include // Χρησιμοποιήστε μια καρφίτσα για να ενεργοποιήσετε το SPK /// Typedefs ////////// typedef unsigned char u8; int main (άκυρο) {u8 btnState0; u8 btnState1; u8 btnState2; u8 btnState3; u8 btnState4; u8 btnState5; u8 btnState6; DDRB = (1 << DDB6); // Ορίστε SPK για έξοδο PORTD = (1 << PD0) | (1 << PD1) | (1 << PD2) | (1 << PD3) | (1 << PD4); // Set Button High PORTC = (1 << PC4) | (1 << PC6); TCCR2B = (1 << CS21); // Ρύθμιση χρονοδιακόπτη ενώ (1) {btnState0 = ~ PINC & (1 << PC5); btnState1 = ~ PINC & (1 << PC4); btnState2 = ~ PIND & (1 << PD0); btnState3 = ~ PIND & (1 << PD1); btnState4 = ~ PIND & (1 << PD2); btnState5 = ~ PIND & (1 << PD3); btnState6 = ~ PIND & (1 << PD4); if (btnState0) {if (TCNT2> = 190) {PORTB ^= (1 << PD6); // Flip SPK Pin TCNT2 = 0; }} if (btnState1) {if (TCNT2> = 179) {PORTB ^= (1 << PD6); // Flip SPK Pin TCNT2 = 0; }} if (btnState2) {if (TCNT2> = 159) {PORTB ^= (1 << PD6); // Flip SPK Pin TCNT2 = 0; }} if (btnState3) {if (TCNT2> = 142) {PORTB ^= (1 << PD6); // Flip SPK Pin TCNT2 = 0; }} if (btnState4) {if (TCNT2> = 126) {PORTB ^= (1 << PD6); // Αναστρέψτε την καρφίτσα SPK TCNT2 = 0; }} if (btnState5) {if (TCNT2> = 119) {PORTB ^= (1 << PD6); // Αναστρέψτε την καρφίτσα SPK TCNT2 = 0; }} if (btnState6) {if (TCNT2> = 106) {PORTB ^= (1 << PD6); // Αναστρέψτε την καρφίτσα SPK TCNT2 = 0; }}}}}}} Από πού προέρχονται τα γήπεδα; Χρειάστηκαν λίγα μαθηματικά. Το χρονόμετρο στο atmega 168 λειτουργεί στα 1MHz. Αυτό είναι πάρα πολύ γρήγορο για ήχο, οπότε πρέπει να χρησιμοποιήσουμε το prescaler /8. Στη συνέχεια, επειδή πρέπει να αναποδογυρίσουμε τον πείρο εξόδου ψηλά και χαμηλά για να κάνουμε 1 κύκλο, πρέπει να διαιρέσουμε την απάντηση με 2 για να βρούμε το σωστό βήμα. Ο τύπος μοιάζει με αυτόν, Pitch για εισαγωγή κωδικού = (1000000/8)/(Συχνότητα στόχου*2) Για το A (440) αυτό θα είναι 125000/880 = 142.045 ή 142 για τους σκοπούς μας, αφού η τιμή πρέπει να είναι ακέραιος Το Οι συχνότητες στόχων των σημειώσεων μπορούν να βρεθούν σχεδόν οπουδήποτε στο διαδίκτυο και είναι γενικά όλες οι ίδιες. Θέλω ακόμα να προσθέσω μια δήλωση περίπτωσης αντί να χρησιμοποιήσω ένα σωρό Ifs και να χρησιμοποιήσω το PWM για να ελέγξω καλύτερα την ένταση και την κλίση του ηχείου, αλλά προς το παρόν, αυτό λειτουργεί.

Συνιστάται: