Anda di halaman 1dari 16

LAPORAN PRAKTIKUM

MIKROKONTROLER

Kelas 2D
Anggota Kelompok:

1. Dandi Aditya 2131130020


2. HikmiaQolbyAmamy 2131130042

PROGRAM STUDI TEKNIK TELEKOMUNIKASI


JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI MALANG
2022

1
DAFTAR ISI

DAFTAR ISI……………………………………………………………………… Page 2

BAB I

1.1 Tujuan …………………………………………………………………….. Page 3


1.2 Teori Dasar………………………………………………………………… Page 3-5
1.2.1 Konsep ADC………………………………………………………..Page 5
1.2.2 Jenis ADC beserta skema rangkaian………………………………..Page 6-9
1.2.3 Perhitungan…………………………………………………………Page 9
1.3 Alat dan bahan ……………………………………………………………. Page 9-10
1.4 Skema Percobaan …………………………………………………………. Page 10

BAB II

2.1 Prosedur Percobaan…………………………………………………………Page 11-12


2.2 Hasil dan pembahasan
2.2.1 hasil pembahasan Latihan ………………………………… …….Page 12
2.2.2 hasil percobaan tugas………………………………………………Page 12
2.3 Analisis Data
2.3.1 analisis data Latihan………………………………………………..Page 13
2.3.2 analisis data tugas…………………………………………………..Page 13-14

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:

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.

NodeMcu De-Kit esp2688


NodeMCU merupakan papan pengembangan produk Internet of Things (IoT) yang
berbasiskan Firmware eLua dan System on a Chip (SoC) ESP8266-12E. ESP8266 sendiri
merupakan chip WiFi dengan protocol stack TCP/IP yang lengkap.
NodeMCU dapat dianalogikan sebagai board arduino-nya ESP8266. Program ESP8266
sedikit merepotkan karena diperlukan beberapa teknik wiring serta tambahan modul
USB to serial untuk mengunduh program.Namun NodeMCU telah me-package ESP8266
ke dalam sebuah board yang kompak dengan berbagai fitur layaknya mikrokontroler
kapabilitas akses terhadap Wifi juga chip komunikasi USB to serial. Sehingga untuk
memprogramnya hanya diperlukan ekstensi kabel data USB persis yang digunakan charging
smarphone.
Spesifikasi dari NodeMCU sebagai berikut :
1. 10 port pin GPIO
2. Fungsionalitas PWM
3. Antarmuka I2C dan SPI
4. Antarmuka 1 Wire
5. ADC

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

1.2.1 Konsep dasar ADC


Pengertian ADC (Analog to Digital Converter) – Analog to Digital Converter atau

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.

Cara Kerja ADC (Analog to Digital Converter)

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

ADC (Analog to Digital Converter) memiliki 2 karakter prinsip, yaitu kecepatan


sampling dan resolusi.
Kecepatan sampling suatu ADC menyatakan “seberapa sering sinyal analog dikonversikan
ke bentuk sinyal digital pada selang waktu tertentu”. Kecepatan sampling biasanya
dinyatakan dalam sample per second (SPS).

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.

1.2.2 Jenis ADC dan Skema Rangkaian

Jenis ADC beserta skema rangkaian


1. ADC Pengkonversi Langsung / Flash ADC

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.

2. ADC Tipe Counter ( ADC Tipe Digital Ramp )

Menggunakan counter sebagai komponen utama untuk mengubah masukan

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).

4. Dual Slope ADC / Integrating ADC

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.

1.3 Alat dan Bahan


Adapun alat dan bahan pada praktikum ini adalah:
• Lolin Node MCU ESP8266 : 1 buah
• Kabel data Micro USB : 1 buah
• Aplikasi IDE Arduino : 1 buah

9
• Aplikasi Fritzing : 1 buah
• Potentiometer : 1 buah
• Project Board : 1 buah
• Kabel Jumper : 6 buah

