DIY lakukan sendiri
Kelas induk, arahan, tip berguna, resipi.
» » »Bagaimana untuk menyambung paparan OLED I2C ke ARDUINO
Pengenalan: Memperkenalkan Paparan 128 * 64/128 * 32 OLED I2C.
Bagaimana untuk menyambungkan paparan OLED I2C kepada ARDUINO

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.
Bagaimana untuk menyambungkan paparan OLED I2C kepada ARDUINO

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.

Bagaimana untuk menyambungkan paparan OLED I2C kepada ARDUINO

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.
Bagaimana untuk menyambungkan paparan OLED I2C kepada ARDUINO

Kesimpulan yang digunakan:
Paparan OLED - SCL / SCK (jam) dan SDA (data), kuasa "Plus" (VCC) dan "Minus" kuasa (GND).
Bagaimana untuk menyambungkan paparan OLED I2C kepada ARDUINO

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

Bagaimana untuk menyambungkan paparan OLED I2C kepada ARDUINO

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 mulakan dengan memuat turun "pemandu", 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.
Bagaimana untuk menyambungkan paparan OLED I2C kepada ARDUINO

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".
  • 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:
https://github.com/adafruit/Adafruit-GFX-Library
https://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.
Bagaimana untuk menyambungkan paparan OLED I2C kepada 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
// # nyatakan 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
Paparan Adafruit_SSD1306 (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 itu muncul pada skrin, jika tidak, anda akan mendapat batal.
Jika anda melakukan semuanya dengan betul, mesej akan muncul di paparan.
Bagaimana untuk menyambungkan paparan OLED I2C kepada ARDUINO

Berikut adalah CODE Starting_with_Arduino_OLED.ino program kami:
[946 b] (muat turun: 1100)
Kembali
Komen (3)
  1. Tatoshka
    #1 Tatoshka Tetamu 14 november 2018 21:18
    0
    Terima kasih kawan! Ini adalah lakaran pertama saya yang dimuat naik dan pengenalan saya kepada Arduino. Tidak mengira berkelip Blink))
  2. alisher
    #2 alisher Tetamu 28 Julai 2019 19:35
    0
    Dan di mana untuk memuat turun kod Finder_I2C_Hex_Address.ino ini?
    1. Al
      #3 Al Tetamu 14 Ogos 2019 12:51
      0
      di bawah gambar terdapat pautan "Berikut adalah CODE Starting_with_Arduino_OLED.ino program kami:"

Baca juga

Kod ralat untuk mesin basuh