Πίνακας περιεχομένων:
- Βήμα 1: Υφιστάμενες επιλογές
- Βήμα 2: Το DDC είναι I2C
- Βήμα 3: Ανατομή του καλωδίου
- Βήμα 4: Ο ολοκληρωμένος προσαρμογέας
- Βήμα 5: Λογισμικό και έργα
Βίντεο: Ο φθηνότερος προσαρμογέας I2C στον κόσμο (I-Squared-C): 5 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:38
Δημιουργήστε μια διεπαφή αισθητήρα για τον υπολογιστή σας για λιγότερο! Ενημέρωση 6/9/08: Αφού εξερεύνησα αρκετές οδούς, κατέληξα ότι δεν υπάρχει πρακτικός τρόπος εφαρμογής αυτής της τεχνικής στα Microsoft Windows. Αυτό δεν είναι μικροσκοπικό λειτουργικό σύστημα, πραγματικά έσπασα ένα καρύδι προσπαθώντας! Συγνώμη! Οι χρήστες Windows που χρειάζονται δυνατότητες I2C εξυπηρετούνται καλύτερα από υπάρχουσες λύσεις που βασίζονται σε USB. Ενημέρωση 5/24/08: Προστέθηκε υποστήριξη Linux, καθώς και δείγμα κώδικα για το χειριστήριο Nintendo Wii Nunchuk και το "έξυπνο LED" BlinkM. Δείτε το αρχείο README.txt που περιλαμβάνεται με τον πηγαίο κώδικα για οδηγίες σχετικά με τη μεταγλώττιση και τη ρύθμιση στο Linux. Το I2C (συντομογραφία Inter-Integrated Circuit) είναι ένας σειριακός δίαυλος δύο συρμάτων που χρησιμοποιείται συνήθως σε υπολογιστές για επικοινωνία χαμηλού επιπέδου μεταξύ εσωτερικών στοιχείων. Το I2C είναι επίσης δημοφιλές στη ρομποτική. Όλα τα είδη αισθητήρων και ενεργοποιητών διατίθενται σε μορφή συμβατή με I2C: υπερηχητικά εύρεσης εύρους, αισθητήρες επιτάχυνσης, κλίσης, θερμοκρασίας και πίεσης, σερβοελεγκτές και διαστολείς διαύλου που παρέχουν πρόσθετες γραμμές γενικής χρήσης (GPIO). Οι πιο σύγχρονοι μικροελεγκτές (Atmel, Microchip PIC, κ.λπ.) διαθέτουν υποστήριξη για I2C που είναι ενσωματωμένη. Αλλά η διαθέσιμη επεξεργαστική ισχύς στους μικροελεγκτές είναι περιορισμένη και η ανάπτυξη λογισμικού - με εξειδικευμένα προγράμματα μεταγλώττισης και περιβάλλοντα προγραμματισμού - μπορεί μερικές φορές να είναι μια αγγαρεία. Με τους φορητούς υπολογιστές και τους υπολογιστές ενός πίνακα να γίνονται όλο και μικρότεροι και πιο προσιτοί, είναι όλο και πιο συνηθισμένο να βλέπουμε αυτά τα συστήματα να χρησιμοποιούνται απευθείας σε έργα ρομποτικής και ηλεκτρονικής. Αυτό παρέχει άφθονη ισχύ για νέες δυνατότητες όπως η επεξεργασία της όρασης και η πιο εξελιγμένη τεχνητή νοημοσύνη, και διευρύνει σε μεγάλο βαθμό το εύρος των διαθέσιμων εργαλείων και γλωσσών ανάπτυξης … αλλά παρουσιάζει επίσης ένα νέο πρόβλημα: η διασύνδεση αυτών των "τακτικών" συστημάτων με περιφερειακά γίνεται συνήθως μέσω του mainstream θύρες καταναλωτή, όπως USB. δεν υπάρχει εξωτερικά διαθέσιμη "θύρα I2C" που μπορούμε απλώς να χρησιμοποιήσουμε για να χρησιμοποιήσουμε τους αισθητήρες μας … ή υπάρχει;
Βήμα 1: Υφιστάμενες επιλογές
Ένας τρόπος σύνδεσης συσκευών I2C σε συνηθισμένο επιτραπέζιο ή φορητό υπολογιστή είναι μέσω προσαρμογέα USB-to-I2C. Υπάρχουν τουλάχιστον δώδεκα τέτοιες επιλογές εκεί, που κυμαίνονται από κιτ φτιάξτε μόνοι σας με λογισμικό ανοιχτού κώδικα, έως εξελιγμένες εμπορικές μονάδες με κάθε κουδούνι και σφύριγμα.
Ένα μειονέκτημα της προσέγγισης USB-to-I2C είναι το κόστος. Ένα πλήρες εμπορικό μοντέλο μπορεί να κοστίσει $ 250 ή περισσότερο. Ακόμη και οι «δωρεάν» εναλλακτικές λύσεις σπιτιού υποθέτουν μια συλλογή εξαρτημάτων και μια προηγούμενη επένδυση σε προγραμματιστή μικροελεγκτή και τις σχετικές γνώσεις για να το χρησιμοποιήσουν. Ένα άλλο μειονέκτημα είναι η σχετική έλλειψη υποστήριξης προγράμματος οδήγησης εκτός του δημοφιλούς Windows. Λίγες από αυτές τις συσκευές λειτουργούν εγγενώς σε υπολογιστές Macintosh ή Linux.
Βήμα 2: Το DDC είναι I2C
Όταν είπα στην εισαγωγή ότι δεν υπάρχει εξωτερική θύρα I2C στους περισσότερους υπολογιστές, είπα ψέματα. Αποδεικνύεται ότι υπάρχει, και είναι εκεί για σχεδόν μια δεκαετία τώρα, κυρίως καθισμένος σε αδράνεια.
Οι περισσότερες σύγχρονες κάρτες γραφικών και οθόνες έχουν υποστήριξη για κάτι που ονομάζεται Display Data Channel (DDC), ένας σύνδεσμος επικοινωνίας μέσα σε ένα καλώδιο βίντεο που επιτρέπει στον υπολογιστή και την οθόνη να διαπραγματεύονται αμοιβαία συμβατές αναλύσεις και να επιτρέπουν τον έλεγχο λογισμικού των λειτουργιών της οθόνης που συνήθως προσπελάζονται με φυσικά κουμπιά στο απεικόνιση. Το DDC είναι, στην πραγματικότητα, απλώς μια εφαρμογή ενός διαύλου I2C με μερικούς καθιερωμένους κανόνες. Αγγίζοντας αυτήν τη σύνδεση μεταξύ υπολογιστή και οθόνης (ή χρησιμοποιώντας τις γραμμές DDC σε εφεδρική αχρησιμοποίητη θύρα βίντεο, όπως η σύνδεση εξωτερικής οθόνης σε φορητό υπολογιστή), μπορείτε να διασυνδεθείτε με ορισμένες συσκευές I2C σχεδόν χωρίς κόστος, παρακάμπτοντας το συνηθισμένη ανάγκη για μια συσκευή προσαρμογέα εντελώς. Το μόνο που χρειαζόμαστε για να έχουμε φυσική πρόσβαση σε αυτό το δίαυλο I2C είναι ένα χαλασμένο καλώδιο βίντεο…
Βήμα 3: Ανατομή του καλωδίου
Τέσσερα καλώδια χρειάζονται για τη διεπαφή I2C: ισχύ +5V, γείωση, σειριακά δεδομένα και σειριακό ρολόι. Pinouts για τους διάφορους τύπους θυρών βίντεο μπορείτε να βρείτε στη Wikipedia ή στο Pinouts.ru. Θυμηθείτε εάν χρησιμοποιείτε καλώδιο VGA για να βρείτε ένα με το πλήρες συμπλήρωμα των ακίδων. μερικά περιλαμβάνουν μόνο ένα υποσύνολο. Κόβοντας πίσω τη μόνωση και προστατεύοντας από το εξωτερικό του καλωδίου, πιθανότατα θα βρείτε δύο ομάδες καλωδίων μέσα. Παχύτερα σύρματα ή δέσμες καλωδίων τυλιγμένες σε πρόσθετη θωράκιση, μεταφέρουν συνήθως το σήμα βίντεο. Δεν μας ενδιαφέρουν αυτά και μπορούν να μειωθούν. Λεπτά, μη προστατευμένα σύρματα μεταφέρουν συνήθως τα σήματα DDC (I2C) μεταξύ άλλων. Ένας πολύμετρος ή ένας ελεγκτής συνέχειας μπορεί να βοηθήσει στην εύρεση των σωστών τεσσάρων καλωδίων για το καλώδιό σας. Η χρήση γυμνού συνδετήρα μπορεί να είναι πλεονεκτική εδώ, καθώς πρέπει απλά να κολλήσετε τέσσερα καλώδια στις καρφίτσες που σας ενδιαφέρουν. Μια σημείωση σχετικά με την ισχύ +5V: το διαθέσιμο ρεύμα είναι πολύ περιορισμένο. περίπου 50 mA σύμφωνα με τις προδιαγραφές DDC. Οι περισσότερες συσκευές I2C απορροφούν ένα μικρό κομμάτι ρεύματος, οπότε θα πρέπει να είναι δυνατή η εκτέλεση αρκετών ταυτόχρονα… αλλά εάν χρησιμοποιείτε περισσότερες από μία ή δύο λυχνίες LED (ή άλλες συσκευές συγκριτικά υψηλής τάσης), θα πρέπει να παρέχεται εξωτερική τροφοδοσία.
Βήμα 4: Ο ολοκληρωμένος προσαρμογέας
Εδώ είναι ο τελειωμένος προσαρμογέας. Αυτό είναι το μόνο που υπάρχει! Έκανα το δικό μου επιπλέον ακατάστατο, ώστε να χωράει εύκολα στην τσάντα του φορητού υπολογιστή μου και πρόσθεσα ένα βύσμα τεσσάρων ακίδων που συνδέεται απευθείας με ένα σερβο χειριστήριο I2C που έχω.
Βήμα 5: Λογισμικό και έργα
Μπορείτε να κατεβάσετε τον πηγαίο κώδικα Mac OS X και Linux για εργασία με τον προσαρμογέα από την ιστοσελίδα μου (ο σύνδεσμος λήψης βρίσκεται στο κάτω μέρος της σελίδας). Είναι γραμμένο σε C και θα χρειαστεί να έχετε εγκατεστημένο το gcc (το Linux συνήθως το περιλαμβάνει αυτό από προεπιλογή, ενώ οι χρήστες Mac θα πρέπει να εγκαταστήσουν τα εργαλεία προγραμματιστή που είναι προαιρετικό πρόγραμμα εγκατάστασης στον αρχικό σας δίσκο λειτουργικού συστήματος ή να τα κατεβάσετε δωρεάν από την Apple). Ο κώδικας παραδείγματος περιλαμβάνεται για την ανάγνωση ενός αισθητήρα θερμοκρασίας, το αναβοσβήσιμο ενός "έξυπνου LED" BlinkM, τη σύνταξη και την επαλήθευση ενός σειριακού EEPROM, την ανάγνωση ενός ελεγκτή Nintento Wii Nunchuk (μόνο για Linux) και την επικοινωνία με μια πλακέτα σερβοελεγκτή. Δυστυχώς, αυτό το σχήμα προσαρμογέα δεν είναι συμβατό με όλα τα συστήματα. Η υποστήριξη για DDC δεν είναι υποχρεωτική, επομένως δεν υποστηρίζουν όλες οι κάρτες βίντεο αυτήν τη δυνατότητα. Είχα καλή τύχη μέχρι τώρα με συστήματα Mac που διαθέτουν τσιπ γραφικών ATI ή Intel, αλλά τα συστήματα που βασίζονται σε NVIDIA δεν έχουν τύχη. Από την πλευρά του Linux έχω δοκιμάσει μόνο με επιτυχία ένα IBM ThinkPad A31p (γραφικά ATI), αλλά δεν θα λειτουργούσε με Asus EeePC (Intel). Οι εικόνες εδώ δείχνουν μια δοκιμαστική πλατφόρμα που δείχνει διάφορες συσκευές I2C σε δράση. Ο υπολογιστής διαβάζει συνεχώς τη θερμοκρασία περιβάλλοντος από έναν αισθητήρα θερμοκρασίας I2C, καταγράφει περιοδικά αυτά τα δεδομένα σε ένα σειριακό τσιπ EEPROM I2C (ναι, θα μπορούσε απλά να εκτυπωθεί σε ένα αρχείο, αλλά αυτό ήταν για να επιδείξει περαιτέρω εφαρμογές I2C), και στη συνέχεια ένα σερβο (μέσω ένας ελεγκτής I2C) χρησιμεύει ως πρόχειρος δείκτης. Με τη βιβλιοθήκη και το δείγμα κώδικα για αυτές τις συσκευές ήδη στη θέση τους, χρειάστηκαν μόνο λίγα λεπτά για να συγκεντρωθεί αυτή η επίδειξη (και το μεγαλύτερο μέρος ήταν κατά την κατασκευή του δείκτη).
Συνιστάται:
Ο πιο αποτελεσματικός ηλιακός μετατροπέας εκτός πλέγματος στον κόσμο: 3 βήματα (με εικόνες)
Ο πιο αποτελεσματικός ηλιακός μετατροπέας εκτός πλέγματος στον κόσμο: Η ηλιακή ενέργεια είναι το μέλλον. Τα πάνελ μπορούν να διαρκέσουν για πολλές δεκαετίες. Ας υποθέσουμε ότι έχετε ένα ηλιακό σύστημα εκτός δικτύου. Έχετε ψυγείο/καταψύκτη και ένα σωρό άλλα πράγματα για να λειτουργήσετε στην όμορφη απομακρυσμένη καμπίνα σας. Δεν έχετε την πολυτέλεια να πετάξετε ενέργεια
Το πρώτο ρολόι κεριών οπτικών ινών στον κόσμο: 14 βήματα (με εικόνες)
Το πρώτο ρολόι κεριών οπτικών ινών στον κόσμο: αποφάσισα να κάνω δώρο στη γυναίκα μου και ήθελα να βρω μια πρωτότυπη ιδέα. Μου άρεσε η ιδέα ενός κινούμενου γλυπτού και μετά από πολλή σκέψη κατέληξα στην ιδέα ενός μηχανικού ρολογιού που έλαμπε και έλαμπε χρησιμοποιώντας κρύσταλλα, κεριά και
Το μικρότερο ηχείο Bluetooth στον κόσμο από παλιά μέρη: 8 βήματα (με εικόνες)
Το μικρότερο ηχείο Bluetooth στον κόσμο από παλιά μέρη: Αν σας άρεσε αυτό το έργο, σκεφτείτε να το ψηφίσετε για να κερδίσετε τον διαγωνισμό Trash to Treasure εδώ - ένα εξαιρετικά μικρό σπιτικό ηχείο bluetooth που πακετάρει
Φτιάξτε τα μικρότερα ενιαία εξισορροπημένα ακουστικά στον κόσμο: 7 βήματα (με εικόνες)
Φτιάξτε τα μικρότερα ενιαία ισορροπημένα ακουστικά στον κόσμο: Αυτό είναι ένα έργο για να φτιάξετε ίσως τα μικρότερα ενιαία ακουστικά BA με ποιότητα ήχου audiophile. Ο σχεδιασμός ήταν εμπνευσμένος από το Final F7200, ένα IEM 400 $+ υψηλής ανάλυσης στο Amazon. Ενώ με τα εξαρτήματα που διατίθενται στην ανοιχτή αγορά, οι DIY μπορούν να το κάνουν σε
Η πρώτη ηλεκτρική σκούπα στον κόσμο σε κασσίτερο Altoids: 18 βήματα (με εικόνες)
Η πρώτη ηλεκτρική σκούπα στον κόσμο σε ένα κασσίτερο Altoids: Μου αρέσει να φτιάχνω μικροσκοπικές ηλεκτρικές σκούπες και έχω φτιάξει πολλές από αυτές από την πρώτη φορά που ξεκίνησα πριν από 30 χρόνια. Τα πρώτα ήταν σε μαύρα πλαστικά δοχεία φιλμ με γκρι καπάκια με κλιπς ή θήκες για πάρτι. Όλα ξεκίνησαν όταν είδα τη μαμά μου να παλεύει με