Butang Tekan dengan ESP32 – Arduino IDE

Butang Tekan Dengan Esp32 Arduino Ide



ESP32 ialah papan IoT yang boleh disambungkan dengan peranti luaran yang berbeza untuk menjana output. ESP32 mengambil input daripada peranti seperti butang tekan dan menjana respons mengikut input yang diterima. Butang tekan boleh digunakan untuk mengawal berbilang penderia dan peranti seperti mengawal LED atau mengekalkan kelajuan motor. Di sini dalam pelajaran ini, kita akan membincangkan antara muka butang tekan dengan ESP32.

Berikut ialah jadual kandungan untuk pelajaran ini:







1: Pengenalan kepada Butang Tekan



2: Mengerjakan Butang Tekan



2.1: Mod Kerja Butang Tekan





3: Mengantaramukakan Butang Tekan dengan ESP32

3.1: Pin Output Input Digital dalam ESP32



3.2: Cara Membaca Input Digital dalam ESP32

3.3: Mengantaramukakan Butang Tekan dengan ESP32 Menggunakan Fungsi Bacaan Digital

3.4: Perkakasan Diperlukan

3.5: Skema

3.6: Kod untuk Mengantaramuka ESP32 dengan Butang Tekan

3.7: Output

1: Pengenalan kepada Butang Tekan

Butang tekan ialah butang ringkas dengan mekanisme untuk mengawal keadaan mesin atau proses yang berbeza. Butang tekan diperbuat daripada bahan keras seperti plastik atau logam dan permukaan atas biasanya rata yang membolehkan pengguna menekannya.

Dalam projek ESP32, butang tekan digunakan secara meluas untuk mengawal keadaan input dan output pin. Togol suis dan butang tekan beroperasi pada prinsip yang sedikit berbeza. Suis konvensional atau togol dihentikan sebaik sahaja ia ditekan manakala butang tekan ialah peranti dua kedudukan yang biasanya berhenti apabila ia dilepaskan.

Mari kita mendalami prinsip kerja butang Tekan secara terperinci:

2: Mengerjakan Butang Tekan

Butang tekan biasanya mempunyai 4 pin. 4 pin ini disambungkan dalam bentuk sepasang seperti dua pin atas disambung secara dalaman begitu juga dua pin yang lain juga disambungkan secara dalaman.


Untuk mengetahui dua pin yang disambungkan, ambil multimeter (DMM) dan tetapkannya ujian kesinambungan , sekarang pasangkan kuar positif dengan mana-mana kaki butang dan kemudian satu demi satu pasangkan kuar negatif multimeter dengan kaki yang lain. Jika sambungan lengkap antara kedua-dua hujung bunyi bip boleh didengari daripada multimeter. Kedua-dua kaki yang disambungkan secara dalaman akan melengkapkan litar.

2.1: Mod Kerja Butang Tekan

Untuk menggunakan butang tekan dalam litar kita memerlukan satu pin daripada setiap pasangan yang disambungkan secara dalaman. Jika kita mengambil pin butang tekan daripada pasangan yang sama yang disambungkan secara dalaman akan mengakibatkan litar pintas kerana ini telah disambungkan, ia akan memintas mekanisme butang tekan.

Berdasarkan mekanisme ini butang tekan boleh berfungsi dalam dua mod berikut:


Jika kita mengambil contoh mod yang ditunjukkan dalam imej di bawah. Kita dapat melihat bahawa apabila butang tidak ditekan sambungan dalaman terbuka apabila butang ditekan terminal A dan B dalaman akan disambungkan dan litar akan selesai.


Kini kami telah menyelesaikan prinsip asas di sebalik kerja butang tekan. Seterusnya kami akan antara muka butang tekan mudah dengan ESP32 dan mengawal LED menggunakannya.

3: Mengantaramukakan Butang Tekan dengan ESP32

Sebelum menghubungkan butang tekan dengan ESP32 seseorang mesti mengetahui pin GPIO yang boleh digunakan sebagai input. Sekarang kita akan membincangkan pin output input digital dalam ESP32.

3.1: Pin Output Input Digital dalam ESP32

ESP32 mempunyai sejumlah 48 pin yang setiap satunya adalah khusus untuk fungsi tertentu, antara 48 pin ada yang tidak terdedah secara fizikal bermakna kita tidak boleh menggunakannya untuk tujuan luaran. Pin ini disepadukan di dalam ESP32 untuk fungsi yang berbeza.

Papan ESP32 mempunyai 2 varian berbeza 36 pin dan 30 pin. Di sini perbezaan 6 pin antara kedua-dua papan terletak kerana 6 pin kilat SPI bersepadu yang tersedia untuk komunikasi SPI pada 36 pin varian papan ESP32. Walau bagaimanapun, 6 pin SPI ini tidak boleh digunakan untuk tujuan lain seperti output input.

