Daftar Isi:

Lampu Led Interaktif - Struktur Tensegrity + Arduino: 5 Langkah (dengan Gambar)
Lampu Led Interaktif - Struktur Tensegrity + Arduino: 5 Langkah (dengan Gambar)

Video: Lampu Led Interaktif - Struktur Tensegrity + Arduino: 5 Langkah (dengan Gambar)

Video: Lampu Led Interaktif - Struktur Tensegrity + Arduino: 5 Langkah (dengan Gambar)
Video: Media Player Dengan Visual Basic Dan Lampu LED Interaktif Pada ATMega328 2024, November
Anonim
Lampu Led Interaktif | Struktur Ketegangan + Arduino
Lampu Led Interaktif | Struktur Ketegangan + Arduino
Lampu Led Interaktif | Struktur Ketegangan + Arduino
Lampu Led Interaktif | Struktur Ketegangan + Arduino
Lampu Led Interaktif | Struktur Ketegangan + Arduino
Lampu Led Interaktif | Struktur Ketegangan + Arduino

Bagian ini adalah lampu yang responsif terhadap gerakan. Dirancang sebagai pahatan ketegangan minimal, lampu mengubah konfigurasi warnanya sebagai respons terhadap orientasi dan pergerakan seluruh struktur. Dengan kata lain, tergantung pada orientasinya, lampu berubah menjadi mode warna, kecerahan, dan cahaya tertentu.

Ketika icosahedron berputar (di atas porosnya sendiri), ia memilih nilai dari pemilih warna bola virtual. Pemilih warna ini tidak terlihat, tetapi penyesuaian warna terjadi secara real time. Dengan demikian, Anda dapat mengetahui di mana setiap warna diposisikan dalam ruang, saat Anda bermain dengan karya tersebut.

Bentuk icosahedral memberikan 20 bidang wajah dan struktur tensegrity memberikan 6 sudut pandang tambahan. Ini memberikan total 26 kemungkinan warna saat lampu diletakkan di atas permukaan yang datar. Jumlah ini bertambah ketika Anda menyalakan lampu di udara.

Sistem ini dikendalikan oleh Pro Trinket yang terhubung ke akselerometer tiga sumbu. Cahaya disediakan oleh strip LED RGBW, yang dapat mengontrol nilai kecerahan warna dan putih secara individual. Seluruh rangkaian, termasuk mikroprosesor, sensor, dan sistem pencahayaan bekerja pada 5v. Untuk menyalakan sistem, diperlukan sumber hingga 10A.

Daftar elemen utama yang digunakan dalam lampu adalah sebagai berikut:

- Adafruit Pro Trinket - 5V

- Akselerometer Tiga Sumbu Adafruit LIS3DH

- Adafruit NeoPixel Digital RGBW LED Strip - PCB Putih 60 LED/m

- Catu daya switching 5V 10A

Lampu yang responsif terhadap gerakan ini adalah versi atau prototipe pertama dari proyek pribadi yang lebih panjang. Prototipe ini terbuat dari bahan daur ulang. Sepanjang proses desain dan konstruksi, saya belajar dari keberhasilan dan kesalahan. Dengan pemikiran ini, sekarang saya sedang mengerjakan versi berikutnya yang akan memiliki struktur yang lebih cerdas dan perangkat lunak yang kuat.

Saya ingin berterima kasih kepada komunitas LACUNA LAB atas bantuan, ide, dan saran mereka selama pengembangan proyek.

Anda dapat mengikuti pekerjaan saya di: action-io / tumblraction-script / github

Langkah 1: Idenya

Ide
Ide
Ide
Ide
Ide
Ide

Proyek ini adalah hasil dari beberapa ide yang telah saya mainkan di kepala saya selama beberapa waktu.

Sejak saya mulai, konsepnya telah berubah, proyek awal berkembang dan mengambil bentuk yang sebenarnya.

Pendekatan awal adalah ketertarikan pada bentuk geometris sebagai sarana interaksi. Karena desainnya, beberapa wajah poligonal lampu ini berfungsi sebagai metode input.

Ide pertama adalah menggunakan sistem dinamis untuk memaksa icosahedron bergerak. Ini bisa saja dikendalikan oleh aplikasi interaktif, atau pengguna media sosial.

Kemungkinan lain adalah memiliki marmer atau bola internal yang menekan tombol atau sensor yang berbeda dan dengan demikian menghasilkan input acak saat potongan bergerak.

Struktur tensegrity terjadi kemudian.

Metode konstruksi ini membuat saya terpesona: cara bagian-bagian struktur saling menjaga keseimbangan. Ini sangat menyenangkan secara visual. Seluruh struktur itu sendiri seimbang; potongan tidak menyentuh satu sama lain secara langsung. Ini adalah jumlah dari semua ketegangan yang menciptakan potongan; itu fantastis!

Karena desain awal telah berubah; proyek bergerak maju.

Langkah 2: Struktur

