Isi kandungan:
- Bekalan
- Langkah 1: Siapkan Arduino IDE Anda untuk Menyokong ESP32
- Langkah 2: Sambungkan Matriks LED ke ESP32
- Langkah 3: Menyatukannya
- Langkah 4: Fail Arduino IDE dan INO
- Langkah 5: Kod
Video: ESP32 Scrolling WordClock pada LED Matrix: 5 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:07
Dalam projek ini saya membuat Scrolling WordClock dengan ESP32, LED Matrix dan kotak cerut.
WordClock adalah jam yang mengeja waktu daripada hanya mencetaknya di skrin atau mempunyai tangan yang boleh anda baca. Jam ini akan memberitahu anda bahawa sudah 10 minit lewat pukul 3 petang, atau tengah hari. Saya bahkan memprogramkannya untuk menggunakan nama Prevening (dari Teori Big Bang) untuk jangka masa yang tidak jelas antara petang dan petang. Bermula 4:00 PM.
ESP32 hebat, mereka sangat menyeronokkan dan sangat murah, Sekiranya anda gemar memprogram Arduino, anda pasti akan kagum dengan apa yang boleh dilakukan oleh ESP32 dengan harga di bawah $ 10. Mereka menggunakan Arduino IDE dan mudah diprogramkan. Saya akan menunjukkan cara melakukannya dalam arahan ini.
Bekalan
- ESP32 - sekitar $ 10 untuk amazon
- Matrik LED (maks7219) (dan wayar) - $ 9 amazon
- Kotak cerut
- Kabel kuasa USB
- Pencetak 3d pilihan untuk pendirian esp32
Langkah 1: Siapkan Arduino IDE Anda untuk Menyokong ESP32
Dapatkan IDE Arduino:
- Dalam penyemak imbas pergi ke
- Klik pada Perisian kemudian Muat turun untuk mendapatkan ARDUINO 1.8.12
Tambahkan Sokongan ESP32 ke Arduino IDE anda:
- Mulakan Arduino IDE
- Klik pada Menu Fail kemudian Keutamaan.
Setelah berada di "Preferences", tambahkan sokongan pengeluar dengan menambahkan baris berikut ke "Pengurus Papan Tambahan"
dl.espressif.com/dl/package_esp32_index.js
Ini akan memberi kita akses untuk menambahkan papan ke IDE
Pergi ke Menu Tools dan kemudian Papan dan pergi ke pengurus papan
Carian seterusnya untuk "ESP" dan tambahkan pakej oleh Expressif.
Terakhir kami ingin kembali ke Menu "Tools", kemudian "Board" sekali lagi dan tatal ke bawah untuk mencari peranti ESP32 anda.
Mine adalah "Modul Wrover ESP32"
Langkah 2: Sambungkan Matriks LED ke ESP32
Matriks LED terdiri daripada empat blok 8x8 LED dan menggunakan cip MAX7219. Itu memberi kita 8x32 LED di Matrix atau 256 LED !!!.
Esp32 duduk di penahan yang saya buat di TinkerCad. Pemegang saya memegang pin menghadap ke atas sehingga anda boleh memasang wayar.
Matriks LED menyambung ke ESP32 menggunakan SPI (Serial Peripheral Interface).
Gunakan Wayar Wanita / Perempuan dan pin Sambungan seperti berikut:
- ESP32 - 5v ke VCC di Matrix
- ESP32 - GND ke GND di Matrix
- ESP32 - PIN5 (G5) ke CS di Matrix
- ESP32 - PIN23 (G23) kepada Din di Matrix
- ESP32 - Pin 18 (G18) untuk CLK di Matrix
Anda mungkin menggunakan pin lain atau jika ESP32 anda mempunyai pinout yang berbeza.
Langkah 3: Menyatukannya
Seterusnya saya memotong kotak cerut untuk memberi saya tempat meletakkan paparan LED. Kotaknya lembut dan saya dapat menggunakan pisau cukur. Kemudian saya pasir untuk menghaluskannya.
Saya juga memotong keseluruhan di bahagian belakang untuk kabel kuasa. Saya baru menggunakan kuasa USB. Saya juga boleh menambahkan bateri pengecas telefon USB di dalam kotak cerut sekiranya saya mahukan ia tanpa wayar.
Langkah 4: Fail Arduino IDE dan INO
Bahagian terbaik adalah kod. Tetapi pertama-tama kita mesti menambah perpustakaan untuk membolehkan program menggunakan paparan dengan cara yang lebih mudah. Saya menambah perpustakaan MD_MAX72xx.
Untuk menambah perpustakaan, klik pada menu "Sketsa", kemudian "Sertakan Perpustakaan" dan "Urus Perpustakaan" ini akan dimuat dan membolehkan anda mencari perpustakaan MD_MAX72xx. Cukup klik pada pemasangan dan anda memilikinya.
Seterusnya dapatkan Fail Arduino INO saya:
github.com/aapicella/wordClock/blob/master/Word_Clock_LED_NTP_final_.ino
Muatkan fail ino ke dalam Arduino IDE anda, Sambungkan USB dari ESP32 ke komputer anda.
Klik pada "Sketsa" kemudian Muat Naik
Pada ketika ini jam tidak akan berfungsi, ESP32 tidak akan memaparkan apa-apa. Kenapa? kami perlu menambahkan WIFI anda ke kod kerana WordClock menyambung ke internet untuk mendapatkan masa. Betul… langkah seterusnya ->.
Langkah 5: Kod
Kami akhirnya berjaya ke bahagian kegemaran saya. Program yang. Saya akan membahasnya dari atas ke bawah jika anda berminat, Untuk menjadikan program ini berfungsi dengan internet di rumah anda, anda hanya perlu mengubah baris ini.
// Tambahkan maklumat rangkaian anda
const char * ssid = "xxxxxx";
const char * kata laluan = "xxxxxx";
Program ini agak rumit, tetapi sangat menyeronokkan.
Untuk mematikan "Prevening" ubah saja nilai menjadi false:
const boolean MENCEGAH = benar; // Teori Big Bang.
Untuk melumpuhkan paparan waktu digital setelah menatal ubah ini menjadi salah.
const boolean DISPLAY_DIGITAL = benar; // hidupkan paparan waktu digital setelah menatal.
Menatal Masa:
Saya mendapat masa dari pelayan masa di internet menggunakan NTP (Network Time Protocol). Masa dipegang dalam pemboleh ubah yang disebut timeinfo dan kita mendapat jam dan minit darinya
int hour = timeinfo.tm_hour; /// 0-23
int minit = timeinfo.tm_min; // 0-59
Periksa seterusnya AM atau PM
PAGInya jika jam <12
Saya membuat rentetan yang disebut "theTime" dan memulakannya dengan:
Masa = "Ini";
Untuk mendapatkan nombor sebagai perkataan, saya membuat susunan perkataan untuk nombor hingga 30
const char * nombor = {
"0", "Satu", "Dua", "Tiga", "Empat", "Lima", "Enam", "Tujuh", "Lapan", "Sembilan", "Sepuluh", "Sebelas", "Dua Belas "," Tiga Belas "," Empat Belas "," Kuartal "," Enam belas "," Tujuh belas "," Lapan belas "," Sembilan belas "," Dua Puluh "," Dua Puluh Satu "," Dua Puluh Dua "," Dua Puluh Tiga "," Dua Puluh Empat "," Dua Puluh Lima "," Dua Puluh Enam "," Dua Puluh Tujuh "," Dua Puluh Lapan "," Dua Puluh Sembilan "," Separuh Masa Lalu "};
Jadi apabila jam 12:05 atau lima minit melewati dua belas, ia benar-benar menuju Arduino
nombor [5] minit lalu nombor [12]
Untuk menentukan sama ada "Minutes Past" atau "Minutes To" kita hanya melihat minitnya. Sekiranya minit <31 itu adalah "Minutes Past" jika minit lebih besar daripada 31 kita menggunakan "Minutes To" tetapi menggunakan nombor [60-minit] jadi 12:50 akan menjadi 60-50 minit atau angka [10] yang akan beri kami 10 Minit Hingga jam 12 0'.
Sudah tentu ada peraturan lain seperti pada 15, 30, 45 kita tidak menggunakan minit hanya setengah lewat atau seperempat hingga, dan jika minitnya 0 waktunya hanya "Sepuluh Jam" atau Siang.
Jadi untuk menyatukannya, saya tambahkan semua item ke String theTime kemudian paparkan pada LED Matrix. Saya menggunakan banyak pernyataan If. Saya mungkin sepatutnya menggunakan casing tetapi lebih mudah untuk terus menambahkannya.
Sebagai contoh kita 12:05
Masa = "Ini"
jika minit <31 penggunaan "Minutes Past" sebaliknya "Minute To"
theTime + = angka [5] + "Minutes Past" + nombor [12] + "O'Clock" // Catatan: Notasi + = dilampirkan.
Seterusnya kita melihat jam untuk menentukan sama ada pagi, petang atau petang.
Masa + = "Pada Petang"
String terakhir yang menuju ke matriks adalah:
"Ini Lima Minit Selepas Dua Belas O'Clock di Petang"
Projek ini sangat menyeronokkan untuk ditulis. Sekiranya anda suka sila klik Hati dan Undilah saya.
Disyorkan:
Cara Menggunakan Debugger pada Langkah ESP32: 11 (dengan Gambar)
Cara Menggunakan Debugger pada ESP32: Pernahkah anda ingin melihat kod anda untuk melihat mengapa ia bertindak seperti itu? Secara tradisinya dalam projek ESP32, anda perlu menambahkan pernyataan cetak tanpa henti untuk mengetahui apa yang sedang berlaku, tetapi ada cara yang lebih baik
PWM Dengan ESP32 - LED Peredupan Dengan PWM pada ESP 32 Dengan Arduino IDE: 6 Langkah
PWM Dengan ESP32 | LED Peredupan Dengan PWM pada ESP 32 Dengan Arduino IDE: Dalam arahan ini kita akan melihat bagaimana menghasilkan isyarat PWM dengan ESP32 menggunakan Arduino IDE & PWM pada dasarnya digunakan untuk menghasilkan output analog dari mana-mana MCU dan output analog itu boleh menjadi antara 0V hingga 3.3V (dalam kes esp32) & dari
PENGIKTIRAFAN INSTAGRAM SCROLLING DALAM 8X32 LED DOT MATRIX DISPLAY MENGGUNAKAN ESP32: 4 Langkah
PEMINAT INSTAGRAM SCROLLING DALAM 8X32 LED DOT MATRIX DISPLAY DENGAN MENGGUNAKAN ESP32: Ini adalah arahan ke-2 saya dan maaf atas bahasa Inggeris saya yang lucu. Dalam arahan ini, kami akan menatal pengikut instagram kami dalam paparan 8X32 dot matrix. Tanpa membuang masa mari kita mulakan
Memasang Windows pada Pemacu Luaran Dengan Partition Mac pada Mac: 5 Langkah (dengan Gambar)
Memasang Windows pada Pemacu Luaran Dengan Partisi Mac di Mac: Sekiranya anda telah membeli sesuatu seperti MacBook pro asas dan menyimpan sedikit wang tunai, tetapi kemudian segera menghadapi masalah penyimpanan ketika cuba memasang tetingkap menggunakan Bootcamp Kita semua tahu bahawa 128 gb tidak diperlukan ini supaya kita mungkin membeli sesuatu
Paparan LED Scrolling 16x64 P10 Menggunakan Mikrokontroler PIC16F877: 5 Langkah (dengan Gambar)
Paparan LED 16x64 P10 Scrolling Menggunakan Mikrokontroler PIC16F877: Dalam arahan ini, menerangkan cara antara muka Paparan matriks LED 16 x 64 (p10) dengan mikrokontroler PICI6F877A. Data dihantar ke mikrokontroler melalui UART yang disimpan di EEPROM dan data akan dipaparkan pada paparan matriks LED. Ia