Proyek ini menggunakan I2C 128×64 OLED untuk menampilkan automata seluler kecil yang didukung oleh Arduino Nano.
Prasyarat
2x papan roti kecil (atau 1x standar)
1x Arduino Nano (bisa juga Uno)
1x OLED I2C 128×64
4x Kabel Jumper
Asumsi
Selama tutorial ini saya akan mengasumsikan bahwa Anda tahu apa itu Arduino (o_O) dan Anda tahu cara menggunakan IDE dan mengunggah sketsa sederhana. Saya juga akan mengasumsikan Anda tahu sedikit pemrograman, sebaiknya pemrograman C.
Jadi mari kita mulai!!
Latar Belakang
Apa itu Automata Seluler? Saya akan menjelaskan 1 jenis automata seluler yaitu Game of Life oleh John Conway. Ini adalah grid atau sel yang masing-masing memiliki 2 status True atau False/on atau off/alive atau dead. Sel-sel ini diatur oleh 2 aturan sederhana:
Aturan 1: Sel yang mati dan dikelilingi oleh tepat 3 sel hidup, akan lahir
Aturan 2: Sel yang hidup dan memiliki 3 atau 2 sel hidup akan tetap hidup, selain itu mati
Sederhana, bukan? Jika Anda membutuhkan informasi lebih lanjut kunjungi Game Of Life atau Automata Seluler di Wikipedia.
Rangkaian
Jadi hubungkan Arduino dan OLED LCD ke papan roti dan mulai merangkaikan kabel.
Kemudian saya memasang kedua papan roti satu sama lain dan membuat TV kecil
Memrogram sketsa
Untuk memudahkan (dan membuatnya memungkinkan) bermain dengan tampilan OLED, kami akan menggunakan 2 library dari Adafruit. Jika Anda tidak tahu cara menambahkan library silakan kunjungi https://www.arduino.cc/en/Guide/Libraries
Library Adafruit GFX yang akan digunakan untuk menangani semua grafik dan teks yang ditampilkan pada OLED https://github.com/adafruit/Adafruit-GFX-Library
Library Adafruit SSD1306 yang pada dasarnya adalah driver untuk OLED kami. Library ini hanya bekerja dengan OLED SSD1306 128×32 dan 128×64 https://github.com/adafruit/Adafruit_SSD1306
Sketsa dapat diunduh dari github kami: https://github.com/klauscam/Arduino-Cellular-Automata/
Beberapa penjelasan
Pada baris 51 dengan kode
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); //inisialisasi dengan alamat I2C 0x3C (128x64)
alamatnya, yaitu 0x3C mungkin berbeda. Saya mencari yang paling jelas dan mencoba beberapa sebelum berhasil.
Produk yang Berfungsi
Garis horizontal yang terlihat adalah hasil dari laju segarkan OLED dan kamera.
Jika Anda membutuhkan bantuan dengan kode atau apa pun, silakan tinggalkan komentar Anda di bagian komentar di bawah.