Isi kandungan:

Accelerometer Tanpa Wayar Dikawal Rgb-LED: 4 Langkah
Accelerometer Tanpa Wayar Dikawal Rgb-LED: 4 Langkah

Video: Accelerometer Tanpa Wayar Dikawal Rgb-LED: 4 Langkah

Video: Accelerometer Tanpa Wayar Dikawal Rgb-LED: 4 Langkah
Video: MUDAHNYA PEMASANGAN SMART TOUCH LIGHT SWITCH NI TANPA WAYAR NEUTRAL 2024, Julai
Anonim
Accelerometer tanpa wayar dikawal Rgb-LED
Accelerometer tanpa wayar dikawal Rgb-LED
Accelerometer tanpa wayar dikawal Rgb-LED
Accelerometer tanpa wayar dikawal Rgb-LED

MEMS (Sistem Mikro-Elektro-Mekanikal) Accelerometer digunakan secara meluas sebagai sensor kecondongan pada telefon bimbit dan kamera. Accelerometer sederhana boleh didapati sebagai papan pemuka ic-chip dan papan pengembangan murah.

Cip tanpa wayar juga berpatutan dan tersedia dalam rangkaian yang dipasang, dengan rangkaian antena yang sesuai dan topi decoupling. Sambungkan papan wayarles dan akselerometer ke mikrokontroler melalui antara muka bersiri dan anda mempunyai alat kawalan tanpa wayar dengan fungsi nintendo-wii. Kemudian bina penerima dengan jenis cip tanpa wayar yang sama dan rgb-LED terkawal pwm, voila, anda mempunyai lampu kilat bilik tanpa kawalan dan kecondongan. Pastikan tahap papan pemancar dengan papan roti menghadap ke atas dan LED berwarna biru sejuk, hanya LED biru yang aktif. Kemudian condongkan pemancar ke satu arah dan anda mencampurkan warna merah atau hijau bergantung pada arah mana anda memiringkannya. Miringkan hingga 90 darjah, dan anda akan melalui semua campuran merah dan biru atau hijau dan biru sehingga hanya merah atau hijau yang aktif pada kecondongan 90 darjah. Miringkan sedikit ke arah x dan y dan anda mendapat campuran semua warna. Pada 45 darjah ke semua arah, cahaya adalah campuran merah, hijau dan biru yang sama, dengan kata lain, cahaya putih. Bahagian yang digunakan boleh didapati dari kedai elektronik-hobi internet. Harus dikenali dari beberapa gambar.

Langkah 1: Pemancar Dengan Accelerometer

Pemancar Dengan Accelerometer
Pemancar Dengan Accelerometer
Pemancar Dengan Accelerometer
Pemancar Dengan Accelerometer
Pemancar Dengan Accelerometer
Pemancar Dengan Accelerometer
Pemancar Dengan Accelerometer
Pemancar Dengan Accelerometer

Pemancar didasarkan pada mikrokontroler Atmel avr168. Papan merah yang selesa dengan 168 adalah papan arduino dengan pengatur voltan dan litar ulang. Accelerometer disambungkan ke avr dengan bus i2c bit-banged, dan papan wayarles disambungkan dengan perkakasan SPI, (Interface Periferal Serial).

Papan roti sepenuhnya wayarles dengan pemukul 4, 8V yang diikat di bawahnya. Papan wayarles dan arduino wee menerima hingga 9 V dan mempunyai pengatur voltan linier onboard, tetapi accelerometer memerlukan 3, 3V dari rel terkawal di wee.

Langkah 2: Penerima Dengan RGB-LED

Penerima Dengan RGB-LED
Penerima Dengan RGB-LED
Penerima Dengan RGB-LED
Penerima Dengan RGB-LED
Penerima Dengan RGB-LED
Penerima Dengan RGB-LED

Penerima didasarkan pada demoboard atmel avr169 bernama butterfly. Papan mempunyai banyak ciri yang tidak digunakan dalam projek ini. Pengangkut wayarles disambungkan ke PortB dan pwm yang dikawal disambungkan ke PortD. Kuasa dibekalkan pada header ISP, 4.5V sudah mencukupi. Papan wayarles boleh bertoleransi 5V pada pin i / o, tetapi memerlukan bekalan 3.3V yang dibekalkan oleh pengatur onboard.

Kabel header yang diubah suai untuk tranceiver rf sangat sesuai, dan menghubungkan papan wayarles dengan pengawal spi kuasa dan perkakasan pada rama-rama. Shiftbright adalah pengawal modulasi lebar nadi yang dipimpin oleh rgb yang menerima perintah 4 bait yang terkunci dan kemudian terkunci pada pin output. Sangat senang dihubungkan secara bersiri. Hanya mengalihkan banyak kata perintah, dan yang pertama dipindahkan akan berakhir pada LED yang terakhir disambungkan dalam rantaian daisy.

Langkah 3: Pengaturcaraan C

Kod tersebut ditulis dalam bahasa C kerana saya tidak peduli untuk mempelajari bahasa pemprosesan yang "lebih mudah" berdasarkan arduino. Saya menulis sendiri antara muka SPI dan rf tranceiver untuk pengalaman belajar, tetapi meminjam kod assembler i2c dari avrfreaks.net. Antaramuka shiftbright dibahagikan dalam kod-C. Satu masalah yang saya hadapi adalah variasi iradik kecil dalam output akselerometer, ini menjadikan banyak lampu yang dipimpin. Saya menyelesaikannya dengan penapis low-pass perisian. Purata berwajaran bergerak pada nilai akselerometer. Rf-tranceiver menyokong perkakasan crc dan ack dengan penghantaran semula secara automatik, tetapi untuk projek ini, pengemaskinian led secara realtime lebih penting. Setiap paket dengan nilai akselerometer tidak perlu sampai ke penerima dengan utuh, selagi paket yang rosak dibuang. Saya tidak menghadapi masalah dengan paket RF yang hilang dalam jarak 20 meter dari pandangan. Tetapi semakin jauh pautan menjadi tidak stabil, dan led tidak terus dikemas kini. Gelung utama pemancar dalam pseudo-code: inisialisasi (); sementara (benar) {Nilai = abs (dapatkan nilai akselerometer x, y, z ()); RF_send (Nilai); kelewatan (20ms);} Gelung utama penerima dalam pseudo-code: initialize (); while (true) {newValues = blocking_receiveRF ()); rgbValues = rgbValues + 0.2 * (newValues-rgbValues); tulis rgbValues to shiftbrigth;}

Langkah 4: Hasilnya

Keputusan
Keputusan
Keputusan
Keputusan
Keputusan
Keputusan
Keputusan
Keputusan

Saya kagum betapa lancar dan tepatnya kawalan itu. Anda benar-benar mempunyai kawalan ketepatan hujung jari pada warna. Pengawal pwm-LED mempunyai resolusi 10 bit untuk setiap warna, yang menghasilkan berjuta-juta warna yang mungkin. Malangnya, accelerometer hanya mempunyai resolusi 8 bit yang menjadikan bilangan warna teori menjadi ribuan. Tetapi masih mustahil untuk melihat adanya perubahan warna. Saya meletakkan penerima di lampu IKEA dan mengambil gambar dengan warna yang berbeza di bawah. Terdapat juga video, (walaupun kualiti buruk)

Disyorkan: