Bagaimana menghubungkan layar OLED I2C ke ARDUINO

Pin
Send
Share
Send

Pendahuluan: Memperkenalkan Layar I2C 128 * 64/128 * 32 OLED.

Hai Menjadi seorang amatir - seorang penggemar elektronik, saya yakin bahwa semua yang kita lakukan adalah mainan elektronik - produk buatan sendiri, atau proyek besar, semua dari rasa ingin tahu dan kemalasan. Keingintahuan berusaha memahami dan memahami yang besar, tidak diketahui, untuk memahami cara kerjanya di sana, apa yang dilakukannya, bagaimana ia bergerak. Dan kemalasan menciptakan, untuk menghasilkan ini, agar tidak bangun, tidak bugar, tidak mengangkat, tidak kotor atau hal lain yang penting.
Karena melihat informasi lebih baik daripada memahami apa yang akan terjadi pada perangkat kami, atau telah terjadi atau sedang terjadi, kami pasti ingin mendapatkan informasi yang sangat berguna ini dari mikrokontroler, sensor, atau perangkat lain kami. Dan saya, dalam hal apa pun, ingin menerima pesan apa pun, seperti pertanyaan, peringatan, pengingat, emotikon, tanda bintang, hati, dan sejenisnya.
Bagi mereka yang juga memiliki keinginan yang sama, berikut adalah panduan cepat untuk menghubungkan dan memeriksa display OLED kecil dan murah.
Selanjutnya, kita akan berbicara tentang salah satu model OLED ham radio yang tersedia secara luas yang dikendalikan oleh chip SSD1306, dengan ukuran layar 0,96 inci dan resolusi 128 * 64 atau 128 * 32 piksel. Pajangan ini ideal untuk desain radio amatir kecil dan produk buatan sendiri.

Langkah 1: Konsep Kunci


Kami akan menghubungkannya ke Arduino UNO / NANO, baik, dan ke program, masing-masing, kami juga akan menghubungkannya melalui Arduino.
  • OLED adalah Organic Light-Emitting Diode, yaitu, perangkat semikonduktor yang terbuat dari senyawa organik, yang mulai memancarkan cahaya ketika arus listrik melewatinya.
  • ARDUINO adalah platform untuk pelatihan dan membangun sistem otomasi dan robotika.
  • ArduinoIDE adalah lingkungan pengembangan. Ini adalah alat pemrograman Arduino gratis.
  • I2C - Sirkuit Antar-Terintegrasi, jalur komunikasi antar-mikro.
  • Sketsa, ini kode, ini program - terminologi Arduino.

Ikuti instruksi untuk memahami bagaimana menghubungkan dan mengkonfigurasi layar OLED dengan benar ke Arduino dan bagaimana menampilkan pesan Anda sendiri pada layarnya.
Kami melakukan segalanya dalam langkah-langkah.

Langkah 2: Aksesori


Kami hanya membutuhkan empat hal:
  • 1. Layar OLED itu sendiri adalah 0,96 "(dapat dibeli di Aliexpress atau Ebay, - panjang, tapi murah!).
  • 2. Arduino UNO / Nano (di tempat yang sama dengan layar).
  • 3. Menghubungkan kabel (ibid.).
  • 4. Komputer atau laptop dengan ArduinoIDE terinstal.

Secara umum, membeli suku cadang untuk berbagai proyek di Aliexpress dan Ebay adalah hal yang sangat keren, saat Anda melakukan satu proyek, suku cadang untuk proyek lain sudah dalam perjalanan. Hal utama adalah jangan lupa memesan.

Langkah 3: Hubungkan layar


Layar dikendalikan oleh chip SSD1306, yang mendukung lima protokol komunikasi dan salah satunya adalah I2C. Data pada protokol ini ditransmisikan hanya dalam dua kabel, dan semakin sedikit kabel dalam kasus ini, semakin baik, sehingga sangat cocok untuk kita. Tapi! Ada modul dengan protokol SPI dan bahkan switching protokol, jadi berhati-hatilah saat membeli modul ini.

