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

Matriks yang Dikendalikan Bluetooth Arduino dengan Teks Bergulir

Komponen dan persediaan

Arduino Nano R3
× 1
Modul Bluetooth HC-05
× 1
Modul matriks led 8x8 dengan MAX7219
× 7
Resistor 6,8 kOhm
× 1
Resistor 2.2 kOhm
× 2

Alat dan mesin yang diperlukan

Besi solder (generik)

Aplikasi dan layanan online

Arduino IDE
Bluetooth sp pro

Tentang proyek ini

Setelah beberapa upaya untuk membuat teks bergulir pada matriks 8x8, saya menemukan manual paling lengkap di halaman Lab Tertanam:http://embedded-lab.com/blog/portable-bluetooth-enabled-scrolling-led-matrix-display -part-1/.

Perangkat berisi Arduino nano, modul Bluetooth untuk menerima data dari smartphone dan matriks LED 8x8 yang digerakkan oleh MAX7219.

Tidak seperti di sana, saya menggunakan modul matriks 8x8 siap pakai dengan chip MAX7219 yang dapat dibeli dengan sangat murah di Ebay atau Alexpress. Saat ini, saya hanya memiliki 7 modul, jadi saya membuat sedikit modifikasi kode. Aplikasi android tidak ada lagi di Google Play store, jadi Anda dapat mengunduhnya dari :

https://bluetooth-spp-pro.en.uptodown.com/android

. Itu dapat mengontrol kecepatan pengguliran, kecerahan led, jeda, hapus teks, dan beberapa tombol teks yang telah ditentukan.

Pada akhirnya, saya memasukkan seluruh perangkat ke dalam sebuah kotak, yang saya buat dari bahan PVC yang saya pasang dengan wallpaper hitam.

Perpustakaan Arduino:

https://github.com/markruys/arduino-Max72xxPanel

https://github.com/adafruit/Adafruit-GFX-Library

Kode

  • kode
kodeArduino
 /*Berikut adalah perintah yang dikenali Arduino. 1. Setiap aliran karakter harus dikirim dalam tanda kurung. Contoh:Misalkan jika Anda ingin menampilkan pesan "Halo! Apa kabar?" Anda harus mengirimkannya seperti ini:(Halo! Bagaimana kabarmu?) Ketika Arduino menerima karakter pertama sebagai '(', ia memahami bahwa karakter yang akan datang adalah data tampilan sampai ')' diterima. Pesan ditampilkan sebagai bergulir dari kanan ke kiri. 2. Intensitas tampilan dapat ditambah atau dikurangi dengan mengirimkan /+ atau /- masing-masing. Setiap kali Arduino menerima '/', ia memahami bahwa itu adalah perintah. Ini mendukung 16 tingkat kecerahan. 3. Demikian pula, kecepatan pengguliran dapat ditingkatkan atau diturunkan dengan mengirimkan / masing-masing. 4. /p digunakan untuk menjeda pesan yang sedang bergulir. Mengirim perintah ini lagi akan melanjutkan gulir. 5. /e digunakan untuk menghapus buffer dan mengosongkan tampilan Koneksi:Easy Matrix Arduino VCC +5V DIN MOSI (Pin 11) LOAD pinCS yang didefinisikan dalam program di bawah CLK SCK (Pin 13) GND Gnd Komunikasi UART terjadi pada 9600 baud . Ditulis oleh:Rajendra Bhatt Kontak:[email protected] Tautan produk Easy Matrix:http://embedded-lab.com/blog/?p=9186 */#include #include #include int pinCS =10; // Lampirkan CS ke pin ini, DIN ke MOSI dan CLK ke SCK (cf http://arduino.cc/en/Reference/SPI )int numberOfHorizontalDisplays =7;int numberOfVerticalDisplays =1;Max72xxPanel matrix =Max72xxPanel(pinCS, numberOfHorizontalDisplays, numberOfVerticalDisplays);int scrollspeed =100; // Kecepatan gulir default (milidetik) int spacer =1; // Spasi antara dua karakterint lebar =5 + spacer; // Lebar font adalah 5 pikselboolean inChar =false, NewData =false, pause =false;boolean dataAvailable =false;char inputString[512];int count =0, BTvalue =5;void setup() { matrix.setIntensity(1 ); // Gunakan nilai antara 0 dan 15 untuk kecerahan// Sesuaikan dengan kebutuhan Anda matrix.setPosition(0, 0, 0); // Tampilan pertama di <0, 7> matrix.setPosition(1, 1, 0); // Tampilan kedua berada di <1, 0> matrix.setPosition(2, 2, 0); // Tampilan ketiga berada di <2, 0> matrix.setPosition(3, 3, 0); // Dan tampilan terakhir ada di <3, 0> matrix.setPosition(4, 4, 0); // Tampilan pertama di <0, 0> matrix.setPosition(5, 5, 0); // Tampilan kedua berada di <1, 0> matrix.setPosition(6, 6, 0); // Tampilan ketiga di <2, 0> // ... // matrix.setRotation(0, 2); // Tampilan pertama adalah posisi terbalik // matrix.setRotation(3, 2); // Penangguhan yang sama untuk tampilan terakhir matrix.fillScreen(0); matriks.tulis(); Serial.begin(9600); // inisialisasi komunikasi serial // Menggunakan interupsi 0 pada pin digital 2. pinMode(2, INPUT); digitalWrite(2, RENDAH); attachInterrupt(0, serialInterrupt, CHANGE); }void loop(){ if(dataTersedia){ display_data(); } }void display_data(){ for ( int i =0; i =0 &&huruf>=0 ) { if ( huruf  0) { Data Baru =benar; } } } } if(ch =='/'){ // Mode perintah inChar =true; while(inChar){ if (Serial.available()) { ch =Serial.read(); // '/+' adalah untuk peningkatan kecerahan if(ch =='+'){ if(BTvalue <15) { BTvalue ++; matrix.setIntensity (nilai BT); } merusak; } // '/-' adalah untuk penurunan kecerahan if(ch =='-'){ if(BTvalue> 0){ BTvalue --; matrix.setIntensity (nilai BT); } merusak; } // '/>' untuk memperlambat scroll if(ch =='>'){ if(scrollspeed <200) { scrollspeed =scrollspeed + 20; } merusak; } // '/<' untuk membuat scroll lebih cepat if(ch =='<'){ if(scrollspeed> 10){ scrollspeed=scrollspeed-10; } merusak; } // '/e' untuk menghapus tampilan if(ch =='e'){ dataAvailable =false; merusak; } // '/p' adalah untuk menjeda tampilan if(ch =='p'){ if(pause ==false){ pause =true; } else { jeda =salah; } merusak; } lain { istirahat; // Perintah tidak dikenal } } } } // if(ch =='!') } // while(serial.available) inService =false;}

Skema


Proses manufaktur

  1. Kontrol Penerima Koin dengan Arduino
  2. Game Arduino Pong pada Matrix 24x16 dengan MAX7219
  3. Arduino dengan Bluetooth untuk Mengontrol LED!
  4. Teleporter Teks
  5. Peralatan yang Dikendalikan Suara Bluetooth dengan OK Google
  6. Mengontrol Matriks LED dengan Arduino Uno
  7. Mengukur Radiasi Matahari dengan Arduino
  8. Kontrol Mobil dengan Arduino Uno dan Bluetooth
  9. Kirim dan Terima Pesan Teks (SMS) dengan GSM SIM900 Shield
  10. UPS yang Sesuai HID dengan Arduino