Struktur
Struktur
Struktur
Struktur
Struktur
Struktur
Struktur
Struktur

Seperti yang saya sebutkan sebelumnya, model pertama ini terbuat dari bahan daur ulang yang dimaksudkan untuk dibuang.

Papan kayu yang saya ambil dari tempat tidur berpalang yang saya temukan di jalan. Trim emas adalah bagian dari lengan lampu tua dan sumbat untuk karet gelang adalah klip kantor.

Bagaimanapun, konstruksi strukturnya cukup sederhana dan langkah-langkahnya sama dengan tensegriry apa pun.

Apa yang saya lakukan dengan papan adalah menyatukan mereka, dalam kelompok dua orang. Membuat "sandwich" dengan spacer emas, meninggalkan celah di mana lampu akan bersinar.

Dimensi proyek sepenuhnya bervariasi dan akan tergantung pada ukuran struktur yang ingin Anda buat. Batang kayu dari gambar proyek ini memiliki panjang 38cm dan lebar 38mm. Pemisahan antara papan adalah 13mm.

Papan kayu dipotong sama, diampelas (untuk menghilangkan lapisan cat lama) dan kemudian dilubangi kedua ujungnya.

Selanjutnya, saya menodai papan dengan pernis gelap pedesaan. Untuk menyambung potongan saya menggunakan batang berulir 5mm, potong menjadi beberapa bagian 5cm dan 5mm dengan simpul di setiap sisi.

Tensioner adalah karet gelang merah. Untuk menempelkan karet ke palang, saya membuat lubang kecil di mana saya melewati pita dan kemudian menjebaknya dengan sumbat. Ini mencegah papan bergerak bebas dan struktur yang dibongkar dipindahkan.

Langkah 3: Elektronik dan Lampu

Elektronik dan Lampu
Elektronik dan Lampu
Elektronik dan Lampu
Elektronik dan Lampu
Elektronik dan Lampu
Elektronik dan Lampu
Elektronik dan Lampu
Elektronik dan Lampu

Konfigurasi komponen elektronik telah dirancang untuk mempertahankan tegangan yang sama, baik logika maupun pengumpanan di seluruh sistem menggunakan 5v.

Sistem ini dikendalikan oleh Pro Trinket yang terhubung ke akselerometer tiga sumbu. Cahaya disediakan oleh strip LED RGBW, yang dapat mengontrol warna dan nilai kecerahan putih satu per satu. Seluruh rangkaian, termasuk mikroprosesor, sensor, dan sistem pencahayaan bekerja pada 5v. Untuk menyalakan sistem, diperlukan sumber hingga 10A.

Pro Trinket 5V menggunakan chip Atmega328P, yang merupakan chip inti yang sama di Arduino UNO. Ini juga memiliki pin yang hampir sama. Jadi sangat berguna ketika Anda ingin membawa proyek UNO Anda ke ruang miniatur.

LIS3DH adalah sensor serbaguna, dapat dikonfigurasi ulang untuk membaca ke +-2g/4g/8g/16g dan juga membawa Tap, Double-tap, orientasi & deteksi jatuh bebas.

Strip LED NeoPixel RGBW dapat mengatur warna rona dan intensitas putih secara terpisah. Dengan LED putih khusus, Anda tidak perlu menjenuhkan semua warna untuk mendapatkan cahaya putih, itu juga membuat Anda putih lebih murni dan cerah dan di atas itu menghemat energi.

Untuk pengkabelan dan untuk menghubungkan komponen bersama-sama, saya memutuskan untuk melewatkan kabel dan membuat soket dengan pin jantan dan betina menggunakan pengeriting dan rumah konektor.

Saya menghubungkan pernak-pernik ke accelerometer melempar SPI dengan konfigurasi default. Ini berarti menghubungkan Vin ke catu daya 5V. Hubungkan GND ke arde daya/data umum. Hubungkan pin SCL (SCK) ke Digital #13. Hubungkan pin SDO ke Digital #12. Hubungkan pin SDA (SDI) ke Digital #11. Hubungkan pin CS Digital #10.

Strip yang dipimpin dikendalikan oleh hanya satu pin, yang menuju #6 dan ground dan 5v langsung ke adaptor catu daya.

Semua dokumentasi yang mungkin Anda perlukan akan Anda temukan, lebih detail dan dijelaskan lebih baik di halaman adafruit.

Catu daya terhubung ke adaptor DC perempuan yang secara bersamaan memberi makan mikrokontroler dan strip LED. Juga memiliki kapasitor untuk melindungi rangkaian dari arus yang tidak stabil pada saat "nyala".

Lampu memiliki 6 batang lampu, tetapi strip LED hadir dalam satu pita panjang. Pita LED dipotong menjadi beberapa bagian sepanjang 30cm (18 LED) dan kemudian dilas dengan 3 pin jantan dan betina untuk terhubung ke rangkaian lainnya secara modular.

