Selasa, 29 September 2020

Percobaan 3

[menuju akhir]



1. Komponen [kembali]

1. Arduino

2. Potensiometer



3. Motor DC


2. Rangkaian Simulasi [kembali]

Gambar 1. Rangkaian Percobaan 3

3. Flowchart [kembali]

Gambar 2. Flowchart Program Arduino

byte pot= A0;
byte motor= 9;
 
int nilai;
int output;
 
void setup(){
  pinMode(motor, OUTPUT);
  Serial.begin(9600);
}

void loop(){
  nilai= analogRead(pot);
  output= map(nilai, 0, 1023, 0, 255);
 
  analogWrite(motor, output);
 
  Serial.print("potensiometer: ");
  Serial.print(nilai);
  Serial.print("  ");
  Serial.print("output: ");
  Serial.print(output);
  delay(200);
  Serial.print("\n");
}

5. Video [kembali]



Penjelasan rangakaian :
Pada rangakain percobaan 3 ini, komponen yang digunakan adalah arduino, potensiometer dan motor DC. Dengan rangkaian ini kita dapat mengatur kecepatan dari motor DC. Potensiometer merupakan alat yang digunakan sebagai pengantar nilai resistansi, dimana saat nilai resistansi naik maka motor DC akan bergerak cepat sebaliknya jika nilai resistansi rendah, maka motor DC akan bergerak kambat.
Pada rangkaian Kaki tengah potensiometer dihubungkan ke pin A0 dari arduino karena sinyal yang akan diinputkan berupa sinyal analog. Kemudian, output motor dc diambil dari pin 9 arduino karena pin yang bisa digunakan untuk PWM adalah pin 3,5,6,9,10,11. Jadi prinsipnya adalah disaat kaki tengah potensiometer diturunkan ke arah bawah mendekati kaki yang terhubung ke ground maka kecepatan motor akan berkurang hingga berhenti, karena hambatan tegangan power pada potensi menjadi besar sedangkan hambatan ke ground kecil, sehingga menyebabkan nilai tegangan yang didapat adalah 0 volt. Sebaliknya, Saat kaki tengah potensiometer dinaikan ke arah atas mendekati kaki yang terhubung ke power  maka kecepatan motor akan bertambah, karena hambatan tegangan power pada potensi menjadi kecil sedangkan hambatan ke ground besar, sehingga menyebabkan nilai tegangan yang didapat adalah nilai pada power yaitu mendekati nilai max power yang digunakan dan motor akan bergerak semkin cepat.

6. Kondisi [kembali]
Analisa percobaan 3

1.      Bagaimana pengaruh potensiometer terhadap kecepatan motor?

Jawab:

Potensiometer disini menyebabkan terjadinya perubahan kecepatan pada motor DC. Potensiometer merupakan sebuah resistor variabel yang nilai resistansinya dapat di atur dengan cara memutar tuasnya. Pada rangkaian ini potensiometer berpengaruh terhadap kecepatan motor. Semakin besar nilai potensiometer maka semakin besar nilai resistansinya sehingga kecepatan motor akan menjadi lebih cepat, sebaliknya semakin kecil nilai potensiometer maka semakin kecil nilai resistansinya sehingga kecepatan motor menjadi lebih lambat. Atau saat potensiometer diturunkan ke arah mendekati groun makan kecepatan motor akan berkurang dan begitupun sebaliknya.

2.   Bagaimana cara menghubungkan kaki kaki potensiometer?

Jawab:

Potensiometer memiliki 3 kaki, yaitu kaki yang akan dihubungkan ke vcc, ground, dan outputnya. Kaki 1 atau 3 bisa dihubungkan ke vcc atau ke ground salah satunya. Apabila kaki 1 dihubungkan ke vcc, maka kaki 3 dihubungkan ke ground, sebaliknya apabila kaki 3 dihubungkan ke ground, maka kaki 1 dihubungkan ke vcc. Selanjutnya kaki 2 dihubungkan ke yang akan menerima output berupa nilai resistansi dari potensiometer. Nilai resistansi pada potensiometer ini akan semakin besar ketika diputar/digeser kearah kaki yang dihubungkan ke ground dan akansemakin kecil ketika diputar/digeser kearah kaki yang dihubungkan ke vcc.

