Membuat Running Text Dengan RGB LED Neopixel Neomatrix Melalui Arduino

by rosianasm in Circuits > Arduino

32 Views, 0 Favorites, 0 Comments

Membuat Running Text Dengan RGB LED Neopixel Neomatrix Melalui Arduino

IMG_6121.jpg

Running Text 37x8. Dapat dibuat sendiri. Berfungsi untuk banya hal.

Supplies

Untuk membuat running text, kita perlu membuat LED panelnya terlebih dahulu. Alat dan bahan yang dibutuhkan :

Alat :

  1. Cutter/Gunting
  2. Solder
  3. Double tape
  4. Penggaris
  5. Bolpoin/pensil

Bahan :

  1. WeMos D1 Mini Board ESP8266
  2. LED strip RGB WS2812b
  3. Busa ati (Foam)
  4. Timah

Rangkai LED Panel

IMG_6875.jpg
  1. Potong busa ati dengan ukuran +- 45x15 cm
  2. Potong LED roll menjadi 8 strip dengan masing-masing strip terdiri dari 37 pin
  3. Lakukanlah proses penjumperan dengan bantuan timah
  4. Susun LED strip ke busa ati sehingga membentuk LED panel
  5. Susun dengan arah zigzag. (Misal baris pertama arah panah pin ke kanan,maka baris kedua arah panah pin ke kiri, dan seterusnya)
  6. Setelah LED panel terpasang dengan rapi, tempelkan kabel listrik dengan bantuan melelehkan tembaga ke bagian tembaga kabel hingga tersusun sbg berikut :


Lebih lanjut dapat dilihat di : Cara Merakit LED Strip

Rangkai WeMos

IMG_6876.jpg
IMG_6103.jpeg
  1. Pasangkan pin ke masing-masing bagian kanan dan kiri WeMos
  2. Setelah setelah pin terpasang maka sambungkan dengan perangkat
  3. Jika Wemos menyala warna biru maka artinya sudah dapat digunakan

Lebih lanjut dapat dilihat di : Memprogram WeMos

Pemograman Running Text

IMG_6110.jpeg

Pendahuluan :

  1. Install software Arduino IDE di perangkat https://www.arduino.cc/en/software
  2. Install 3 library untuk menjalankan program yaitu : Adafruit Neopixel, Adafruit Neomatrix, dan Adafruit Graphics
  3. Setelah install, pada beranda Arduino IDE tekan file dan buka examples.
  4. Cari Adafruit NeoMatrix dan masuk ke matrixtest

Pemograman :

  1. Ubah PIN ke 2
  2. Sesuaikan Matrix size dengan ukuran led strip. Dalam konteks ini maka, p = 37 dan l = 8
  3. Sesuaikan arah matrix memulai. Dalam konteks ini :
Adafruit_NeoMatrix matrix = Adafruit_NeoMatrix(37, 8, PIN,
NEO_MATRIX_TOP + NEO_MATRIX_RIGHT +
NEO_MATRIX_ROWS + NEO_MATRIX_ZIGZAG,
NEO_GRB + NEO_KHZ800);

  1. Bagian lainnya bisa disesuaikan dengan keinginan. Misal ingin menambah warna background maka :
matrix.fillScreen(matrix.Color(50, 50, 50));
  1. Saat ingin mengganti tulisan maka perhitungkan pula rentang LEDnya. Dimisalkan satu abjad memakan 6 pin, misal kita ingin menuliskan 2 kata misal : Take Care, maka banyak abjad + banyak spasi dikalikan dengan 6 -> 9 x 6 = 45 atau bisa dilebihkan misal menjadi 50.
  2. Berikut saya lampirkan keseluruhan pemograman
// Adafruit_NeoMatrix example for single NeoPixel Shield.
// Scrolls 'Howdy' across the matrix in a portrait (vertical) orientation.

