Daftar Isi:
- Langkah 1: Konsep Ide
- Langkah 2: Daftar Bahan
- Langkah 3: Alat
- Langkah 4: Membuat Bingkai
- Langkah 5: Membuat Sketsa Gambar dan Konsep Akhir
- Langkah 6: Buat Potongan Gambar Bergerak
- Langkah 7: Persiapan Perangkat Lunak
- Langkah 8: Membuat Catu Daya Perangkat Keras
- Langkah 9: Membuat I/O Perangkat Keras & Memeriksa OUTPUT (NeoPixel Bekerja)
- Langkah 10: Merakit dan Melampirkan ke Roda
- Langkah 11: Memeriksa INPUT (Data Sensor HALL)
- Langkah 12: Algoritma Pengkodean
- Langkah 13: Menggunakan Perangkat Lunak
- Langkah 14: Selesai
Video: Tampilan POV Digilog_Bike: 14 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:55
Digilog
Digital + Analog
Digital bertemu analog
POV
Kegigihan Visual
Juga dikenal sebagai tampilan afterimage, jika diguncang dengan kecepatan tinggi, afterimage tetap ada.
Orang-orang mengira mereka sedang menonton video ketika mereka menonton TV. Namun pada kenyataannya, dia melihat beberapa gambar berturut-turut. Ini disalahartikan sebagai gambar karena efek bayangan yang tersisa di retina kita saat melihat gambar yang berurutan. Ilusi semacam ini disebut POV.
Langkah 1: Konsep Ide
POV diimplementasikan dengan menempelkan tali LED ke roda sepeda.
Langkah 2: Daftar Bahan
Komputasi & I/O
1. Arduino Mega 2560 [arduino] x3
2. Modul sensor hall V2 [YwRobot] x3
3. WS2812-5050 Neopixel Fleksibel [Adafruit] x3
4. Magnetik (diameter 15mm, ketebalan 50mm) x3
5. Arduino Mega Case x3
Saluran Listrik
5. Baterai Lithium 5000mAh/3.7V [TheHan] x3
6. AVR 5V regulator & pengisian & modul PCM: JBATT-U5-LC [Jcnet] x3
7. Kit kawat 4Jumper 65PCS/SET [OR0012] x3
Langkah 3: Alat
Tidak terlalu banyak alat yang dibutuhkan namun Anda akan membutuhkan:
1. Mesin Solder
2. Besi solder
3. Pistol lem
4. Penjepit
Langkah 4: Membuat Bingkai
Memotong Sepeda dan Memasang Basis
Penggiling digunakan untuk memotong roda sepeda dari sepeda dan mengelas pelat baja untuk mengamankan roda.
Langkah 5: Membuat Sketsa Gambar dan Konsep Akhir
Kami memilih naga sebagai gambar akhir. Karena gelombang naga tampaknya paling baik diwakili oleh efek afterimage.
Langkah 6: Buat Potongan Gambar Bergerak
Bagilah gambar menjadi tiga bagian yang sesuai dengan masing-masing sepeda dan bagi total 12 gambar berdasarkan warna dan gerakan.
Langkah 7: Persiapan Perangkat Lunak
Sub bagian 1. Instal Arduino
Unduh Arduino:
(Instal agar sesuai dengan versi dan sistem OS Anda.)
-
Sub bagian 2. Instal perpustakaan
*(Jika Anda ingin menginstal melalui Github, silakan kunjungi tautan di atas Github Arduino Library:
1. Jalankan program Arduino
2. Izinkan tautan Menu atas – sketsa – sertakan perpustakaan – tambahkan. Zip library
3. Anda harus memilih file. Zip yang sudah diinstal github library4
*(Jika Anda ingin menggunakan layanan program Arduino)
1. Jalankan program Arduino
2. Izinkan tautan Menu atas – sketsa – sertakan perpustakaan – perpustakaan manajemen – cari ‘Adafruit neopixel’ – Anda dapat melihat ‘Adafruit Neopixel oleh Adafruit’
3. Instal dan perbarui perpustakaan
-
Sub bagian 3. Instal program konverter
1. Instal Program Rotation Circle (R. C. P):
2. Anda perlu membaca file README
Langkah 8: Membuat Catu Daya Perangkat Keras
*Begini cara mensuplai tegangan Arduino 5V melalui baterai. Silakan ikuti langkah-langkah di bawah ini.
1. Hubungkan baterai Lithium dan modul pengisian JBATT. (Untuk referensi, modul JBATT memiliki sakelar daya bawaan.)
2. Hubungkan terminal output JBATT ke terminal Vin Arduino dan terminal Ground.
3. Sambungkan port usb Micro 5pin ke port pengisian daya untuk memeriksa apakah produk telah berfungsi dengan baik.
4. Selanjutnya, putar sakelar internal ke ON.
5. Jika led merah menyala dan led hijau menyala di Arduino, konfigurasi tahap daya produk selesai secara normal.
Langkah 9: Membuat I/O Perangkat Keras & Memeriksa OUTPUT (NeoPixel Bekerja)
*Bagian ini terdiri dari tahap sensor dan keluaran
1. Hubungkan sensor Arduino dan Hall. Pin data terhubung ke pin Arduino 2.
2. Ketika Arduino dinyalakan dan magnet bersentuhan dekat dengan sensor Hall, led merah akan menyala.
3. Hubungkan Arduino dan Neopixel. Hanya 30 Neopiksel yang digunakan.
4. Hubungkan pin data dengan pin Arduino 6.
5. Hubungkan Arduino dan unduh kabel ke port usb komputer Anda dan jalankan Arduino di komputer Anda.
6. Pilih Alat – papan – “Arduino / Genuino Mega atau Mega 2560” dari bilah menu atas program Arduino.
7. Periksa apakah ada daftar produk yang dapat langsung dihubungkan ke port. Jika tidak dicentang, klik untuk memilihnya.
8. Tempel kode di bawah ini dan klik Unggah di kiri atas. (Setelah itu, semua unggahan program mengikuti langkah 5-8.)
9. Konfigurasi selesai ketika semua 30 piksel neoled menyala.
#1. termasuk file header dan preprocessing
Pertama kita perlu membawa perpustakaan Adafruit_NeoPixel yang mampu bertindak Neopixels.
Library dapat digunakan dengan mendeklarasikan objek.
Kelas Adafruit_NeoPixel dapat memasukkan 3 parameter di depan umum.
Parameter pertama adalah jumlah LED.
parameter detik adalah nomor pin yang terhubung ke input digital Neopixel.
Parameter ketiga adalah memasukkan opsi sesuai dengan karakteristik produk. produk WS2812b tiga warna menggunakan input 'NEO_GRB'
#termasuk
#define PIN 6 Adafruit_NeoPixel strip = Adafruit_Neopixel(30, PIN, NEO_GRB+NEO_KHZ800);
#2. mempersiapkan
Di bagian penyiapan, inisialisasi objek dan siapkan untuk digunakan.
'Adafruit_Neopixle_Object.begin()' menyetel semua LED untuk dimatikan.
Keluaran 'Adafruit_Neopixle_Object.show()' dengan kecerahan yang diatur dalam LED.
batalkan pengaturan(){
strip.mulai(); strip.tampilkan(); }
#3. lingkaran utama
Tindakan loop utama menggunakan loop for untuk secara berurutan mengeluarkan (0,1 detik) LED berwarna putih
lingkaran kosong(){
for(uint16_t i=0;i<strip.numPixels();i++){ strip.setPixelColor(i, 255, 255, 255); strip.tampilkan(); penundaan(100); } }
Langkah 10: Merakit dan Melampirkan ke Roda
1. Hubungkan Neopiksel. (Perhatikan cek nomor pin)
2. Hubungkan Sensor Hall. (Lihat Langkah.9)
3. Pasang bingkai ke Arduino di antara sepeda. (Pasang kasing Arduino sejajar dengan rangka sepeda).
4. Masukkan Arduino yang terhubung ke Neopixel. (Hati-hati karena lem tembaknya panas).
5. Masukkan sensor Hall yang terhubung ke Arduino, (Kencangkan pengikat kabel agar sensor Hall tidak jatuh).
6. Solder untuk menghubungkan baterai. (Hati-hati saat Anda menyolder).
7. Perbaiki dengan lem. (Pasang modul pengisian daya pada baterai untuk mengamankan ruang).
8. Colokkan setiap baris sebelum terhubung ke Arduino, 9. Colokkan sesuai nomor pin masing-masing. (Hubungkan garis lompat untuk modul pengisian daya tanpa membingungkannya).
10. Selesaikan dengan lem tembak sekali, (Harap hati-hati jangan sampai jatuh).
Langkah 11: Memeriksa INPUT (Data Sensor HALL)
*Periksa kode perangkat lunak untuk melihat apakah sensor berfungsi.
1. Tempel dan unggah kode di bawah ini.
2. Klik tombol Serial Monitor di kanan atas Arduino.
3. Ketika magnet bersentuhan dengan sensor Hall selama lebih dari 1 detik, konfigurasi selesai ketika kata "kontak magnet" muncul di monitor serial.
-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- #1. Tentukan nomor pin dan pengaturan
Nomor pin konfigurasi pertama yang menggunakan sensor Hall dan mengatur nomor pin sebagai port Input-only.
Atur komunikasi untuk memeriksa data sensor Hall pada monitor serial.
#tentukan Aula 2
void setup(){ pinMode(HALL, INPUT); Serial.begin(9600); }
#2. lingkaran utama
Periksa data sensor Hall pada interval 0,1 detik.
Jika magnet dirasakan dan data diubah, "magnet kontak" dikeluarkan ke monitor serial.
lingkaran kosong(){
if(digitalRead(HALL)){ Serial.println("kontak magnet"); } penundaan(100); }
Langkah 12: Algoritma Pengkodean
*Buat logika dan pengkodean untuk mengontrol Neopiksel berdasarkan nilai sensor.
1. Tempel dan unggah kode di bawah ini.
2. Adalah normal jika gambar tidak ditampilkan dengan benar karena tidak ada bingkai yang dihasilkan. Tapi Anda bisa melihatnya bekerja secara kasar.
3. Sentuh dan lepaskan sensor Hall dan magnet dengan cepat dalam 1 detik. Ulangi operasi ini sekitar 10 kali.
4. Konfigurasi selesai ketika warna Neopiksel berubah secara teratur.
#1. Termasuk file header dan preprocessing
Pertama, kita harus memahami bahwa memori Arduino Mega tidak cukup besar untuk menampung file gambar.
Oleh karena itu, file header 'avr/pgmspace' digunakan untuk memanfaatkan ruang memori yang berbeda.
Untuk menggunakan Neopiksel, Anda mendeklarasikan objek dan mengonfigurasi nomor pin I/O.
Array gambar terlalu besar untuk dikodekan, jadi unduh dan tempel file terlampir.
#termasuk
#sertakan #define PIN 6 #define NUMPIXELS 30 #define HALL 2 Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_RGB + NEO_KHZ800); // rekatkan array di 'image_array_1.txt' // " 'image_array_2.txt' // " 'image_array_3.txt' // " 'image_array_4.txt'
#2. Variabel & pengaturan global
Tetapkan variabel global.
Hal utama adalah mengatur kecerahan, itu menentukan siklus hidup produk.
int jumlah = 0;
ganda v = 0; ganda last_v = 0; penghitung waktu ganda = mikro(); double ex_timer = mikro(); double last_timer = mikro(); int derajat = 36; int piksel = 35; int rgb = 3; ganda q_arr[2] = {0, 0}; int HALL_COUNT = 0; VELO ganda; pemrosesan_timer ganda = mikro(); void setup(){ strip.setBrightness(255); strip.mulai(); strip.tampilkan(); Serial.begin(230400); }
#3. loop utama - bagian keluaran ekspresi gambar
Kode ini adalah pernyataan bersyarat tentang cara menampilkan waktu putaran roda berdasarkan resolusi.
Bagian ini menggunakan siklus memutar roda sepeda sekali sebagai parameter yang sangat penting.
Juga, penting untuk membaca data array gambar dari memori.
lingkaran kosong() {
if ((count (ex_timer / 120.0) - (micros() - processing_timer))) { timer = micros(); if (VELO > 360000) { for (int i = 0 + 5; i < pix; i++) { strip.setPixelColor(i - 5, strip. Color(pgm_read_byte(&(image_1[count][1])), pgm_read_byte(&(image_1[count][2])), pgm_read_byte(&(image_1[count][0])))); } strip.tampilkan(); } else if (VELO 264000) { for (int i = 0 + 5; i < pix; i++) { strip.setPixelColor(i - 5, strip. Color(pgm_read_byte(&(image_2[count][1])), pgm_read_byte(&(image_2[count][2])), pgm_read_byte(&(image_2[count][0])))); } strip.tampilkan(); } else if (VELO 204000) { for (int i = 0 + 5; i < pix; i++) { strip.setPixelColor(i - 5, strip. Color(pgm_read_byte(&(image_3[count][1])), pgm_read_byte(&(image_3[count][2])), pgm_read_byte(&(image_3[count][0])))); } strip.tampilkan(); } else if (VELO <= 204000) { for (int i = 0 + 5; i = 120)) { for (int i = 0 + 5; i < pix; i++) { strip.setPixelColor(i - 5, strip. Warna(0, 0, 0)); } strip.tampilkan(); }
#4. loop utama - pemrosesan dan pemeriksaan & penginderaan waktu siklus
Ini adalah bagian terpenting dari keseluruhan sistem.
Pertama, periksa waktu yang dibutuhkan untuk mengeksekusi seluruh kode dan sesuaikan waktu output LED per siklus.
Waktu yang dirasakan setiap kali roda berputar memprediksi waktu siklus berikutnya.
Percepatan dapat diperkirakan dengan mengurangkan waktu siklus terukur terakhir dari waktu siklus terukur tepat waktu.
Sistem menghitung waktu pemrosesan dan percepatan untuk menghitung berapa lama LED menyala terus menerus.
processing_timer = mikro();
if ((DigitalRead(HALL) == HIGH) && (HALL_COUNT == 1)) { VELO = v; v = mikro() - last_timer; ex_timer = q_arr[0] - q_arr[1] + v; last_timer = mikro(); q_arr[0] = q_arr[1]; q_arr[1] = v; menghitung = 0; HALL_COUNT = 0; } else if (digitalRead(HALL) == LOW) { HALL_COUNT = 1; } }
Langkah 13: Menggunakan Perangkat Lunak
*Gunakan perangkat lunak untuk mengubah gambar dan memasukkan data prosesi ke dalam kode
1. Masukkan gambar dari langkah di atas ke dalam folder gambar di folder R. C. P yang diinstal pada langkah persiapan.
- Cara memasang gambar adalah sebagai berikut.- Ganti nama 4 gambar animasi produk #1 dengan urutan 1.png, 2.png, 3.png, dan 4.png.- Ganti nama 4 gambar animasi produk #2 menjadi 5.png, 6.png, 7.png, 8.png.- Ganti nama 4 gambar animasi Produk #3 menjadi 9.png, 10.png, 11.png, 12.png.
2. Jalankan file Ver.5.exe.
3. Verifikasi bahwa 12 file pro_1_code_1.txt hingga pro_3_code_4.txt dibuat di folder R. C. P.
4. Jika belum dibuat, ubah isi config.txt menjadi file konfigurasi berikut.
5. Setelah file dibuat, salin seluruh konten dari file pro_1_code_1.txt dan tempel ke bagian yang ditunjukkan pada kode di bawah ini.
6. Tambahkan konten pro_1_code_2.txt, pro_1_code_3.txt, dan pro_1_code_4.txt ke bagian yang ditandai dalam urutan ke-5.
7. Mengacu pada 5 dan 6, pro_2_code…, pro_3_code melengkapi kode dengan cara yang sama.
Langkah 14: Selesai
Menyelesaikan produksi POV yang menciptakan satu gambar dengan tiga roda.
Direkomendasikan:
Suhu Tampilan Arduino pada Tampilan LED TM1637: 7 Langkah
Arduino Display Temperature pada LED Display TM1637 : Pada tutorial kali ini kita akan mempelajari cara menampilkan suhu menggunakan LED Display TM1637 dan sensor DHT11 serta Visuino
Waktu Tampilan Arduino pada Tampilan LED TM1637 Menggunakan RTC DS1307: 8 Langkah
Tampilan Waktu Arduino pada Tampilan LED TM1637 Menggunakan RTC DS1307 : Dalam tutorial ini kita akan mempelajari cara menampilkan waktu menggunakan modul RTC DS1307 dan Tampilan LED TM1637 dan Visuino
Cara Membuat Jam Realtime Menggunakan Tampilan Arduino dan TFT-Arduino Mega RTC Dengan Tampilan TFT 3,5 Inch: 4 Langkah
Cara Membuat Jam Realtime Menggunakan Layar Arduino dan TFT|Arduino Mega RTC Dengan Layar TFT 3,5 Inch Modul RTC 2560 dan DS3231….Sebelum memulai…cek video dari saluran YouTube saya..Catatan:- Jika Anda menggunakan Arduin
Tampilan Temperatur pada Modul Tampilan LED P10 Menggunakan Arduino: 3 Langkah (dengan Gambar)
Tampilan Temperatur Pada Modul Tampilan LED P10 Menggunakan Arduino : Pada tutorial sebelumnya telah diberitahukan cara menampilkan teks pada Modul Tampilan LED Dot Matrix P10 menggunakan Konektor Arduino dan DMD yang bisa anda cek disini. Dalam tutorial ini kami akan memberikan tutorial proyek sederhana dengan memanfaatkan modul P10 sebagai media tampilan
Tampilan Teks pada Tampilan LED P10 Menggunakan Arduino: 5 Langkah (dengan Gambar)
Tampilan Teks Pada Tampilan LED P10 Menggunakan Arduino : Dotmatrix Display atau yang lebih sering disebut dengan Running Text banyak dijumpai di toko-toko sebagai sarana mengiklankan produknya, sifatnya yang praktis dan fleksibel dalam penggunaannya yang mendorong para pelaku usaha menggunakannya sebagai saran iklan. Sekarang penggunaan Dot