Untuk proyek ini saya menggunakan catu daya 5v - 10A. Tetapi tergantung dari jumlah led yang Anda butuhkan, Anda perlu menghitung arus yang dibutuhkan untuk memberi makan sistem.

Sepanjang dokumentasi karya, Anda dapat melihat bahwa LED memiliki 80mA yang ditarik per LED. Saya menggunakan total 108 LED.

Langkah 4: Kode

Kode
Kode

Skema kerjanya cukup sederhana. Akselerometer memberikan informasi pergerakan pada sumbu x, y, z. Berdasarkan orientasi, nilai RGB LED diperbarui.

Pekerjaan dipecah menjadi fase-fase berikut.

  • Lakukan pembacaan dari sensor. Cukup gunakan api.
  • Dengan trigonometri, selesaikan nilai "roll and pitch". Anda dapat menemukan lebih banyak informasi dalam dokumen ini oleh Mark Pedley.
  • Dapatkan warna yang sesuai, terkait dengan nilai rotasi. Untuk itu kita beralih ke nilai 0-360 RGB menggunakan fungsi konversi HSL - RGB. Nilai pitch digunakan pada berbagai skala untuk mengatur intensitas cahaya putih dan saturasi warna. Belahan yang berlawanan dari bola pemilih warna benar-benar putih.
  • Perbarui penyangga lampu yang menyimpan informasi masing-masing warna LED. Bergantung pada informasi ini, pengontrol penyangga akan membuat animasi atau akan merespons dengan warna pelengkap.
  • Terakhir tunjukkan warna dan segarkan LED.

Awalnya, idenya adalah membuat bola warna di mana Anda bisa memilih warna apa saja. Menempatkan roda warna pada meridian dan ke arah kutub nada gelap dan terang.

Tapi dengan cepat ide itu dibuang. Karena LED menghasilkan nada yang berbeda, mati dan dengan cepat menyalakan setiap LED rgb, ketika diberi nilai rendah untuk mewakili warna gelap, LED memberikan kinerja yang sangat buruk dan Anda dapat melihat bagaimana mereka mulai berkedip. Hal ini membuat belahan gelap bola warna tidak dapat berfungsi dengan baik.

Kemudian saya mendapatkan ide untuk menetapkan warna pelengkap pada nada yang dipilih saat ini.

Jadi, satu belahan mengambil nilai warna monokromatik roda dari pencahayaan 50% 90 ~ saturasi 100%. Sementara sisi lain, mengambil gradien warna dari posisi warna yang sama tetapi menambahkan, di sisi lain gradien, warna komplementernya.

Pembacaan data dari sensor masih mentah. Filter dapat diterapkan untuk menghaluskan kebisingan dan getaran lampu itu sendiri. Untuk saat ini, saya merasa ini menarik karena terlihat lebih analogis, bereaksi terhadap sentuhan apa pun dan membutuhkan waktu beberapa detik untuk benar-benar stabil.

Saya masih mengerjakan kode dan menambahkan fitur baru dan mengoptimalkan animasi.

Anda dapat memeriksa versi terbaru dari kode di akun github saya.

Langkah 5: Mengakhiri

Membungkus
Membungkus
Membungkus
Membungkus
Membungkus
Membungkus
Membungkus
Membungkus

Perakitan akhir cukup sederhana. Rekatkan penutup silikon strip LED dengan dua Komponen Epoxy Adhesive ke dalam batang dan sambungkan 6 bagian secara seri satu di belakang yang lain.

Perbaiki titik di mana Anda ingin menambatkan komponen dan memasang akselerometer dan perhiasan pro ke kayu. Saya menggunakan spacer plastik untuk melindungi bagian bawah pin. Adaptor catu daya dipasang dengan benar di antara ruang palang dengan lebih banyak perekat epoksi epoksi. Dirancang agar pas dan mencegahnya bergerak saat lampu berputar.

Pengamatan dan perbaikan

Sepanjang pengembangan proyek telah muncul ide-ide baru tentang cara-cara untuk memecahkan masalah. Saya juga menyadari beberapa kekurangan desain atau bagian yang dapat diperbaiki.

Langkah selanjutnya yang ingin saya lakukan adalah peningkatan kualitas produk dan finishing; sebagian besar dalam struktur. Saya datang dengan ide-ide hebat tentang structrea yang lebih baik bahkan lebih sederhana, menggabungkan tensor sebagai bagian dari desain dan menyembunyikan komponen. Struktur ini akan membutuhkan alat yang lebih kuat seperti printer 3D dan pemotong laser.

Saya masih menunggu cara untuk menyembunyikan kabel di sepanjang struktur. Dan bekerja menjadi konsumsi energi yang lebih efisien; untuk mengurangi pengeluaran saat lampu bekerja lama dan tidak mengubah pencahayaan.

Terima kasih telah membaca artikel dan minat Anda pada pekerjaan saya. Saya harap Anda belajar dari proyek ini sebanyak yang saya lakukan.

Direkomendasikan: