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

Περιβάλλον ανάπτυξης γκέτο: 5 βήματα
Περιβάλλον ανάπτυξης γκέτο: 5 βήματα

Βίντεο: Περιβάλλον ανάπτυξης γκέτο: 5 βήματα

Βίντεο: Περιβάλλον ανάπτυξης γκέτο: 5 βήματα
Βίντεο: Τα 5 Βήματα της Διαδικασίας Λήψης Απόφασης Αγοράς Καταναλωτή| Ep.19 Melina Tsikogiannopoulou Academy 2024, Νοέμβριος
Anonim
Περιβάλλον ανάπτυξης γκέτο
Περιβάλλον ανάπτυξης γκέτο

Λίγο καιρό πριν, δημοσίευσα μια γρήγορη και βρώμικη μέθοδο "el cheapo" για να ξεκινήσω τον προγραμματισμό των τσιπ της σειράς Atmel AVR: Ghetto Programmer (έκδοση 1.0) Από τότε, έχω βηματίσει, ξαναβρώσει και αλλιώς βελτίωσα τη ρύθμισή μου. Σκέφτηκα ότι θα ήταν ωραίο να το τεκμηριώσω. Ο στόχος ήταν να αποκτήσουμε ένα ευέλικτο, συμπαγές, φορητό περιβάλλον χρήσης πρωτότυπων μικροελεγκτών βασισμένο σε μικροελεγκτές AVR. Για το φθηνό (πρώην). Έτσι, χωρίς περαιτέρω αναβολή, εδώ είναι το Ghetto Development Environment (GDE) (έκδοση 1.2).

Βήμα 1: Το κιτ

Το κιτ
Το κιτ

Το βασικό κιτ περιέχει τα ακόλουθα στοιχεία: Προγραμματιστής USB. Επειδή θέλετε να μπορείτε να προγραμματίσετε μικροελεγκτές από το φορητό υπολογιστή σας οπουδήποτε. Και επειδή το USB είναι μια πολύ βολική πηγή +5v. Προγραμματισμός βάσεων. Ένα για κάθε είδος τσιπ με το οποίο παίζετε. Για μένα, αυτό σημαίνει μία με 8 ακίδες (ATtiny13, 15), μία με 20 ακίδες (ATtiny 2313) και μία με 28 ακίδες (ATmega8). Blinkenlights. Όταν κάτι δεν πάει καλά με τον κώδικά σας, τίποτα δεν το ξεκαθαρίζει όπως κολλάτε φώτα για διάγνωση. Επιπλέον, το πρόγραμμα αναλαμπής LED είναι το "Hello World" των μικροελεγκτών. Breadboard. Τελικά είναι κιτ ανάπτυξης.

Βήμα 2: Ο προγραμματιστής USB

Ο προγραμματιστής USB
Ο προγραμματιστής USB
Ο προγραμματιστής USB
Ο προγραμματιστής USB

Στο Ghetto Programmer (v.1.0) χρησιμοποίησα έναν προγραμματιστή παράλληλης θύρας. Είναι υπέροχο γιατί είναι απλό και φθηνό και γρήγορο. Αλλά ο φορητός υπολογιστής μου δεν έχει παράλληλη θύρα. Έπαιξα λίγο κάνοντας προγραμματιστές σειριακών θυρών, αλλά ειλικρινά είναι εξίσου περίπλοκοι με την έκδοση USB και ακόμη και οι σειριακές θύρες λιγοστεύουν. Πράγματι, ο φορητός υπολογιστής μου έχει μόνο USB. Έτσι είναι USB. Κοιτάζοντας γύρω, ο προγραμματιστής USBTiny είναι αρκετά απλός και λειτουργεί με τα δωρεάν εργαλεία GNU/AVR-GCC. Κάντε το μόνοι σας ή αγοράστε ένα κιτ; Ο τρόπος DIY είναι καλός εάν μπορείτε ήδη να προγραμματίσετε ένα ATTiny2313 (με παράλληλο προγραμματιστή) και να έχετε έναν κρύσταλλο 12MHz που κάθεται. Η σελίδα USBTiny παρουσιάζει τα βασικά. Τερματίζει το καλώδιο προγραμματισμού με παράλληλη θύρα, αλλά θα το τελείωνα σε μια τυπική κεφαλίδα 6 ακίδων αν ξεκινούσα από την αρχή. (Γιατί; Επειδή είναι στάνταρ.) Εδώ είναι τα pin-outs του και ελέγξτε την παρακάτω εικόνα για τη διάταξη του καλωδίου. PD3 - MISOPD5 - ResetPD6 - SCKPD7 - MOSIIΑν φτιάξετε το δικό σας, μάθετε από την εμπειρία μου και τοποθετήστε το σε ένα ωραίο πλαστικό κουτί. Εάν δεν το κάνετε, θα αποτύχει τελικά όταν σπάσει ο κρύσταλλος 12MHz. Αυτός είναι ο λόγος που χρησιμοποιώ τώρα… Ο γρήγορος και κομψός τρόπος είναι το κιτ USBtinyISP της Ladyada. Θα σας επιστρέψει $ 22, αλλά παίρνετε ένα ωραίο PCB, προ-προγραμματισμένο ATTiny2313 και ένα καθαρό κουτί με ωραία καλώδια. Τα ακατέργαστα εξαρτήματα κοστίζουν 15-16 $ ούτως ή άλλως και δεν χρειάζεται να καλέσετε το Digikey και στη συνέχεια να ανησυχείτε για τον προγραμματισμό του δικού σας 2313. Χρειάζονται 30 λεπτά - 1 ώρα για να τα κολλήσετε όλα μαζί. Φιγούρα. Εμπιστέψου με. (Χωρίς σχέση, ικανοποιημένος πελάτης) Και μόλις είδα αυτόν τον σύνδεσμο: Το AVR Tutorial της Ladyada που μου φαίνεται αρκετά καλό. (Και σημειώστε ότι ο σχεδιασμός της Ladyada και το αρχικό USBTiny χρησιμοποιούν διαφορετικούς κωδικούς αναγνώρισης προϊόντος USB-θα πρέπει να βρείτε τις συμβολοσειρές ταυτότητας και να μεταγλωττίσετε ξανά το avrGCC εάν κάνετε εναλλαγή μεταξύ των δύο. Νομίζω ότι υπάρχουν οδηγίες στις αντίστοιχες ιστοσελίδες.)

Σε περίπτωση που βρίσκεστε σε σύστημα Linux Ubuntu Linux και χρησιμοποιείτε τον προγραμματιστή USBTiny, ακολουθούν οι εντολές που θα ξεκινήσουν να λειτουργούν ολόκληρη η αλυσίδα εργαλείων: sudo apt-get install build-απαραίτητο avr-libc binutils-avr gcc-avr avrdude (δοκιμασμένο αν έχετε καμάρα AMD64, μπορεί επίσης να χρειαστείτε: byacc libusb-dev flex bison libc6-devand και στη συνέχεια να μεταγλωττίσετε το AVRdude με το χέρι: (wget https://download.savannah.gnu.org/releases/avrdude/ avrdude-5.5.tar.gz tar xvzf avrdude-5.5.tar.gz cd avrdude-5.5 ## Patch που απαιτείται για AMD64: wget https://savannah.nongnu.org/patch/download.php?file_id=14754 patch -p1 <avrdude -5.5. ξαναγίνεται Ω, ναι, και πίστωση στον Wendel Oskay για το διάγραμμα των τυπικών pinout προγραμματιστή.

Βήμα 3: Η βάση προγραμματισμού

Το λίκνο προγραμματισμού
Το λίκνο προγραμματισμού
Το λίκνο προγραμματισμού
Το λίκνο προγραμματισμού
Το λίκνο προγραμματισμού
Το λίκνο προγραμματισμού

Στο Ghetto Programmer v.1.0 χρησιμοποίησα μια βάση προγραμματισμού με μια μη τυπική είσοδο pin και με θηλυκές κεφαλίδες για να κολλήσω πράγματα. Οι μη τυπικές ακίδες είναι μια κακή ιδέα, επειδή δεν θα μπορείτε να χρησιμοποιήσετε τη βάση σας με τον προγραμματιστή κάποιου άλλου και αντίστροφα. Οι γυναικείες πινέζες ήταν διασκεδαστικές γιατί μπορούσατε να συνδέσετε απευθείας τις λυχνίες LED σε αυτές, αλλά όταν ξεκινούσα να κάνω κάτι πιο περίπλοκο, θα το έβαζα πάντως. Με το νέο λίκνο, έκοψα τον μεσάζοντα. Λιγότερη καλωδίωση χεριών = καλύτερη. Αλλά το μεγαλύτερο πλεονέκτημα αυτού του σχεδιασμού βάσης είναι ότι μπορείτε να συνδέσετε τη βάση σχεδόν οπουδήποτε μπορείτε να συνδέσετε το τσιπ AVR. Αυτό αποδεικνύεται τεράστιο. Αντί να σχεδιάζετε κυκλώματα ISP στο ρομπότ σας ή οτιδήποτε άλλο, απλώς κολλήστε αυτό το στοιχείο βάσης στην υποδοχή IC. Στη συνέχεια, μπορείτε να προγραμματίσετε/επαναπρογραμματίσετε τον εγκέφαλο του ρομπότ σας σε κύκλωμα. Όταν τελειώσετε την ανάπτυξη, συνδέστε το AVR απευθείας και πηγαίνετε στο επόμενο. Η δημιουργία των βάσεων είναι αρκετά εύκολη-το μόνο που χρειάζεται να κάνετε είναι να συνδέσετε τις ακίδες από την κεφαλίδα των 6 ακίδων στα σωστά σημεία τα τσιπς. Αυτή τη φορά, χρησιμοποίησα χαραγμένα PCB. Μπορείτε επίσης να συνδέσετε ολόκληρο το αντικείμενο με το χαρτόνι. Η βάση ATTiny13/15 είναι κατασκευασμένη με πρίζα καλωδίου με 8 ακίδες. Αγαπώ αυτά. Είναι εύκολο να εισαγάγετε το τσιπ στις ωραίες στρογγυλές τρύπες του και τα μακριά πόδια παρέχουν επιπλέον διάκενο στη σανίδα ψωμιού. Έφτιαξα τα ίχνη PCB με το χέρι με ένα Sharpie. Το λίκνο ATTiny2313 κατασκευάστηκε με Eagle και τη μέθοδο μεταφοράς γραφίτη χαρτιού λέιζερ. Δεν μπορούσα να βρω πρίζες καλωδίου με 20 ακίδες, οπότε έπρεπε να καταφύγω σε μια κανονική πρίζα 20 ακίδων που συγκολλήθηκε σε 2 κεφαλίδες 10 ακίδων. Αυτό καταλήγει σε μια κούνια με πιο κοντά πόδια, αλλά λειτουργεί. Το σχηματικό και το PDF που χρησιμοποίησα για το κύκλωμα είναι παρακάτω. Και στα δύο, έπρεπε να συνδέσω με το χέρι μια επιπλέον γραμμή. Ετσι είναι η ζωή.

Βήμα 4: Αναβοσβήνει

Blinkenlights
Blinkenlights
Blinkenlights
Blinkenlights

Η ίδια η απλότητα. Δεν θα τα ανέφερα καθόλου αν δεν ήταν τόσο βολικά.

Συγκολλήστε μια αντίσταση (150-220 ohms είναι μια καλή τιμή.) Κατ 'ευθείαν στο αρνητικό καλώδιο ορισμένων LED. Θα ανάψει από περίπου 2v-6v χωρίς να καεί. Και η αντίσταση σας βοηθά να θυμηθείτε ποια πλευρά είναι αρνητική. Κολλήστε τα όπου θέλετε να ξέρετε ότι υπάρχει ηλεκτρική ενέργεια. Μάθετε αν έχει φουσκώσει το τρανζίστορ. Μετατρέψτε μια μπαταρία nicad σε ένα μακρόβιο νυχτερινό φως. Χρησιμοποιήστε μια διεπαφή κώδικα που αναβοσβήνει για να διαβάσετε τιμές από τον μικροεπεξεργαστή σας (αργά). Or φτιάξτε 8 από αυτά και έχετε μια οθόνη ενός byte (συν το ενεργό συστατικό στα μάτια Cylon.) Φτιάξτε τα. Φτιάξτε πολλά. Φτιάξτε τα τώρα.

Βήμα 5: Το τέλος

Το τέλος
Το τέλος

Αυτό λοιπόν το «σύστημα» καλύπτει σχεδόν όλες τις αναπτυξιακές μου ανάγκες. Είναι αρθρωτό, κλιμακούμενο, συμπαγές και φορητό.

Για παράδειγμα, επεξεργάστηκα τις ρουτίνες για την εκτέλεση κυλιόμενων μηνυμάτων στην τετραψήφια οθόνη (σελίδα εισαγωγής) στο αεροπλάνο στο δρόμο για το γάμο ενός φίλου. Κάνει ένα καλό παγοθραυστικό με τις αεροσυνοδούς. Αυτό το δυναμικόμετρο -> ADC -> Ρυθμιστής αμπερόμετρου PWM ήταν σανιδωμένος, κωδικοποιημένος και διορθωμένος εντελώς μεταξύ του καναπέ μου και του τραπεζιού και καθαρίζεται σε περίπου 2 λεπτά όταν έρχονται φίλοι. (Είναι το μέρος που θέτει το ξυπνητήρι σε αυτό που πρόκειται να είναι ένα ρολόι μέτρου.) Φέρνω τη ρύθμιση στη δουλειά μερικές φορές όταν έχω όρεξη για παιχνίδι. Προσθέστε μια μικρή τσάντα με καλούδια (ορισμένοι πυκνωτές και αντιστάσεις, καλώδιο σύνδεσης, τρανζίστορ, πιεζοηχείο, φωτοδιόδους, μικρόφωνα, μικροκινητήρες κλπ) και θα είστε τόσο μπροστά από το MacGuyver που δεν είναι καν αστείο.

Συνιστάται: