Πίνακας περιεχομένων:
Βίντεο: Arduino I2C Sniffer: 4 Βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:37
Το I2C είναι ένα σειριακό πρωτόκολλο που χρησιμοποιείται για την επικοινωνία ενός μικροελεγκτή με εξωτερικά περιφερειακά που είναι προσαρτημένα στο ίδιο κύκλωμα. Κάθε περιφερειακό πρέπει να έχει έναν μοναδικό αριθμό ταυτότητας που ονομάζεται διεύθυνση και χρησιμοποιείται για την αναγνώρισή του ως προορισμένου παραλήπτη ενός δεδομένου μηνύματος. Αυτές οι διευθύνσεις εκχωρούνται από τον κατασκευαστή της συσκευής και τις περισσότερες φορές δεν μπορούν να αλλάξουν. Ένας ανιχνευτής σαρώνει όλες τις πιθανές διευθύνσεις αναζητώντας συνδεδεμένες συσκευές και αναφέρει αυτές που βρίσκει. Αυτό βοηθά στον εντοπισμό μη μαρκαρισμένων μαρκών, καθώς στη συνέχεια η διεύθυνση μπορεί να αναζητηθεί στο Google για περισσότερες πληροφορίες σχετικά με το τσιπ.
Αυτή η συσκευή μιμείται σε Arduino UNO τη συμπεριφορά του σεναρίου Raspberry Pi i2cdetect, μυρίζοντας όλες τις πιθανές διευθύνσεις i2c αναζητώντας συνδεδεμένες συσκευές και εκτυπώνοντας όμορφα τα αποτελέσματα σε οθόνη LCD 16x02.
Για να χωρέσουν τα πάντα στην οθόνη, τόσο το υψηλό όσο και το χαμηλό τμήμα της διεύθυνσης εκτυπώνονται πάνω από τα αποτελέσματα, ενώ το υψηλό μέρος είναι σε έντονη γραμματοσειρά. Δύο κουμπιά επιτρέπουν την πλοήγηση μεταξύ των διευθύνσεων, εμφανίζοντας 16 διευθύνσεις ταυτόχρονα. Σε περίπτωση ανίχνευσης μιας συσκευής, το W θα εκτυπωθεί για να εμφανιστεί ως διεύθυνση γραφής και το R θα εμφανιστεί σε περίπτωση που πρόκειται για διεύθυνση ανάγνωσης. Σε περίπτωση που δεν εντοπιστεί τίποτα στη συγκεκριμένη διεύθυνση, θα εμφανιστεί μια παύλα (-) στην οθόνη.
Βήμα 1: Υλικά
Επιλογή 1
1 x Arduino UNO
1 x 16x02 οθόνη LCD
1x ποτενσιόμετρο 10Κ
Αντίσταση 1x 330 ohm
3x Πιέστε τα κουμπιά
Καλώδια βραχυκύκλωσης
1x μετατροπέας επιπέδου I2C (όχι στην εικόνα υλικών)
Επιλογή 2
1 x Arduino UNO
Ασπίδα πληκτρολογίου LCD (τα κουμπιά στην ασπίδα δεν θα χρησιμοποιηθούν)
3x Πιέστε τα κουμπιά
Καλώδια βραχυκύκλωσης
1x μετατροπέας επιπέδου I2C (όχι στην εικόνα υλικών)
Η επιλογή 2 είναι αυτή που θα χτιστεί γιατί αυτό είχα στο χέρι αυτή τη στιγμή. Ο μετατοπιστής στάθμης είναι ένα σημαντικό μέρος του κυκλώματος καθώς στις μέρες μας οι περισσότερες συσκευές χρησιμοποιούν λογική 3.3V και το 5V από το Arduino τις βλάπτει.
(Στις εικόνες, το διαγραμμένο υλικό δεν απαιτείται.)
Βήμα 2: Κύκλωμα
Το κύκλωμα είναι αρκετά απλό, χρησιμοποιώντας το τυπικό pinout για τα παραδείγματα Arduino για την οθόνη LCD, τις προεπιλεγμένες ακίδες για I2C και 3 εφεδρικές ακίδες για τα κουμπιά ώθησης.
Σε περίπτωση που χρησιμοποιείτε την ασπίδα πληκτρολογίου LCD, το pinout για την οθόνη LCD αλλάζει, αλλά αυτό έχει ήδη ληφθεί υπόψη στον κώδικα. Τα κουμπιά ασπίδας πληκτρολογίου LCD δεν χρησιμοποιούνται επειδή απαιτούν αναλογική μέθοδο ψηφοφορίας που σπάει τη συμβατότητα μεταξύ των δύο πιθανών κυκλωμάτων υλοποίησης (ασπίδα και αυτόνομη οθόνη LCD)
Βήμα 3: Κωδικός
Σε περίπτωση που χρησιμοποιείται η ασπίδα πληκτρολογίου LCD, το #define LCD_SHIELD πρέπει να μείνει χωρίς σχολιασμό στην αρχή του σκίτσου. Διαφορετικά, σχολιάστε το για να χρησιμοποιήσετε το πρώτο διάγραμμα.
Βήμα 4: Συμπεράσματα
Για τον έλεγχο του κώδικα και του κυκλώματος, χρησιμοποιήθηκε ένα τσιπ BQ32000 RTC και ένα επιταχυνσιόμετρο MMA8452Q. Όπως φαίνεται στις εικόνες, η συσκευή ανιχνεύει 4 διευθύνσεις: 0x3A και 0xD0 ως διευθύνσεις εγγραφής και 0x3B και 0xD1 ως διευθύνσεις ανάγνωσης. Αυτές οι διευθύνσεις αντιστοιχούν στις δοκιμαστικές συσκευές, επομένως ο κώδικας λειτουργεί.
Θα ήθελα να ευχαριστήσω τα ευγενικά κορίτσια στο Beijing Makerspace, Fu Yao και Liu Xin, που με βοήθησαν να πάρω τα υλικά που απαιτούνται για τη δοκιμή αυτού του έργου σε τόσο σύντομο χρονικό διάστημα.
Συνιστάται:
Arduino UNO Logic Sniffer: 8 βήματα (με εικόνες)
Arduino UNO Logic Sniffer: Αυτό το έργο ξεκίνησε ως ένα απλό πείραμα. Κατά τη διάρκεια της έρευνάς μου στο φύλλο δεδομένων του ATMEGA328P για ένα άλλο έργο, βρήκα κάτι μάλλον ενδιαφέρον. Η μονάδα καταγραφής εισόδου Timer1. Επιτρέπει στον μικροελεγκτή Arduino UNO να ανιχνεύσει ένα σήμα
Particle Sniffer: 6 βήματα (με εικόνες)
Particle Sniffer: Ενώ εργαζόμουν με τα προηγούμενα έργα για την αξιολόγηση των PM2.5, παρατήρησα το μειονέκτημα ότι δεν μπορούσα να εντοπίσω τις σημειακές πηγές ρύπανσης μικρών σωματιδίων. Οι περισσότερες δειγματοληψίες που γίνονται από τους δήμους και οι δορυφορικές εικόνες συλλέγουν ευρείες πηγές που δεν
Οθόνη LCD I2C / IIC - Χρήση LCD SPI στην οθόνη LCD I2C Χρήση μονάδας SPI σε IIC με Arduino: 5 βήματα
Οθόνη LCD I2C / IIC | Χρησιμοποιήστε μια οθόνη SPI στην οθόνη I2C LCD χρησιμοποιώντας μονάδα SPI σε IIC με Arduino: Γεια σας παιδιά, καθώς ένα κανονικό SPI LCD 1602 έχει πάρα πολλά καλώδια για να συνδεθεί, οπότε είναι πολύ δύσκολο να το διασυνδέσετε με το arduino, αλλά υπάρχει μια μονάδα διαθέσιμη στην αγορά που μπορεί μετατρέψτε την οθόνη SPI σε οθόνη IIC, οπότε πρέπει να συνδέσετε μόνο 4 καλώδια
Οθόνη LCD I2C / IIC - Μετατρέψτε μια οθόνη SPI LCD στην οθόνη LCD I2C: 5 βήματα
Οθόνη LCD I2C / IIC | Μετατρέψτε ένα SPI LCD σε οθόνη I2C LCD: η χρήση της οθόνης spi LCD χρειάζεται πάρα πολλές συνδέσεις για να γίνει κάτι που είναι πραγματικά δύσκολο να το κάνω, έτσι βρήκα μια μονάδα που μπορεί να μετατρέψει το i2c LCD σε spi LCD οπότε ας ξεκινήσουμε
Snorkel Sniffer: 4 Βήματα
Snorkel Sniffer: Οι πόρτες έκλεισαν κατά την πτήση και όπως πολλές άλλες παρόμοιες πτήσεις, μια συντριπτική υπνηλία σε νικάει. Καθώς φορολογούσαμε, με ξύπνησε μια γυναίκα μπροστά μας που φώναζε " βοήθησέ τον! &Quot; " βοηθήστε τον !!!! " "