Blog Archive

Arduino Indonesia. Gambar tema oleh Storman. Diberdayakan oleh Blogger.

Supported by Electronics 3 in 1

1. Jasa pencetakan PCB single layer dengan harga paling murah.

(Metode Pembuatan dengan Transfer Toner)
>PCB design sendiri (siap cetak) : Rp.150,-/Cm2
>PCB design dari kami : Rp.250,-/Cm2

(Metode Sablon Full Masking dan Silk Screen minimal pemesanan 100 Pcs)
>PCB design sendiri (siap cetak) : Rp.200,-/Cm2
>PCB design dari kami : Rp.250,-/Cm2

2. Jasa perancangan, perakitan, dan pembuatan trainer pembelajaran elektronika untuk SMK dan Mahasiswa.

3. Jasa perancangan, perakitan, dan pembuatan berbagai macam kontroller, sensor, aktuator, dan tranduser.
>Design Rangkaian / Sistem Elektronika
>Design Rangkaian / Sistem Instrumentasi
>Design Rangkaian / Sistem Kendali
>Kerjasama Riset (data atau peralatan)
>Kerjasama Produksi Produk-Produk KIT Elektronika
>Produksi Instrumentasi Elektronika

4. Jasa Pembuatan Proyek, Tugas Akhir, Tugas Laboratorium, PKM, Karya Ilmiah, SKRIPSI, dll

Like My Facebook

Popular Posts

Selasa, 06 Januari 2026

Input dan Output Digital ESP32/ESP8266 dengan MicroPython

Pada artikel ini, Arduino Indonesia akan membahas tentang cara mengontrol pin GPIO ESP32 dan ESP8266 sebagai input digital dan output digital menggunakan firmware MicroPython. Sebagai contoh, Anda akan mempelajari cara membaca nilai sebuah pushbutton dan menyalakan LED berdasarkan kondisi tersebut.

Gambaran Proyek

Untuk menunjukkan penggunaan input dan output digital, kami akan membuat contoh proyek sederhana dengan sebuah pushbutton dan sebuah LED. Kami akan membaca status pushbutton dan menyalakan LED sesuai kondisi, seperti yang diilustrasikan pada gambar berikut.

 

Baca juga: Panduan Lengkap MicroPython ESP8266 - Deep Sleep, Wake Up Source, dan Manajemen Daya

Input Digital

Untuk mendapatkan nilai dari sebuah GPIO, pertama-tama Anda perlu membuat objek Pin dan mengaturnya sebagai input. Contoh:

 

button = Pin(4, Pin.IN)

 

Kemudian, untuk mendapatkan nilainya, Anda perlu menggunakan metode value() pada objek Pin tanpa memberikan argumen. Contoh, untuk mendapatkan status dari objek Pin bernama button, gunakan ekspresi berikut:

 

button.value()

 

Kami akan menunjukkan secara lebih detail cara kerjanya dalam contoh proyek.

Output Digital

Untuk menyalakan atau mematikan sebuah GPIO, pertama-tama Anda perlu mengaturnya sebagai output. Contoh:

 

led = Pin(5, Pin.OUT)

 

Untuk mengontrol GPIO, gunakan metode value() pada objek Pin dan berikan 1 atau 0 sebagai argumen. Contoh, perintah berikut mengatur objek Pin (led) ke HIGH:

 

led.value(1)

 

Untuk mengatur GPIO ke LOW, berikan 0 sebagai argumen:

 

led.value(0)

 

Skematik Rangkaian

Sebelum melanjutkan, Anda perlu merakit rangkaian dengan LED dan pushbutton. Kami akan menghubungkan LED ke GPIO 5 dan pushbutton ke GPIO 4.

Komponen yang Diperlukan

Berikut daftar komponen untuk membangun rangkaian:

- ESP32 atau ESP8266

- LED 5 mm

- Resistor 330 Ohm

- Pushbutton

- Resistor 10k Ohm

- Breadboard

- Kabel jumper

Diagram Rangkaian – ESP32

Gunakan diagram skematik berikut sebagai panduan jika Anda menggunakan papan ESP32:


Diagram Rangkaian – ESP8266

Gunakan diagram skematik berikut sebagai panduan jika Anda menggunakan papan ESP8266:



Pada ESP8266, pin yang ditandai sebagai D1 setara dengan GPIO 5, dan pin yang ditandai sebagai D2 setara dengan GPIO 4.

Kode Program

Kode berikut membaca status pushbutton dan menyalakan LED sesuai kondisinya. Kode ini kompatibel untuk papan ESP32 maupun ESP8266.

 

from machine import Pin

from time import sleep


led = Pin(5, Pin.OUT)

button = Pin(4, Pin.IN)


while True:

  led.value(button.value())

  sleep(0.1)

 

Penjelasan Kode

Anda mulai dengan mengimpor kelas Pin dari modul machine, dan kelas sleep dari modul time.

 

from machine import Pin

from time import sleep

 

Kemudian, buat objek Pin bernama led pada GPIO 5. LED adalah output, jadi gunakan argumen kedua `Pin.OUT`.

 

led = Pin(5, Pin.OUT)

 

Kami juga membuat objek bernama button pada GPIO 4. Tombol adalah input, jadi gunakan Pin.IN.

 

button = Pin(4, Pin.IN)

 

Gunakan button.value() untuk mengembalikan/membaca status tombol. Kemudian, gunakan ekspresi button.value() sebagai argumen untuk nilai LED.

 

led.value(button.value())

 

Dengan cara ini, saat tombol ditekan, button.value() mengembalikan 1. Ini sama dengan perintah led.value(1), yang menyalakan LED. Saat tombol tidak ditekan, button.value() mengembalikan 0, sehingga led.value(0) mematikan LED.

Demonstrasi

Simpan kode ke papan ESP Anda menggunakan Thonny IDE atau uPyCraft IDE. LED akan menyala saat tombol ditekan dan mati saat dilepaskan.

 

Baca juga: Panduan Lengkap MicroPython ESP32/ESP8266 - Sensor Suhu dan Kelembaban DHT11/DHT22

Dalam praktik, hasil dan kendala yang ditemui bisa berbeda tergantung perangkat, konfigurasi, versi library, dan sistem yang digunakan.




0 on: "Input dan Output Digital ESP32/ESP8266 dengan MicroPython"