Πώς να συνδέσετε την οθόνη OLED I2C στο ARDUINO
Εισαγωγή: Εισαγωγή στην οθόνη OLED I2C 128*64 / 128*32.
Γειά σου! Όντας ερασιτέχνης λάτρης των ηλεκτρονικών, είμαι σίγουρος ότι ό,τι κάνουμε - ηλεκτρονικά παιχνίδια - σπιτικά προϊόντα ή μεγάλα έργα - είναι όλα από περιέργεια και τεμπελιά. Το Curiosity προσπαθεί να κατανοήσει και να κατανοήσει το τεράστιο, άγνωστο, για να καταλάβει πώς λειτουργεί εκεί, τι κάνει, πώς κινείται. Και η τεμπελιά επινοεί κάτι να σκαρφιστεί, για να μην σηκωθεί, να μην πλησιάσει, να μην σηκώσει, να μη λερωθεί ή οτιδήποτε άλλο σημαντικό.
Δεδομένου ότι η προβολή πληροφοριών είναι καλύτερη από το να καταλάβουμε τι πρόκειται να συμβεί στη συσκευή μας, ή έχει ήδη συμβεί ή συμβαίνει, σίγουρα θα θέλουμε να λάβουμε αυτές τις πιο χρήσιμες πληροφορίες από τους μικροελεγκτές, τους αισθητήρες ή άλλες συσκευές μας. Και σε κάθε περίπτωση, θέλω να λαμβάνω μηνύματα, όπως ερωτήσεις, προειδοποιήσεις, υπενθυμίσεις, emoticons, αστέρια, καρδιές και παρόμοια.
Για όσους έχουν επίσης παρόμοια επιθυμία, εδώ είναι ένας σύντομος οδηγός για τη σύνδεση και τη δοκιμή μικρών και φθηνών οθονών OLED.
Στη συνέχεια, θα μιλήσουμε για ένα από τα ευρέως διαθέσιμα μοντέλα οθόνης OLED για ραδιοερασιτέχνες, που ελέγχεται από το τσιπ SSD1306, με μέγεθος οθόνης 0,96 ίντσες και ανάλυση 128 * 64 ή 128 * 32 pixel. Αυτές οι οθόνες είναι ιδανικές για μικρά σχέδια ραδιοερασιτεχνών και σπιτικά έργα.
Θα το συνδέσουμε στο Arduino UNO / NANO και θα το προγραμματίσουμε επίσης μέσω του Arduino.
Ακολουθήστε τις οδηγίες για να κατανοήσετε πώς να συνδέσετε και να ρυθμίσετε σωστά την οθόνη OLED στο Arduino και πώς να εμφανίσετε ένα προσαρμοσμένο μήνυμα στην οθόνη του.
Κάνουμε τα πάντα βήμα-βήμα.
Χρειαζόμαστε μόνο τέσσερα πράγματα:
Γενικά, η αγορά ανταλλακτικών για διάφορα έργα στο Aliexpress και στο Ebay είναι πολύ ωραίο πράγμα, ενώ εργάζεστε σε ένα έργο, ανταλλακτικά για ένα άλλο είναι ήδη στο δρόμο. Το κύριο πράγμα είναι να μην ξεχάσετε να κάνετε μια παραγγελία.
Η οθόνη ελέγχεται από ένα τσιπ SSD1306, το οποίο υποστηρίζει πέντε πρωτόκολλα επικοινωνίας, ένα από τα οποία είναι το I2C. Τα δεδομένα που χρησιμοποιούν αυτό το πρωτόκολλο μεταδίδονται μόνο μέσω δύο καλωδίων και όσο λιγότερα καλώδια στη θήκη, τόσο το καλύτερο, επομένως μας ταιριάζει αρκετά.Αλλά! Υπάρχουν ενότητες με το πρωτόκολλο SPI και ακόμη και με εναλλαγή πρωτοκόλλου, οπότε να είστε προσεκτικοί όταν αγοράζετε αυτήν την ενότητα.
Καρφίτσες που χρησιμοποιούνται:
Οθόνη OLED - SCL/SCK (ρολόι) και SDA (δεδομένα), ισχύς «Plus» (VCC) και ισχύς «Μείον» (GND).
Καρφίτσες που χρησιμοποιούνται:
Arduino UNO - SCL/SCK σε A5 και SSD σε A4, ισχύς «Plus» (+5V) και ισχύς «Μείον» (GND).
Σύνδεση της οθόνης στο Arduino:
Κάθε συσκευή στο δίαυλο I2C έχει δεκαεξαδική διεύθυνση, δεν μπορεί να αλλάξει, είναι ενσύρματη, κάθε υπεύθυνος κατασκευαστής πρέπει να την υποδείξει κάπου στη θήκη ή στις οδηγίες. Υπάρχουν μονάδες με διακόπτες και βραχυκυκλωτήρες που μπορούν να χρησιμοποιηθούν για την αλλαγή της διεύθυνσης, αλλά... αν οι συσκευές είναι γελοία φθηνές, τότε ο κατασκευαστής μπορεί να μην μπει στον κόπο να ασχοληθεί με μια τέτοια λεπτομέρεια, οπότε θα πρέπει να το προσδιορίσετε μόνοι σας.
Συνολικά, μπορούν να χρησιμοποιηθούν έως και 127 διευθύνσεις στο λεωφορείο - 119 για συσκευές και 8 διευθύνσεις υπηρεσιών. Η επικοινωνία πραγματοποιείται σε αυτές τις διευθύνσεις. Υπάρχει ένα κύριο, γνωστός και ως Master, και υπάρχει ένας σκλάβος, γνωστός και ως Slave - οι Δάσκαλοι ρωτούν, οι σκλάβοι απαντούν, όλα είναι απλά.
Δεδομένου ότι η οθόνη OLED μας χρησιμοποιεί το πρωτόκολλο επικοινωνίας I2C και η διεύθυνση μπορεί να μην έχει καθοριστεί, θα προσπαθήσουμε να μάθουμε μόνοι μας αυτή τη διεύθυνση.
Μπορείτε να το κάνετε αυτό ανεβάζοντας ένα σύντομο σκίτσο στην πλακέτα Arduino με συνδεδεμένο το OLED. ΑΛΛΑ!
Μη βιαστείτε να ανεβάσετε το σκίτσο στο Arduino αμέσως! Ας κατεβάσουμε πρώτα τα “drivers”, δηλ. Ας συνδέσουμε τις βιβλιοθήκες και για να το κάνουμε αυτό θα πάμε αμέσως στο "Βήμα Νο. 5" και μετά θα επιστρέψουμε και θα συνεχίσουμε.
Κατεβάστε το CODE Finder_I2C_Hex_Address.ino, μεταφορτώστε το στο Arduino.
Ανοίξτε το "Port Monitor", ρυθμίστε την ταχύτητα στο 9600 και εάν όλα είναι συνδεδεμένα σωστά, το πρόγραμμα θα εμφανίσει τη διεύθυνση της συσκευής, στην περίπτωσή μου OLED με διεύθυνση 0x3F.
Για να λειτουργούν όλα σωστά και δεν χρειάζεται να εφεύρετε ξανά τον τροχό, πρέπει να συνδέσετε μερικές βιβλιοθήκες στο περιβάλλον ArduinoIDE, συγκεκριμένα: ADAFRUIT GFX και ADAFRUIT SSD1306, είναι απαραίτητες για το Arduino να μπορεί να επικοινωνεί ανεξάρτητα με την οθόνη OLED.
Μπορείτε να συμπεριλάβετε αυτές τις βιβλιοθήκες ακολουθώντας αυτά τα βήματα.
Με τις πιο πρόσφατες εκδόσεις των βιβλιοθηκών, η οθόνη μου δούλευε στραβά, αυτό μπορεί φυσικά να οφείλεται στην καμπυλότητα των χεριών μου, αλλά αφού εγκατέστησα τις πρώτες εκδόσεις αυτών των βιβλιοθηκών, όλα άρχισαν να φαίνονται ομαλά και όμορφα. Για κάποιο λόγο, οι γραμμές του Πούσκιν έρχονται στο μυαλό:
...και η εμπειρία, ο γιος των δύσκολων λαθών,
και ιδιοφυΐα, φίλος των παραδόξων.
Ένας άλλος τρόπος εγκατάστασης βιβλιοθηκών είναι να βρείτε, να κατεβάσετε και να εγκαταστήσετε αυτές τις βιβλιοθήκες μόνοι σας.
Για παράδειγμα Github:
https://github.com/adafruit/Adafruit-GFX-Library
https://github.com/adafruit/Adafruit_SSD1306
Αυτές είναι οι ίδιες βιβλιοθήκες Adafruit, αλλά παρόμοιες βιβλιοθήκες μπορούν εύκολα να αναζητηθούν στις μηχανές αναζήτησης, κατόπιν αιτήματος του OLED I2C. Πολλοί ενθουσιώδεις γράφουν βιβλιοθήκες «για τον εαυτό τους» και στη συνέχεια τις δημοσιεύουν στον Ιστό. Ποια βιβλιοθήκη θα χρησιμοποιήσετε εξαρτάται από εσάς.
Προκειμένου η οθόνη να εμφανίζει ρωσικά γράμματα, χρειάζονται επίσης ειδικές βιβλιοθήκες, αλλά αυτό είναι ένα ξεχωριστό θέμα για ένα ξεχωριστό άρθρο.
Αφού εγκατασταθούν οι βιβλιοθήκες, μπορείτε να επιστρέψετε στο βήμα 4 και τελικά να μάθετε τη δεκαεξαδική διεύθυνση της οθόνης σας.
Για να ελέγξετε εάν όλα λειτουργούν όπως αναμένεται, εκτελέστε το παράδειγμα δοκιμής από το ArduinoIDE.
Για αυτό:
Μεταβείτε στο FILE > EXAMPLES > SSD 1306 > Επιλέξτε 128x64 i2c
Εάν εμφανιστεί "Σφάλμα", δοκιμάστε να επιλέξετε SSD 1306 > 128x32 i2c.
Εάν εμφανιστεί ξανά "Σφάλμα", δοκιμάστε να αλλάξετε τη διεύθυνση I2C στη γραμμή 61 του κώδικα επίδειξης και αντικαταστήστε την με τη διεύθυνση της οθόνης σας που καθορίσατε στο βήμα #4.
Εάν το σφάλμα παρουσιαστεί ξανά, μπορείτε να προσπαθήσετε να επεξεργαστείτε το αρχείο Adafruit_SSD1306.h, το οποίο βρίσκεται στο φάκελο βιβλιοθήκες Arduino.
Ανοίξτε το αρχείο Adafruit_SSD1306.h σε ένα πρόγραμμα επεξεργασίας κειμένου και βρείτε τις γραμμές:
Καταργήστε το σχόλιο της γραμμής:
Θα πρέπει να μοιάζει με αυτό:
Εάν το σφάλμα παρουσιαστεί ξανά, πρέπει να ελέγξετε τις σωστές συνδέσεις.
Μόλις ολοκληρωθεί η λήψη, θα δείτε μια δοκιμαστική κινούμενη εικόνα στην οθόνη, που σημαίνει ότι έχετε ρυθμίσει με επιτυχία την οθόνη OLED σας.
Όταν έχετε απολαύσει πλήρως αυτό το κινούμενο σχέδιο, μπορείτε να προχωρήσετε στο επόμενο βήμα.
Για να γράψετε το δικό σας μήνυμα, δημιουργήστε πρώτα ένα νέο σκίτσο στο περιβάλλον προγραμματισμού ArduinoIDE.
Στην κεφαλίδα περιλαμβάνουμε 4 βιβλιοθήκες:
Στη συνέχεια γράφουμε το πρωτόκολλο επαναφοράς:
Στο VOID SETUP υποδεικνύουμε τη δεκαεξαδική διεύθυνση της οθόνης μας 0x3C, την οποία μάθαμε στο "Βήμα Νο. 4".
Στη συνέχεια, αρχικοποιούμε την οθόνη και την καθαρίζουμε:
Στη συνέχεια, στο VOID LOOP γράφουμε τον κύριο κωδικό, δηλαδή το μήνυμά μας που θέλουμε να εμφανίσουμε στην οθόνη.
Για να γίνει αυτό, περιγράφουμε το μέγεθος του κειμένου, το χρώμα του κειμένου, τη θέση του δρομέα και, τέλος, εμφανίζουμε το μήνυμα χρησιμοποιώντας την εντολή println:
Στο τέλος μην ξεχάσετε να γράψετε εμφάνιση.εμφάνισηέτσι ώστε η εικόνα να εμφανίζεται στην οθόνη, διαφορετικά θα έχετε κενό.
Εάν τα κάνατε όλα σωστά, θα εμφανιστεί ένα μήνυμα στις οθόνες.
Εδώ είναι ο ΚΩΔΙΚΟΣ Starting_with_Arduino_OLED.ino του προγράμματός μας:
Γειά σου! Όντας ερασιτέχνης λάτρης των ηλεκτρονικών, είμαι σίγουρος ότι ό,τι κάνουμε - ηλεκτρονικά παιχνίδια - σπιτικά προϊόντα ή μεγάλα έργα - είναι όλα από περιέργεια και τεμπελιά. Το Curiosity προσπαθεί να κατανοήσει και να κατανοήσει το τεράστιο, άγνωστο, για να καταλάβει πώς λειτουργεί εκεί, τι κάνει, πώς κινείται. Και η τεμπελιά επινοεί κάτι να σκαρφιστεί, για να μην σηκωθεί, να μην πλησιάσει, να μην σηκώσει, να μη λερωθεί ή οτιδήποτε άλλο σημαντικό.
Δεδομένου ότι η προβολή πληροφοριών είναι καλύτερη από το να καταλάβουμε τι πρόκειται να συμβεί στη συσκευή μας, ή έχει ήδη συμβεί ή συμβαίνει, σίγουρα θα θέλουμε να λάβουμε αυτές τις πιο χρήσιμες πληροφορίες από τους μικροελεγκτές, τους αισθητήρες ή άλλες συσκευές μας. Και σε κάθε περίπτωση, θέλω να λαμβάνω μηνύματα, όπως ερωτήσεις, προειδοποιήσεις, υπενθυμίσεις, emoticons, αστέρια, καρδιές και παρόμοια.
Για όσους έχουν επίσης παρόμοια επιθυμία, εδώ είναι ένας σύντομος οδηγός για τη σύνδεση και τη δοκιμή μικρών και φθηνών οθονών OLED.
Στη συνέχεια, θα μιλήσουμε για ένα από τα ευρέως διαθέσιμα μοντέλα οθόνης OLED για ραδιοερασιτέχνες, που ελέγχεται από το τσιπ SSD1306, με μέγεθος οθόνης 0,96 ίντσες και ανάλυση 128 * 64 ή 128 * 32 pixel. Αυτές οι οθόνες είναι ιδανικές για μικρά σχέδια ραδιοερασιτεχνών και σπιτικά έργα.
Βήμα 1: Βασικές Έννοιες
Θα το συνδέσουμε στο Arduino UNO / NANO και θα το προγραμματίσουμε επίσης μέσω του Arduino.
- Το OLED είναι μια οργανική δίοδος εκπομπής φωτός, δηλαδή μια συσκευή ημιαγωγών κατασκευασμένη από οργανικές ενώσεις που αρχίζει να εκπέμπει φως όταν το ηλεκτρικό ρεύμα περνά μέσα από αυτό.
- Το ARDUINO είναι μια πλατφόρμα εκπαίδευσης και κατασκευής συστημάτων αυτοματισμού και ρομποτικής.
- ArduinoIDE - περιβάλλον ανάπτυξης. Αυτό είναι ένα δωρεάν πρόγραμμα προγραμματισμού Arduino.
- I2C – Inter-Integrated Circuits, γραμμή επικοινωνίας μεταξύ chip.
- Σκίτσο, κωδικός aka, πρόγραμμα aka - ορολογία Arduino.
Ακολουθήστε τις οδηγίες για να κατανοήσετε πώς να συνδέσετε και να ρυθμίσετε σωστά την οθόνη OLED στο Arduino και πώς να εμφανίσετε ένα προσαρμοσμένο μήνυμα στην οθόνη του.
Κάνουμε τα πάντα βήμα-βήμα.
Βήμα 2: Αξεσουάρ
Χρειαζόμαστε μόνο τέσσερα πράγματα:
- 1. Η ίδια η οθόνη OLED είναι 0,96” (μπορείτε να την αγοράσετε στο Aliexpress ή στο Ebay, είναι μεγάλη, αλλά φθηνή!).
- 2. Arduino UNO / Nano (ίδια θέση με την οθόνη).
- 3. Καλώδια σύνδεσης (ό.π.).
- 4. Υπολογιστής ή φορητός υπολογιστής με εγκατεστημένο το ArduinoIDE.
Γενικά, η αγορά ανταλλακτικών για διάφορα έργα στο Aliexpress και στο Ebay είναι πολύ ωραίο πράγμα, ενώ εργάζεστε σε ένα έργο, ανταλλακτικά για ένα άλλο είναι ήδη στο δρόμο. Το κύριο πράγμα είναι να μην ξεχάσετε να κάνετε μια παραγγελία.
Βήμα 3: Σύνδεση της οθόνης
Η οθόνη ελέγχεται από ένα τσιπ SSD1306, το οποίο υποστηρίζει πέντε πρωτόκολλα επικοινωνίας, ένα από τα οποία είναι το I2C. Τα δεδομένα που χρησιμοποιούν αυτό το πρωτόκολλο μεταδίδονται μόνο μέσω δύο καλωδίων και όσο λιγότερα καλώδια στη θήκη, τόσο το καλύτερο, επομένως μας ταιριάζει αρκετά.Αλλά! Υπάρχουν ενότητες με το πρωτόκολλο SPI και ακόμη και με εναλλαγή πρωτοκόλλου, οπότε να είστε προσεκτικοί όταν αγοράζετε αυτήν την ενότητα.
Καρφίτσες που χρησιμοποιούνται:
Οθόνη OLED - SCL/SCK (ρολόι) και SDA (δεδομένα), ισχύς «Plus» (VCC) και ισχύς «Μείον» (GND).
Καρφίτσες που χρησιμοποιούνται:
Arduino UNO - SCL/SCK σε A5 και SSD σε A4, ισχύς «Plus» (+5V) και ισχύς «Μείον» (GND).
Σύνδεση της οθόνης στο Arduino:
- Vcc - 5V
- GND - GND
- SDA-A4
- SCL-A5
Βήμα 4: Σαρωτής I2C
Κάθε συσκευή στο δίαυλο I2C έχει δεκαεξαδική διεύθυνση, δεν μπορεί να αλλάξει, είναι ενσύρματη, κάθε υπεύθυνος κατασκευαστής πρέπει να την υποδείξει κάπου στη θήκη ή στις οδηγίες. Υπάρχουν μονάδες με διακόπτες και βραχυκυκλωτήρες που μπορούν να χρησιμοποιηθούν για την αλλαγή της διεύθυνσης, αλλά... αν οι συσκευές είναι γελοία φθηνές, τότε ο κατασκευαστής μπορεί να μην μπει στον κόπο να ασχοληθεί με μια τέτοια λεπτομέρεια, οπότε θα πρέπει να το προσδιορίσετε μόνοι σας.
Συνολικά, μπορούν να χρησιμοποιηθούν έως και 127 διευθύνσεις στο λεωφορείο - 119 για συσκευές και 8 διευθύνσεις υπηρεσιών. Η επικοινωνία πραγματοποιείται σε αυτές τις διευθύνσεις. Υπάρχει ένα κύριο, γνωστός και ως Master, και υπάρχει ένας σκλάβος, γνωστός και ως Slave - οι Δάσκαλοι ρωτούν, οι σκλάβοι απαντούν, όλα είναι απλά.
Δεδομένου ότι η οθόνη OLED μας χρησιμοποιεί το πρωτόκολλο επικοινωνίας I2C και η διεύθυνση μπορεί να μην έχει καθοριστεί, θα προσπαθήσουμε να μάθουμε μόνοι μας αυτή τη διεύθυνση.
Μπορείτε να το κάνετε αυτό ανεβάζοντας ένα σύντομο σκίτσο στην πλακέτα Arduino με συνδεδεμένο το OLED. ΑΛΛΑ!
Μη βιαστείτε να ανεβάσετε το σκίτσο στο Arduino αμέσως! Ας κατεβάσουμε πρώτα τα “drivers”, δηλ. Ας συνδέσουμε τις βιβλιοθήκες και για να το κάνουμε αυτό θα πάμε αμέσως στο "Βήμα Νο. 5" και μετά θα επιστρέψουμε και θα συνεχίσουμε.
Βήμα 4: Συνέχεια:
Κατεβάστε το CODE Finder_I2C_Hex_Address.ino, μεταφορτώστε το στο Arduino.
Ανοίξτε το "Port Monitor", ρυθμίστε την ταχύτητα στο 9600 και εάν όλα είναι συνδεδεμένα σωστά, το πρόγραμμα θα εμφανίσει τη διεύθυνση της συσκευής, στην περίπτωσή μου OLED με διεύθυνση 0x3F.
Βήμα 5: Λήψη και σύνδεση βιβλιοθηκών
Για να λειτουργούν όλα σωστά και δεν χρειάζεται να εφεύρετε ξανά τον τροχό, πρέπει να συνδέσετε μερικές βιβλιοθήκες στο περιβάλλον ArduinoIDE, συγκεκριμένα: ADAFRUIT GFX και ADAFRUIT SSD1306, είναι απαραίτητες για το Arduino να μπορεί να επικοινωνεί ανεξάρτητα με την οθόνη OLED.
Μπορείτε να συμπεριλάβετε αυτές τις βιβλιοθήκες ακολουθώντας αυτά τα βήματα.
- 1. Στο ArduinoIDE, μεταβείτε στο μενού Σκίτσο.
- 2. Επιλέξτε «Συμπερίληψη βιβλιοθηκών».
- 3.Επιλέξτε «Διαχείριση βιβλιοθηκών».
- 4. Βρείτε το ADAFRUIT GFX και εγκαταστήστε το.
- 5. Βρείτε το ADAFRUIT SSD1306 και εγκαταστήστε το.
Με τις πιο πρόσφατες εκδόσεις των βιβλιοθηκών, η οθόνη μου δούλευε στραβά, αυτό μπορεί φυσικά να οφείλεται στην καμπυλότητα των χεριών μου, αλλά αφού εγκατέστησα τις πρώτες εκδόσεις αυτών των βιβλιοθηκών, όλα άρχισαν να φαίνονται ομαλά και όμορφα. Για κάποιο λόγο, οι γραμμές του Πούσκιν έρχονται στο μυαλό:
...και η εμπειρία, ο γιος των δύσκολων λαθών,
και ιδιοφυΐα, φίλος των παραδόξων.
Ένας άλλος τρόπος εγκατάστασης βιβλιοθηκών είναι να βρείτε, να κατεβάσετε και να εγκαταστήσετε αυτές τις βιβλιοθήκες μόνοι σας.
Για παράδειγμα Github:
https://github.com/adafruit/Adafruit-GFX-Library
https://github.com/adafruit/Adafruit_SSD1306
Αυτές είναι οι ίδιες βιβλιοθήκες Adafruit, αλλά παρόμοιες βιβλιοθήκες μπορούν εύκολα να αναζητηθούν στις μηχανές αναζήτησης, κατόπιν αιτήματος του OLED I2C. Πολλοί ενθουσιώδεις γράφουν βιβλιοθήκες «για τον εαυτό τους» και στη συνέχεια τις δημοσιεύουν στον Ιστό. Ποια βιβλιοθήκη θα χρησιμοποιήσετε εξαρτάται από εσάς.
Προκειμένου η οθόνη να εμφανίζει ρωσικά γράμματα, χρειάζονται επίσης ειδικές βιβλιοθήκες, αλλά αυτό είναι ένα ξεχωριστό θέμα για ένα ξεχωριστό άρθρο.
Αφού εγκατασταθούν οι βιβλιοθήκες, μπορείτε να επιστρέψετε στο βήμα 4 και τελικά να μάθετε τη δεκαεξαδική διεύθυνση της οθόνης σας.
Βήμα 6: Δοκιμή οθόνης
Για να ελέγξετε εάν όλα λειτουργούν όπως αναμένεται, εκτελέστε το παράδειγμα δοκιμής από το ArduinoIDE.
Για αυτό:
Μεταβείτε στο FILE > EXAMPLES > SSD 1306 > Επιλέξτε 128x64 i2c
Εάν εμφανιστεί "Σφάλμα", δοκιμάστε να επιλέξετε SSD 1306 > 128x32 i2c.
Εάν εμφανιστεί ξανά "Σφάλμα", δοκιμάστε να αλλάξετε τη διεύθυνση I2C στη γραμμή 61 του κώδικα επίδειξης και αντικαταστήστε την με τη διεύθυνση της οθόνης σας που καθορίσατε στο βήμα #4.
Εάν το σφάλμα παρουσιαστεί ξανά, μπορείτε να προσπαθήσετε να επεξεργαστείτε το αρχείο Adafruit_SSD1306.h, το οποίο βρίσκεται στο φάκελο βιβλιοθήκες Arduino.
Ανοίξτε το αρχείο Adafruit_SSD1306.h σε ένα πρόγραμμα επεξεργασίας κειμένου και βρείτε τις γραμμές:
//#define SSD1306_128_64
#define SSD1306_128_32
// #define SSD1306_96_16
Καταργήστε το σχόλιο της γραμμής:
#define SSD1306_128_64.
Θα πρέπει να μοιάζει με αυτό:
#define SSD1306_128_64
//#define SSD1306_128_32
// #define SSD1306_96_16
Εάν το σφάλμα παρουσιαστεί ξανά, πρέπει να ελέγξετε τις σωστές συνδέσεις.
Μόλις ολοκληρωθεί η λήψη, θα δείτε μια δοκιμαστική κινούμενη εικόνα στην οθόνη, που σημαίνει ότι έχετε ρυθμίσει με επιτυχία την οθόνη OLED σας.
Όταν έχετε απολαύσει πλήρως αυτό το κινούμενο σχέδιο, μπορείτε να προχωρήσετε στο επόμενο βήμα.
Βήμα 7: Γράψτε το δικό σας μήνυμα
Για να γράψετε το δικό σας μήνυμα, δημιουργήστε πρώτα ένα νέο σκίτσο στο περιβάλλον προγραμματισμού ArduinoIDE.
Στην κεφαλίδα περιλαμβάνουμε 4 βιβλιοθήκες:
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
Στη συνέχεια γράφουμε το πρωτόκολλο επαναφοράς:
#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);
Στο VOID SETUP υποδεικνύουμε τη δεκαεξαδική διεύθυνση της οθόνης μας 0x3C, την οποία μάθαμε στο "Βήμα Νο. 4".
Στη συνέχεια, αρχικοποιούμε την οθόνη και την καθαρίζουμε:
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
Στη συνέχεια, στο VOID LOOP γράφουμε τον κύριο κωδικό, δηλαδή το μήνυμά μας που θέλουμε να εμφανίσουμε στην οθόνη.
Για να γίνει αυτό, περιγράφουμε το μέγεθος του κειμένου, το χρώμα του κειμένου, τη θέση του δρομέα και, τέλος, εμφανίζουμε το μήνυμα χρησιμοποιώντας την εντολή println:
display.setTextSize(2);
display.setTextColor(ΛΕΥΚΟ);
display.setCursor(0,0);
display.println("Μπράβο!");
display.display();
Στο τέλος μην ξεχάσετε να γράψετε εμφάνιση.εμφάνισηέτσι ώστε η εικόνα να εμφανίζεται στην οθόνη, διαφορετικά θα έχετε κενό.
Εάν τα κάνατε όλα σωστά, θα εμφανιστεί ένα μήνυμα στις οθόνες.
Εδώ είναι ο ΚΩΔΙΚΟΣ Starting_with_Arduino_OLED.ino του προγράμματός μας:
code.zip
[946 b] (λήψεις: 4908)
Παρόμοια master classes
Ιδιαίτερα ενδιαφέρον
Σχόλια (10)