Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

48 x 8 Scrolling LED Matrix menggunakan Arduino.

Komponen dan persediaan

Arduino UNO
× 1
74HC595 8 bit Register Geser Seri ke Paralel
× 7
Resistor 475 ohm
× 56
Header Pria 40 Posisi 1 Baris (0,1")
× 2
Judul Wanita 8 Posisi 1 Baris (0,1")
× 21
Papan PCB tujuan umum 6"x4"
× 4
Matriks LED 8X8
× 6
Transistor BC 548
× 1

Alat dan mesin yang diperlukan

Besi solder (generik)
Pistol lem panas (generik)
Digilent Mastech MS8217 Autorange Digital Multimeter

Aplikasi dan layanan online

Arduino IDE

Tentang proyek ini

Halo semuanya!

Proyek ini adalah tentang membuat Matriks LED Scrolling 48x8 yang Dapat Diprogram menggunakan register geser Arduino UNO dan 74HC595.

Ini adalah proyek pertama saya dengan papan pengembangan Arduino. Itu adalah tantangan yang diberikan kepada saya oleh guru saya untuk mencoba membangunnya. Jadi pada saat menerima tantangan ini, saya bahkan tidak tahu cara mengedipkan LED menggunakan arduino. Jadi, saya pikir bahkan seorang pemula dapat melakukan ini dengan sedikit kesabaran dan pengertian. Saya menemukan diagram sirkuit online dan itu adalah satu-satunya referensi saya untuk membangun proyek ini. Saya memulai dengan sedikit riset tentang register geser dan multiplexing di arduino.

Sirkuit

Mengumpulkan Komponen

Saya mengumpulkan semua komponen dari sumber yang berbeda. Saya mendapatkan tampilan matriks LED katoda umum 5mm 8x8 ini dari situs online.

Membangun Prototipe

Ini ditunjukkan di sirkuit bahwa register geser tunggal digunakan untuk mengontrol 8 baris dan untuk mengontrol kolom, kami menggunakan satu register geser untuk setiap 8 kolom.

Jadi, jika Anda dapat membuat matriks 8x8 sederhana, Anda cukup mereplikasi bagian rangkaian untuk kontrol kolom dan memperluas matriks ke sejumlah kolom. Anda hanya perlu menambahkan satu 74hc595 untuk setiap 8 kolom ( satu modul 8x8) yang Anda tambahkan ke sirkuit. Mengingat hal itu, saya membuat prototipe 8x8 saya.

Tahap Solder

Saya mengambil papan titik terpisah untuk membuat kontrol baris dan kolom serta kabel dan header yang diperluas untuk menghubungkannya bersama.

Setelah Anda berhasil membuat matriks 8x8, Anda hanya perlu melakukan daisy-chain lebih banyak register geser dengan jam umum untuk menggerakkan kolom. hanya perlu satu 74hc595 untuk menggerakkan semua baris. Jadi berdasarkan jumlah kolom, lebih banyak register geser dapat ditambahkan, tidak ada batasan untuk jumlah kolom yang dapat Anda tambahkan.

Membangun Babak Kedua

Karena saya tidak memiliki akses ke pencetakan 3D pada waktu itu, saya mendekati seorang tukang kayu lokal untuk membuat sebuah kasus.

Kasing yang dia buat jauh lebih besar dari yang saya harapkan, lebih baik mendesain kasing yang lebih kecil menggunakan Fusion 360 atau perangkat lunak desain lainnya dan mencetak kasing 3D. Lubang dibuat untuk menghubungkan kabel daya dan usb.

Kode

Kode dapat ditemukan di lampiran proyek ini.

Di sini kita akan memindai baris dan memberi makan baris kolom dengan tingkat logika yang sesuai. Kode akan menentukan kecepatan scrolling pesan serta pesan yang akan kita tampilkan. Arah gulir dari kanan ke kiri secara default dalam kode, tetapi dengan sedikit modifikasi, itu dapat diterapkan ke arah lain juga.

Hasilnya

Terima kasih! :)

Kode

  • Kode Arduino untuk Matriks LED 48x8
Kode Arduino untuk Matriks LED 48x8C/C++
Kode Aduino untuk Matriks LED 48x8. Sambungan dan kode dijelaskan sebagai komentar dalam kode itu sendiri.
/*/////////////////////////////////////////// ///////////////////////////////////////////////////////////////// * Kode Arduino untuk menampilkan karakter bergulir pada 6 atau lebih matriks LED 8x8. * * Jumlah matriks dapat ditingkatkan dengan sedikit perubahan kode. * * Komentar diberikan di setiap pernyataan untuk diedit. * * Dikodekan oleh Prasanth KS * * Hubungi :[email protected] */*////////////////////////////////////////////// //////////////////////////////////////////////char msg [] ="WELCOME WIZ";//Ubah teks di sini.int scrollspeed=5;//Setel kecepatan scroll ( lebih rendah=lebih cepat)int x;int y;//Columnsint clockPin1 =2; // Pin Arduino terhubung ke Pin Jam 11 dari 74HC595int latchPin1 =3; //Pin Arduino terhubung ke Pin Latch 12 dari 74HC595int dataPin1 =4; //Pin Arduino terhubung ke Pin Data 14 dari 74HC595//Rowsint clockPin2 =5; // Pin Arduino terhubung ke Pin Jam 11 dari 74HC595int latchPin2 =6; //Pin Arduino terhubung ke Pin Latch 12 dari 74HC595int dataPin2 =7; //Pin Arduino terhubung ke Data Pin 14 dari 74HC595//BITMAP//Bit dalam array ini mewakili satu LED dari matriks// 8 adalah # baris, 6 adalah # bitmap matriks bit LED[8][7]; int numZones =ukuran(bitmap) / 8; // Satu Zona mengacu pada satu Matriks 8 x 8 ( Kelompok 8 kolom)int maxZoneIndex =numZones-1;int numCols =numZones * 8;//FONT DEFENITIONbyte alfabet[][8] ={ {0,0,0, 0,0},//@ sebagai SPACE //{8,28,54,99,65},//<<{31, 36, 68, 36, 31},//A {127, 73, 73, 73, 54},//B {62, 65, 65, 65, 34},//C {127, 65, 65, 34, 28},//D {127, 73, 73, 65, 65}, //E {127, 72, 72, 72, 64},//F {62, 65, 65, 69, 38},//G {127, 8, 8, 8, 127},//H {0 , 65, 127, 65, 0},//I {2, 1, 1, 1, 126},//J {127, 8, 20, 34, 65},//K {127, 1, 1, 1, 1},//L {127, 32, 16, 32, 127},//M {127, 32, 16, 8, 127},//N {62, 65, 65, 65, 62}, //O {127, 72, 72, 72, 48},//P {62, 65, 69, 66, 61},//Q {127, 72, 76, 74, 49},//R {50 , 73, 73, 73, 38},//S {64, 64, 127, 64, 64},//T {126, 1, 1, 1, 126},//U {124, 2, 1, 2, 124},//V {126, 1, 6, 1, 126},//W {99, 20, 8, 20, 99},//X {96, 16, 15, 16, 96}, //Y {67, 69, 73, 81, 97},//Z};pengaturan batal() { pinMode(latchPin1, OUTPUT); pinMode(clockPin1, OUTPUT); pinMode(dataPin1, OUTPUT); pinMode(latchPin2, OUTPUT); pinMode(clockPin2, OUTPUT); pinMode(dataPin2, OUTPUT); //Hapus bitmap untuk (int baris =0; baris <8; baris++) { for (int zona =0; zona <=maxZoneIndex; zona++) { bitmap[baris][zona] =0; } }}//FUNCTIONS// Menampilkan larik bitmap dalam matriksvoid RefreshDisplay(){ for (int baris =0; baris <8; baris++) { int rowbit =1 <=0; zone--) { shiftOut (dataPin1, clockPin1, MSBFIRST, bitmap[baris][zona]); } //balik kedua kait sekaligus untuk menghilangkan kedipan digitalWrite(latchPin1, HIGH);//Mengembalikan pin kait 1 tinggi ke chip sinyal digitalWrite(latchPin2, HIGH);//Mengembalikan pin kait 2 tinggi ke chip sinyal //Menunggu delayMicroseconds(300); }}// Mengonversi baris dan kolom ke bit bitmap dan mematikannya/onvoid Plot(int col, int baris, bool isOn){ int zone =col / 8; int colBitIndex =x % 8; byte colBit =1 <> 1; // Menggeser bit terendah dari zona berikutnya sebagai bit tertinggi dari zona ini. if (zona   

Skema

Untuk tujuan Referensi saja. Untuk koneksi pin, lihat komentar di kode.

Proses manufaktur

  1. Membuat Monitor Ambilight Menggunakan Arduino
  2. Arduino dengan Bluetooth untuk Mengontrol LED!
  3. Matriks LED + Tampilan Pintu Sensor Gerak [Arduino Holiday]
  4. Arduino Quadruped
  5. Mengontrol Kecerahan LED Menggunakan Bolt dan Arduino
  6. Matriks LED Tunggal Arduino Flip Clock
  7. Pencampur Warna RGB Arduino
  8. Mengontrol Matriks LED dengan Arduino Uno
  9. Radio FM Menggunakan Arduino dan RDA8057M
  10. DMX RGB LED Luar Ruangan