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

HackerBox 0058: Κωδικοποίηση: 7 Βήματα
HackerBox 0058: Κωδικοποίηση: 7 Βήματα

Βίντεο: HackerBox 0058: Κωδικοποίηση: 7 Βήματα

Βίντεο: HackerBox 0058: Κωδικοποίηση: 7 Βήματα
Βίντεο: #105 HackerBox 0058 ENCode 2024, Ιούλιος
Anonim
HackerBox 0058: Κωδικοποίηση
HackerBox 0058: Κωδικοποίηση

Χαιρετισμούς στους HackerBox Hackers σε όλο τον κόσμο! Με το HackerBox 0058 θα διερευνήσουμε την κωδικοποίηση πληροφοριών, τους γραμμωτούς κώδικες, τους κωδικούς QR, τον προγραμματισμό του Arduino Pro Micro, τις ενσωματωμένες οθόνες LCD, την ενσωμάτωση της παραγωγής γραμμωτού κώδικα στα έργα Arduino, τις εκμεταλλεύσεις συσκευών ανθρώπινης εισόδου και πολλά άλλα.

Το HackerBoxes είναι η μηνιαία υπηρεσία συνδρομής για λάτρεις της ηλεκτρονικής και της τεχνολογίας υπολογιστών - Hardware Hackers - The Dreamers of Dreams.

Υπάρχει μια πληθώρα πληροφοριών για τα τρέχοντα και τα υποψήφια μέλη στις Συνήθεις Ερωτήσεις για τα HackerBoxes. Σχεδόν όλα τα μηνύματα ηλεκτρονικής υποστήριξης που λαμβάνουμε έχουν ήδη απαντηθεί εκεί, γι 'αυτό εκτιμούμε πραγματικά τον χρόνο που αφιερώσατε για να διαβάσετε τις Συνήθεις Ερωτήσεις.

Προμήθειες

Αυτό το Εγχειρίδιο περιέχει πληροφορίες για να ξεκινήσετε με το HackerBox 0058. Το πλήρες περιεχόμενο του κουτιού παρατίθεται στη σελίδα του προϊόντος για το HackerBox 0058, όπου το κουτί είναι επίσης διαθέσιμο για αγορά μέχρι εξαντλήσεως των αποθεμάτων. Εάν θέλετε να λαμβάνετε αυτόματα ένα HackerBox όπως αυτό απευθείας στο γραμματοκιβώτιό σας κάθε μήνα με έκπτωση 15 $, μπορείτε να εγγραφείτε στο HackerBoxes.com και να συμμετάσχετε στην επανάσταση!

Συγκολλητικό σίδερο, συγκόλληση και βασικά εργαλεία συγκόλλησης χρειάζονται γενικά για να λειτουργήσετε στο μηνιαίο HackerBox. Απαιτείται επίσης υπολογιστής για τη λειτουργία εργαλείων λογισμικού. Ρίξτε μια ματιά στο HackerBox Deluxe Starter Workshop για ένα σύνολο βασικών εργαλείων και ένα ευρύ φάσμα εισαγωγικών δραστηριοτήτων και πειραμάτων.

Το πιο σημαντικό, θα χρειαστείτε μια αίσθηση περιπέτειας, πνεύμα χάκερ, υπομονή και περιέργεια. Το να χτίζεις και να πειραματίζεσαι με τα ηλεκτρονικά, αν και είναι πολύ ανταποδοτικό, μπορεί να είναι δύσκολο, προκλητικό, ακόμη και απογοητευτικό κατά καιρούς. Ο στόχος είναι η πρόοδος και όχι η τελειότητα. Όταν επιμένεις και απολαμβάνεις την περιπέτεια, μπορεί να προκύψει μεγάλη ικανοποίηση από αυτό το χόμπι. Κάντε κάθε βήμα αργά, προσέξτε τις λεπτομέρειες και μην φοβάστε να ζητήσετε βοήθεια

Βήμα 1: Κωδικοποίηση

Κωδικοποίηση
Κωδικοποίηση

Η επικοινωνία, η καταγραφή ή ο χειρισμός πληροφοριών απαιτεί κωδικοποίηση. Δεδομένου ότι η επεξεργασία, η αποθήκευση και η επικοινωνία πληροφοριών είναι η ουσία των σύγχρονων ηλεκτρονικών ειδών, έχουμε πολλή κωδικοποίηση για να ανησυχούμε.

Ως ένα πολύ απλό παράδειγμα κωδικοποίησης, μπορεί κανείς να αναπαραστήσει πόσα μάτια ή αυτιά έχουν κρατώντας ψηλά τα δύο δάχτυλά τους ή χρησιμοποιώντας τους αριθμούς "2" ή "] [" ή χρησιμοποιώντας τις λέξεις "δύο" ή "dos" ή " Er "ή" zwei ". Δεν είναι τόσο απλό, σωστά; Η κωδικοποίηση που χρησιμοποιείται στην ανθρώπινη γλώσσα, ειδικά σε θέματα όπως τα συναισθήματα ή η αφαίρεση, μπορεί να γίνει πολύ περίπλοκη.

