Bagaimana untuk menyambungkan paparan OLED I2C kepada ARDUINO

Pin
Send
Share
Send

Pengenalan: Memperkenalkan Paparan 128 * 64/128 * 32 OLED I2C.

Hi Sebagai seorang amatur - peminat elektronik, saya yakin bahawa semua yang kita lakukan adalah mainan elektronik - produk buatan sendiri, atau projek besar, semuanya dari rasa ingin tahu dan kemalasan. Keinginan ingin memahami dan memahami yang besar, tidak diketahui, untuk memahami bagaimana ia berfungsi di sana, apa yang dilakukannya, bagaimana ia bergerak. Dan kemalasan dicipta, untuk menghasilkan ini, supaya tidak bangun, tidak patut, tidak angkat, tidak mendapat kotor atau sesuatu yang lain penting.
Memandangkan melihat maklumat adalah lebih baik daripada memahami apa yang akan berlaku di dalam peranti kami, atau telah berlaku atau sedang berlaku, kami pasti akan mendapatkan maklumat yang sangat berguna ini daripada mikrokontroler, sensor, atau peranti lain kami. Dan saya, dalam mana-mana, mahu menerima apa-apa mesej, seperti soalan, amaran, peringatan, emotikon, tanda bintang, hati dan sebagainya.
Bagi mereka yang juga mempunyai keinginan yang sama, berikut adalah panduan cepat untuk menyambung dan menyemak paparan OLED kecil dan murah.
Seterusnya, kami akan membincangkan salah satu model yang boleh didapati untuk model pam ham OLED yang dikawal oleh cip SSD1306, dengan saiz skrin 0.96 inci dan resolusi 128 * 64 atau 128 * 32 piksel. Memaparkan ini sesuai untuk reka bentuk radio amatur kecil dan produk buatan sendiri.

Langkah 1: Konsep Utama


Kami akan menyambungkannya ke Arduino UNO / NANO, baik, dan untuk program, kami juga akan menyambungkannya melalui Arduino.
  • OLED adalah Diod Light-Emitting Organik, iaitu, sebuah peranti semikonduktor yang terbuat dari sebatian organik, yang mula memancarkan cahaya ketika aliran elektrik melewatinya.
  • ARDUINO adalah platform untuk latihan dan pembinaan sistem automasi dan robotik.
  • ArduinoIDE adalah persekitaran pembangunan. Ini adalah alat pengaturcaraan Arduino percuma.
  • I2C - Litar Antara Bersepadu, talian komunikasi antara mikro.
  • Lakaran, itu kod, ia adalah satu program - istilah Arduino.

Ikut arahan untuk memahami cara menyambung dan mengkonfigurasi paparan OLED dengan betul ke Arduino dan cara memaparkan mesej anda sendiri pada paparannya.
Kami melakukan segala langkah demi langkah.

Langkah 2: Aksesori


Kami hanya memerlukan empat perkara:
  • 1. Paparan OLED itu sendiri adalah 0.96 "(boleh dibeli di Aliexpress atau Ebay, - panjang, tetapi murah!).
  • 2. Arduino UNO / Nano (di tempat yang sama seperti paparan).
  • 3. Menyambung wayar (ibid.).
  • 4. Komputer atau komputer riba dengan ArduinoIDE dipasang.

Secara umum, membeli bahagian-bahagian untuk pelbagai projek di Aliexpress dan Ebay adalah perkara yang sangat sejuk, semasa anda melakukan satu projek, bahagian-bahagian yang lain sedang dalam perjalanan. Perkara utama adalah jangan lupa untuk membuat pesanan.

Langkah 3: Sambungkan paparan


Paparan dikawal oleh cip SSD1306, yang menyokong lima protokol komunikasi dan salah satunya adalah I2C. Data mengenai protokol ini ditransmisikan dalam hanya dua wayar, dan wayar yang kurang dalam kes itu, lebih baik, jadi ia sesuai dengan kami dengan baik. Tetapi! Terdapat modul-modul dengan protokol SPI dan juga menukar protokol, jadi berhati-hati apabila membeli modul ini.

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

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

Langkah 4: Pengimbas I2C


Setiap peranti di bas I2C mempunyai alamat heksadesimal, anda tidak boleh mengubahnya, ia dijahit rapat, setiap pengeluar yang bertanggungjawab mesti menunjukkannya di suatu tempat pada kes atau dalam arahan. Terdapat modul dengan suis dan jumper dengan mana anda boleh menukar alamat, tetapi ... jika peranti murah, untuk keburukan, maka pengeluar mungkin tidak peduli untuk menangani perkara sedemikian, jadi anda perlu menentukan sendiri.
Secara keseluruhan, sehingga 127 alamat boleh digunakan pada bas - 119 untuk peranti dan 8 alamat perkhidmatan. Komunikasi dijalankan di alamat ini. Terdapat seorang tuan, dia adalah seorang Guru, tetapi ada hamba, dia juga seorang Slave - Masters bertanya, pengikut menjawab, segala sesuatu adalah mudah.
Oleh kerana paparan OLED kami menggunakan protokol komunikasi I2C, dan alamatnya tidak dapat ditunjukkan, kami akan cuba mencari alamat ini.
Ini boleh dilakukan dengan memuat turun lakaran ringkas ke papan Arduino anda dengan sambungan OLED. TETAPI!
Luangkan masa anda untuk memuat naik lakaran kepada Arduino dengan segera! Mari kita muat turun "pemandu" terlebih dahulu, iaitu. kami akan menyambungkan perpustakaan, dan untuk ini kami akan pergi terus ke "Langkah 5," dan kemudian kami akan kembali dan teruskan.

Langkah 4: Sambungan:


