● online
- Water Level sensor ketinggian air - deteksi air
- E18-D80NK Infrared Obstacle Avoidance Sensor Proxi
- LCD CHARACTER 16X2 1602 5V GREEN HIJAU BACKLIGHT M
- SG90 Motor Servo For Arduino Uno Mega SG 90 Biru S
- Resistor 220 Ohm 220R Ohm 220Ohm 1/4W 1% Metal fil
- PWM DC 10A Motor 12V-40V Pulse Width Modulation Sp
- ASIS (Andika Smart IoT Socket)
- Breadboard 400 titik lubang Bread board Projectboa
- Selamat Datang di Indomaker ❯ Silahkan pesan produk sesuai kebutuhan anda, kami siap melayani.
- Selamat Datang di Indomaker ❯ Silahkan pesan produk sesuai kebutuhan anda, kami siap melayani.
Menangani 8×8 LED Dot Matrix Arduino
8×8 LED dot matrix merupakan sebuah display yang terdiri dari kumpulan led yang disusun secara simetris sejumlah 8 baris dan 8 kolom. Display nya bisa menampilkan berbagai karakter seperti huruf, angka maupun gambar. Untuk kegunaannya sering dipakai sebagai papan informasi berupa running text atau pun yang lainnya. Di bawah ini merupakan konfigurasi dari 8×8 dot matrix ini.
Sama seperti 7 segment dot matrix ini juga mempunyai jenis yaitu anoda dan katoda. Secara tampilan tidak ada bedanya, namun kita bisa mengenalinya dengan kode/seri yang terdapat di 8×8 dot matrix itu sendiri. Untuk katoda biasa ditandai dengan akhiran Ax, misalnya 2728AS. Sementara untuk anoda ditandai dengan akhiran Bx misalnya 3930BS. Cukup mudah kan? agar dapat digunakan sesuai keinginan, kita membutuhkan sebuah kontroler yang tak asing lagi adalah Arduino.
Alat dan bahan
Rangkaian
Sketch Program
#define ROW_1 2 #define ROW_2 3 #define ROW_3 4 #define ROW_4 5 #define ROW_5 6 #define ROW_6 7 #define ROW_7 8 #define ROW_8 9 #define COL_1 10 #define COL_2 11 #define COL_3 12 #define COL_4 13 #define COL_5 A0 #define COL_6 A1 #define COL_7 A2 #define COL_8 A3 const byte rows[] = { ROW_1, ROW_2, ROW_3, ROW_4, ROW_5, ROW_6, ROW_7, ROW_8 }; const byte col[] = { COL_1,COL_2, COL_3, COL_4, COL_5, COL_6, COL_7, COL_8 }; // The display buffer // It's prefilled with a smiling face (1 = ON, 0 = OFF) byte ALL[] = {B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111}; byte EX[] = {B00000000,B00010000,B00010000,B00010000,B00010000,B00000000,B00010000,B00000000}; byte A[] = { B00000000,B00111100,B01100110,B01100110,B01111110,B01100110,B01100110,B01100110}; byte B[] = {B01111000,B01001000,B01001000,B01110000,B01001000,B01000100,B01000100,B01111100}; byte C[] = {B00000000,B00011110,B00100000,B01000000,B01000000,B01000000,B00100000,B00011110}; byte D[] = {B00000000,B00111000,B00100100,B00100010,B00100010,B00100100,B00111000,B00000000}; byte E[] = {B00000000,B00111100,B00100000,B00111000,B00100000,B00100000,B00111100,B00000000}; byte F[] = {B00000000,B00111100,B00100000,B00111000,B00100000,B00100000,B00100000,B00000000}; byte G[] = {B00000000,B00111110,B00100000,B00100000,B00101110,B00100010,B00111110,B00000000}; byte H[] = {B00000000,B00100100,B00100100,B00111100,B00100100,B00100100,B00100100,B00000000}; byte I[] = {B00000000,B00111000,B00010000,B00010000,B00010000,B00010000,B00111000,B00000000}; byte J[] = {B00000000,B00011100,B00001000,B00001000,B00001000,B00101000,B00111000,B00000000}; byte K[] = {B00000000,B00100100,B00101000,B00110000,B00101000,B00100100,B00100100,B00000000}; byte L[] = {B00000000,B00100000,B00100000,B00100000,B00100000,B00100000,B00111100,B00000000}; byte M[] = {B00000000,B00000000,B01000100,B10101010,B10010010,B10000010,B10000010,B00000000}; byte N[] = {B00000000,B00100010,B00110010,B00101010,B00100110,B00100010,B00000000,B00000000}; byte O[] = {B00000000,B00111100,B01000010,B01000010,B01000010,B01000010,B00111100,B00000000}; byte P[] = {B00000000,B00111000,B00100100,B00100100,B00111000,B00100000,B00100000,B00000000}; byte Q[] = {B00000000,B00111100,B01000010,B01000010,B01000010,B01000110,B00111110,B00000001}; byte R[] = {B00000000,B00111000,B00100100,B00100100,B00111000,B00100100,B00100100,B00000000}; byte S[] = {B00000000,B00111100,B00100000,B00111100,B00000100,B00000100,B00111100,B00000000}; byte T[] = {B00000000,B01111100,B00010000,B00010000,B00010000,B00010000,B00010000,B00000000}; byte U[] = {B00000000,B01000010,B01000010,B01000010,B01000010,B00100100,B00011000,B00000000}; byte V[] = {B00000000,B00100010,B00100010,B00100010,B00010100,B00010100,B00001000,B00000000}; byte W[] = {B00000000,B10000010,B10010010,B01010100,B01010100,B00101000,B00000000,B00000000}; byte X[] = {B00000000,B01000010,B00100100,B00011000,B00011000,B00100100,B01000010,B00000000}; byte Y[] = {B00000000,B01000100,B00101000,B00010000,B00010000,B00010000,B00010000,B00000000}; byte Z[] = {B00000000,B00111100,B00000100,B00001000,B00010000,B00100000,B00111100,B00000000}; float timeCount = 0; void setup() { // Open serial port Serial.begin(9600); // Set all used pins to OUTPUT // This is very important! If the pins are set to input // the display will be very dim. for (byte i = 2; i <= 13; i++) pinMode(i, OUTPUT); pinMode(A0, OUTPUT); pinMode(A1, OUTPUT); pinMode(A2, OUTPUT); pinMode(A3, OUTPUT); } void loop() { // This could be rewritten to not use a delay, which would make it appear brighter delay(5); timeCount += 1; if(timeCount < 20) { drawScreen(A); } else if (timeCount < 40) { drawScreen(R); } else if (timeCount < 60) { drawScreen(D); } else if (timeCount < 80) { drawScreen(U); } else if (timeCount < 100) { drawScreen(I); } else if (timeCount < 120) { drawScreen(N); } else if (timeCount < 140) { drawScreen(O); } else if (timeCount < 160) { drawScreen(ALL); } else if (timeCount < 180) { drawScreen(ALL); } else { // back to the start timeCount = 0; } } void drawScreen(byte buffer2[]) { // Turn on each row in series for (byte i = 0; i < 8; i++) // count next row { digitalWrite(rows[i], HIGH); //initiate whole row for (byte a = 0; a < 8; a++) // count next row { // if You set (~buffer2[i] >> a) then You will have positive digitalWrite(col[a], (buffer2[i] >> a) & 0x01); // initiate whole column delayMicroseconds(100); // uncoment deley for diferent speed of display //delayMicroseconds(1000); //delay(10); //delay(100); digitalWrite(col[a], 1); // reset whole column } digitalWrite(rows[i], LOW); // reset whole row // otherwise last row will intersect with next row } } // /* this is siplest resemplation how for loop is working with each row. digitalWrite(COL_1, (~b >> 0) & 0x01); // Get the 1st bit: 10000000 digitalWrite(COL_2, (~b >> 1) & 0x01); // Get the 2nd bit: 01000000 digitalWrite(COL_3, (~b >> 2) & 0x01); // Get the 3rd bit: 00100000 digitalWrite(COL_4, (~b >> 3) & 0x01); // Get the 4th bit: 00010000 digitalWrite(COL_5, (~b >> 4) & 0x01); // Get the 5th bit: 00001000 digitalWrite(COL_6, (~b >> 5) & 0x01); // Get the 6th bit: 00000100 digitalWrite(COL_7, (~b >> 6) & 0x01); // Get the 7th bit: 00000010 digitalWrite(COL_8, (~b >> 7) & 0x01); // Get the 8th bit: 00000001 }*/
Upload sketch program di atas, jika sudah yang nampil pada dot marix adalah icon love ;p. Semoga bermanfaat. terima kasih
Menangani 8×8 LED Dot Matrix Arduino
MPU6050 merupakan sebuah sensor yang berfungsi untuk mengukur percepatan suatu benda yang bergerak. Nah kali ini kita akan belajar... selengkapnya
Flame sensor sangat sensitif terhadap nyala api (cahaya) dan radiasi di sekitarnya. Sensor ini dapat mendeteksi sumber cahaya biasa... selengkapnya
Oke pada artikel kali ini membahas telegram kembali menggunakan sensor DHT untuk mendeteksi suhu dan kelembaban. Jadi nanti akan... selengkapnya
Blynk merupakan sebuah platform aplikasi android yang diperuntukan untuk berbagai kontroler hardware seperti arduino, esp8266, raspberry dsb untuk mengendalikan,... selengkapnya
Pada pembahasan sebelumnya kita sudah pernah membahas tentang penggunaan relay silahkan yang belum bisa lihat di sini. Pada artikel... selengkapnya
Syarat utama jika anda ingin belajar atau ingin menjadi programmer web sebelum belajar Bahasa pemograman alangkah baiknya memahami dulu... selengkapnya
Ketemu lagi dengan sensor DS18b20, kali ini akan kita monitoring menggunakan aplikasi Blynk dan ESP-01. Langsung saja ya kita... selengkapnya
Hallo ketemu lagi dengan pembahasan sensor DHT11, kali ini kita akan menggunakannya pada NodemMCU. Nanti akan dibahas mengenai rangkaian... selengkapnya
Hallo, kali ini akan membahas bagaimana cara untuk membuat dimmer menggunakan mosfet D4184 module. Mosfet mempunyai fungsi yaitu untuk... selengkapnya
Sensor PIR berfungsi untuk mendeteksi benda (manusia/hewan) dengan cara mendeteksi energi panas dalam bentuk radiasi inframerah. Jadi sensor ini... selengkapnya
Spesifikasi: Microcontroller : ATmega328 Architecture : AVR Operating Voltage : 5 V Flash Memory 32 KB of which 2 KB… selengkapnya
Rp 77.00011 digital input/output pins, all pins have interrupt/pwm/I2C/one-wire supported(except D0) 1 analog input(3.2V max input) a Micro USB connection Compatible… selengkapnya
Rp 28.0000.66-inch OLED display module LCD module IIC/I2C interface FOR Wemos D1 MINI Shield 64×48
Rp 33.500Product Name: Tactile Switch; Material: Metal, Plastic Package Content: 30 Pcs x Tactile Switch; Main Color: Black, Silver Tone Total… selengkapnya
Rp 400Kabel Jumper Dupont Pelangi 10 cm male to male 1 lembar = 40 kabel
Rp 13.0002000W SCR Electronic Voltage Regulator Speed Controller Dimmer Thermostat Aplikasi : Kontrol temperature heater, kontrol kecepatan fan/bor tangan/gurinda tangan, kompor… selengkapnya
Rp 19.500Kabel Jumper Dupont Pelangi 10 cm female to female 1 lembar = 40 kabel
Rp 9.000The power supply is isolated industrial power modules, with a temperature protection, overcurrent and short circuit full protection, high and… selengkapnya
Rp 15.900Kabel Jumper Dupont Pelangi 30cm Male to Female 1 lembar = 40 kabel
Rp 13.500Microcontroller ATmega2560 chip usb : CH340 Operating Voltage 5V Input Voltage (recommended) 7-12V Input Voltage (limit) 6-20V Digital I/O Pins… selengkapnya
Rp 245.000
Saat ini belum tersedia komentar.