Η ΦΥΣΙΚΗ

Ναι, όλα ξεκινούν πάντα με τη φυσική. Στα ηλεκτρονικά συστήματα, ξεκινάμε αντιπροσωπεύοντας τις απλούστερες τιμές με ηλεκτρικά σήματα, συνήθως επίπεδα τάσης. Για παράδειγμα, το ZERO μπορεί να αναπαρασταθεί ως γείωση (περίπου 0V) και ONE ως περίπου 5V (ή 3.3V, κ.λπ.) για να σχηματίσει ένα δυαδικό σύστημα μηδενικών και μονάδων. Ακόμα και με το ZERO και το ONE, υπάρχει συχνά ασάφεια για επίλυση. Όταν πατηθεί το κουμπί είναι αυτό ΜΗΔΕΝ ή ΕΝΑ; Υ HIGHΗΛΗ ή ΧΑΜΗΛΗ; Είναι το σήμα επιλογής τσιπ "ενεργό υψηλό" ή "ενεργό χαμηλό"; Τι ώρα μπορεί να διαβαστεί ένα σήμα και για πόσο χρονικό διάστημα θα είναι έγκυρο; Στα συστήματα επικοινωνίας, αυτό αναφέρεται ως "κωδικοποίηση γραμμών".

Σε αυτό το χαμηλότερο επίπεδο, οι αναπαραστάσεις αφορούν σε μεγάλο βαθμό τη φυσική του συστήματος. Ποιες τάσεις μπορεί να υποστηρίξει, πόσο γρήγορα μπορεί να μεταβεί, πώς ενεργοποιείται και απενεργοποιείται το λέιζερ, πώς τα σήματα πληροφοριών διαμορφώνουν έναν φορέα ραδιοσυχνοτήτων, ποιο είναι το εύρος ζώνης του καναλιού ή ακόμα και πώς οι συγκεντρώσεις ιόντων δημιουργούν δυναμικές δράσης σε ένα νευρώνας. Για τα ηλεκτρονικά, αυτές οι πληροφορίες παρέχονται συχνά στους επιβλητικούς πίνακες του φύλλου δεδομένων του κατασκευαστή.

Το φυσικό επίπεδο (PHY) ή το επίπεδο 1 είναι το πρώτο και χαμηλότερο επίπεδο στο μοντέλο OSI επτά επιπέδων δικτύωσης υπολογιστών. Το φυσικό επίπεδο ορίζει τα μέσα μετάδοσης ακατέργαστων δυαδικών ψηφίων μέσω μιας σύνδεσης φυσικών δεδομένων που συνδέει κόμβους δικτύου. Το φυσικό στρώμα παρέχει μια ηλεκτρική, μηχανική και διαδικαστική διεπαφή στο μέσο μετάδοσης. Τα σχήματα και οι ιδιότητες των ηλεκτρικών συνδέσμων, οι συχνότητες μετάδοσης, ο κωδικός γραμμής που χρησιμοποιείται και παρόμοιες παράμετροι χαμηλού επιπέδου, καθορίζονται από το φυσικό επίπεδο.

ΑΡΙΘΜΟΙ

Δεν μπορούμε να κάνουμε πολλά μόνο με το ΕΝΑ και το ΜΗΔΕΝΟ, αλλιώς θα είχαμε εξελιχθεί για να «μιλήσουμε» κλείνοντας τα μάτια μας ο ένας στον άλλον. Οι δυαδικές τιμές είναι μια καλή αρχή όμως. Στα υπολογιστικά και επικοινωνιακά συστήματα, συνδυάζουμε δυαδικά ψηφία (bits) σε byte και "λέξεις" που περιέχουν, για παράδειγμα, 8, 16, 32 ή 64 bits.

Πώς αντιστοιχούν αυτές οι δυαδικές λέξεις σε αριθμούς ή τιμές; Σε ένα απλό 8-bit byte, το 00000000 είναι γενικά μηδενικό και το 11111111 είναι γενικά 255 για να παρέχει 2 προς το 8 ή 256 διαφορετικές τιμές. Φυσικά δεν σταματά εκεί, γιατί υπάρχουν πολύ περισσότεροι από 256 αριθμοί και δεν είναι όλοι οι αριθμοί θετικοί ακέραιοι. Ακόμη και πριν από υπολογιστικά συστήματα, αναπαριστούσαμε αριθμητικές τιμές χρησιμοποιώντας διαφορετικά συστήματα αριθμών, γλώσσες, βάσεις και χρησιμοποιώντας τεχνικές όπως αρνητικοί αριθμοί, φανταστικοί αριθμοί, επιστημονική σημειογραφία, ρίζες, λόγοι και λογαριθμικές κλίμακες διαφόρων διαφορετικών βάσεων. Όσον αφορά τις αριθμητικές τιμές στα συστήματα υπολογιστών, πρέπει να αντιμετωπίσουμε ζητήματα όπως το έψιλον του μηχανήματος, η τελειότητα, το σταθερό σημείο και οι αναπαραστάσεις κυμαινόμενου σημείου.

