Daftar Isi:
- Perlengkapan
- Langkah 1: Persediaan
- Langkah 2: Menentukan Catu Daya yang Tepat untuk LedWall Anda
- Langkah 3: Kabel Listrik
- Langkah 4: Menghubungkan Catu Daya
- Langkah 5: Menghidupkan ke ESP32S
- Langkah 6: Menghidupkan Strip Lampu LED
- Langkah 7: Menghubungkan ESP32 ke Strip Lampu LED
- Langkah 8: Mempersiapkan Komputer: Driver C2102
- Langkah 9: Perangkat Lunak Arduino - Menambahkan Dukungan ESP32 - Langkah 1
- Langkah 10: Perangkat Lunak Arduino - Menambahkan Dukungan ESP32 - Langkah 2
- Langkah 11: Perangkat Lunak Arduino - Menambahkan Dukungan ESP32 - Langkah 3
- Langkah 12: Menambahkan Perpustakaan ke Arduino IDE
- Langkah 13: Kode Pertama: Uji Strand
- Langkah 14: Kode Contoh SHU
- Langkah 15: Mengunggah Kode ke ESP32
- Langkah 16: Kutipan
Video: 500 LED Dinding Dengan ESP32: 16 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:55
Halo semuanya! Pada akhir tutorial ini Anda akan tahu cara membuat dinding LED Anda sendiri.
Tutorial ini didasarkan pada program musim panas yang ditawarkan di Universitas Hati Kudus.
Selamat bersenang-senang!
Perlengkapan
Persediaan yang tercantum di bawah ini.
Langkah 1: Persediaan
Mari kita mulai dengan mengumpulkan semua yang kita butuhkan untuk menyelesaikan Dinding Led kita:
(Tautan dibuat pada 10/7/2019)
Perangkat Lunak Arduino IDE
Pengontrol Mikro ESP32
Lampu Piksel LED
Sumber Daya listrik
Kabel listrik
Alat Pengupasan Kawat
Kabel Jumper papan tempat memotong roti
Kabel listrik
Langkah 2: Menentukan Catu Daya yang Tepat untuk LedWall Anda
Ada cara matematis sederhana untuk mengetahui catu daya mana yang terbaik untuk Anda gunakan.
Kami menggunakan hukum daya Ohm: P = IxV (Daya = Intensitas x Tegangan)
Tegangan ditentukan oleh led kami: dalam hal ini 5V.
Intensitas tergantung pada perangkat keras, satu Led mengkonsumsi 30mA.
Setiap strip 50 Led karena itu mengkonsumsi 50 x 30mA = 1250mA = 1,25A.
Oleh karena itu, dinding 500 Led kami mengkonsumsi 10 kali lipat (10 strip): 12,5A.
Penggunaan daya kemudian 5V x 12,5A = 62,5W untuk Led.
Tentu saja, di atas Led Anda perlu memperhitungkan ESP dan setiap item lain dari sirkuit Anda.
Kami memiliki catu daya 60A, kami memiliki lebih banyak dari yang kami butuhkan.
Langkah 3: Kabel Listrik
Catu daya kami dilengkapi dengan konektor kawat. Kita perlu mengadaptasi kabel daya untuk menghubungkannya ke steker 110V.
- Potong konektor perempuan dari kabel listrik. Kami akan menjaga bagian laki-laki, atau dikenal sebagai NEMA 5-15P.
- Lepaskan kabel agar tembaga sekitar 3mm terlihat di semua kabel.
Berikut adalah video tutorial singkat tentang cara mengupas kabel:
Langkah 4: Menghubungkan Catu Daya
Sekarang kami siap untuk memasang catu daya kami!
Selalu cabut catu daya setiap kali bekerja di atasnya.
Pengkabelan
- Kabel hitam (Fase) terhubung ke pin 'L' catu daya
- Kabel putih (Netral) terhubung ke pin 'N' catu daya
- Kabel hijau terhubung ke pin 'Ground' catu daya
(Jika kabel interior kabel daya Anda tidak memiliki warna yang sama dengan kabel kami, aman dan lihat skemanya secara online.)
Pengujian
Colokkan kabel daya komputer ke stopkontak mana pun. LED hijau pada catu daya harus menyala.
Langkah 5: Menghidupkan ke ESP32S
Melihat ESP Anda, seharusnya ada label di samping setiap pin. Jika tidak diberi label, Anda dapat mencari 'pinout' ESP individual Anda secara online.
Menggunakan kabel jumper papan tempat memotong roti pria ke wanita atau kabel listrik, sambungkan:
- Pin ESP32S '5V' ke '+V' catu daya (oranye pada foto di atas)
- Pin ESP32S 'GND' ke bagian '-V' dari catu daya (hitam pada foto di atas)
(Pada beberapa ESP, pin '5V' diberi label sebagai 'VCC', keduanya memiliki arti yang sama.)
Harap dicatat bahwa ESP Anda mungkin memiliki 'pinout' yang berbeda dari yang kami gunakan. Dengan demikian Anda mungkin menghubungkan kabel Anda ke lokasi yang berbeda dari pada gambar di atas. Selama Anda menghubungkan ke pin yang benar (5V & GND), lokasi fisik di papan tidak masalah.
TestingPlug di power supply Anda lagi, dan jika ESP Anda memiliki indikator LED (kebanyakan), itu akan menyala untuk menunjukkan daya sedang dikirim ke ESP. Selamat!
Langkah 6: Menghidupkan Strip Lampu LED
Menggunakan kabel listrik:
- Hubungkan kabel merah Strip Lampu LED ke V+ pada catu daya.
- Hubungkan kabel biru Strip Lampu LED ke V- pada catu daya.
Langkah 7: Menghubungkan ESP32 ke Strip Lampu LED
ESP32 kami menginstruksikan driver WS2811 yang terhubung ke setiap led warna dan kecerahan yang mereka butuhkan. Untuk melakukannya, ESP32 kami memerlukan kabel "data" ke strip.
Strip Led dilengkapi dengan konektor 3 kawat:
- Merah: Power- Biru: Netral- Putih: Data
Mari kita hubungkan kabel strip Led Putih ke pin digital pada ESP. Harap diingat nomor PIN yang dipilih karena kami akan perlu memilihnya dalam kode nanti. Kami mencolokkan milik kami ke pin 13.
Langkah 8: Mempersiapkan Komputer: Driver C2102
Sekarang perangkat keras kami terhubung, kami ingin mengunggah kode pertama kami untuk mengujinya. Secara default, Windows atau MacOs tidak dapat berkomunikasi dengan ESP32 kami. Untuk melakukannya, kami perlu mengunduh "driver" untuk chip komunikasi USB ESP: C2102.
Driver ini harus diunduh dan diinstal:
- Windows 10: https://www.silabs.com/documents/public/software/C…- Windows 7/8/8.1: https://www.silabs.com/documents/public/software/C…- Mac:
(Tautan per 7/10/2019)
Langkah 9: Perangkat Lunak Arduino - Menambahkan Dukungan ESP32 - Langkah 1
Sebelum kita dapat menggunakan ESP32 dengan perangkat lunak Arduino, kita perlu memastikan bahwa itu dikenali. Secara default, perangkat lunak Arduino tidak dapat mengkompilasi kode untuk ESP32 kita, mari kita perbaiki:
Langkah 1: Menambahkan papan ke manajer
1 - Klik di Arduino opsi File >> Preferences
2- Di bidang "URL Manajer Papan Tambahan", salin tautan berikut:
Langkah 10: Perangkat Lunak Arduino - Menambahkan Dukungan ESP32 - Langkah 2
Sekarang perangkat lunak Arduino "tahu" lebih banyak papan, mari instal dukungan ESP32 kami
Langkah 2: Menginstal dukungan ESP32
1 - Di menu atas, pilih: Tools >> Board >> Boards Manager
2 - Sebuah jendela akan muncul. Gunakan kotak pencarian, yang terletak di sudut kanan atas, untuk menemukan "ESP32".
3 - Cari yang dibuat oleh espressif. Instal. (Lihat gambar)
Langkah 11: Perangkat Lunak Arduino - Menambahkan Dukungan ESP32 - Langkah 3
Sekarang perangkat lunak Arduino dapat berkomunikasi dengan ESP32 kami, mari colokkan ke komputer dan verifikasi bahwa semuanya berfungsi.
1 - Pastikan kita bekerja pada platform ESP32:
Klik Tools >> Board >> ESP32 Dev Module
1- Mari kita pastikan bahwa perangkat lunak Arduino tahu bagaimana berkomunikasi dengan ESP kita:
Klik Tools >> Port dan pilih salah satu yang muncul dari mencolokkan kabel ini.
Penting:
Jika Anda memiliki masalah dalam mengunggah kode ke ESP Anda, periksa kedua menu itu terlebih dahulu. Jika port tidak dipilih dengan tanda centang, maka perangkat lunak Arduino tidak akan berkomunikasi dengannya.
Langkah 12: Menambahkan Perpustakaan ke Arduino IDE
Sekarang kita akan menambahkan perpustakaan yang memungkinkan kita menguji Dinding Led kita!
1- Klik Alat >> Kelola Perpustakaan.
2- Di sudut kanan atas, cari NeoPixelBus. Cari "NeoPixelBus by Makuna", instal (lihat gambar)
Potensi Perpustakaan menarik lainnya:(Tidak diperlukan untuk tutorial ini)
- NeoMatrix
- LED Cepat
- Artnet
- GFX
Langkah 13: Kode Pertama: Uji Strand
Kode pertama kami adalah contoh dari Library.
Anda dapat menyalin / menempelkan kode di bawah ini atau mengklik:
File >> Contoh >> Adafruit NeoPixelBus >> Strandtest
Pastikan untuk mengubah LED_PIN Anda ke yang Anda gunakan untuk menghubungkan LED Anda secara fisik. Kami menggunakan 13 sepanjang tutorial ini.
Pastikan juga untuk menyesuaikan ukuran untaian dengan variabel LED_COUNT.
// Program Striptest LED sehari-hari dasar.
#include#ifdef _AVR_ #include // Diperlukan untuk Adafruit Trinket 16 MHz #endif // Pin mana pada Arduino yang terhubung ke NeoPixels? #define LED_PIN 13 // Berapa banyak NeoPixels yang terpasang ke Arduino? #define LED_COUNT 500 // Deklarasikan objek strip NeoPixel kami: Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); // Argumen 1 = Jumlah piksel dalam strip NeoPixel // Argumen 2 = Nomor pin Arduino (sebagian besar valid) // Argumen 3 = Bendera jenis piksel, tambahkan sesuai kebutuhan: // NEO_KHZ800 800 KHz bitstream (sebagian besar produk NeoPixel w/ WS2812 LEDs) // NEO_KHZ400 400 KHz (piksel FLORA klasik 'v1' (bukan v2), driver WS2811) // NEO_GRB Piksel disambungkan untuk bitstream GRB (sebagian besar produk NeoPixel) // Piksel NEO_RGB disambungkan untuk bitstream RGB (piksel FLORA v1, bukan v2) // NEO_RGBW Piksel disambungkan untuk bitstream RGBW (produk NeoPixel RGBW) // fungsi setup() -- berjalan sekali saat startup -------------------- ------------ void setup() { // Baris-baris ini khusus untuk mendukung Adafruit Trinket 5V 16 MHz. // Papan lainnya, Anda dapat menghapus bagian ini (tetapi tidak ada salahnya meninggalkannya): #if didefinisikan(_AVR_ATtiny85_) && (F_CPU == 16000000) clock_prescale_set(clock_div_1); #endif // END dari kode khusus Trinket. strip.mulai(); // INITIALIZE NeoPixel strip objek (DIPERLUKAN) strip.show(); // Matikan semua piksel ASAP strip.setBrightness(50); // Atur BRIGHTNESS menjadi sekitar 1/5 (maks = 255) } // fungsi loop() -- berjalan berulang kali selama board aktif --------------- void loop() { // Isi sepanjang strip dengan berbagai warna… colorWipe(strip. Color(255, 0, 0), 50); // Warna merahHapus(strip. Warna(0, 255, 0), 50); // Warna hijauHapus(strip. Warna(0, 0, 255), 50); // Biru // Buat efek teater dalam berbagai warna… theaterChase(strip. Color(127, 127, 127), 50); // White, setengah kecerahan theaterChase(strip. Color(127, 0, 0), 50); // Merah, setengah kecerahan theaterChase(strip. Color(0, 0, 127), 50); // Biru, pelangi setengah kecerahan (10); // Siklus pelangi yang mengalir di sepanjang strip theaterChaseRainbow(50); // Varian theatreChase yang disempurnakan dengan pelangi } // Beberapa fungsi kita sendiri untuk membuat efek animasi ----------------- // Mengisi piksel strip satu demi satu dengan warna. Strip TIDAK dihapus // pertama; apa pun di sana akan tertutup piksel demi piksel. Berikan warna // (sebagai nilai 32-bit 'dikemas' tunggal, yang bisa Anda dapatkan dengan memanggil // strip. Color(red, green, blue) seperti yang ditunjukkan pada fungsi loop() di atas), // dan a waktu tunda (dalam milidetik) antar piksel. void colorWipe(uint32_t color, int wait) { for(int i=0; i strip.setPixelColor(i, color); // Atur warna piksel (dalam RAM) strip.show(); // Perbarui strip agar sesuai dengan delay(wait); // Berhenti sejenak } } // Lampu kejar gaya teater-marquee. Berikan warna (nilai 32-bit, // a la strip. Warna(r, g, b) seperti yang disebutkan di atas), dan waktu tunda (dalam ms) // antar frame.void theaterChase(uint32_t color, int wait) { for(int a=0; a<10; a++) { // Ulangi 10 kali… for(int b=0; b<3; b++) { // 'b' menghitung dari 0 hingga 2… strip.clear(); // Mengatur semua piksel dalam RAM ke 0 (mati) // 'c' menghitung dari 'b' hingga akhir strip dalam langkah 3… for(int c=b; c strip.setPixelColor(c, color); // Setel piksel 'c' ke nilai 'warna' } strip.show(); // Perbarui strip dengan penundaan konten baru (tunggu); // Jeda sejenak } } } // Siklus pelangi di sepanjang strip. Lewati waktu tunda (dalam md) antar bingkai. void rainbow(int wait) { // Rona piksel pertama menjalankan 5 loop lengkap melalui roda warna. // Roda warna memiliki kisaran 65536 tetapi itu OK jika kita berguling, jadi // hitung saja dari 0 hingga 5*65536. Menambahkan 256 ke firstPixelHue setiap kali // berarti kita akan membuat 5*65536/256 = 1280 melewati loop luar ini: for(long firstPixelHue = 0; firstPixelHue < 5*65536; firstPixelHue += 256) { for(int i= 0; I // Offset rona piksel dengan jumlah untuk membuat satu putaran penuh // roda warna (kisaran 65536) sepanjang strip // (strip.numPixels() langkah): int pixelHue = firstPixelHue + (i * 65536L / strip.numPixels()); // strip. ColorHSV() dapat mengambil 1 atau 3 argumen: hue (0 hingga 65535) atau // opsional menambahkan saturasi dan nilai (kecerahan) (masing-masing 0 hingga 255). // Di sini kita hanya menggunakan varian rona argumen tunggal. Hasilnya // diteruskan melalui strip.gamma32() untuk memberikan warna 'lebih benar' // sebelum menetapkan ke setiap piksel: strip.setPixelColor(i, strip.gamma32 (strip. ColorHSV(pixelHue))); } strip.show(); // Perbarui strip dengan konten baru delay(tunggu); // Jeda sejenak } } // Tenda teater yang disempurnakan dengan pelangi. Lewati waktu tunda (dalam ms) antar frame. void theaterChaseRainbow(int wait) { i nt firstPixelHue = 0; // Piksel pertama dimulai dengan warna merah (hue 0) for(int a=0; a<30; a++) { // Ulangi 30 kali… for(int b=0; b RGB strip.setPixelColor(c, color); / / Atur piksel 'c' ke nilai 'warna' } strip.show(); // Perbarui strip dengan konten baru delay(tunggu); // Jeda sejenak duluPixelHue += 65536 / 90; // Satu siklus roda warna lebih dari 90 bingkai } } }
Langkah 14: Kode Contoh SHU
Kode kami menyalakan semua Led satu per satu untuk memastikannya berfungsi:
// Contoh ini akan menggilir antara menampilkan 500 piksel sebagai Merah
#includeconst uint16_t PixelCount = 500; // contoh ini mengasumsikan 4 piksel, membuatnya lebih kecil akan menyebabkan kegagalan const uint8_t PixelPin = 13; // pastikan untuk menyetel ini ke pin yang benar, diabaikan untuk Esp8266
#define colorSaturation 128// tiga elemen piksel, dalam urutan dan kecepatan yang berbeda
Strip NeoPixelBus (PixelCount, PixelPin);
//NeoPixelBus strip(PixelCount, PixelPin); RgbWarna merah (0, saturasi warna, 0); RgbWarna hijau(Saturasi warna, 0, 0); RgbWarna biru (0, 0, saturasi warna); RgbWarna putih(WarnaSaturasi); RGBWarna hitam(0); HslWarna hslMerah(merah); HslWarna hslHijau(hijau); HslWarna hslBiru(biru); HslWarna hslPutih(putih); HslWarna hslHitam(hitam); void setup() { Serial.begin(115200) while (!Serial); // tunggu serial melampirkan Serial.println(); Serial.println("Inisialisasi…"); Serial.flush(); // ini me-reset semua neopiksel ke status off strip. Begin(); strip. Tampilkan(); Serial.println(); Serial.println("Berjalan…"); } void loop() { delay(100); Serial.println("Warna R, G, B, W…"); for(int i = 0; i <=499;i++){ // mengatur warna, // jika tidak sesuai urutan, Anda perlu menggunakan strip fitur NeoGrbFeature. SetPixelColor(i, red);strip. Show (); penundaan(100); strip. SetPixelColor(i, hslRed); strip. Tampilkan(); penundaan(100); }}
Langkah 15: Mengunggah Kode ke ESP32
Penting:
Untuk dapat mengunggah kode ke pengontrol mikro apa pun, kode tersebut harus dalam mode pemrograman. Sebagian besar melakukan ini secara otomatis dan yang harus Anda lakukan hanyalah mengklik unggah di perangkat lunak.
ESP32 kami mengharuskan Anda untuk menahan tombol pemrograman saat kode sedang dikirim. Anda juga perlu mengatur ulang setelah kode diunggah dengan menekan satu kali tombol reset.
Tombol pemrograman ESP32 kami terletak di sebelah kiri, tombol reset di sebelah kanan. Silakan merujuk ke manual Anda jika Anda memiliki mikrokontroler lain.
Langkah 16: Kutipan
Instruksi ini dibuat dengan bantuan tutorial berikut:
randomnerdtutorials.com/installing-the-esp…
Digunakan untuk menginstal ESP32 ke Arduino IDE.
Penulis:
Nathaniel BaroneGabriel Castro
Editor:
Cedric Bleimling
Direkomendasikan:
Jam Dinding Meledak DIY Dengan Pencahayaan Gerak: 20 Langkah (dengan Gambar)
Jam Dinding Meledak DIY Dengan Pencahayaan Gerak: Dalam instruksi / video ini saya akan menunjukkan kepada Anda langkah demi langkah bagaimana membuat jam dinding yang tampak kreatif dan unik dengan sistem pencahayaan gerak terintegrasi. Ide desain jam yang cukup unik ini berorientasi untuk membuat jam lebih interaktif . Ketika saya berjalan
Dinding Ubin LED Interaktif (Lebih Mudah Dari Kelihatannya): 7 Langkah (dengan Gambar)
Dinding Ubin LED Interaktif (Lebih Mudah Dari Kelihatannya): Dalam proyek ini saya membangun tampilan dinding LED interaktif menggunakan Arduino dan komponen cetak 3D. Inspirasi untuk proyek ini sebagian datang dari ubin Nanoleaf. Saya ingin membuat versi saya sendiri yang tidak hanya lebih terjangkau, tetapi juga
Pengontrol Strip LED Outlet Dinding Nirkabel Arduino ESP32 Praktis: 6 Langkah
Arduino ESP32 Wireless Wall Outlet LED Strip Controller yang praktis: Ini adalah pengontrol Stopkontak Nirkabel DIY yang sangat praktis untuk strip LED berbiaya rendah. Ini menggantikan pengontrol wifi murah yang dijual di EBay. Mereka bekerja dengan baik dengan strip Led RGB. Kontroler EBay Wifi tidak dibangun dengan baik, dan mudah rusak. Juga
Lampu Led Animasi Dinding Berdebu Arduino Dengan Efek Cahaya: 11 Langkah (dengan Gambar)
Lampu Led Animasi Arduino Dinding Berdebu Dengan Efek Cahaya: Saya baru saja memiliki bayi dan setelah melakukan kamar tidurnya, saya membutuhkan lampu di dinding. Karena saya sangat menyukai LED, saya memutuskan untuk membuat sesuatu. Saya juga menyukai pesawat pada umumnya, jadi mengapa tidak meletakkan pesawat dari kartun di dinding, di sini saat itu dimulai dan bagaimana saya melakukannya. Semoga
Tampilan Dinding Dakboard Dengan Pi Zero W: 6 Langkah (dengan Gambar)
Tampilan Dinding Dakboard Dengan Pi Zero W: Saya bekerja di bidang IT. Seringkali kami mendapatkan pelanggan yang ingin kami melepas kit lama mereka. Ini biasanya meninggalkan kita dengan tumpukan memo, dan monitor adalah salah satu hal yang kita temukan yang terbuang. Di rumah saya telah memutakhirkan monitor saya sendiri dan ini meninggalkan