Rangkaian Simulasi - download
Video Simulasi - download
Listing Program - download
Datasheet Motor DC - download
Library Arduino - download
File HTML - downlaod

Percobaan 2

[menuju akhir]



1. Komponen [kembali]

1. Arduino

2. IM35


3. LCD

2. Rangkaian Simulasi [kembali]

Gambar 1. Rangkaian Percobaan 2

3. Flowchart [kembali]

Gambar 2. Flowchart Program Arduino

#include <LiquidCrystal.h>
#define LM35 A0
LiquidCrystal lcd(2,3,4,5,6,7);
int nilaiSuhu;


void setup() 
{
pinMode(A0, INPUT);
lcd.begin(16,2);
}

void loop() 
{

nilaiSuhu=((5*analogRead(LM35)*100.00)/1024);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("LM35 Sensor Suhu");
lcd.setCursor(0,1);
lcd.print(nilaiSuhu);
delay(100);
}

5. Video [kembali]

Penjelasan rangkaian :
Rangkaian ini terdiri dari LM35, Arduino, dan LCD yang nantinya akan menampilkan nilai suhu pada LM35. Lm35 ini mengukur suhu dan mengeluarkan tegangan kemudian masuk ke pin A0 sebagai inputannya yang akan dikonversikan ADC lewat Arduino sesuai program yang telah dibuat. Kemudian dari Arduino keluar sebagai output dari dari kaki - kaki pin yang di hubungkan ke LCD untuk menampilkan suhu yang diukur dari LM35 tadi. 

6. Kondisi [kembali]
Analisa percobaan 2

1.     Apa yang terjadi jika kaki LM35 terbalik dihubungkan antara vcc dan ground?

Jawab:

Apabila kaki LM35 dihubungkan terbalik antara vcc dan ground pembacaan dari LM35 menjadi error atau  dikatakan tidak benar yang menunjukkan nilai 499 pada lc dapabila nilai suhu yang bernilai positif. Ketika pembacaan nilai pada LM35 menjadi negatif, lc tidak akan menunjukkan nilai kurang dari 499 tergantung nilai negatifnya. Contohnya pada saat suhu -10o pada lc dakan ditampilkan 489. Jadi apabila di balikkan antara Vcc dan ground maka nilai yang terukur tidak sesuai dengan yang seharusnya atau disebut juga error.

2.  Bagaimanajika output lm35 dihubungkan di pin 1 arduino?

Jawab:

LM35 adalah sebuah IC yang mampu untuk mengkonversi nilai suhu sekitar yang dibacanya menjadi keluaran dalam bentuk tegangan listrik. LM35 ini menerima inputan analog. Sedangkan untuk Pin 1 arduino merupakan pin digital  pada arduino, pin digital ini hanya mampu membaca nilai 1 atau 0. Output dari LM35 yang berupa tegangan listrik merupakan sebuah sinyal analog yang mempunyai nilai disetiap nilai waktu. Jika output dari LM35 ini dihubungkan di pin 1 arduino, maka pin digital tidak akan terbaca keluaran analog dari LM35 yang nantinya hanya akan menampilkan nilai 0 pada LCD.  Oleh karena itu sinyal keluaran analog seperti LM35 harus dihubungkan ke pin yang diawali huruf A pada arduino (A0-A5). Pin (A0-A5) ini merupakan pin ADC yang mampu mengkonversikan nilai analog kenilai digital agar memudahkan pembacaan pada arduino.


Rangkaian Simulasi - download
Video Simulasi - download
Listing Program - download
Datasheet LM35 - download
Datasheet LCD - download
Library Arduino - download
File HTML - downlaod

percobaan 1

[menuju akhir]



1. Komponen [kembali]

1. Arduino

2. IC L293D


3. Motor DC


4. Baterai


2. Rangkaian Simulasi [kembali]

Gambar 1. Rangkaian Percobaan 1

3. Flowchart [kembali]

Gambar 2. Flowchart Program Arduino

#define in1 9
#define in2 10

void setup() {
  pinMode(in1, OUTPUT);
  pinMode(in2, OUTPUT);
  
}

void loop() {
digitalWrite(in1, HIGH);
  digitalWrite(in2, LOW);
 delay(1000);

 digitalWrite(in1, LOW);
 digitalWrite(in2, LOW);
 delay(1000);

 digitalWrite(in1, LOW);
 digitalWrite(in2, HIGH);
 delay(1000);

 digitalWrite(in1, LOW);
 digitalWrite(in2, LOW);
 delay(1000);

}