ΚΕΙΜΕΝΟ (ΚΕΤΕΡΑ)

Εκτός από την αναπαράσταση αριθμών ή τιμών, τα δυαδικά bytes και λέξεις μπορούν να αντιπροσωπεύουν γράμματα και άλλα σύμβολα κειμένου. Η πιο κοινή μορφή κωδικοποίησης κειμένου είναι ο American Standard Code for Information Interchange (ASCII). Φυσικά, διάφοροι τύποι πληροφοριών μπορούν να κωδικοποιηθούν ως κείμενο: ένα βιβλίο, αυτή η ιστοσελίδα, ένα έγγραφο xml.

Σε ορισμένες περιπτώσεις, όπως μηνύματα ηλεκτρονικού ταχυδρομείου ή Usenet, μπορεί να θέλουμε να κωδικοποιήσουμε ευρύτερους τύπους πληροφοριών (όπως γενικά δυαδικά αρχεία) ως κείμενο. Η διαδικασία της uuencoding είναι μια κοινή μορφή κωδικοποίησης δυαδικού κειμένου. Μπορείτε ακόμη και να "κωδικοποιήσετε" εικόνες ως κείμενο: ASCII Art ή ακόμα καλύτερα ANSI Art.

ΘΕΩΡΙΑ ΚΩΔΙΚΟΠΟΙΗΣΗΣ

Η θεωρία κωδικοποίησης είναι η μελέτη των ιδιοτήτων των κωδικών και της αντίστοιχης καταλληλότητάς τους για συγκεκριμένες εφαρμογές. Οι κωδικοί χρησιμοποιούνται για συμπίεση δεδομένων, κρυπτογραφία, εντοπισμό και διόρθωση σφαλμάτων, μετάδοση δεδομένων και αποθήκευση δεδομένων. Οι κώδικες μελετώνται από διάφορους επιστημονικούς κλάδους με σκοπό τον σχεδιασμό αποτελεσματικών και αξιόπιστων μεθόδων μετάδοσης δεδομένων. Τα παραδείγματα κλάδων περιλαμβάνουν τη θεωρία πληροφοριών, την ηλεκτρολογία, τα μαθηματικά, τη γλωσσολογία και την επιστήμη των υπολογιστών.

ΣΥΜΠΙΕΣΗ ΔΕΔΟΜΕΝΩΝ (κατάργηση πλεονασμού)

Η συμπίεση δεδομένων, η κωδικοποίηση πηγής ή η μείωση του ρυθμού δυαδικών ψηφίων είναι η διαδικασία κωδικοποίησης πληροφοριών χρησιμοποιώντας λιγότερα bits από την αρχική αναπαράσταση. Οποιαδήποτε συγκεκριμένη συμπίεση είναι είτε απώλεια είτε χωρίς απώλειες. Η συμπίεση χωρίς απώλειες μειώνει τα bits προσδιορίζοντας και εξαλείφοντας τη στατιστική πλεονασμό. Καμία πληροφορία δεν χάνεται σε συμπίεση χωρίς απώλειες. Η απώλεια συμπίεσης μειώνει τα bit αφαιρώντας περιττές ή λιγότερο σημαντικές πληροφορίες.

Οι μέθοδοι συμπίεσης Lempel – Ziv (LZ) είναι από τους πιο δημοφιλείς αλγόριθμους για αποθήκευση χωρίς απώλειες. Στα μέσα της δεκαετίας του 1980, μετά από εργασία του Terry Welch, ο αλγόριθμος Lempel – Ziv – Welch (LZW) έγινε γρήγορα η μέθοδος επιλογής για τα περισσότερα συστήματα συμπίεσης γενικής χρήσης. Το LZW χρησιμοποιείται σε εικόνες GIF, προγράμματα όπως το PKZIP και συσκευές υλικού όπως μόντεμ.

Χρησιμοποιούμε συνεχώς συμπιεσμένα δεδομένα για DVD, ροή βίντεο MPEG, ήχο MP3, γραφικά JPEG, αρχεία ZIP, συμπιεσμένες μπάλες πίσσας και ούτω καθεξής.

ΛΑΘΟΣ ΑΝΤΙΜΕΤΩΠΙΣΗ ΚΑΙ ΔΙΟΡΘΩΣΗ (προσθήκη χρήσιμου πλεονασμού)

Ο εντοπισμός και η διόρθωση σφαλμάτων ή ο έλεγχος σφαλμάτων είναι τεχνικές που επιτρέπουν την αξιόπιστη παράδοση ψηφιακών δεδομένων μέσω αναξιόπιστων διαύλων επικοινωνίας. Πολλά κανάλια επικοινωνίας υπόκεινται σε θόρυβο καναλιού, και έτσι μπορεί να εισαχθούν σφάλματα κατά τη μετάδοση από την πηγή στον δέκτη. Η ανίχνευση σφαλμάτων είναι η ανίχνευση σφαλμάτων που προκαλούνται από θόρυβο ή άλλες βλάβες κατά τη μετάδοση από τον πομπό στον δέκτη. Η διόρθωση σφαλμάτων είναι η ανίχνευση σφαλμάτων και η ανασυγκρότηση των αρχικών δεδομένων χωρίς σφάλματα.