#include <Adafruit_GFX.h>
#include <Adafruit_NeoMatrix.h>
#include <Adafruit_NeoPixel.h>
#ifndef PSTR
#define PSTR // Make Arduino Due happy
#endif

#define PIN 2

// MATRIX DECLARATION:
// Parameter 1 = width of NeoPixel matrix
// Parameter 2 = height of matrix
// Parameter 3 = pin number (most are valid)
// Parameter 4 = matrix layout flags, add together as needed:
// NEO_MATRIX_TOP, NEO_MATRIX_BOTTOM, NEO_MATRIX_LEFT, NEO_MATRIX_RIGHT:
// Position of the FIRST LED in the matrix; pick two, e.g.
// NEO_MATRIX_TOP + NEO_MATRIX_LEFT for the top-left corner.
// NEO_MATRIX_ROWS, NEO_MATRIX_COLUMNS: LEDs are arranged in horizontal
// rows or in vertical columns, respectively; pick one or the other.
// NEO_MATRIX_PROGRESSIVE, NEO_MATRIX_ZIGZAG: all rows/columns proceed
// in the same order, or alternate lines reverse direction; pick one.
// See example below for these values in action.
// Parameter 5 = pixel type flags, add together as needed:
// NEO_KHZ800 800 KHz bitstream (most NeoPixel products w/WS2812 LEDs)
// NEO_KHZ400 400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers)
// NEO_GRB Pixels are wired for GRB bitstream (most NeoPixel products)
// NEO_GRBW Pixels are wired for GRBW bitstream (RGB+W NeoPixel products)
// NEO_RGB Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2)


// Example for NeoPixel Shield. In this application we'd like to use it
// as a 5x8 tall matrix, with the USB port positioned at the top of the
// Arduino. When held that way, the first pixel is at the top right, and
// lines are arranged in columns, progressive order. The shield uses
// 800 KHz (v2) pixels that expect GRB color data.
Adafruit_NeoMatrix matrix = Adafruit_NeoMatrix(20, 8, PIN,
NEO_MATRIX_BOTTOM + NEO_MATRIX_LEFT +
NEO_MATRIX_COLUMNS + NEO_MATRIX_ZIGZAG,
NEO_GRB + NEO_KHZ800);

const uint16_t colors[] = {
matrix.Color(100, 0, 0), matrix.Color(100, 65, 0), matrix.Color(100, 100, 0), matrix.Color(0, 100, 0), matrix.Color(0, 0, 100), matrix.Color(75, 0, 130), matrix.Color(255, 0, 255), };

void setup() {
matrix.begin();
matrix.setTextWrap(false);
matrix.setBrightness(40);
matrix.setTextColor(colors[0]);
}

int x = matrix.width();
int pass = 0;

void loop() {
matrix.fillScreen(matrix.Color(50, 50, 50));
matrix.setCursor(x, 0);
matrix.print(F("I Love You"));
if(--x < -75) {
x = matrix.width();
if(++pass >= 7) pass = 0;
matrix.setTextColor(colors[pass]);
}
matrix.show();
delay(40);
}

Sambungkan WeMos Dengan Pemograman

IMG_6111.jpeg

Agar LED panel dapat menampilkan sebuah text yang teroganisir maka program harus dapat diterima oleh WeMos yang terhubung ke LED panel.

  1. Sambungkan WeMos ke perangkat yang telah menyimpan kode pemogaraman dengan kabel conector yang sesuai.
  2. Sambungkan kabel jumper LED strip ke WeMos dengan : kabel warna merah di 5V, kabel putih di D4, dan kabel hijau di D3
  3. Buka Arduino IDE dan sambungkan board yang sesuai dengan WeMos
  4. Setelah kode pemograman sudah fix, maka compile kode dan WeMos akan mentransfer datanya untuk kemudian diterjamahkan LED Panel menjadi sebuah running text.

Lebih lanjut dapat dilihat di : https://www.youtube.com/watch?v=r6pFUgNN_tA&authuser=2