MIKROKONTROLER
Kelas 2D
Anggota Kelompok:
1
DAFTAR ISI
BAB I
BAB II
PENUTUP
Kesimpulan ……………………………………………………………………..Page 15
Daftar pustaka…………………………………………………………………...Page 16
2
BAB I
PENDAHULUAN
1.1 Tujuan
• Mahasiswa mampu memahami konsep komunikasi serial ADC
• Mahasiswa mampu memahami cara memprogram untuk komunikasi serial ADC pada
NodeMCU ESP8266
• Mahasiswa mampu memahami data yang dikirim dan diterima oleh NodeMCU ESP8266
dan juga potensiometer
1.2 Teori Dasar
Komunikasi Serial Arduino
Komunikasi serial Arduino memungkinkan kita dapat mengontrol Arduino melalui komputer
agar dapat memantau sesuatu yang terjadi padanya. Komunikasi yang terjadi secara serial
hanya membutuhkan 2 wire saja yaitu RX dan TX. RX biasa disebut sebagai Receive
sedangkan TX disebut sebagai Transmit. Pin komunikasi serial Arduino terletak pada pin
digital 0 (RX) dan 1 (TX), yang terhubung juga pada USB to Serial. Jika pin serial tidak
digunakan kalian juga bisa menggunakan pin tersebut sebagai input / output. Berikut diagram
blok komunikasi serial:
Komunikasi serial pin RX/TX menggunakan level tegangan logic 5V atau 3.3V, sesuai
dengan hardware yang digunakan. Jika berbeda tenganganya kalian dapat menggunakan
rangkaian pembagi tegangan (voltage devider) atau level converter. Hal ini bertujuan guna
tidak merusak salah satu hardware atau bahkan keduanya.
3
Beberapa type Arduino lainya memiliki tiga port serial tambahan memiliki fungsi yang sama
dengan pin 0 (RX) dan 1 (TX), namun tidak terhubung dengan USB to Serial dari board
Arduino. Sedikit tambahan dengan menggunakan library SoftwareSerial.h, dapat
menggunakan pin digital biasa sebagain komunikasi serial, namun tentunya memiliki
kekurangan dari sisi kecepatanya.
Dalam sekali transmisi, komunikasi serial ini dapat dikirim langsung beberapa bit data. Ada
yang 9600, 11200 dan lain-lain tergantung dari settingan hardware yang kita buat. Dalam
menggunakan komunikasi serial, kita juga harus menyamakan nilai Baudrate. Baud rate
merupakan istilah yang digunakan untuk kecepatan aliran data. Satuan baud rate adalah bps
(bit per second). Contohnya, 9600 bps atau 19200 bps.
4
Gambar 2.1 NodeMCU DEVKIT ESP8266 dan Skema Pin
Gambar 2.1 merupakan kaki pin yang ada pada NodeMCU. Berikut penjelasan dari
pin – pin NodeMCU tersebut.
• ADC: Analog Digital Converter. Rentang tegangan masukan 01v,dengan skup nilai
digital 0-1024.
• RST : berfungsi mereset modul
• EN: Chip Enable, Active High
• IO16 :GPIO16, dapat digunakan untuk membangunkan chipset dari mode deep sleep
• IO14 : GPIO14; HSPI_CLK
• IO12 : GPIO12: HSPI_MISO
• IO13: GPIO13; HSPI_MOSI; UART0_CTS
• VCC: Catu daya 3.3V (VDD)
• CS0 :Chip selection
• MISO : Slave output, Main input.
• IO9 : GPIO9
• IO10 GBIO10
• MOSI: Main output slave input
• SCLK: Clock
• GND: Ground
• IO15: GPIO15; MTDO; HSPICS; UART0_RTS
• IO2 : GPIO2;UART1_TXD
• IO0 : GPIO0
• IO4 : GPIO4
5
sering disingkat dengan ADC adalah rangkaian yang mengubah nilai tegangan kontinu
(analog) menjadi nilai biner (digital) yang dapat dimengerti oleh perangkat digital sehingga
dapat digunakan untuk komputasi digital. Dengan kata lain, Analog to Digital Converter atau
Konverter Analog ke Digital ini memungkinkan rangkaian Digital berinteraksi dengan dunia
nyata dengan menyandikan sinyal Analog ke sinyal Digital yang berbentuk Biner. Rangkaian
ADC ini pada umumnya dikemas dalam bentuk IC dan diintegrasikan dengan Mikrokontroler.
Urutan proses ADC dalam mengubah sinyal Analog menjadi sinyal Digital adalah mengambil
sampel sinyal analog, mengukur dan mengubahnya menjadi nilai Digital yang berbentuk nilai
Biner. Dengan demikian, ADC mengubah sinyal analog yang diterimanya menjadi data
keluaran (output) yang berbentuk serangkaian nilai digital
Resolusi ADC menentukan “ketelitian nilai hasil konversi ADC”. Sebagai contoh: ADC 8 bit
akan memiliki output 8 bit data digital, ini berarti sinyal input dapat dinyatakan dalam 255 (2n
– 1) nilai diskrit. ADC 12 bit memiliki 12 bit output data digital, ini berarti sinyal input dapat
dinyatakan dalam 4096 nilai diskrit. Dari contoh diatas ADC 12 bit akan memberikan ketelitian
nilai hasil konversi yang jauh lebih baik daripada ADC 8 bit.
6
Mempunyai sebuah komparator untuk medekodekan masing masing range tegangan.
Pengkonversian langsung memiliki kelebihan yaitu pengkonversian yang cepat, tetapi
biasanya hanya diterapkan pada resolusi 8 bit (256 komparator) atau kurang, karena teknik
pengkonversian ini membutuhkan rangkaian yang besar dan mahal.
Tipe ini dapat menunjukkan konversi secara lengkap pada kecepatan 100 MHz dengan
rangkaian kerja yang sederhana. Sederetan tahanan mengatur masukan inverting dari tiap-
tiap konverter menuju tegangan yang lebih tinggi dari konverter sebelumnya, jadi untuk
tegangan masukan Vin, dengan full scale range, komparator dengan bias dibawah Vin akan
mempunyai keluaran rendah. Keluaran komparator ini tidak dalam bentuk biner murni. Suatu
dekoder dibutuhkan untuk membentuk suatu keluaran yang biner. Beberapa komparator
berkecepatan tinggi, dengan waktu tunda (delay) kurang dari 6 ns banyak digunakan, karena
itu dihasilkan kecepatan konversi yang sangat tinggi. Jumlah komparator yang dibutuhkan
untuk suatu konversi n bit adalah 2n–1.
7
analog menjadi keluaran digital. ADC ini akan mencacah mulai dari 0 sampai nilai yang
setara dengan masukan analog. Hasil pencacahan ini diubah menjadi analog dengan
DAC untuk dibandingkan dengan masukan analog. Pencacahan yang dilakukan oleh
counter akan berhenti jika nilai pencacahan lebih besar dari masukan analog. Nilai hasil
pencacahan yang terakhir ini merupakan hasil konversi yang merupakan nilai setara
masukan analog.
Binary counter (pencacah biner) akan mendapat masukan clock secara kontinyu
dan hitungan akan bertambah atau berkurang tergantung pada kontrol dari pencacah
apakah sedang naik (up counter) atau sedang turun (down counter). ADC tipe ini tidak
menguntungkan jika dipakai pada sistem yang memerlukan waktu konversi masukan
keluaran singkat, sekalipun pada bagian masukan pada tipe ini tidak memerlukan
rangkaian sample hold. ADC tipe ini sangat tergantung pada kecepatan clock pencacah,
semakin tinggi nilai clock yang digunakan, maka proses konversi akan semakin singkat.
3. ADC Successive Aproximation
Dibuat sebagai pengembangan dari ADC tipe counter (digital ramp ADC).
Perubahan dalam ADC tipe ini adalah adanya sebuah counter yang sangat spesial yang
disebut successive-approximation register. Register ini tidak mencacah mulai dari 0
seperti halnya pada ADC tipe counter tetapi register ini menghitung dengan mencoba
semua nilai bit mulai dari most-significant bit (MSB) dan berakhir pada least-significant
bit.Di dalam proses perhitungan, register akan memperhatikan keluaran komparator
untuk mengetahui apakah bilangan biner hasil perhitungan lebih kecil atau lebih besar
dari masukan sinyal analog.
Cara register menghitung ini mirip dengan metode “trial-and-fit” dalam
pengkonversian bilangan desimal menjadi biner, dimana nilai-nilai yang berbeda dari
8
bit-bit diujikan dari MSB sampai dengan LSB untuk memperoleh sebuah bilangan biner
yang sama dengan bilangan desimal asli. Keuntungan dari teknik penghitungan model
ini adalah waktu yang dibutuhkan untuk memperoleh hasil konversi menjadi lebih cepat.
Tipe successive approximation merupakan suatu konverter yang paling sering ditemui
dalam desain perangkat keras yang menggunakan ADC. Tipe ini memiliki kecepatan
konversi yang cukup tinggi, meskipun dari segi harga relatif mahal. Prinsip kerja
konverter tipe ini adalah, dengan membangkitkan pertanyaan-pertanyaan yang pada
intinya berupa tebakan nilai digital terhadap nilai tegangan analog yang dikonversikan.
Apabila resolusi ADC tipe ini adalah 2n maka diperlukan maksimal n kali tebakan
(Tirtamihardja, 1996).
Integrasi ADC adalah jenis konverter analog-ke-digital yang mengubah tegangan input
menjadi representasi digital melalui penggunaan integrator. Tipe Integrating
menawarkan resolusi tertinggi dengan biaya terendah. ADC tipe ini tidak dibutuhkan
rangkaian sample hold. Tipe ini memiliki kelemahan yaitu waktu konversi yang agak
lama, biasanya beberapa milidetik.
1.2.3 perhitungan
Secara umum, nilai ADC 10-bit yang dihasilkan dari suatu sinyal input (Vin) berdasarkan
referensi tegangan (Vref) tertentu dirumuskan sebagai: ADC = (Vin/Vref)*1024.
9
• Aplikasi Fritzing : 1 buah
• Potentiometer : 1 buah
• Project Board : 1 buah
• Kabel Jumper : 6 buah
10
BAB II
PEMBAHASAN
2.4 Prosedur Percobaan
2.1.1 Percobaan Latihan
(1) Jalankan aplikasi FRITZING
(2) Buat rangkaian ADC menggunakan POTENTIOMETER seperti pada skema rangkaian
:
(3) Tulis script sesuai materi yang diberikan ke aplikasi ARDUINO
void setup() {
pinMode (adc, INPUT);
Serial.begin (9600);
pinMode (LED_BUILTIN, OUTPUT);
11
}
void loop() {
int analogValue = analogRead (A0);
Serial.println(analogValue);
12
2.2 Hasil dan Pembahasan
2.2.1 Hasil dan Pembahasan percobaan latihan
Diatas adalah hasil dari perintah coding di arduino. Setelah coding berhasil, praktekan node
MCU dengan Potentiometer. Untuk melihat keluaran data ADC bisa dilihat setelah mengklik
serial monitor . setelah mendapatkan data ADC, untuk mencari nilai tegangannya bisa
dihitung dengan rumus ( 3,3 * nilai ADC/1024 )
https://drive.google.com/drive/folders/1OMKLocUGINnlwmSV2t1Sovedw-CWc5xb
13
Diatas adalah hasil dari perintah coding di arduino. Setelah coding berhasil, praktekan
node MCU dengan Potentiometer. Untuk melihat keluaran data ADC bisa dilihat setelah
mengklik serial monitor .
Yang dimana jika
- nilai ADC menunjukkan angka 0-200 maka lampu LED pada esp8266 tidak akan
menyala
- nilai ADC menunjukkan angka 201-400 maka lampu LED pada ESP8266 akan
menyala
- nilai ADC menunjukkan angka 401-600 maka lampu LED pada ESP8266 akan
menyala, mati, menyala, mati secara lambat
- nilai ADC menunjukkan angka >=600 maka lampu LED pada ESP8266 akan
menyala, mati, menyala, mati secara cepat
14
PENUTUP
Kesimpulan
Dari praktikum di atas, dapat disimpulkan bahwa NodeMCU atau ESP8266 sama sepertiArduino.
Hal ini dikarenakan sistem pemrograman ESP8266 menggunakan Arduino IDE.Pemrograman.
Apabila program yang telah kita buat dapat berjalan sesuai perintah, maka kita dapat melihat dari
hasil program nodeMCU ESP8266 yang kita tulis
15
Daftar Pustaka
- https://www.scribd.com/document/501759644/Membaca-nilai-input-analog-
menggunakan-NodeMCU-ESP8266
- https://www.nn-digital.com/
- https://www.academia.edu/34282837/EMBEDED_SYSTEM_NodeMCU_
- https://www.kmtech.id/post/komunikasi-serial-arduino
- https://ajat.xyz/2021/02/07/macam-rangkaian-adc-analog-to-digital-conventer/
16