Η ανίχνευση σφαλμάτων εκτελείται πιο απλά χρησιμοποιώντας επανάληψη μετάδοσης, bits ισοτιμίας, αθροίσματα ελέγχου ή CRC ή συναρτήσεις κατακερματισμού. Ένα λάθος στη μετάδοση μπορεί να εντοπιστεί (αλλά όχι συνήθως να διορθωθεί) από τον παραλήπτη, ο οποίος μπορεί στη συνέχεια να ζητήσει αναμετάδοση των δεδομένων.

Οι κωδικοί διόρθωσης σφαλμάτων (ECC) χρησιμοποιούνται για τον έλεγχο λαθών στα δεδομένα μέσω αναξιόπιστων ή θορυβωδών καναλιών επικοινωνίας. Η κεντρική ιδέα είναι ότι ο αποστολέας κωδικοποιεί το μήνυμα με περιττές πληροφορίες με τη μορφή ECC. Ο πλεονασμός επιτρέπει στον παραλήπτη να εντοπίσει έναν περιορισμένο αριθμό σφαλμάτων που μπορεί να προκύψουν οπουδήποτε στο μήνυμα και συχνά να διορθώσει αυτά τα σφάλματα χωρίς επανεκπομπή. Ένα απλοϊκό παράδειγμα ECC είναι η μετάδοση κάθε bit δεδομένων 3 φορές, ο οποίος είναι γνωστός ως (3, 1) κωδικός επανάληψης. Παρόλο που μεταδίδονται μόνο 0, 0, 0 ή 1, 1, 1, τα σφάλματα στο θορυβώδες κανάλι μπορούν να παρουσιάσουν οποιαδήποτε από τις οκτώ πιθανές τιμές (τρία bit) στον δέκτη. Αυτό επιτρέπει σε ένα σφάλμα σε οποιοδήποτε από τα τρία δείγματα να διορθωθεί με "ψήφο πλειοψηφίας" ή "δημοκρατική ψηφοφορία". Η διορθωτική ικανότητα αυτού του ECC είναι έτσι η διόρθωση 1 bit σφάλματος σε κάθε τρίπολη που μεταδίδεται. Αν και απλό στην εφαρμογή και ευρέως χρησιμοποιούμενο, αυτός ο τριπλός αρθρωτός πλεονασμός είναι ένα σχετικά αναποτελεσματικό ECC. Οι καλύτεροι κωδικοί ECC συνήθως εξετάζουν τις τελευταίες δεκάδες ή ακόμα και τις τελευταίες εκατοντάδες bits που έχουν ληφθεί προηγουμένως για να καθορίσουν τον τρόπο αποκωδικοποίησης της τρέχουσας μικρής χούφτας bit.

Σχεδόν όλοι οι δισδιάστατοι γραμμικοί κώδικες, όπως QR Codes, PDF-417, MaxiCode, Datamatrix και Aztec Code, χρησιμοποιούν το Reed – Solomon ECC για να επιτρέψουν τη σωστή ανάγνωση ακόμη και αν ένα τμήμα του γραμμικού κώδικα είναι κατεστραμμένο.

ΚΡΥΠΤΟΓΡΑΦΗΣΗ

Η κρυπτογραφική κωδικοποίηση σχεδιάζεται γύρω από υποθέσεις υπολογιστικής σκληρότητας. Τέτοιοι αλγόριθμοι κωδικοποίησης είναι σκόπιμα δύσκολο να σπάσουν (με πρακτική έννοια) από οποιονδήποτε αντίπαλο. Είναι θεωρητικά δυνατό να σπάσει ένα τέτοιο σύστημα, αλλά είναι αδύνατο να γίνει με οποιοδήποτε γνωστό πρακτικό μέσο. Αυτά τα συστήματα επομένως ονομάζονται υπολογιστικά ασφαλή. Υπάρχουν θεωρητικά ασφαλή συστήματα που δεν μπορούν να σπάσουν ακόμη και με απεριόριστη υπολογιστική ισχύ, όπως το εφάπαξ, αλλά αυτά τα συστήματα είναι πιο δύσκολο να χρησιμοποιηθούν στην πράξη από τους καλύτερους θεωρητικά σπαστούς αλλά υπολογιστικά ασφαλείς μηχανισμούς.