1.4 . Skema Rangkaian


Adapun skema dalam praktikum ini ditunjukkan pada gambar berikut :

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

(4) Lalu upload program ke Nodemcu.


(5) Klik “Serial Monitor”

2.1.2 Percobaan Tugas


Aturan :
1. Nilai ADC >= 0 - ADC <=200 (LED MATI)
2. Nilai ADC >=201 – ADC <=400 (LED NYALA)
3. Nilai ADC >= 401 – ADC <=600 (LED KEDIP LAMBAT (Mati Nyala Mati Nyala))
4. Nilai ADC >= 601 (LED KEDIP CEPAT)
(6) Jalankan aplikasi FRITZING
(7) Buat rangkaian ADC menggunakan POTENTIOMETER seperti pada skema rangkaian
:
(8) Tulis script sesuai materi yang diberikan ke aplikasi ARDUINO
int adc = A0;

void setup() {
pinMode (adc, INPUT);
Serial.begin (9600);
pinMode (LED_BUILTIN, OUTPUT);

11
}

void loop() {
int analogValue = analogRead (A0);
Serial.println(analogValue);

if (analogValue >= 0 & analogValue <= 200){


digitalWrite (LED_BUILTIN, HIGH);
}
else if (analogValue >= 201 & analogValue <= 400){
digitalWrite (LED_BUILTIN, LOW);
}
else if (analogValue >= 401 & analogValue <= 600){
digitalWrite (LED_BUILTIN, HIGH);
delay(1000);
digitalWrite (LED_BUILTIN, LOW);
delay(1000);
digitalWrite (LED_BUILTIN, HIGH);
delay(1000);
digitalWrite (LED_BUILTIN, LOW);
delay(1000);
}
else if (analogValue >=601){
digitalWrite (LED_BUILTIN, HIGH);
delay(100);
digitalWrite (LED_BUILTIN, LOW);
delay(100);
digitalWrite (LED_BUILTIN, HIGH);
delay(100);
digitalWrite (LED_BUILTIN, LOW);
delay(100);
}
}

(9) Lalu upload program ke Nodemcu.


(10) Klik “Serial Monitor”

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 )

2.2.2 Hasil dan Pembahasan Percobaan Tugas

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

2.3 Analisa Data


2.3.1 Analisa data Latihan percobaan
Kita dapat megetahui berapa besar tegangan yang dihasilkan dari nilai keluaran ADC
menggunakan potentiometer dan dihitung menggunakan rumus ( 3,3 * nilai ADC/1024 ).
3,3V adalah nilai paten dari model node MCU versi Lolin.
Berikut adalah hasil perhitungan dari percobaan kali ini:
No Nilai ADC Nilai Tegangan (v)
1. 1024 3.3
2. 998 3.21
3. 897 2.89
4. 748 2.41
5. 705 2.271
6. 688 2.217
7. 621 2.001
8. 576 1.856
9. 542 1.744
10. 530 1.708
Dapat kita lihat semakin besar nilai ADC maka semakin besar pula tegangan yang di peroleh.

2.3.2 Analisa data tugas


Kita juga bisa menghidup nyalakan LED node MCU dengan cara memasukkan perintah
coding pada nilai ADC. Dimana dari lampu LED mati hingga menyala dengan cara
memutar bagian potensimeter yang berpengaruh untuk mengatur tinggi redahnya nilai
ADC . Untuk perintah ke 3 yang dimana lampu kedip secara lambat hal tersebut terjadi
dikarnakan pada coding digunakan delay. Yang dimana semakin besar nilai delay yang
kita input pada codingen IDE Arduino maka semakin lambat pula lampu LED berkedip
MATI- NYALA. Begitu pula sebaliknya dimana semakin kecil nilai delay yang diinput
pada codingan IDE Arduino maka hasil output pada NodeMCU ESP8266 LED akan
MATI-NYALA-MATI-NYALA 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

Anda mungkin juga menyukai