Kesimpulan yang digunakan:
Layar OLED - SCL / SCK (jam) dan SDA (data), "Plus" power (VCC) dan "Minus" power (GND).

Kesimpulan yang digunakan:
Arduino UNO - SCL / SCK pada A5 dan SSD pada A4, "Plus" power (+ 5V) dan "Minus" power (GND).
Hubungkan layar ke Arduino:
  • Vcc - 5V
  • GND - GND
  • SDA - A4
  • SCL - A5

Langkah 4: Pemindai I2C


Setiap perangkat pada bus I2C memiliki alamat heksadesimal, Anda tidak dapat mengubahnya, dijahit dengan erat, setiap produsen yang bertanggung jawab harus menunjukkannya di suatu tempat pada case atau dalam instruksi. Ada modul dengan sakelar dan jumper yang dapat digunakan untuk mengubah alamat, tetapi ... jika perangkatnya murah, karena kejelekannya, maka pabrikan mungkin tidak akan repot-repot berurusan dengan hal sepele seperti itu, jadi Anda harus menentukannya sendiri.
Secara total, hingga 127 alamat dapat digunakan di bus - 119 untuk perangkat dan 8 alamat layanan. Komunikasi dilakukan di alamat-alamat ini. Ada seorang master, dia adalah seorang Master, tetapi ada seorang budak, dia juga seorang budak - Guru bertanya, para pengikut menjawab, semuanya sederhana.
Karena tampilan OLED kami menggunakan protokol komunikasi I2C, dan alamat mungkin tidak ditunjukkan, kami akan mencoba mencari tahu alamat ini.
Ini dapat dilakukan dengan mengunduh sketsa pendek ke papan Arduino Anda dengan OLED terhubung. TAPI!
Luangkan waktu Anda untuk mengunggah sketsa ke Arduino sekarang juga! Pertama-tama mari kita unduh "driver", mis. kita akan menghubungkan perpustakaan, dan untuk ini kita akan langsung menuju "Langkah 5," dan kemudian kita akan kembali dan melanjutkan.

Langkah 4: Lanjutan:


Unduh CODE Finder_I2C_Hex_Address.ino, unggah ke Arduino.
Buka "Port Monitor", atur kecepatan ke 9600 dan jika semuanya terhubung dengan benar, program akan menampilkan alamat perangkat, dalam kasus saya OLED dengan alamat 0x3F.

Langkah 5: Unduh dan hubungkan perpustakaan


Agar semuanya berfungsi dengan benar, dan Anda tidak harus menemukan kembali roda, Anda perlu menghubungkan beberapa perpustakaan ke lingkungan ArduinoIDE, yaitu: ADAFRUIT GFX dan ADAFRUIT SSD1306, mereka diperlukan agar Arduino dapat berkomunikasi secara mandiri dengan layar OLED.
Anda dapat menghubungkan perpustakaan ini dengan mengikuti langkah-langkah ini.
  • 1. Di ArduinoIDE, buka menu Sketsa.
  • 2. Pilih "Sertakan Perpustakaan" / Sertakan Perpustakaan.
  • 3. Pilih "Kelola Perpustakaan" / Perpustakaan yang Dikelola.
  • 4. Temukan ADAFRUIT GFX dan instal.
  • 5. Temukan ADAFRUIT SSD1306 dan instal.

Dengan versi terbaru dari perpustakaan, tampilan bekerja miring untuk saya, mungkin tentu saja ini karena kelengkungan tangan, tetapi setelah saya menginstal versi pertama dari perpustakaan ini, semuanya mulai tampak lancar dan indah. Untuk beberapa alasan, garis Pushkin muncul di ingatannya:
... dan pengalaman, putra kesalahan sulit,
dan genius, paradoks teman.