Η παραδοσιακή κρυπτογράφηση κρυπτογράφησης βασίζεται σε μια κρυπτογράφηση μεταφοράς, η οποία αναδιατάσσει τη σειρά των γραμμάτων σε ένα μήνυμα (π.χ., «γεια σου κόσμο» γίνεται «ehlol owrdl» σε ένα ασήμαντα απλό σχήμα αναδιάταξης) και κρυπτογράφηση αντικατάστασης, που αντικαθιστά συστηματικά γράμματα ή ομάδες γράμματα με άλλα γράμματα ή ομάδες γραμμάτων (π.χ., το "fly at same" γίνεται "gmz bu podf" αντικαθιστώντας κάθε γράμμα με αυτό που ακολουθεί στο λατινικό αλφάβητο). Οι απλές εκδόσεις του οποιουδήποτε δεν προσφέρουν ποτέ μεγάλο απόρρητο από επιχειρηματίες αντιπάλους. Ένας πρώτος κρυπτογράφος αντικατάστασης ήταν ο κρυπτογράφος του Καίσαρα, στον οποίο κάθε γράμμα στο απλό κείμενο αντικαταστάθηκε από ένα γράμμα ορισμένου αριθμού θέσεων πιο κάτω στο αλφάβητο. Το ROT13 είναι μια απλή κρυπτογράφηση αντικατάστασης γραμμάτων που αντικαθιστά ένα γράμμα με το 13ο γράμμα μετά από αυτό, στο αλφάβητο. Είναι μια ειδική περίπτωση της κρυπτογράφησης του Καίσαρα. Δοκιμάστε το εδώ!

Βήμα 2: Κωδικοί QR

Κωδικοί QR
Κωδικοί QR

Οι κωδικοί QR (wikipedia) ή "Κωδικοί γρήγορης απόκρισης" είναι ένας τύπος γραμμικού κώδικα μήτρας ή δύο διαστάσεων που σχεδιάστηκε για πρώτη φορά το 1994 για την αυτοκινητοβιομηχανία στην Ιαπωνία. Ο γραμμωτός κώδικας είναι μια μηχανική αναγνώσιμη οπτική ετικέτα που περιέχει πληροφορίες σχετικά με το στοιχείο στο οποίο είναι προσαρτημένο. Στην πράξη, οι κωδικοί QR περιέχουν συχνά δεδομένα για έναν εντοπιστή, αναγνωριστικό ή ιχνηλάτη που δείχνει έναν ιστότοπο ή μια εφαρμογή. Ένας κωδικός QR χρησιμοποιεί τέσσερις τυποποιημένες λειτουργίες κωδικοποίησης (αριθμητικές, αλφαριθμητικές, byte/binary και kanji) για την αποτελεσματική αποθήκευση δεδομένων.

Το σύστημα γρήγορης απόκρισης έγινε δημοφιλές εκτός της αυτοκινητοβιομηχανίας λόγω της γρήγορης αναγνωσιμότητάς του και της μεγαλύτερης χωρητικότητας αποθήκευσης σε σύγκριση με τους τυπικούς γραμμικούς κώδικες UPC. Οι εφαρμογές περιλαμβάνουν παρακολούθηση προϊόντων, αναγνώριση στοιχείων, παρακολούθηση χρόνου, διαχείριση εγγράφων και γενικό μάρκετινγκ. Ο κωδικός QR αποτελείται από μαύρα τετράγωνα διατεταγμένα σε τετράγωνο πλέγμα σε λευκό φόντο, τα οποία μπορούν να διαβαστούν από μια συσκευή απεικόνισης όπως μια κάμερα, και να υποβληθούν σε επεξεργασία χρησιμοποιώντας διόρθωση σφαλμάτων Reed – Solomon έως ότου η εικόνα να ερμηνευθεί κατάλληλα. Τα απαιτούμενα δεδομένα στη συνέχεια εξάγονται από μοτίβα που υπάρχουν τόσο σε οριζόντια όσο και σε κάθετα στοιχεία της εικόνας.

Τα σύγχρονα smartphone συνήθως διαβάζουν αυτόματα κωδικούς QR (και άλλους γραμμικούς κώδικες). Απλώς ανοίξτε την εφαρμογή κάμερας, κατευθύνετε την κάμερα στον γραμμωτό κώδικα και περιμένετε ένα ή δύο δευτερόλεπτα για να δείξει η εφαρμογή κάμερας ότι έχει κλειδωθεί στον γραμμωτό κώδικα. Η εφαρμογή μερικές φορές θα εμφανίζει άμεσα τα περιεχόμενα του γραμμωτού κώδικα, αλλά συνήθως η εφαρμογή θα απαιτήσει επιλογή της ειδοποίησης του γραμμωτού κώδικα για να εμφανίσει τις πληροφορίες που έχουν εξαχθεί από τον γραμμωτό κώδικα. Τον Ιούνιο του 2011, 14 εκατομμύρια Αμερικανοί χρήστες κινητών σάρωσαν έναν κωδικό QR ή έναν γραμμωτό κώδικα.

Χρησιμοποιήσατε το smartphone σας για να διαβάσετε τα μηνύματα που κωδικοποιούνται στο εξωτερικό του HackerBox 0058;

Ενδιαφέρον βίντεο: Μπορείτε να χωρέσετε ένα ολόκληρο παιχνίδι σε έναν κωδικό QR;

Οι old timers ίσως θυμούνται το Cauzin Softstrip από περιοδικά υπολογιστών της δεκαετίας του '80. (επίδειξη βίντεο)

Βήμα 3: Arduino Pro Micro 3.3V 8MHz