Pinout yang diberikan di bawah adalah daripada 30 pin Papan ESP32:


Di antara semua GPIO hanya 4 pin ( 34, 35, 36 dan 39 ) adalah input sahaja manakala semua pin lain boleh digunakan untuk kedua-dua input dan output. Seperti yang dinyatakan di atas, 6 pin SPI tidak boleh digunakan untuk input atau output.

3.2: Cara Membaca Input Digital dalam ESP32

Input butang tekan boleh dibaca pada pin GPIO yang ditentukan yang mempunyai fungsi pinMode() perlu ditakrifkan terlebih dahulu di dalam kod Arduino. Fungsi ini akan menetapkan pin GPIO sebagai input. pinMode() Sintaks fungsi adalah seperti berikut:

pinMod ( GPIO, INPUT ) ;


Untuk membaca data daripada pin GPIO yang ditentukan digitalRead() fungsi akan dipanggil. Berikut ialah arahan yang boleh digunakan untuk mengambil data dari butang tekan pada pin GPIO:

digitalRead ( GPIO ) ;

3.3: Mengantaramukakan Butang Tekan dengan ESP32 Menggunakan Fungsi Bacaan Digital

Sekarang kita akan antara muka ESP32 dengan butang tekan menggunakan bacaan digital berfungsi pada mana-mana pin GPIO. Mengambil input daripada butang tekan, LED akan dihidupkan atau DIMATIKAN.

3.4: Perkakasan Diperlukan

Di bawah ialah senarai komponen yang diperlukan:

    • Papan ESP32
    • Sebuah LED
    • 220 Ohm perintang
    • Butang Tekan 4 Pin
    • Papan roti
    • Menyambung wayar Jumper

3.5: Skema

Imej di bawah ialah gambarajah skema butang tekan dengan ESP32. Di sini input dibaca daripada butang tekan pada GPIO pin 15, dan LED disambungkan pada GPIO pin 14.

3.6: Kod untuk Mengantaramuka Butang Tekan dengan ESP32

Sekarang untuk memuat naik kod ke ESP32 Arduino IDE editor akan digunakan. Buka IDE dan sambungkan papan ESP32 selepas itu pilih port COM dari bahagian alat. Setelah papan ESP32 sedia tampal kod dalam IDE dan klik muat naik:

const int Push_Button = lima belas ; /* Pin digital lima belas ditakrifkan untuk Tekan butang */
const int LED_Pin = 14 ; /* Pin digital 14 ditakrifkan untuk LED */
int Button_State = 0 ;
persediaan kosong ( ) {
Bersiri.mulakan ( 115200 ) ;
pinMod ( Butang_Tekan, INPUT ) ; /* GPIO lima belas ditetapkan sebagai Input */
pinMod ( LED_Pin, OUTPUT ) ; /* GPIO 14 ditetapkan sebagai Pengeluaran */
}
gelung kosong ( ) {
Button_State = digitalRead ( Tekan butang ) ; /* Semak keadaan butang tekan */
Serial.println ( Button_State ) ;
jika ( Button_State == TINGGI ) { /* jika syarat untuk menyemak status butang */
digitalWrite ( LED_Pin, TINGGI ) ; /* LED keadaan TINGGI HIDUP */
} lain {
digitalWrite ( LED_Pin, RENDAH ) ; /* Lain LED DIMATIKAN */
}
}


Kod dimulakan dengan mentakrifkan pin GPIO untuk LED dan butang tekan. Selepas itu GPIO LED diisytiharkan sebagai output manakala butang tekan GPIO ditetapkan sebagai input.

Pada akhirnya keadaan butang tekan diperiksa menggunakan syarat if. Keadaan butang tekan juga dicetak pada monitor bersiri menggunakan Serial.println(Button_State) .

Jika input butang tekan berteraskan HIGH ia akan dihidupkan jika tidak, ia akan kekal OFF.

3.7: Output

Pada mulanya, kita dapat melihat LED DIMATIKAN.


Sekarang tekan butang tekan isyarat TINGGI akan dihantar ke ESP32 GPIO 15 dan LED akan dihidupkan.


Output yang sama juga boleh dilihat pada monitor bersiri Arduino.

Kesimpulan

ESP32 mempunyai berbilang pin GPIO yang boleh membaca data digital daripada penderia seperti butang tekan. Menggunakan butang tekan fungsi baca digital boleh dihubungkan dengan mudah dengan ESP32 untuk mengawal peranti yang berbeza. Menggunakan artikel ini sekali boleh antara muka butang tekan dengan mana-mana pin GPIO ESP32.