Muat turun CODE Finder_I2C_Hex_Address.ino, muat naik ke Arduino.
Buka "Monitor Port", tetapkan kelajuan kepada 9600 dan jika semuanya disambung dengan betul, program ini akan menunjukkan alamat peranti, dalam kes OLED saya dengan alamat 0x3F.

Langkah 5: Muat turun dan sambungkan perpustakaan


Untuk segala-galanya untuk berfungsi dengan betul, dan anda tidak perlu mencipta semula roda, anda perlu menyambung beberapa perpustakaan ke persekitaran ArduinoIDE, iaitu ADAFRUIT GFX dan ADAFRUIT SSD1306, mereka perlu untuk Arduino dapat berkomunikasi secara bebas dengan paparan OLED.
Anda boleh menyambungkan perpustakaan ini dengan mengikuti langkah-langkah ini.
  • 1. Dalam ArduinoIDE, pergi ke menu Lakaran.
  • 2. Pilih "Termasuk Perpustakaan" / Termasuk Perpustakaan.
  • 3. Pilih "Manage Libraries" / Managed Libraries.
  • 4. Cari ADAFRUIT GFX dan pasangkannya.
  • 5. Cari ADAFRUIT SSD1306 dan pasangkannya.

Dengan versi perpustakaan yang baru, paparan bekerja dengan crookedly untuk saya, mungkin sudah tentu ini disebabkan kelengkungan tangan, tetapi selepas saya memasang versi pertama perpustakaan ini, semuanya mula lancar dan indah. Atas sebab tertentu, garisan Pushkin muncul dalam ingatannya:
... dan pengalaman, anak kesilapan yang sukar,
dan genius, paradoks rakan.

Satu lagi cara untuk memasang perpustakaan adalah untuk mencari, memuat turun dan memasang perpustakaan ini sendiri.
Sebagai contoh Github:
//github.com/adafruit/Adafruit-GFX-Library
//github.com/adafruit/Adafruit_SSD1306

Ini adalah perpustakaan Adafruit yang sama, tetapi perpustakaan yang serupa mudah dicari di enjin carian, atas permintaan OLED I2C. Ramai peminat menulis perpustakaan "untuk diri mereka sendiri", dan kemudian meletakkannya di web. Perpustakaan yang digunakan adalah terpulang kepada anda.
Agar paparan memaparkan huruf Rusia, perpustakaan khas juga diperlukan, tetapi ini adalah topik yang berasingan untuk artikel berasingan.
Setelah perpustakaan dipasang, anda boleh kembali ke langkah 4 dan akhirnya mengetahui alamat heksadesimal paparan anda.

Langkah 6: Menguji Paparan


Untuk memeriksa sama ada semuanya berjalan seperti yang diharapkan, jalankan contoh ujian dari ArduinoIDE.
Untuk melakukan ini:
Pergi FILE> CONTOH> SSD 1306> Pilih 128x64 i2c
Jika anda mendapat "Ralat", cuba pilih SSD 1306> 128x32 i2c.
Sekiranya Kesalahan lagi, cuba ubah alamat I2C pada baris 61 kod demo, dan ganti dengan alamat paparan anda, yang anda tentukan dalam langkah # 4.
Jika ralat berlaku sekali lagi, anda boleh cuba mengedit fail Adafruit_SSD1306.h, ia terletak dalam folder dengan perpustakaan Arduino.

Buka fail Adafruit_SSD1306.h dalam editor teks dan cari garisan:
// # nyatakan SSD1306_128_64 #define SSD1306_128_32 // #define SSD1306_96_16

Uncomment the line:
#define SSD1306_128_64.

Ia sepatutnya seperti ini:
#define SSD1306_128_64 // # define SSD1306_128_32 // #define SSD1306_96_16

Jika ralat itu lagi, anda perlu menyemak ketepatan sambungan.
Selepas muat turun selesai, anda akan melihat animasi ujian pada skrin, yang bermaksud bahawa anda telah berjaya mengkonfigurasi paparan OLED anda.

Apabila anda menikmati animasi ini, anda boleh meneruskan ke langkah seterusnya.

Langkah 7: Menulis Mesej Anda Sendiri


Untuk menulis mesej anda sendiri, mula-mula buat lakaran baru dalam persekitaran pengaturcaraan ArduinoIDE.
Dalam tajuk, kami menyambung 4 pustaka:
#include #include #include #include 

Kemudian kami menulis protokol semula:
#define OLED_RESET 4 Adafruit_SSD1306 paparan (OLED_RESET);

Dalam VOID SETUP, nyatakan alamat hexadecimal paparan 0x3C kami, yang kami dapati dalam "Langkah No. 4".
Kemudian, mulakan paparan dan jelaskannya:
display.begin (SSD1306_SWITCHCAPVCC, 0x3C); display.clearDisplay ();

Selanjutnya, dalam VOID LOOP, kami menulis kod utama, iaitu mesej kami, yang kami mahu paparkan pada paparan.
Untuk melakukan ini, kami menerangkan saiz teks, warna teks, kedudukan kursor, dan akhirnya, memaparkan mesej menggunakan perintah println:
display.setTextSize (2); display.setTextColor (WHITE); display.setCursor (0,0); display.println ("Baik dilakukan!"); paparan.display ();

Pada akhirnya, jangan lupa untuk menulis paparan.displaysupaya imej dipaparkan pada skrin, jika tidak, anda akan mendapat batal.
Jika anda melakukan semuanya dengan betul, mesej akan muncul di paparan.

Berikut adalah CODE Starting_with_Arduino_OLED.ino program kami:
code.zip 946 b (muat turun: 1366)

Pin
Send
Share
Send

Tonton video itu: How to connect an I2C LCD Display to an Arduino NANO (Mungkin 2024).