Arduino Pro Micro 3.3V 8MHz
Arduino Pro Micro 3.3V 8MHz

Το Arduino Pro Micro βασίζεται στον μικροελεγκτή ATmega32U4 ο οποίος διαθέτει ενσωματωμένη διεπαφή USB. Αυτό σημαίνει ότι δεν υπάρχει FTDI, PL2303, CH340 ή οποιοδήποτε άλλο τσιπ που να λειτουργεί ως ενδιάμεσος μεταξύ του υπολογιστή σας και του μικροελεγκτή Arduino.

Προτείνουμε πρώτα να δοκιμάσετε το Pro Micro χωρίς να κολλήσετε τις ακίδες στη θέση τους. Μπορείτε να εκτελέσετε τη βασική διαμόρφωση και δοκιμή χωρίς να χρησιμοποιήσετε τις καρφίτσες κεφαλίδας. Επίσης, η καθυστέρηση συγκόλλησης στη μονάδα δίνει μια λιγότερη μεταβλητή για εντοπισμό σφαλμάτων σε περίπτωση που αντιμετωπίσετε τυχόν επιπλοκές.

Εάν δεν έχετε εγκατεστημένο το Arduino IDE στον υπολογιστή σας, ξεκινήστε με τη λήψη της φόρμας IDE arduino.cc. ΠΡΟΕΙΔΟΠΟΙΗΣΗ: Βεβαιωθείτε ότι έχετε επιλέξει την έκδοση 3.3V στα εργαλεία> επεξεργαστής πριν προγραμματίσετε το Pro Micro. Έχοντας αυτό το σετ για 5V θα λειτουργήσει μία φορά και στη συνέχεια η συσκευή θα φαίνεται ότι δεν θα συνδεθεί ποτέ με τον υπολογιστή σας μέχρι να ακολουθήσετε τις οδηγίες "Επαναφορά σε εκκινητή" στον οδηγό που συζητείται παρακάτω, οι οποίοι μπορεί να είναι λίγο περίπλοκοι.

Το Sparkfun διαθέτει έναν εξαιρετικό οδηγό Pro Micro Hookup. Ο Οδηγός σύνδεσης έχει μια λεπτομερή επισκόπηση της πλακέτας Pro Micro και στη συνέχεια μια ενότητα για την "Εγκατάσταση: Windows" και μια ενότητα για την "Εγκατάσταση: Mac & Linux." Ακολουθήστε τις οδηγίες στην κατάλληλη έκδοση αυτών των οδηγιών εγκατάστασης για να διαμορφώσετε το Arduino IDE ώστε να υποστηρίζει το Pro Micro. Συνήθως ξεκινάμε να δουλεύουμε με έναν πίνακα Arduino φορτώνοντας ή/και τροποποιώντας το τυπικό σκίτσο Blink. Ωστόσο, το Pro Micro δεν περιλαμβάνει το συνηθισμένο LED στον πείρο 13. Ευτυχώς, μπορούμε να ελέγξουμε τα LED RX/TX. Ο Sparkfun παρείχε ένα προσεγμένο μικρό σκίτσο για να δείξει πώς. Αυτό βρίσκεται στην ενότητα του Οδηγού σύνδεσης με τίτλο "Παράδειγμα 1: Αναβοσβήνει!" Βεβαιωθείτε ότι μπορείτε να μεταγλωττίσετε και να προγραμματίσετε αυτό το Blinkies! παράδειγμα στο Pro Micro πριν προχωρήσετε.

Μόλις όλα φαίνονται να λειτουργούν για τον προγραμματισμό του Pro Micro, είναι καιρός να κολλήσουμε προσεκτικά τις καρφίτσες της κεφαλίδας στη μονάδα. Μετά τη συγκόλληση, δοκιμάστε ξανά προσεκτικά τη σανίδα.

FYI: Χάρη στον ενσωματωμένο πομποδέκτη USB, το Pro Micro μπορεί εύκολα να χρησιμοποιηθεί για να μιμηθεί μια συσκευή ανθρώπινης διεπαφής (HID) όπως ένα πληκτρολόγιο ή ποντίκι και να παίξει με έγχυση πληκτρολογίου.

Βήμα 4: Κωδικοί QR σε πλήρη έγχρωμη οθόνη LCD

Κωδικοί QR σε πλήρη έγχρωμη οθόνη LCD
Κωδικοί QR σε πλήρη έγχρωμη οθόνη LCD

Η οθόνη LCD διαθέτει 128 x 160 Full Color Pixels και έχει διαστάσεις 1,8 ίντσες στη διαγώνιο. Το ST7735S Driver Chip (φύλλο δεδομένων) μπορεί να διασυνδεθεί από σχεδόν οποιοδήποτε μικροελεγκτή χρησιμοποιώντας ένα δίαυλο Serial Peripheral Interface (SPI). Η διεπαφή έχει καθοριστεί για σηματοδότηση 3.3V και τροφοδοσία.

Η μονάδα LCD μπορεί να συνδεθεί απευθείας στο 3.3V Pro Micro χρησιμοποιώντας 7 FF Jumper Wires:

LCD ---- Pro Micro

GND ---- GND VCC ---- VCC SCL ---- 15 SDA ---- 16 RES ---- 9 DC ----- 8 CS ----- 10 BL ----- Χωρίς σύνδεση

Αυτή η συγκεκριμένη ανάθεση καρφιτσών επιτρέπει στα παραδείγματα βιβλιοθήκης να λειτουργούν από προεπιλογή.

Η βιβλιοθήκη που ονομάζεται "Adafruit ST7735 and ST7789" μπορεί να βρεθεί στο Arduino IDE χρησιμοποιώντας το μενού Εργαλεία> Διαχείριση βιβλιοθηκών. Κατά την εγκατάσταση, ο διαχειριστής βιβλιοθήκης θα προτείνει μερικές εξαρτημένες βιβλιοθήκες που συνοδεύουν τη συγκεκριμένη βιβλιοθήκη. Αφήστε το να εγκαταστήσει και αυτά.

Μόλις εγκατασταθεί η βιβλιοθήκη, ανοίξτε Αρχεία> Παραδείγματα> Βιβλιοθήκη Adafruit ST7735 και ST7789> graphicstest

Συγκεντρώστε και ανεβάστε το γραφικό τεστ. Θα δημιουργήσει μια επίδειξη γραφικών στην οθόνη LCD, αλλά με μερικές γραμμές και στήλες "θορυβώδη pixel" στην άκρη της οθόνης.

Αυτά τα "θορυβώδη εικονοστοιχεία" μπορούν να διορθωθούν αλλάζοντας τη λειτουργία TFT init που χρησιμοποιείται κοντά στο επάνω μέρος της λειτουργίας ρύθμισης (άκυρο).

Σχολιάστε τη γραμμή του κώδικα:

tft.initR (INITR_BLACKTAB);

Και μην σχολιάσετε τη γραμμή μερικές γραμμές προς τα κάτω:

tft.initR (INITR_GREENTAB);

Επαναπρογραμματίστε το demo και όλα πρέπει να φαίνονται ωραία.

Τώρα μπορούμε να χρησιμοποιήσουμε την οθόνη LCD για την εμφάνιση κωδικών QR

Επιστροφή στο μενού Arduino IDE Εργαλεία> Διαχείριση βιβλιοθηκών.

Εντοπίστε και εγκαταστήστε τον QRCode της βιβλιοθήκης.

Κατεβάστε το σκίτσο QR_TFT.ino που επισυνάπτεται εδώ.

Συγκεντρώστε και προγραμματίστε το QR_TFT στο ProMicro και δείτε αν μπορείτε να χρησιμοποιήσετε την εφαρμογή κάμερας του τηλεφώνου σας για να διαβάσετε τον κωδικό QR που δημιουργήθηκε στην οθόνη LCD.

Ορισμένα έργα που χρησιμοποιούν την παραγωγή QR Code για έμπνευση

Έλεγχος πρόσβασης

Ρολόι QR

Βήμα 5: Ευέλικτο επίπεδο καλώδιο

Ευέλικτο επίπεδο καλώδιο
Ευέλικτο επίπεδο καλώδιο

Ένα εύκαμπτο επίπεδο καλώδιο (FFC) είναι κάθε ποικιλία ηλεκτρικών καλωδίων που είναι επίπεδη και εύκαμπτα, με επίπεδους συμπαγείς αγωγούς. Ένα FFC είναι ένα καλώδιο που σχηματίζεται από ένα Flexible Printed Circuit (FPC) ή είναι παρόμοιο με αυτό. Οι όροι FPC και FFC χρησιμοποιούνται μερικές φορές εναλλακτικά. Αυτοί οι όροι αναφέρονται γενικά σε ένα εξαιρετικά λεπτό επίπεδο καλώδιο που βρίσκεται συχνά σε ηλεκτρονικές εφαρμογές υψηλής πυκνότητας όπως φορητούς υπολογιστές και κινητά τηλέφωνα. Είναι μια μικροσκοπική μορφή καλωδίου κορδέλας που συνήθως αποτελείται από μια επίπεδη και εύκαμπτη βάση πλαστικής μεμβράνης, με πολλαπλούς επίπεδους μεταλλικούς αγωγούς συνδεδεμένους σε μία επιφάνεια.

Τα FFC έρχονται σε μια ποικιλία πίστας με 1,0 mm και 0,5 mm δύο κοινές επιλογές. Ο συμπεριλαμβανόμενος πίνακας διάλυσης FPC έχει ίχνη και για τα δύο αυτά βήματα, ένα σε κάθε πλευρά του PCB. Μόνο η μία πλευρά του PCB χρησιμοποιείται ανάλογα με το επιθυμητό βήμα, 0,5 mm σε αυτή την περίπτωση. Βεβαιωθείτε ότι χρησιμοποιείτε την αρίθμηση του πείρου κεφαλίδας που είναι τυπωμένη στην ίδια πλευρά 0,5 mm του PCB. Η αρίθμηση των ακίδων στην πλευρά 1,0 mm δεν ταιριάζει και χρησιμοποιείται για διαφορετική εφαρμογή.

