Kode Program Ujian LSP (PWM Untuk Mengendalikan Putaran Motor DC)
Awal kode :
Versi 1
#include <LiquidCrystal.h>
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
int motorPin = 10;
int potPin = A0;
int potIn;
int nilaiPWM;
void setup()
{
pinMode(potPin, INPUT);
pinMode(motorPin, OUTPUT);
[Link](16, 2);
[Link]("NILAI PWM :");
}
void loop()
{
potIn = analogRead(potPin);
nilaiPWM = map(potIn, 0, 1023, 0, 255);
analogWrite(motorPin, nilaiPWM);
delay(100);
[Link](0, 1);
[Link](nilaiPWM);
}
Akhir kode
Versi 2 :
#include <LiquidCrystal.h>
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
int motorPin = 10;
int potPin = A0;
int nilaiPWM;
void setup()
{
pinMode(potPin, INPUT);
pinMode(motorPin, OUTPUT);
[Link](16, 2);
[Link]("NILAI PWM :");
}
void loop()
{
nilaiPWM =analogRead(potPin);
analogWrite(motorPin, nilaiPWM/4);
delay(100);
[Link](0, 1);
[Link](nilaiPWM/4);
}
Penjelasan Versi 1
#include <LiquidCrystal.h>
Kode memanggil library(tempat simpan) kode untuk memprogram / mengaktifkan LCD
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
kode membuat konstanta rs,en,d4,d5,d6,d7 yang diset sebagai jalur data pada LCD. Tipe
konstantanya adalah int=singkatan integer. Integer adalah tipe data berupa angka bulat
atau tidak pakai koma.
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
Mengeset pin arduino yang akan disambungkan ke LCD. Atau mensinkronkan jalur datanya
dengan urutan yang ada di library.
int motorPin = 10;
membuat variable motorPin dan di set nilai 10 dengan tipe integer
int potPin = A0;
membuat variable potPin yang di set nilai A0 dengan tipe integer
int potIn;
membuat variable tipe integer dengan nama potPin
int nilaiPWM;
membuat variable tipe integer dengan nama nilaiPWM
void setup()
void setup adalah prosedur, yang dijalankan sekali saat loading.
Prosedur adalah kumpulan kode yang tidak memberikan nilai baik tertentu. Biasanya berisi
kode inisialisasi program awal, atau deklarasi awal.
pinMode(potPin, INPUT);
mengeset potPin sebagai input analog
pinMode(motorPin, OUTPUT);
mengeset motorPin sebagai output PWM yang disambungkan ke motor.
[Link](16, 2);
kode deklarasi awal untuk menggunakan LCD dengan tipe 16 x 2 atau 16 kolom 2 baris.
[Link]("NILAI PWM :");
menampilkan tulisan NILAI PWM : pada layar LCD.
void loop()
void loop adalah fungsi/prosedur yang berisi kumpulan kode yang dijalankan terus
menerus.
potIn = analogRead(potPin);
potIn diisi dengan data pembacaan analog pada posisi potensiometer.
Potensio pada rangkaian UJIAN LSP itu merupakan rangkaian pembagi tegangan, jika min
maka tegangan yang masuk ke A0 adalah 0, jika max potensio maka tegangan yang masuk
ke A0 adalah 5V.
nilaiPWM = map(potIn, 0, 1023, 0, 255);
mengkonversi nilai potIn dari range angka 0-1023 menjadi angka 0-255 (0-255 adalah nilai
PWM yang diijinkan)
analogWrite(motorPin, nilaiPWM);
menuliskan/mengeluarkan nilai PWM pada motorPin (pada pin 10).
delay(100);
menunda kode 100mS atau 0,1 detik agar LCD bs menyesuaikan
[Link](0, 1);
mengeset cursor LCD yang ditulisi pada kolom 1, baris 2. Angka 0 ini adalah posisi kolom 1,
angka 1 adalah posisi baris ke 2.
[Link](nilaiPWM);
menuliskan karakter yang ada pada nilaiPWM ke LCD. Karakter ini berupa hasil akhir nilai
PWM dari 0 s/d 255
}
Penjelasan Versi 2
#include <LiquidCrystal.h>
Kode memanggil library(tempat simpan) kode untuk memprogram / mengaktifkan LCD
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
kode membuat konstanta rs,en,d4,d5,d6,d7 yang diset sebagai jalur data pada LCD. Tipe
konstantanya adalah int=singkatan integer. Integer adalah tipe data berupa angka bulat
atau tidak pakai koma.
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
Mengeset pin arduino yang akan disambungkan ke LCD. Atau mensinkronkan jalur datanya
dengan urutan yang ada di library.
int motorPin = 10;
membuat variable motorPin dan di set nilai 10 dengan tipe integer
int potPin = A0;
membuat variable potPin yang di set nilai A0 dengan tipe integer
int potIn;
membuat variable tipe integer dengan nama potPin
int nilaiPWM;
membuat variable tipe integer dengan nama nilaiPWM
void setup()
void setup adalah prosedur, yang dijalankan sekali saat loading.
Prosedur adalah kumpulan kode yang tidak memberikan nilai baik tertentu. Biasanya berisi
kode inisialisasi program awal, atau deklarasi awal.
pinMode(potPin, INPUT);
mengeset potPin sebagai input analog
pinMode(motorPin, OUTPUT);
mengeset motorPin sebagai output PWM yang disambungkan ke motor.
[Link](16, 2);
kode deklarasi awal untuk menggunakan LCD dengan tipe 16 x 2 atau 16 kolom 2 baris.
[Link]("NILAI PWM :");
menampilkan tulisan NILAI PWM : pada layar LCD.
void loop()
void loop adalah fungsi/prosedur yang berisi kumpulan kode yang dijalankan terus
menerus.
nilaiPWM =analogRead(potPin);
nilaiPWM diisi dengan nilai pembacaan analog pada potPin (A0), nilai ini berupa konversi
nilai tegangan menjadi angka digital.
analogWrite(motorPin, nilaiPWM/4);
menuliskan/mengeluarkan nilai PWM pada motorPin (pada pin 10) dengan hasil dari
nilaiPWM dibagi 4.
delay(100);
menunda kode 100mS atau 0,1 detik agar LCD bs menyesuaikan
[Link](0, 1);
mengeset cursor LCD yang ditulisi pada kolom 1, baris 2. Angka 0 ini adalah posisi kolom 1,
angka 1 adalah posisi baris ke 2.
[Link](nilaiPWM/4);
menuliskan karakter yang ada pada nilaiPWM dibagi 4 ke LCD. Karakter ini berupa hasil
akhir nilai PWM dari 0 s/d 255
}