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

Foto dan Video RGB pada Tampilan TFT SPI

Komponen dan persediaan

Arduino Nano R3
× 1
2,8" Layar TFT SPI 320x240
× 1
kartu uSD (>1 GB)
× 1
TFT shield (breakout) untuk Arduino Nano
× 1

Tentang proyek ini

Pendahuluan

Halo!

Dalam artikel hari ini, saya ingin berbicara tentang bagaimana Anda dapat melihat gambar atau foto (format *.jpg), serta video (format RGB565) di layar layar TFT SPI (320x240, 2,8").

Pertama, video demo kecil:

Perangkat Keras

Komponen yang dibutuhkan:

  • Arduino Nano R3,
  • Layar TFT SPI (320x240) dengan layar sentuh,
  • kartu uSD>1 GB,
  • Pelindung TFT untuk Arduino Nano.

Susun semua part sesuai urutan yang ada di video (atau bisa baca artikel sebelumnya:https://create.arduino.cc/projecthub/alf81010/tft-shield-for-arduino-nano-start-f4391e .

Perangkat Lunak

Persiapan kartu Micro SD.

Kartu micro SD harus diformat dalam FAT32. Gambar dapat direkam langsung ke kartu (tanpa pemrosesan apa pun). Sebaiknya ukuran gambar tidak lebih dari 2560x1920.

Untuk memutar video dalam format rgb565 file harus disiapkan terlebih dahulu. Untuk mengonversi video, gunakan ffmpeg (http://ffmpeg.org). Unduh dan instal di komputer Anda. Kemudian gunakan contoh baris perintah ffmpeg, yang menampilkan video yang kompatibel dengan demo ini:

ffmpeg -i video.avi -s 320x240 -pix_fmt rgb565 video.rgb

Unduh dan instal perpustakaan yang diperlukan untuk bekerja dengan pelindung TFT untuk Arduino Nano:https://github.com/YATFT/YATFT.

Download sketsa berikut di Arduino Nano:

/****************************************** ************************************ PERANGKAT LUNAK DAN DOKUMENTASI DISEDIAKAN "SEBAGAIMANA ADANYA" TANPA JAMINAN APAPUN* JENIS, BAIK TERSURAT MAUPUN TERSIRAT, TERMASUK TANPA BATAS, JAMINAN* APAPUN UNTUK DIPERDAGANGKAN, JUDUL, NON-PELANGGARAN DAN KESESUAIAN UNTUK TUJUAN* TERTENTU. DALAM KEADAAN APA PUN PENULIS ATAU PEMBERI LISENSINYA TIDAK AKAN BERTANGGUNG JAWAB ATAU* DIWAJIBKAN BERDASARKAN KONTRAK, KELALAIAN, TANGGUNG JAWAB KETAT, KONTRIBUSI,* PELANGGARAN JAMINAN, ATAU TEORI SAMA HUKUM LAINNYA YANG TIDAK LANGSUNG ATAU TIDAK LANGSUNG TERHADAP KERUSAKAN SECARA TIDAK LANGSUNG ,* KERUSAKAN TIDAK LANGSUNG, HUKUMAN ATAU KONSEKUENSIAL, KEHILANGAN KEUNTUNGAN ATAU KEHILANGAN DATA,* BIAYA PENGADAAN BARANG PENGGANTI, TEKNOLOGI, JASA, ATAU* KLAIM APA PUN OLEH PIHAK KETIGA (TERMASUK NAMUN TIDAK TERBATAS PADA PIHAK KETIGA), .************************************************* ******************************/#termasuk  // Perpustakaan khusus perangkat keras#termasuk #sertakan #sertakan YATFT tft(0);SDC sdc;#define CS_PIN A0// MOSI=11, MISO=12, SCK=13XPT2046_Touchscreen ts(CS_PIN);/* Jika menggunakan pelindung, semua jalur kontrol dan data diperbaiki, dan deklarasi yang lebih sederhana secara opsional dapat digunakan:*/uint16_t frame =0;uint32_t total_time =0;bool f_first =true;uint8_t mode =0;/*************************************** ************************************************** ******/pengaturan batal(batal){ Serial.begin(115200); // inisialisasi port serial Serial.println(F("Contoh Pemutaran Foto Dan Video!")); tft.begin(0x4391,-8); // inisialisasi tampilan tft.SetColor(BLACK); tft.ClearDevice(); // Bersihkan layar ts.begin(); // Init SPI Layar Sentuh.end(); Serial.print(F("FS Ini... ")); status uint8_t =sdc.FSInit(); if (status ==0) Serial.println(F("tidak berhasil.")); else Serial.println(F("berhasil.")); sdc.currentFileType =DEMO_FILE_TYPE_RGB; total_time =millis() + 500;}void loop(void){ if (total_time 100 &&y<140) { // Stop mode =1; Serial.println(F("modus =1")); } else if (x>140 &&x<180 &&y>100 &&y<140) { // Mode jeda =2; // Gambar tombol tft.SetColor(MERAH); tft.DrawFillCirc(GetMaxX()/4,GetMaxY()/2,50); tft.SetColor(KUNING CERAH); tft.DrawFillRect(GetMaxX()/4-30,GetMaxY()/2-30, GetMaxX()/4+30,GetMaxY()/2+30); tft.SetColor(MERAH); tft.DrawFillCirc(GetMaxX()/4*3,GetMaxY()/2,50); tft.SetColor(KUNING CERAH); for(uint8_t i=0; i<60; i++) { tft.DrawLine(210+i, 90+i/2, 210+i, 150-i/2); } Serial.println(F("modus =2")); } else if (x>190 &&y>100 &&y<140) { // Mode putar =0; Serial.println(F("modus =0")); } modus kembali; } SPI.end(); mode kembali;} 

Saya mencoba membuat artikel pendek dan menjelaskan poin-poin utama di dalamnya. Selain itu, tidak ada yang sulit dalam proyek ini. Tetapi jika Anda memiliki pertanyaan - tanyakan, jangan ragu.;-) Saya akan mencoba menambahkan artikel.

Terima kasih atas perhatiannya!

Bersambung.

Artikel sebelumnya:

1) Perisai TFT Unik untuk Arduino Uno - Mulai,

2) Perisai TFT Unik untuk Arduino Uno - Tampilan Langsung Cam OV7670,

3) Perisai TFT Unik untuk Arduino Uno - Kamera Bluetooth Arduino (ABC),

4) TFT Shield untuk Arduino Nano - Mulai.

Pembaruan 01.04.2021:

Halo lagi! Ada perpustakaan yang diperbarui untuk serangkaian layar, yang saat ini terdiri dari dua perisai dan dua papan breakout. Sketsa dikompilasi tergantung pada versi yang dipilih (dari 1 hingga 4) dan jenis mikrokontroler (MegaAVR atau ESP-32). Menambahkan foto, contoh. Informasi lebih lanjut dapat ditemukan di https://github.com/Ekaburg/EkaTFT.

Kode

  • PhotoAndVideoPlay.ino
PhotoAndVideoPlay.inoC/C++
/********************************************* ******************************** * PERANGKAT LUNAK DAN DOKUMENTASI DISEDIAKAN "SEBAGAIMANA ADANYA" TANPA JAMINAN * APAPUN, BAIK TERSURAT MAUPUN TERSIRAT, TERMASUK TANPA BATAS, JAMINAN APA PUN * UNTUK DIPERDAGANGKAN, HUKUM, NON-PELANGGARAN DAN KESESUAIAN UNTUK TUJUAN * TERTENTU. DALAM KEADAAN APA PUN PENULIS ATAU PEMBERI LISENSINYA TIDAK BERTANGGUNG JAWAB ATAU * DIWAJIBKAN BERDASARKAN KONTRAK, KELALAIAN, TANGGUNG JAWAB KETAT, KONTRIBUSI, * PELANGGARAN JAMINAN, ATAU TEORI Adil HUKUM LAINNYA YANG TIDAK LANGSUNG ATAU TIDAK LANGSUNG MENGHILANGKAN KERUSAKAN , * KERUSAKAN TIDAK LANGSUNG, HUKUMAN ATAU KONSEKUENSIAL, KEHILANGAN KEUNTUNGAN ATAU KEHILANGAN DATA, * BIAYA PENGADAAN BARANG PENGGANTI, TEKNOLOGI, JASA, ATAU * KLAIM APA PUN OLEH PIHAK KETIGA (TERMASUK NAMUN TIDAK TERBATAS DI ATAS SIMOFLARI) .************************************************* ******************************/#termasuk // Perpustakaan khusus perangkat keras#termasuk #sertakan #sertakan YATFT tft(0);SDC sdc;#define CS_PIN A0// MOSI=11, MISO=12, SCK=13XPT2046_Touchscreen ts(CS_PIN);/* Jika menggunakan pelindung, semua jalur kontrol dan data diperbaiki, dan deklarasi yang lebih sederhana secara opsional dapat digunakan:*/uint16_t frame =0;uint32_t total_time =0;bool f_first =true;uint8_t mode =0;/*************************************** ************************************************** *******/pengaturan batal(batal){ Serial.begin(115200); // inisialisasi port serial Serial.println(F("Contoh Pemutaran Foto Dan Video!")); tft.begin(0x4391,-8); // inisialisasi tampilan tft.SetColor(BLACK); tft.ClearDevice(); // Bersihkan layar ts.begin(); // Init SPI Layar Sentuh.end(); Serial.print(F("FS Ini... ")); status uint8_t =sdc.FSInit(); if (status ==0) Serial.println(F("tidak berhasil.")); else Serial.println(F("berhasil.")); sdc.currentFileType =DEMO_FILE_TYPE_RGB; total_time =millis() + 500;}void loop(void){ if (total_time 100 &&y<140) { // Stop mode =1; Serial.println(F("modus =1")); } else if (x>140 &&x<180 &&y>100 &&y<140) { // Mode jeda =2; // Gambar tombol tft.SetColor(MERAH); tft.DrawFillCirc(GetMaxX()/4,GetMaxY()/2,50); tft.SetColor(KUNING CERAH); tft.DrawFillRect(GetMaxX()/4-30,GetMaxY()/2-30, GetMaxX()/4+30,GetMaxY()/2+30); tft.SetColor(MERAH); tft.DrawFillCirc(GetMaxX()/4*3,GetMaxY()/2,50); tft.SetColor(KUNING CERAH); for(uint8_t i=0; i<60; i++) { tft.DrawLine(210+i, 90+i/2, 210+i, 150-i/2); } Serial.println(F("modus =2")); } else if (x>190 &&y>100 &&y<140) { // Mode putar =0; Serial.println(F("modus =0")); } modus kembali; } SPI.end(); mode kembali;}

Skema

Perisai TFT perpustakaan untuk Arduino Nano
https://github.com/YATFT/YATFT

Proses manufaktur

  1. Mobilitas manufaktur:Data, suara, video, dan lokasi
  2. Konverter video baru menguji tampilan infotainment otomotif APIX3
  3. MODUL DATA:Layar TFT ultra-meregangkan 23.1” dengan kontrol cerdas
  4. Membaca Sensor Analog dengan Raspberry Pi dan Zabbix Supervisor
  5. Kuman TFT 3.5 RetroPie 2018
  6. Video K 2019:Inovasi dalam Mesin dan Material Daur Ulang
  7. Apa yang dimaksud dengan DN dan PN pada Flensa?(Video)
  8. Tampilan 3D Praktis yang Dihasilkan Oleh Teknologi Holografi dan Cahaya
  9. Animasi Bitmap Pada ILI9341 TFT Touchscreen Display Shield
  10. Penyelesaian Permukaan Cetakan Injeksi:SPI dan VDI