Οι σύνδεσμοι FFC τόσο στο ξεμπλοκάρισμα όσο και στο σαρωτή γραμμωτού κώδικα είναι συνδετήρες ZIF (μηδενικής δύναμης εισαγωγής). Αυτό σημαίνει ότι οι σύνδεσμοι ZIF έχουν ένα μηχανικό ρυθμιστικό που ανοίγει μεντεσέδες πριν από την εισαγωγή του FFC και στη συνέχεια κλείνει με το μεντεσέ για να σφίξει τον σύνδεσμο στο FFC χωρίς να βάλει και να εισαγάγει δύναμη στο ίδιο το καλώδιο. Δύο σημαντικά πράγματα που πρέπει να σημειωθούν σχετικά με αυτούς τους συνδετήρες ZIF:

1. Και οι δύο είναι "κάτω επαφή", πράγμα που σημαίνει ότι οι μεταλλικές επαφές στο FFC πρέπει να βλέπουν προς τα κάτω (προς το PCB) όταν τοποθετούνται.

2. Το αρθρωτό ρυθμιστικό στο άνοιγμα βρίσκεται στο μπροστινό μέρος του συνδέσμου. Αυτό σημαίνει ότι το FFC θα περάσει κάτω/μέσω του ρυθμιστικού με αρθρώσεις. Αντίθετα, το αρθρωτό ρυθμιστικό στο σαρωτή γραμμωτού κώδικα βρίσκεται στο πίσω μέρος του συνδέσμου. Αυτό σημαίνει ότι το FFC θα εισέλθει στο σύνδεσμο ZIF από την αντίθετη πλευρά και όχι μέσω του ρυθμιστικού αρθρωτού συνδέσμου.

Λάβετε υπόψη ότι άλλοι τύποι συνδετήρων FFC/FPC ZIF έχουν πλευρικά ρυθμιστικά σε αντίθεση με τα αρθρωτά ρυθμιστικά που έχουμε εδώ. Αντί να κρέμονται πάνω και κάτω, οι πλευρικές ολισθητήρες γλιστρούν μέσα και έξω μέσα στο επίπεδο του συνδετήρα. Πάντα να κοιτάτε προσεκτικά πριν χρησιμοποιήσετε πρώτα έναν νέο τύπο σύνδεσης ZIF. Είναι αρκετά μικρά και μπορούν εύκολα να καταστραφούν εάν εξαναγκαστούν έξω από το προβλεπόμενο εύρος ή το επίπεδο κίνησης.

Βήμα 6: Σαρωτής γραμμωτού κώδικα

Σάρωση γραμμοκώδικα
Σάρωση γραμμοκώδικα

Μόλις συνδεθεί ο σαρωτής γραμμωτού κώδικα και το FPC breakout με το Flexible Flat Cable (FFC), μπορούν να χρησιμοποιηθούν πέντε θηλυκά καλώδια για να συνδέσετε το PCB με το Arduino Pro Micro:

FPC ---- Pro Micro

3 ------ GND 2 ------ VCC 12 ----- 7 4 ------ 8 5 ------ 9

Μόλις συνδεθείτε, προγραμματίστε το σκίτσο barscandemo.ino στο Pro Micro, ανοίξτε το Serial Monitor και σαρώστε όλα τα πράγματα! Μπορεί να εκπλήσσει πόσα αντικείμενα γύρω από τα σπίτια και τα γραφεία μας έχουν γραμμωτούς κώδικες. Knowσως γνωρίζετε κάποιον με τατουάζ γραμμωτού κώδικα.

Το συνημμένο εγχειρίδιο σαρωτή γραμμωτού κώδικα έχει κωδικούς που μπορούν να σαρωθούν για να διαμορφώσουν τον επεξεργαστή που είναι ενσωματωμένος στο σαρωτή.

Βήμα 7: Hack the Planet

Hack the Planet
Hack the Planet

Ελπίζουμε να απολαμβάνετε την περιπέτεια HackerBox αυτού του μήνα στα ηλεκτρονικά και την τεχνολογία υπολογιστών. Απευθυνθείτε και μοιραστείτε την επιτυχία σας στα παρακάτω σχόλια ή σε άλλα μέσα κοινωνικής δικτύωσης. Επίσης, να θυμάστε ότι μπορείτε να στείλετε μήνυμα ηλεκτρονικού ταχυδρομείου στη διεύθυνση [email protected] ανά πάσα στιγμή εάν έχετε κάποια ερώτηση ή χρειάζεστε βοήθεια.

Τι έπεται? Ελάτε στην επανάσταση. Ζήστε το HackLife. Αποκτήστε ένα δροσερό κουτί με εργαλεία που μπορούν να σπάσουν και παραδίδονται απευθείας στο γραμματοκιβώτιό σας κάθε μήνα. Περιηγηθείτε στο HackerBoxes.com και εγγραφείτε για τη μηνιαία συνδρομή σας στο HackerBox.

Συνιστάται: