Modul 2_LA 1_uP dan uC 2022

  

Modul II
ADC dan PWM





1. Jurnal [kembali]
    MEMBUAT LCD MENAMPILKAN BESAR POTENSIOMETER YANG DIKIRIMKAN KE ARDUINO

2. Hardware [kembali]

A. Alat

a) Instrument

1. Power Supply

Gambar 1. Power Supply

 

 B. Bahan

1. Potensiometer

Gambar 2. Potensiometer
 
a) Komponen Input
 
1. LM 35
 
Gambar 3. LM 35
 
b) Komponen Output
 
1. LCD

Gambar 5. LCD 
2. Motor DC
Gambar 6. Motor DC
Motor Servo

 
c) Komponen Lainnya 
 
1. Mikrokontroler
Gamabar 7. Arduino Uno

2. Driver Motor

Gambar 8. Driver Motor L293D


3. Gambar Rangkaian [kembali]




4. Prinsip Kerja [kembali]
Prinsip kerja dari Arduino bisa kita gambarkan seperti di bawah ini.

cara kerja arduino


Alur kerjanya:
Pembacaan data oleh komponen input > data dikirim ke pin input > data masuk ke mikrokontroler > data diproses > data keluar dari Arduino >data dikirim ke pin output > data diteruskan ke komponen output.
Berdasarkan gambar dan keterangan di atas, kita bisa menyimpulkan bahwa cara kerja Arduino yaitu:

Tahap 1: Pembacaan data oleh komponen input

Hal pertama yang berlangsung adalah komponen input yang dihubungkan ke Arduino akan melakukan pembacaan atau pengukuran data yang jadi pemicu.

Misalnya berupa jarak, cahaya, getaran, atau suara.

Apa saja yang termasuk komponen input? Yaitu semua komponen yang dapat melakukan pengukuran maupun pembacaan data.

Termasuk semua jenis sensor. Entah itu sensor jarak, cahaya, maupun yang lainnya.

Tahap 2: Data dikirim ke pin input Arduino

Pin input adalah perantara yang menghubungkan antara Arduino dan komponen input.

Jadi, data yang didapatkan dari pengukuran dan pembacaan komponen input akan dikirim ke pin input Arduino.

Tahap 3: Data masuk ke mikrokontroler (inti Arduino)

Nantinya, data yang ada pada pin input Arduino akan dibawa ke mikrokontroler atau inti Arduino untuk masuk ke tahapan berikutnya. Yaitu tahap pemrosesan data.

Data yang masuk ke mikrokontroler akan diproses berdasarkan perintah atau program yang diberikan. Dalam tahapan ini pulalah diberikan instruksi akan seperti apa perintah yang akan dijalankan perangkat output nantinya.

Untuk memberikan perintah pada mikrokontroler Arduino, menggunakan bahasa pemrograman C dan melalui Software Arduino IDE.

Tahap 4: Data dikirim ke pin output Arduino

Setelah data diproses, maka selanjutnya data akan dikirim ke pin output Arduino.

Layaknya pin input, pin output Arduino juga berperan sebagai perantara yang menghubungkan antara Arduino dan perangkat output.

Perlu kamu ketahui bahwa rata-rata Arduino memiliki 14 pin yang dapat digunakan sebagai pin input maupun pin output.

Tahap 5: Data disalurkan ke komponen output

Data yang ada pada pin output Arduino, selanjutnya akan disalurkan ke komponen output.

Jadi, semua instruksi yang diberikan oleh mikrokontroler akan langsung dijalankan oleh komponen output seperti relay, lampu LED, buzzer, dan sebagainya.


16x2 LCD Pinout Configuration

Pin No:

Pin Name:

Description

1

Vss (Ground)

Ground pin connected to system ground

2

Vdd (+5 Volt)

Powers the LCD with +5V (4.7V – 5.3V)

3

VE (Contrast V)

Decides the contrast level of display. Grounded to get maximum contrast.

4

Register Select

Connected to Microcontroller to shift between command/data register

5

Read/Write

Used to read or write data. Normally grounded to write data to LCD

6

Enable

Connected to Microcontroller Pin and toggled between 1 and 0 for data acknowledgement

7 - 14

Data Pin 0 - 7

 

 

Data pins 0 to 7 forms a 8-bit data line. They can be connected to Microcontroller to send 8-bit data.

These LCD’s can also operate on 4-bit mode in such case Data pin 4,5,6 and 7 will be left free.

15

LED Positive

Backlight LED pin positive terminal

16

LED Negative

Backlight LED pin negative terminal

Servo
Sudut dari servo akan berubah-ubah tergantung pada PWM yang diberikan

