Πίνακας περιεχομένων:
- Βήμα 1: Χαρακτηριστικά
- Βήμα 2: Πράγματα που θα χρειαστείτε
- Βήμα 3: Κάψιμο του προγράμματος εκκίνησης
- Βήμα 4: Δημιουργία της μονάδας
- Βήμα 5: ΣΧΗΜΑΤΙΚΟ
- Βήμα 6: ΛΟΓΙΣΜΙΚΟ ΤΡΕΧΟΝΤΑΙ ΣΤΟ ΠΛΑΙΣΙΟ
- Βήμα 7: Βιντεοκλίπ του Mini App 'sm' Running
Βίντεο: DemUino - Home Computer/Controller: 7 Βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:34
Ένας υπολογιστής εμπνευσμένος από το Arduino της DemeterArt Αξιοποιήστε στο έπακρο το παλιό σας πληκτρολόγιο PS2. Παραβιάστε το σε έναν εξατομικευμένο προσωπικό υπολογιστή για να ελέγχετε πράγματα! Πάντα ήθελα να φτιάξω τον δικό μου οικιακό υπολογιστή, σε ρετρό στυλ, τίποτα φανταχτερό αλλά με ιδιαίτερες δυνατότητες προσαρμοσμένες στις προτιμήσεις μου. Έτσι, έφτασα με το atmega328 MCU και το κιτ ανάπτυξης Arduino.
Επιτρέψτε μου να δηλώσω ότι αυτό το έργο θα χρειαζόταν πολύ περισσότερο με αμφίβολα τελικά αποτελέσματα, αν δεν υπήρχαν οι χαρισματικοί θαυμαστές εκεί έξω που εγωιστικά παρέχουν λιγότερο τις δωρεάν βιβλιοθήκες για χρήση από όλους. Σας ευχαριστώ όλους:-)
επισκεφτείτε τον ιστότοπό μου για να διαβάσετε ολόκληρη την ιστορία και να κατεβάσετε όλα τα σχετικά αρχεία
www.sites.google.com/site/demeterart
Βήμα 1: Χαρακτηριστικά
- Βασισμένο στο ATMEGA328 με φλας 32KB, 2KB SRAM και 1KB EEPROM.
- υποστήριξη για διαδραστικές και παρτίδες λειτουργίες
- επεξεργαστή γραμμής και λειτουργία λίστας κατά την επεξεργασία
- 8 προσαρμοσμένοι χαρακτήρες για γραφικά χρήστη
- 60 βήματα προγράμματος αριθμημένα 00,…, 99
- Βρόχοι "If" υπό όρους, "while" και "for" συν δηλώσεις "goto" και "sub" για διακλάδωση
- Βασικές αριθμητικές και μαθηματικές εκφράσεις καθώς και τεστ boolean
- Οι μεταβλητές συστήματος επιτρέπουν χρονικά συμβάντα, μέσο όρο, rms, min και max τιμές από αναλογικές ακίδες κ.λπ
- 26 μεταβλητές χρήστη για αλληλεπίδραση με μεταβλητές συστήματος και εντολές
- 104 byte ενός πίνακα διευθυνσιοδοτούμενου χρήστη ή 52 σύντομους ακέραιους αριθμούς
- ικανότητα ανάγνωσης/εγγραφής δεδομένων προγράμματος καθώς και κώδικα εν κινήσει (μεταβλητή p)
- εφαρμογή μίνι παλμογράφου με προσαρμοσμένους χαρακτήρες για ψευδο γραφικά
- αποθήκευση και φόρτωση προγραμμάτων και δεδομένων από/προς EEPROM
- φόρτωση/αποθήκευση προγραμμάτων και μεταβλητών από/σε υπολογιστή
- autoexec για φόρτωση και εκτέλεση προγράμματος από το EEPROM μετά από κάθε επαναφορά
- 9 καρφίτσες GPIO (περιλαμβάνονται SPI) διαθέσιμες σε εξωτερική υποδοχή DB15
- BUZZER για ηχητικά εφέ
Βήμα 2: Πράγματα που θα χρειαστείτε
Ένα παλιό πληκτρολόγιο ps/2 αρκετά παχύ για να φιλοξενήσει την οθόνη LCD χαρακτήρων pcb (η δημοφιλής παράλληλη μορφή) τσιπ MAX232 για θύρα RS232 atmel atmega328PU Κιτ ανάπτυξης Arduino με IDE 1.0.1 ρυθμιστή 5M ρυθμιστή 5V buzzer ανορθωτή, πυκνωτές, κουμπί επαναφοράς, συνδετήρες κλπ
Βήμα 3: Κάψιμο του προγράμματος εκκίνησης
Έτσι, μετά την αγορά ενός «άδειου» τσιπ atmega328PU, πρέπει να ληφθεί μια απόφαση. Χρησιμοποιώ ειδικό προγραμματιστή είτε εξωτερικό είτε ISP ή καίω το πρόγραμμα εκκίνησης Arduino στο θηρίο και καθιστώ τη μονάδα προγραμματιζόμενη μέσω της θύρας UART; Επέλεξα το τελευταίο για να κάνω τη ζωή μου πιο εύκολη! Ο νέος φορτωτής εκκίνησης καταλαμβάνει μόνο μισό kilobyte μνήμης flash αφήνοντας λίγο περισσότερο από 31KB προγράμματος χρήστη και στατικά δεδομένα διαθέσιμα. Ο ιστότοπος Arduino καλύπτει την περίπτωση καύσης του bootloader σε ένα νέο τσιπ, όταν ήρθε η χρήση του avrdude για να κάψει πραγματικά το τσιπ -στόχο, η διαδικασία απέτυχε με ένα σφάλμα που υποδεικνύει το λάθος αναγνωριστικό για το συγκεκριμένο MCU. Έτσι, μετά από κάποιο ψάξιμο βρήκα αυτόν τον τύπο που το κατάλαβε σωστά και ακολούθησα τη διαδικασία του. Η μόνη διαφορά ήταν 2 αρχεία διαμόρφωσης, το avrdude.conf και το boards.txt που χρειάζονταν τα avrdude και arduino IDE 1.0.1 για να το καταστήσουν εφικτό. Αφού αντιγράψατε τα 2 αρχεία στις σωστές θέσεις τους (πρώτα δημιουργήστε αντίγραφα ασφαλείας των παλιών), η επιλογή ‘arduino328’ από τα εργαλεία-> Board ήταν διαθέσιμη και το avrdude προχώρησε στην καύση των ασφαλειών και του bootloader. Τώρα το τσιπ είναι έτοιμο για προγραμματισμό από το νέο μηχάνημα!
Βήμα 4: Δημιουργία της μονάδας
Μια διάτρητη σανίδα με λωρίδες χαλκού χρησιμοποιήθηκε ως γρήγορη λύση συναρμολόγησης με πρίζες DIP για τα τσιπ, ξέρετε, για κάθε περίπτωση! Στη συνέχεια, οι τρύπες και οι περικοπές για τους συνδετήρες, το κουμπί επαναφοράς και η οθόνη LCD άνοιξαν μέσω του εξαιρετικά στιβαρού και χοντρού πλαστικού του πληκτρολογίου. Ναι, χτίστηκε πριν από 25 χρόνια! Ακολούθησε το χάος των καλωδίων που προέρχονταν από το PCB προς τα διάφορα περιφερειακά. Ένας υποτυπώδης έλεγχος συνέχειας και στη συνέχεια η τροφοδοσία συνδέθηκε χωρίς τσιπ που συμπληρώθηκε μόνο για να ελέγξει τις πρίζες για τις κατάλληλες τάσεις. Στη συνέχεια μπήκε στα 2 IC και η θήκη του πληκτρολογίου έκλεισε σταθερά μέσω των πλαστικών κουμπωμάτων της στο κάτω μέρος. Η μονάδα ήταν έτοιμη να κάψει σκίτσα στο χειριστήριο!
Προτείνω κάποιος να χρησιμοποιεί μη πολικούς πυκνωτές 1uF/16V για τις αντλίες φόρτισης MAX232. Εντοπίστε τους πυκνωτές αποσύνδεσης 100nF για τα δύο τσιπ όσο το δυνατόν πιο κοντά στις αντίστοιχες ακίδες VCC και GND. Χρησιμοποιήστε μια σύνδεση αστεριού για την τροφοδοσία και τη γείωση που αναφέρεται στον ρυθμιστή LM7805. Ο διακόπτης 2 θα μπορούσε να είναι ένας άλτης ανάλογα με την καταστροφή, αλλά είναι καλό να υπάρχει μόνο για να αποφευχθούν ανεπιθύμητες επαναφορές MCU από τον κεντρικό υπολογιστή σε ορισμένες περιπτώσεις. Σε κάθε περίπτωση, ο διακόπτης πρέπει να είναι κλειστός για να επιτρέψει στο Arduino IDE να κάψει το σκίτσο μέσω επαναφοράς του MCU -στόχου (pin DTR του RS232). Στην περίπτωσή μου η σύνδεση είναι μόνιμη (πάντα κλειστή). Χρησιμοποιήστε μια σειρά αντίστασης για το βομβητή για να απομονώσετε τα διάφορα nFs χωρητικότητας από την πύλη οδήγησης … ποτέ δεν ξέρετε.. Εντοπίστε το XTAL και τους πυκνωτές φόρτωσης 18-22pF όσο το δυνατόν πιο κοντά στις αντίστοιχες ακίδες του ελεγκτή.
Λόγω της γέφυρας ανορθωτή, η μονάδα μπορεί να τροφοδοτηθεί τόσο από μετασχηματιστές AC όσο και από DC. Σε περίπτωση DC, υπάρχει πτώση τάσης 1,5 V μεταξύ του προσαρμογέα και της εισόδου στο ρυθμιστή. Σε περίπτωση AC, η είσοδος του ρυθμιστή είναι περίπου 1,4 φορές η έξοδος RMS του προσαρμογέα ή μικρότερη λόγω φόρτωσης. Εάν η διαφορά μεταξύ της εισόδου του ρυθμιστή και της εξόδου του (+5V) είναι μεγάλη, ας πούμε 7 βολτ, τότε η ισχύς που καταναλώνει ο ρυθμιστής πλησιάζει τα 0,5 watt και είναι προτιμότερο να χρησιμοποιήσετε μια μικρή ψύκτρα στην οποία θα τοποθετήσετε το τσιπ (παρέχεται υπάρχει χώρος για αυτό) για πολύωρη λειτουργία σε ζεστό καιρό.
Η ασφάλεια εισόδου AC μπορεί να επιλεγεί ανάλογα με τα εξωτερικά σας φορτία (μέσω της υποδοχής DB15). Άλλοι παράγοντες που επηρεάζουν την επιλογή ασφάλειας είναι η αντίσταση περιορισμού ρεύματος για τον οπίσθιο φωτισμό LED της LCD, ο πυκνωτής γέφυρας για το ρεύμα φόρτισης και η τρέχουσα χωρητικότητα του μετασχηματιστή παροχής.
Βήμα 5: ΣΧΗΜΑΤΙΚΟ
Βήμα 6: ΛΟΓΙΣΜΙΚΟ ΤΡΕΧΟΝΤΑΙ ΣΤΟ ΠΛΑΙΣΙΟ
Αυτό είναι το σκίτσο που τα κάνει όλα να συμβαίνουν… και 32KB ΔΕΝ είναι αρκετά! Μπορείτε είτε να το χρησιμοποιήσετε χωρίς τροποποίηση, οπότε θα εκτιμούσα μια αναφορά στο όνομά μου, είτε να το αλλάξετε κατά βούληση και να με ξεχάσετε;-)
Αυτή είναι η λεπτομερής τεκμηρίωση σχετικά με το μηχάνημα.
Περίληψη Εντολών & Εκφράσεων
: Μια μη εκτυπώσιμη γραμμή σχολίων
ai: επισύναψη διακοπής 0 (pin D2)
ar: αναλογική ανάγνωση
aw: «αναλογική εγγραφή» ανά arduino ή πιο σωστά pwm
ca: αναλογική λήψη σε έναν πίνακα
cl: καθαρίζει την ένδειξη cno: return *Prgm index of number number
di: περιμένετε μια σειρά παλμών και μετρήστε τη διάρκεια και το χρόνο
dl: καθυστέρηση
do: σε συνδυασμό με το «wh»
dr: ψηφιακή ανάγνωση οποιασδήποτε ακίδας
dw: ψηφιακή εγγραφή οποιασδήποτε ακίδας
ed: λειτουργία επεξεργασίας / φόρτωση προγράμματος από υπολογιστή / γραμμές επανάληψης αριθμού
el: Λειτουργία πρόσβασης EEPROM
τέλος: η δήλωση ΤΕΛΟΣ ενός προγράμματος
ensb: τελειώνει την υπορουτίνα
es: Λειτουργία πρόσβασης EEPROM
fl: απλό κινούμενο μέσο φίλτρο
fr: for-next loop (fr-nx)
μεταβείτε: μεταβείτε στο βήμα προγράμματος
gosb: συνέχιση της εκτέλεσης σε υπορουτίνα
gt: περιμένει την είσοδο του χρήστη
εάν: δοκιμαστική κατάσταση και πηδήξτε στο βήμα
io: GPIO 1-9 bit
ld: πρόγραμμα φόρτωσης/συγχώνευσης από το EEPROM
lp:: βρόχος που ελέγχεται από πληκτρολόγιο σε διαδραστική λειτουργία
ls: λειτουργία λίστας / αποστολή προγράμματος στον υπολογιστή κάθε φορά
ml: πάρτε χρόνο
mm: εμφάνιση ελεύθερης μνήμης
nos: μετατρέπει τον αριθμό σε συμβολοσειρά
nx: σε συνδυασμό με το «fr»
pl: πίνακας γραφήματος cxx
pm: ορίστε καρφίτσες για είσοδο ή έξοδο
pr: εκτυπώνει ένα μήνυμα ή τιμή ή προσαρμοσμένο χαρακτήρα
rgc: εντολή αντιγραφής εύρους για πίνακες
rgs: εντολή set range για πίνακες
rn: εκτελέστε το πρόγραμμα στη μνήμη RAM
rs: μαλακή επαναφορά
rx: λάβετε έναν χαρακτήρα μέσω RS232
si: σύγχρονη σειριακή είσοδος με ρολόι και ακίδες δεδομένων
sm: μίνι παλμογράφος app sno: μετατρέπει τη συμβολοσειρά σε αριθμό
έτσι: σύγχρονη σειριακή έξοδος με ρολόι και ακίδες δεδομένων
sub: δηλώνει υπορουτίνα
sv: αποθήκευση προγράμματος στο EEPROM
tn: ηχεί ένας ήχος
tx: μεταδίδει έναν αριθμό μέσω RS232
wh: ένας βρόχος do-while που χρησιμοποιείται σε συνδυασμό με το «do»
Βήμα 7: Βιντεοκλίπ του Mini App 'sm' Running
επισκεφθείτε τον ιστότοπό μου για να διαβάσετε ολόκληρη την ιστορία και να κατεβάσετε όλα τα σχετικά αρχεία
www.sites.google.com/site/demeterart
Συνιστάται:
8BIT COMPUTER: 8 Βήματα
8BIT COMPUTER: Για να το προσομοιώσετε, χρειάζεστε ένα λογισμικό που ονομάζεται LOGISIM, είναι ένας ψηφιακός προσομοιωτής πολύ μικρού βάρους (6MB), ο οποίος σας ακολουθεί κάθε βήμα και συμβουλές που πρέπει να ακολουθήσετε για να έχετε ένα τελικό αποτέλεσμα και στο δρόμο Θα μάθω πώς κατασκευάζονται οι υπολογιστές, από το maki
Computer Build 1 KCTC 2η συνεδρία: 14 βήματα
Computer Build 1 2η συνεδρία KCTC: Θα χρειαστείτε τα ακόλουθα μέρη για να ολοκληρώσετε την κατασκευή σας: 1) Μητρική πλακέτα 2) CPU3) Θερμοσίφωνος + Ανεμιστήρας 4) RAM5) Θήκη Υπολογιστή 6) Σκληρός δίσκος 7) Τροφοδοσία 8) Κάρτα γραφικών
Arduino Based DIY Game Controller - Arduino PS2 Game Controller - Παίζοντας Tekken With DIY Arduino Gamepad: 7 Βήματα
Arduino Based DIY Game Controller | Arduino PS2 Game Controller | Παίζοντας Tekken With DIY Arduino Gamepad: Γεια σας παιδιά, το να παίζετε παιχνίδια είναι πάντα διασκεδαστικό, αλλά το παιχνίδι με το δικό σας προσαρμοσμένο χειριστήριο παιχνιδιών DIY είναι πιο διασκεδαστικό. Έτσι, θα κάνουμε έναν ελεγκτή παιχνιδιών χρησιμοποιώντας arduino pro micro σε αυτά τα εκπαιδευτικά
YABC - Another Another Blynk Controller - IoT Cloud Temperature and Humidity Controller, ESP8266: 4 βήματα
YABC - Another Another Blynk Controller - IoT Cloud Temperature and Humidity Controller, ESP8266: Hi Makers, άρχισα πρόσφατα να καλλιεργώ μανιτάρια στο σπίτι, μανιτάρια Oysters, αλλά έχω ήδη 3 από αυτούς τους ελεγκτές στο σπίτι για τον έλεγχο θερμοκρασίας Fermenter για το σπίτι μου, γυναίκα κάνει επίσης αυτό το πράγμα Kombucha τώρα και ως θερμοστάτης για θερμότητα
NES Controller Shuffle (Nintendo Controller MP3, V3.0): 5 βήματα (με εικόνες)
NES Controller Shuffle (Nintendo Controller MP3, V3.0): Έσπασα τελείως το ryan97128 στο σχεδιασμό του για το Nintendo Controller MP3, έκδοση 2.0 και ακούω ότι πήρε την ιδέα από τον πανέξυπνο Morte_Moya, οπότε δεν μπορώ να πιστώσω όλη η ιδιοφυΐα τους. Απλώς ήθελα να προσθέσω την ευκολία και να επαναφορτίσω