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

Jam HSV: Jam Digital Warna-Warna yang Dapat Disesuaikan untuk Penggemar Arduino

Komponen dan Perlengkapan

Tentang Proyek

Saat terakhir kali mengunjungi AS, saya membeli Seeed 2.8" TFT Touch Shield (V1.0) dari RadioShack. Saya menggunakannya untuk membuat jam berwarna untuk ayah saya sebagai hadiah ulang tahun ke-80nya.

Wajah Jam (Clock Face)

Wajah jam didasarkan pada grid sel-sel persegi panjang. Sudut-sudut sel diubah sedikit secara acak, dan setiap sel dibagi oleh diagonal acak. Sebaran warna acak diterapkan di seluruh sel, dan setiap segitiga diberi bayangan untuk memberikan tampilan 3D. Secara internal, warna direpresentasikan sebagai HSV (Hue, Saturation & Value) lalu dikonversi ke RGB untuk dikirim ke LCD. Waktu ditampilkan dengan font sederhana melalui pewarnaan sel tertentu dengan warna komplementer.

Kotak Pelindung (Enclosure)

Kotak pelindung terbuat dari bambu yang dipotong laser, dirancang dengan Inkscape, dan dipotong oleh Ponoko.

Pemasangan

Karena shield tidak memiliki lubang pemasangan, saya secara efektif mencengkeramnya ke dalam kotak pelindung terhadap wajah depan. Arduino Uno menumpuk di atas shield melalui pin header.

RTC Eksternal

Saya membutuhkan akses I2C ke RTC eksternal (DS3232). Shield tidak mengekspos pin yang tidak terpakai, jadi saya menggunakan Uno yang memiliki pin SDA/SCL tambahan. Saya membuat konektor header rendah untuk pin-pin ini yang diletakkan di bawah shield. Saya mengambil daya dan ground dari konektor serupa pada pin ICSP, juga di bawah shield.

Dukungan Waktu Penyeberangan (Daylight Savings Time)

Saya menambahkan dukungan sederhana untuk Waktu Penyeberangan ke dalam sketsa (satu jam lagi yang harus diatur dua kali setahun!). Alih-alih menangani logika seperti “Minggu terakhir di September”, ia bergantung pada tabel kecil tanggal awal dan akhir spesifik untuk tahun-tahun mendatang (untuk Uusi Selandia dalam kasus saya).

Layar Sentuh (Touch Screen)

Saya menyederhanakan kode Touch library agar layar sentuh bertindak seperti grid tombol 4x4 yang di-debounce. Misalnya, waktu diatur dengan menyentuh sudut kiri bawah dan kanan atas.

Pengoptimalan Rendering

Saya melakukan upaya besar untuk mempercepat rendering: penggambaran ulang sel membutuhkan sekitar separuh detik. Rendering didasarkan pada penulisan baris piksel horizontal dengan warna tertentu. Saya menggunakan algoritma Bresenham yang dimodifikasi untuk menghitung ekstensi horizontal dari sejumlah pasang garis yang membentuk segitiga dalam suatu sel. Kode yang mengirim piksel ke LCD didasarkan pada library tetapi disisipkan, dibuka (unrolled), disederhanakan, dan dioptimalkan. Karena data warna piksel ditulis di seluruh beberapa PORTx, semua nilai telah dikomputasi sebelumnya saat warna dipilih, sehingga mengatur N piksel dalam baris ke warna tersebut lebih cepat.

Orientasi LCD

LCD digunakan dalam orientasi landscape. Saya kesulitan lama untuk membuat layar diperbarui dalam baris horizontal. Datasheet untuk pengontrolnya membingungkan. Ada perintah untuk mengatur lokasi “kursor”, “DRAM Horizontal/Vertical Address Set (R20h, R21h)”. Data piksel ditulis di lokasi kursor dan kursor diperbarui, membungkus ke baris berikutnya saat diperlukan, dll. Ada juga perintah untuk mengubah orientasi layar, “Entry Mode (R03h)”, yang juga membicarakan penyesuaian increment baris dan kolom kursor. Namun, saya menemukan bahwa mengubah orientasi menjadi Landscape lalu memosisikan kursor tidak berhasil. Solusi yang akhirnya saya temukan (yang mungkin tertutup dalam datasheet) adalah menggunakan perintah “window” alih-alih perintah kursor; “Horizontal and Vertical RAM Address Position (R50h, R51h, R52h, R53h)”. Pengaturan koordinat sudut kiri atas window berarti data piksel dimulai di sana dan diperbarui secara horizontal (dalam landscape).

Rangkaian

Rangkaian sederhana terdiri dari:

Jam HSV: Jam Digital Warna-Warna yang Dapat Disesuaikan untuk Penggemar Arduino
Jam HSV: Jam Digital Warna-Warna yang Dapat Disesuaikan untuk Penggemar Arduino
Jam HSV: Jam Digital Warna-Warna yang Dapat Disesuaikan untuk Penggemar Arduino
Jam HSV: Jam Digital Warna-Warna yang Dapat Disesuaikan untuk Penggemar Arduino
Jam HSV: Jam Digital Warna-Warna yang Dapat Disesuaikan untuk Penggemar Arduino
Jam HSV: Jam Digital Warna-Warna yang Dapat Disesuaikan untuk Penggemar Arduino
Jam HSV: Jam Digital Warna-Warna yang Dapat Disesuaikan untuk Penggemar Arduino
Jam HSV: Jam Digital Warna-Warna yang Dapat Disesuaikan untuk Penggemar Arduino
Jam HSV: Jam Digital Warna-Warna yang Dapat Disesuaikan untuk Penggemar Arduino
Jam HSV: Jam Digital Warna-Warna yang Dapat Disesuaikan untuk Penggemar Arduino
Jam HSV: Jam Digital Warna-Warna yang Dapat Disesuaikan untuk Penggemar Arduino
Jam HSV: Jam Digital Warna-Warna yang Dapat Disesuaikan untuk Penggemar Arduino
Jam HSV: Jam Digital Warna-Warna yang Dapat Disesuaikan untuk Penggemar Arduino
Jam HSV: Jam Digital Warna-Warna yang Dapat Disesuaikan untuk Penggemar Arduino
Jam HSV: Jam Digital Warna-Warna yang Dapat Disesuaikan untuk Penggemar Arduino
Jam HSV: Jam Digital Warna-Warna yang Dapat Disesuaikan untuk Penggemar Arduino

Proses manufaktur

  1. Kazoo: Dari Mirliton Kuno hingga Mainan Plastik Modern – Sejarah, Manufaktur & Masa Depan
  2. Harpa: Dari Akar Kuno hingga Karya Mahira Modern
  3. Busa Polistiren Diperluas (EPF): Produksi, Sifat, dan Keberlanjutan
  4. Mahir dalam Sensor Raspberry Pi: Panduan Praktis Elektronika dan Protokol Komunikasi
  5. Membangun Robot Cerdas dengan Bridge Shield – Integrasi Raspberry Pi & Arduino
  6. Sistem Pencahayaan DMX Dikonrol Web – Kontroler Master Arduino
  7. Memahami Pemotong Benang: Jenis, Penggunaan, dan Aplikasi
  8. Memahami Galian Coba: Jenis, Penggunaan, dan Distribusi Global
  9. Memahami Kunci Rangka: Jenis, Penggunaan, dan Signifikansi Sejarah
  10. Pembangkit Nitrogen On-Site: Meningkatkan Keamanan dan Keandalan Laboratorium