Cara lain untuk menginstal perpustakaan adalah dengan mencari, mengunduh dan menginstal perpustakaan ini sendiri.
Untuk contoh Github:
//github.com/adafruit/Adafruit-GFX-Library
//github.com/adafruit/Adafruit_SSD1306

Ini adalah perpustakaan AdWords yang sama, tetapi perpustakaan serupa mudah dicari di mesin pencari, atas permintaan OLED I2C. Banyak penggemar menulis perpustakaan "untuk diri mereka sendiri", dan kemudian meletakkannya di web. Pustaka mana yang digunakan terserah Anda.
Agar tampilan untuk menampilkan huruf-huruf Rusia, perpustakaan khusus juga diperlukan, tetapi ini adalah topik yang terpisah untuk artikel yang terpisah.
Setelah pustaka diinstal, Anda dapat kembali ke langkah 4 dan akhirnya menemukan alamat heksadesimal tampilan Anda.

Langkah 6: Menguji Tampilan


Untuk memeriksa apakah semuanya berfungsi seperti yang diharapkan, jalankan contoh uji dari ArduinoIDE.
Untuk melakukan ini:
Pergi FILE> CONTOH> SSD 1306> Pilih 128x64 i2c
Jika Anda mendapatkan "Kesalahan", coba pilih SSD 1306> 128x32 i2c.
Jika Kesalahan lagi, coba ubah alamat I2C pada baris 61 dari kode demo, dan gantilah dengan alamat tampilan Anda, yang Anda tentukan pada langkah # 4.
Jika kesalahan terjadi lagi, Anda dapat mencoba mengedit file Adafruit_SSD1306.h, itu terletak di folder dengan perpustakaan Arduino.

Buka file Adafruit_SSD1306.h dalam editor teks dan temukan baris:
// # define SSD1306_128_64 #define SSD1306_128_32 // #define SSD1306_96_16

Batalkan komentar pada baris:
#define SSD1306_128_64.

Seharusnya seperti ini:
#define SSD1306_128_64 // # define SSD1306_128_32 // #define SSD1306_96_16

Jika kesalahan lagi, perlu untuk memeriksa koneksi yang benar.
Setelah unduhan selesai, Anda akan melihat animasi pengujian di layar, yang berarti Anda telah berhasil mengonfigurasi tampilan OLED Anda.

Ketika Anda menikmati animasi ini, Anda dapat melanjutkan ke langkah berikutnya.

Langkah 7: Menulis Pesan Anda Sendiri


Untuk menulis pesan Anda sendiri, pertama buat sketsa baru di lingkungan pemrograman ArduinoIDE.
Di header, kami menghubungkan 4 perpustakaan:
#include #include #include #include 

Lalu kami menulis protokol reset:
#define OLED_RESET 4 Adafruit_SSD1306 tampilan (OLED_RESET);

Di SETELAH VOID, tentukan alamat heksadesimal dari tampilan 0x3C kami, yang kami temukan di "Langkah No. 4".
Kemudian, inisialisasi tampilan dan hapus:
display.begin (SSD1306_SWITCHCAPVCC, 0x3C); display.clearDisplay ();

Selanjutnya, dalam VOID LOOP, kami menulis kode utama, yaitu pesan kami, yang ingin kami tampilkan di layar.
Untuk melakukan ini, kami menjelaskan ukuran teks, warna teks, posisi kursor, dan akhirnya, menampilkan pesan menggunakan perintah println:
display.setTextSize (2); display.setTextColor (WHITE); display.setCursor (0,0); display.println ("Bagus!"); display.display ();

Pada akhirnya, jangan lupa untuk menulis display.displaysehingga gambar ditampilkan di layar, jika tidak Anda akan mendapatkan kekosongan.
Jika Anda melakukan semuanya dengan benar, sebuah pesan akan muncul di layar.

Ini adalah CODE Starting_with_Arduino_OLED.ino dari program kami:
code.zip 946 b (unduhan: 1366)

Pin
Send
Share
Send