Untuk cara kerjanya, servo motor dikendalikan dengan memberikan Pulse Wide Modulation / PWM melalui kabel kontrol. Durasi “denyut” (pulse) yang diberikan akan menentukan posisi sudut putaran dari poros motor servo. Contohnya nih, durasi “denyut” dengan waktu 1,5 ms (mili detik) akan memutar poros motor servo ke posisi sudut 90⁰. Bila pulsa lebih pendek dari 1,5 ms maka akan berputar ke arah posisi 0⁰ atau ke kiri (berlawanan dengan arah jarum jam). Sementara itu, bila pulsa yang diberikan lebih lama dari 1,5 ms maka poros motor servo akan berputar ke arah posisi 180⁰ atau ke kanan (searah jarum jam).

Ketika durasi “denyut”nya telah diberikan, maka poros motor servo akan bergerak dan bertahan di posisi yang telah diperintahkan. Jika ada yang mencoba memutar atau mengubah posisi tersebut, maka motor servo akan mencoba menahan atau melawan dengan besarnya kekuatan torsi yang dimilikinya (rating torsi servo). Namun posisi motor servo tidak akan seterusnya diam saja, karena sinyal “denyut”nya harus diulang setiap 20 ms (mili detik) untuk menginstruksikan agar ia tetap pada posisinya.

CODINGAN
#include  <LiquidCrystal.h>          //Deklarasi library LCD
#define servo 9                           //Deklarasi pin A0 untuk LM35
LiquidCrystal lcd(2,3,4,5,6,7);  //Deklarasi pin 2-7 untuk LCD                                 //Deklarasi variabel nilaiSuhu

byte pot = A0;          //Deklarasi pin A0 untuk potensiometer

int nilai;            //Deklarasi Variabel Nilai
int output;         //Deklarasi Variabel Output

void setup () {

// TODO: put your setup code here, to run once:
  pinMode(servo, output);               //Deklarasi servo sebagai OUTPUT
  lcd.begin(16, 2);                         //Dimensi LCD yang digunakan
  Serial.begin(9600);     //Set Baud Rate 9600  
  lcd.setCursor(0,0);
}

void loop() {

// TODO: put your main code here, to run repeatedly:
   nilai = analogRead(pot); //membaca nilai potensiometer
   output = map(nilai,0,1023,0,255);
   analogWrite(servo,output);
   lcd.setCursor(0,0);
    lcd.print("ADCPotensiometer");
    lcd.setCursor(7,1);
   lcd.print(output);  //Menampilkan input dari keypad pada LCD
   delay(2000);
}

Pertama Kita tambahkan library LCD ,lalu kita Deklarasikan Pin pada Arduino yang akan kita gunakan,yaitu pin digital (2 - 7)yang dihubungkan ke LCD dan pin PWM yaitu pin 9  dihubungkan ke servo serta Analog pada Arduino(A0) Terhubung ke kaki Potensiometer seperti pada gambar rangkaian.

pada Void Setup,lalu kita tentukan tipe LCD yang kita pakai dan letak cursornya. tipe LCD nya adalah 16x2 (kolom x baris),pinMode,dan cursor dari LCD tersebut

Pada Void loop, lakukan perulangan membaca nilai potensiometer menggunakan analogRead() dan outputnya adalah hasil konversi nilai analog (10 bit / 1024) menjadi nilai PWM yang (8 bit/256).kemudian data dari PWM tadi disalurkan ke servo sehingga servo bergerak. selama proses gerakan tersebut nilai besarnya PWM ditampilkan kepada LCD

5.. Video Praktikum [kembali]



6. Analisa [kembali]         

1. Analisa Pengaruh  nilai hambatan pada potensiometer terhadap nilai PWM, ADC, Arah, dan kecepatan servo
JAWAB
Semakin besar nilai hambatan pada potensiometer Maka nilai pada PWM Semakin besar karena nilai analog besar membuat nilai PWM nya besar ketika dikonversikan oleh ADC. nilai pwm ini akan mempengaruhi arah putar servo. Ketika Sinyal PWM diberikan maka poros motor servo akan bergerak ke posisi Yang telah ditargetkan dan berhenti pada posisi tersebut. Motor servo tidak akan mempertahankan posisinya untuk selamanya sehingga sinyal PWM harus diulang setiap 20 ms untuk kecepatan servo tetap 

2. Analisa Penggunaan dan Kegunaan Fungsi map() Percobaan 
JAWAB 
    Map eligunakan untuk memetakan/mengkonversi  nilai analog yang10 bit (0-1023) menjadi nilai PWM yang 8 bit (0-255) agar terjadi kesesuaian antara besaran analog dengan PWM. misalnya 1023 pada analog maka pada PWM akan keluar 255

7. Link Download [kembali]

Download Video Praktikum Disini
Download File Program Disini
Download DataSheet Arduino disini
Download Datasheet LCD disini
Dowload HTML Disini
Download Library Disini
Dataheet Motor Servo Disini
Dataheet Potensiometer Link Download

[Kembali ke daftar isi]

Tidak ada komentar:

Posting Komentar

Muhammad Sukry

Bahan Presenstasi Ini dibuat untuk  Mata Kuliah Mikroprocessor dan Mikrocontroller Semester Ganjil 2022-2023 Oleh : Muhammad Sukry 201095104...