5. Video [kembali]


Penjelasan rangkaian :
Rangkain ini terdiri dari komponen arduino, driver motor L293D, motor DC dan Baterai. dengan prinsip kerjanya tergantung output yang keluar dari arduino, kemudian menuju ke L293D melalui IN 1 dan IN 2 dan keluar melalui OUT 1 dan OUT 2 yang akan mempengaruhi arah gerak dari motor DC. Sesuai degan listing program, saat kaki IN 1 di beri logika HIGH dan IN 2 logika LOW maka motor DC akan berputar ke kiri, disaat diberi logika yang semua pada kedua IN maka Motor DC tidak akan berputar, dan disaat IN 1 berlogika  LOW dan IN 2 berlogika HIGH , maka Motor DC akan berputar ke kanan atau serah jarum jam.

6. Kondisi [kembali]
Analisa percobaan 1

1.    Mengapa pada percobaan 1 menggunakan driver motor L293D? Bagaimana jika tidak?

Jawab:

Driver motor L293D merupakan suatu IC khusus yang mampu untuk mengontrol motor DC. Pada 1 IC L293D mampu mengontrol 2 buah motor sekaligus. Pengontrolan motor yang dapat dilakukan ialah mengatur arah putaran motor yaitu berputar searah jarum jam dengan diberikan input (1,0) dan berputar berlawanan arah jarum jam dengan input (0,1), serta juga bias memberhentikan  motor dengan memberikan inputan yang sama (0,0) atau (1,1).  Jika tidak menggunakan driver motor L293D, maka tidak bisa mengontrol arah motor seperti yang mampu dilakukan oleh driver motor L293D seperti saat kaki IN 1 berlogika HIGH dan IN 2 berlogika LOW maka motor DC akan bergerak ke kiri, dan disaat IN 1 berlogika LOW dan IN 2 berlogika HIGH maka motor akan bergerak searah jarum jam, tetapi disaat diberikan logika yang sama maka motor tidak akan bergeral, jika tidak menggunakan driver motor L293D yang bisa diatur hanyalah kecepatan putaran motor dengan memberikan PWM yang lebih besar.

2.  Apa yang terjadi jika tidak ditambahkan baterai pada percobaan?

Jawab:

Baterai pada rangkaian berguna untuk menambah kan tegangan ke motor driver IC L293D sehingga dengan adanya baterai ini akan menambah kecepatan putar motor. Jadi Kecepatan dari motor DC juga dipengaruhi oleh nilai tegangan dari baterai tersebut. Apabila tidak ditambahkan dengan baterai dan kaki VS hanya dihubungkan ke VCC, maka motor DC tidak akan bergerak, dibandingkan dengan ditambahkannya baterai. Karena baterai yang terhubung ke kaki VS dari  IC L293D merupakan tegangan sumber yang digunakan untuk menggerakan motor. 

Rangkaian Simulasi - download
Video Simulasi - download
Listing Program - download
Datasheet L293D - download
Datasheet motor dc - download
Library Arduino - download
File HTML - downlaod

Selasa, 22 September 2020

Tugas Pendahuluan Modul 2

[menuju akhir]



1. Kondisi [kembali]
Modul 2 percobaan 2 nomor 2 :
Bila suhu yang terbaca pada LCD menunjukkan suhu kisaran 20 - 25 derajat celcius maka 1 LED berwarna merah akan hidup

2. Rangkaian Simulasi [kembali]

Gambar 1. Rangkaian Percobaan

Gambar 2. Rangkaian Percobaan saat Suhu Kecil dari 20 Derajat Celcius

Gambar 3. Rangkaian Percobaan saat pada rentang dari 20-25 Derajat Celcius

Gambar 4. Rangkaian Percobaan saat Suhu besar dari 25 Derajat Celcius


3. Flowchart [kembali]


Gambar 5. Flowchart Program Arduino


4. Listing Program [kembali] 
#include <LiquidCrystal.h>                    //Deklarasi library LCD
#define LM35 A0                               //Deklarasi pin A0 untuk LM35
LiquidCrystal lcd(2,3,4,5,6,7);               //Deklarasi pin 2-7 untuk LCD
int nilaiSuhu;                                //Deklarasi variabel nilaiSuhu
int LED = 9;

