Laporan Praktek Mikrokontroler Dan Antar
Laporan Praktek Mikrokontroler Dan Antar
P3
ANTARMUKA
POTENSIOMETER
3. SAHRIL SANDRIAN
4. VIRA AMANAH
DEPOK
2016
P3 Potensiometer Kelompok 5 | 1
P3.1. DIMMER V1
P3 Potensiometer Kelompok 5 | 2
Gambar 2. Rangkaian Protoboard P3.1 Dimmer v1
P3 Potensiometer Kelompok 5 | 3
2. Cara Kerja Aplikasi
Pada praktikum P.3.1 ini, merangkai sebuah rangkaian antarmuka dengan mode
DimmerV1. Pada rangkaian ini menggunakan input potensiometer untuk mengendalikan
intensitas cahaya LED dari keadaan mati hingga kecerahan maksimal. Saat potensiometer
berada pada kondisi minimum (knop potensiometer paling kiri) maka LED akan dalam
keadaan mati (off). Semakin memutar knop potensiometer ke paling kanan semakin
bertambah juga kecerahan pada LED.
3. Analisa Sketch
P3 Potensiometer Kelompok 5 | 4
identifikasi bahwa nilai awal potensio adalah 0. Pada void setup() digunakan untuk
inisialisasi yang hanya dijalankan sekali di awal program.
PinMode(ledPin, OUTPUT); merupakan identifikasi bahwa LED berperan sebagai
output. analogReference(DEFAULT); merupakan tegangan input pada potensiometer.
Pada void loop() digunakan untuk proses pengulangan program pada sebuah masukan
atau keluaran. Keterangan value atau val = analogRead(potPin); merupakan identifikasi
untuk membaca nilai potensiometer terhubung dengan pin 0. Keterangan val = val/4
artinya nilai 1023 dibagi dengan 4, sehingga nilai maksimal kecerhan led adalah 255.
Perintah analogWrite(ledPin, val); merupakan perintah untuk menyalakan led sesuai
dengan value pada potensio yang sudah kita atur
P3 Potensiometer Kelompok 5 | 5
P3.2 DIMMER V2
P3 Potensiometer Kelompok 5 | 6
Gambar 2. Rangkaian Protoboard P3.2 Dimmer V2
P3 Potensiometer Kelompok 5 | 7
2.Cara Kerja Aplikasi
Pada praktikum P.3.2 ini, merangkai sebuah rangkaian antarmuka dengan mode
DimmerV2. Pada rangkaian ini menggunakan input potensiometer untuk mengendalikan
intensitas cahaya LED dari keadaan menyala(dengan kecerahan maksimal) hingga
kecerahan minimal/mati. Saat potensiometer berada pada kondisi minimum (knop
potensiometer paling kiri) maka LED akan dalam keadaan menyala. Semakin memutar
knop potensiometer ke paling kanan semakin berkurang juga kecerahan pada LED, hingga
pada keadaan off.
3.Analisa Sketch
P3 Potensiometer Kelompok 5 | 8
merupakan identifikasi bahwa LED berperan sebagai output.
analogReference(DEFAULT); merupakan tegangan input pada potensio.
Pada void loop() digunakan untuk proses pengulangan program pada sebuah masukan
atau keluaran. Keterangan value atau val = analogRead(potPin); merupakan identifikasi
untuk membaca nilai potensiometer terhubung dengan pin 1. Keterangan val =
constrain(val, 750, 900) artinya nilai value hanya dibatasi dari 750 hingga 900. Perintah int
ledLevel = map(val, 750, 900, 255, 0); merupakan pemetaan nilai LED dari kecerahan 255
ke 0. Perintah analogWrite(ledPin, ledLevel); merupakan perintah untuk menyalakan led
sesuai dengan nilai ledLevel yang sudah kita atur.
P3 Potensiometer Kelompok 5 | 9
P3.3 BLINKING RATE
P3 Potensiometer Kelompok 5 | 10
Gambar 2. Rangkaian Protoboard P3.3. Blinking Rate
Pada praktikum P.3.3 ini, merangkai sebuah rangkaian antarmuka dengan mode
Blinking Rate. Pada rangkaian ini menggunakan input potensiometer untuk mengendalikan
kecepatan kedipan LED (Blinking Rate). Saat potensiometer berada pada kondisi minimum
(knop potensiometer paling kiri) maka akan menghasilkan LED yang berkedip. Semakin
memutar knop potensiometer ke paling kanan semakin cepat juga yang dihasilkan LED.
3. Analisa Sketch
P3 Potensiometer Kelompok 5 | 11
Gambar 3. Sketch P3.3. Blinking Rate
P3 Potensiometer Kelompok 5 | 12
Perintah digitalWrite(ledPin,LOW); yaitu perintah untuk menjalankan pin digital dan
mengaktifkan LED (LOW); sehingga pada saat knop potensiometer diputar ke kiri maka
kedipan pada LED akan berkurang.
P3 Potensiometer Kelompok 5 | 13
P2.4. THRESHOLD
P3 Potensiometer Kelompok 5 | 14
2. Cara Kerja Aplikasi
3. Analisa Sketch
Threshold merupakan
program untuk mengendalikan
nyala LED hanya jika nilai
potensiometer melewati
suatu batas (thereshold). Pada
program ini terdapat int potPin =
3; yaitu merupakan identifikasi
bahwa potensiometer
terhubung dengan pin 3.
Pin 3 pada arduino adalah pin
PWM dimana pin PWM ini
bisa mengeluarkan tegangan antara 0-5 Volt (nilai 0 sampai 255 atau setara dengan
256 level tegangan DC). Nilai 0 berarti pulsa yang diberikan untuk setiap siklus selalu
0 volt, sedangkan nilai 255 berarti pulsa yang diberikan selalu bernilai 5 volt. Untuk
int ledPin = 4; merupakan identifikasi bahwa LED terhubung dengan pin 4.
Pada void setup() digunakan untuk inisialisasi yang hanya dijalankan sekali di
awal program. PinMode(ledPin, OUTPUT); merupakan identifikasi bahwa LED
berperan sebagai output.
Void loop() digunakan untuk melakukan suatu deklarasi secara berulang.
Maksudnya yaitu terjadi proses pengulangan program pada sebuah masukan atau
keluaran. Int val =analogRead(potPin); maksudnya yaitu mengidentifikasi pin 3(pin
PWM) sebagai potensiometer yang berfungsi sebagai analogRead() untuk membaca
P3 Potensiometer Kelompok 5 | 15
masukan dari nilai analog. Nilai dari analog read ini berkisar dari 0 hingga 1023
berdasarkan kemampuan dari mikrokontroller dalam mencacah dari 0 – 5 volt.
Untuk selanjutnya terdapat pada sketch perintah if-else. Pada dasarnya IF-ELSE
merupakan pengembangan dari fungsi IF. Sehingga ELSE berarti kondisi yang tidak sesuai
dengan kondisi dalam fungsi IF. Dengan kata lain, ELSE artinya “jika tidak”. If(val>512)
yaitu mengidentifikasikan bahwa jika nilai lebih dari 512 maka potensiometer akan
berfungsi sebagai Threshold. Artinya jika nilai 0-512 LED akan tetap mati, namun
jika melewati batas 512 maka LED akan menyala dan else digitalWrite(ledPin,
HIGH); maksudnya yaitu dengan keterangan value untuk pin LED merupakan nilai
digital. Pada digitalWrite(ledPin, LOW); yang berarti LED pada pin yang ditentukan
akan mati.
P3 Potensiometer Kelompok 5 | 16
P3.5. BAR GRAPH DISPLAY
P3 Potensiometer Kelompok 5 | 17
Gambar 2. Rangkaian Protoboard P3.5. Bar Graph Display
P3 Potensiometer Kelompok 5 | 18
2. Cara Kerja Aplikasi
3. Analisa Sketch
P3 Potensiometer Kelompok 5 | 19
Bar Graph Display merupakan program untuk mengatur nyala sejumlah LED
dengan potensiometer untuk men-display nilai input analog ke output digital. Terdapat
syntax const int analogPin = A0 ysitu untuk mengidentifikasi pin anlaog 0 sebagain
pin analog input. Pada praktikum kali ini karena jumlah LED yang dipakai sejumlah 8
buah, maka syntax yang di pakai yaitu const int ledCount = 8. Selanjutnya terdapat
syntax int ledPins[] = { 2, 3, 4, 5, 6, 7, 8, 9 }; // fungsi dari syntax ini yaitu
menentukan pin kaki LED. Maksudnya bahwa LED terhubung oleh pin 2, 3, 4, 5, 6,
7, 8, 9.
Pada void setup() digunakan untuk inisialisasi yang hanya dijalankan sekali di
awal program. PinMode(ledPin, OUTPUT); merupakan identifikasi bahwa LED
berperan sebagai output. Pada syntax for (int thisLed = 0; thisLed < ledCount;
thisLed++) ; perintah ini yaitu untuk melakukan looping pada array dan men-set
semua pin sebagai output.
Void loop() digunakan untuk melakukan suatu deklarasi secara berulang.
Maksudnya yaitu terjadi proses pengulangan program pada sebuah masukan atau
keluaran. Pada syntax int potReading = analogRead(analogPin); merupakan eyntax
yang berfungsi untuk
int ledLevel = map(potReading, 0, 1023, 0, ledCount);
Loop pada array LED
for (int thisLed = 0; thisLed < ledCount; thisLed++)
{
if (thisLed < ledLevel)
{
digitalWrite(ledPins[thisLed], HIGH);
}
else
{
digitalWrite(ledPins[thisLed], LOW);
Jika indeks elemen array < ledLevel, maka nyalakan pin LED tersebut.
Namun jika kebalikannya, pin yang lebih besar dari ledLevel akan padam
}
}
}
P3 Potensiometer Kelompok 5 | 20
P3.6. RGB MIXER
P3 Potensiometer Kelompok 5 | 21
Gambar 2. Rangkaian Protoboard P3.6. RGB Mixer
P3 Potensiometer Kelompok 5 | 22
2. Cara Kerja Aplikasi
3. Analisa Sketch
P3 Potensiometer Kelompok 5 | 23
Gambar 3. Sketch P3.6 RGB Mixer
int potPin = 0;//digunakan untuk menentukan kaki yang dipakai untuk potensiometer
int redPin = 11;//digunakan untuk menentukan kaki yang akan dipakai LED output warna merah
int grnPin = 10;//digunakan untuk menentukan kaki yang akan dipakai LED output warna hijau
int bluPin = 9;//digunakan untuk menentukan kaki yang akan dipakai LEDr output warna biru
int redVal = 0;//digunakan untuk mengatur nilai awal atau komposisi awal untuk warna merah
int grnVal = 0;//digunakan untuk mengatur nilai awal atau komposisi awal untuk warna hijau
int bluVal = 0; //digunakan untuk mengatur nilai awal atau komposisi awal untuk warna biru
Pada void setup() digunakan untuk inisialisasi yang hanya dijalankan sekali di awal
program. PinMode(redPin, OUTPUT), PinMode(grnPin, OUTPUT) dan PinMode(bluPin,
OUTPUT); merupakan identifikasi bahwa LED RGB berperan sebagai output. Void loop()
digunakan untuk melakukan suatu deklarasi secara berulang. Maksudnya yaitu terjadi proses
pengulangan program pada sebuah masukan atau keluaran.
P3 Potensiometer Kelompok 5 | 24
Int potVal = analogRead(potPin); maksudnya yaitu mengidentifikasi pin 0 (pin
PWM) sebagai potensiometer dan fungsi analogRead() untuk membaca masukan dari nilai
analog. Nilai dari analog read ini berkisar dari 0 hingga 1023 berdasarkan kemampuan dari
mikrokontroller dalam mencacah dari 0 – 5 volt.
Dalam program ini digunakan fungsi IF yang menyatakan dua kondisi dan dalam
sketch fungsi If(val < 431) digunakan untuk mengidentifikasikan bahwa jika nilai lebih
kurang dari 431 maka akan dieksekusi dengan syntax potVal = (potVal * 3) / 4; maksudnya
nilai potensiometer aksen didapat dari nilai potensiometer sebelumnya dikali dengan 3 dan
dibagi dengan 4. Dan syntax redVal = 255 - potVal; grnVal = potVal; bluVal = 1; digunakan
untuk mengatur kompisi dari warna merah, hijau dan biru. Komposisi warna merah diperoleh
dari 255-nilai potensiometer yang diputar, sedangkan komposisi dari warna hijau sama
dengan nilai potensiometer yang diputar dan komposisi warna biru sama dengan 1.
Dan syntax berikutnya else if (potVal < 682) yang menyatakan kondisi kedua yaitu
jika potensiometer diputar dan nilainya lebih dari 421 dan kurang dari 682 maka nilai output
akan berubah kondisi yang sesuai dengan perintah yang dimasukan potVal = ( (potVal-341) *
3) / 4;// merupakan syntax untuk mengidentifikasi nilai potensiometer saat kondisi kedua.
Selanjutnya untuk redVal = 1; merupakan mengedintifikasikan output LED warna merah.
Selanjutnya untuk grnVal = 255 – potVal; // merupakan mengedintifikasikan output LED
warna hijau. Selanjutnya untuk syntax bluVal = potVal; merupakan mengedintifikasikan
output LED warna biru.
P3 Potensiometer Kelompok 5 | 25
P3.7. DIY
COMBINATE THRESHOLD AND BLINKING LED
P3 Potensiometer Kelompok 5 | 26
Gambar 2. Rangkaian Protoboard P3.7.
P3 Potensiometer Kelompok 5 | 27
2. Cara Kerja Aplikasi
Cara kerja program ini adalah ketika potensiometer diputar hingga level tegangan
yang diberikan oleh potensiometer dibawah 513, maka LED akan mati. Ketika
potensiometer diputar hingga level tegangan melampaui nilai 512, maka LED akan
menyala berkedip-kedip hingga level tegangan tertinggi.
3. Analisa Sketch
int ledPin = 2;
// Menentukan pin input potensiometer pada pin 0 dan pin output LED pada pin 2.
void setup () // menginisialisasi dan menetapkan nilai awal
{
pinMode(ledPin,OUTPUT);
}
// Menetapkan pin LED sebagai pin output
void loop ()
{
P3 Potensiometer Kelompok 5 | 28
int val = analogRead(potPin); // memasukkan nilai variabel untuk memasukkan
nilai potensiometer
if(val > 512)
{
digitalWrite(ledPin,HIGH);
delay(val);
}
Jika nilai tegangan yang diberikan potensiometer lebih dari 512, maka pin LED
akan menyala, terdapat delay sebelum ke program selanjutnya
{
digitalWrite(ledPin, LOW);
delay(val);
}
}
Setelah itu maka menuju ke baris program berikutnya, yaitu diberikan nilai tegangan
LOW pada pin LED sehingga LED mati untuk beberapa waktu dan menyala kembali, begitu
seterusnya hingga LED akan mati dan menyala secara bergantian sampai level tegangan
tertingggi
P3 Potensiometer Kelompok 5 | 29
KESIMPULAN
Dari percobaan yang telah dilakukan, maka dapat diambil kesimpulan seperti berikut:
P3 Potensiometer Kelompok 5 | 30