void setup() {                                //Semua kode dalam fungsi ini dieksekusi sekali
pinMode(A0, INPUT);                           //Deklarasi pin A0 sebagai INPUT
lcd.begin(16,2);                              //Dimensi LCD yang digunakan
pinMode (LED,OUTPUT);              //Deklarasi pin LED sebagai OUTPUT
}

void loop()                                   //Semua kode dalam fungsi ini dieksekusi berulang
{

nilaiSuhu=((5*analogRead(LM35)*100.00)/1024); //Mencari nilai Suhu
                        

if (nilaiSuhu > 19 && nilaiSuhu <26) {
digitalWrite (LED,HIGH);
lcd.clear();                             //Menghapus layar LCD
lcd.setCursor(0,0);                      //Menentukan posisi kursor pada awal penulisan
lcd.print("LM35 Sensor Suhu");           //Menampilkan text pada LCD
lcd.setCursor(0,1);                      //Menentukan posisi kursor pada awal penulisan
lcd.print(nilaiSuhu);                    //Menampilkan nilaiSuhu pada LCD
delay(100);  
}

else {
digitalWrite (LED,LOW);
lcd.clear();                             //Menghapus layar LCD
lcd.setCursor(0,0);                      //Menentukan posisi kursor pada awal penulisan
lcd.print("LM35 Sensor Suhu");           //Menampilkan text pada LCD
lcd.setCursor(0,1);                      //Menentukan posisi kursor pada awal penulisan
lcd.print(nilaiSuhu);                    //Menampilkan nilaiSuhu pada LCD
delay(100);                              //Waktu delay 100 ms setelah dieksekusi
}

}

5. Video [kembali]


Pada rangkaian diatas kaki output LM35 dihubungkan ke kaki A0 (Pin Analog) pada arduino, karena output yang dihasilkan oleh LM35 berupa sinyal analog. Kemudian kaki pin digital arduino (2,3,4,5,6,7) dihubungkan masing-masingnya ke pin yang ada pada LCD 16 X 2, untuk melihat suhu yang di ukur nantinya. Urutan pemasangannya yaitu (RS, E, D4, D5, D6, D7). Kaki VEE, RW, dan VSS digroundkan. Kaki VDD diberi tegangan. 
Kemudian pada kaki pin 9 arduino dihubungkan ke kaki LED. LED ini sebagai outputnya yang digunakan untuk mendeteksi suhu. Ketika suhu berada di rentang 20 - 25 derajat celcius, maka LED ini akan ON. Apabila  suhu berada pada rentang di bawah 20 dan diatas 25 derajat celcius maka LED akan OFF. 
Penentuan ON atau OFF LED tersebut diatur pada listing program arduino dengan menggunakan logika if else. Setelah program dibuat, kemudian di verify dan program tersebut di masukkan ke dalam arduino pada proteus untuk mensimulaskan percobaanya.

6. Link Download [kembali]
Rangkaian Simulasi - download
Listing Program Arduino - download
Video Simulasi - download
Datasheet LM35 - download
Datasheet LCD 16x2 - download
Library Ardunio - download
File HTML - downlaod

Modul 2



MODUL II
PWM DAN ADC


  1. Memahami prinsip kerja PWM pada mikrokontroler
  2. Memahami prinsip kerja ADC pada mikrokontroler
  3. menggunakan PWM dan ADC pada Arduino
  1. Module Arduino
  2. Motor DC
  3. LM35

A. Pulse Width Modulation
    PWM (Pulse Width Modulation) adalah salah satu teknik modulasi dengan mengubah lebar pulsa (duty cylce) dengan nilai amplitudo dan frekuensi yang tetap. Satu siklus pulsa merupakan kondisi high kemudian berada di zona transisi ke kondisi low. Lebar pulsa PWM berbanding lurus dengan amplitudo sinyal asli yang belum termodulasi.

    Pada board Arduino Uno, pin yang bisa dimanfaatkan untuk PWM adalah pin yang diberi tanda tilde (~), yaitu pin 3, 5, 6, 9, 10, dan pin 11. Pin-pin tersebut merupakan pin yang bisa difungsikan untuk input analog atau output analog. Oleh sebab itu, jika akan menggunakan PWM pada pin ini, bisa dilakukan dengan perintah analogWrite();

    PWM pada arduino bekerja pada frekuensi 500Hz, artinya 500 siklus/ketukan dalam satu detik. Untuk setiap siklus, kita bisa memberi nilai dari 0 hingga 255.  Ketika kita memberikan angka 0, berarti pada pin tersebut tidak akan pernah bernilai 5 volt (pin selalu bernilai 0 volt). Sedangkan jika kita memberikan nilai 255, maka sepanjang siklus akan bernilai 5 volt (tidak pernah 0 volt). Jika kita memberikan nilai 127 (kita anggap setengah dari 0 hingga 255, atau 50% dari 255), maka setengah siklus akan bernilai 5 volt, dan setengah siklus lagi akan bernilai 0 volt. Sedangkan jika jika memberikan 25% dari 255 (1/4 * 255 atau 64), maka 1/4 siklus akan bernilai 5 volt, dan 3/4 sisanya akan bernilai 0 volt, dan ini akan terjadi 500 kali dalam 1 detik. 

Gambar 1. Siklus Sinyal PWM pada Arduino

B. Analog to Digital Converter
    ADC atau Analog to Digital Converter merupakan salah satu perangkat elektronika yang digunakan sebagai penghubung dalam pemrosesan sinyal analog oleh sistem digital. Fungsi utama dari fitur ini adalah mengubah sinyal masukan yang masih dalam bentuk sinyal analog menjadi sinyal digital dengan bentuk kode-kode digital. Ada 2 faktor yang perlu diperhatikan pada proses kerja ADC yaitu kecepatan sampling dan resolusi.

    Kecepatan sampling menyatakan seberapa sering perangkat mampu mengkonversi sinyal analog ke dalam bentuk sinyal digital dalam selang waktu yang tertentu. Biasa dinyatakan dalam sample per second (SPS). Sementara Resolusi menyatakan tingkat ketelitian yang dimilliki. Pada Arduino, resolusi yang dimiliki adalah 10 bit atau rentang nilai digital antara 0 - 1023. Dan pada Arduino tegangan referensi yang digunakan adalah 5 volt, hal ini berarti ADC pada Arduino mampu menangani sinyal analog dengan tegangan 0 - 5 volt.

    Pada Arduino, menggunakan pin analog input yang diawali dengan kode A( A0- A5 pada Arduino Uno). Fungsi untuk mengambil data sinyal input analog menggunakan analog Read (pin);

C. Arduino
    Arduino adalah kit elektronik atau papan rangkaian elektronik open source yang di dalamnya terdapat komponen utama yaitu sebuah chip mikrokontroler dengan jenis AVR dari perusahaan Atmel. Arduino yang kita gunakan dalam praktikum ini adalah Arduino Uno yang menggunakan chip AVR ATmega 328P. Dalam memprogram Arduino, kita bisa menggunakan komunikasi serial agar Arduino dapat berhubungan dengan komputer ataupun perangkat lain.

Adapun spesifikasi dari Arduino Uno adalah sebagai berkut :

Gambar 2. Arduino Uno


BAGIAN-BAGIAN ARDUINO UNO

POWER USB
Digunakan untuk menghubungkan Papan Arduino dengan komputer lewat koneksi USB.

POWER JACK
Supply atau sumber listrik untuk Arduino dengan tipe Jack. Input DC 5 - 12 V.

Crystal Oscillator
Kristal ini digunakan sebagai layaknya detak jantung pada Arduino.
Jumlah cetak menunjukkan 16000 atau 16000 kHz, atau 16 MHz.

Reset
Digunakan untuk mengulang program Arduino dari awal atau Reset.

Digital Pins I / O
Papan Arduino UNO memiliki 14 Digital Pin. Berfungsi untuk memberikan nilai logika ( 0 atau 1 ). Pin berlabel " ~ " adalah pin-pin PWM ( Pulse Width Modulation ) yang dapat digunakan untuk menghasilkan PWM.

Analog Pins
Papan Arduino UNO memiliki 6 pin analog A0 sampai A5. Digunakan untuk membaca sinyal atau sensor analog seperti sensor jarak, suhu dsb, dan mengubahnya menjadi nilai digital.

LED Power Indicator
Lampu ini akan menyala dan menandakan Papan Arduino mendapatkan supply listrik dengan baik. 


[menuju awal]