Laporan 2
Dasar Pemrograman Arduino (Input)
LATIHAN
1.Pertama adalah membuat rangkaian arduino yang salah satu pinnya menjadi output dan lainnya bisa jadi input
Rangkailah seperti gambar berikut:
Bedasarkan rangkaian di atas dapat dilihat yaitu pin 2 sebagai INPUT dan pin 13 sebagai OUTPUT
setelah merangkai masukkan program pada arduino.
int buttonState = 0;
void setup()
{
pinMode(2,INPUT);
pinMode(13,OUTPUT);
}
void loop()
{
buttonState = digitalRead(2);
if (buttonState == HIGH){
digitalWrite(13,HIGH);
}else {
digitalWrite(13,LOW);
}
delay(10);
}
Berdasarkan program di atas dapat di lihat pin 2 sebagai INPUT dan pin 13 sebagai OUTPUT dan akan di realisasikan pada LED. pada saat pin 13 dalam kodisi HIGH maka LED akan hidup dan pada saat kondisi LOW maka LED akan mati. Kondisi high dan lownya pin 13 adalah karena input dari pin 2 yang terhubung dengan saklar.
2.Rangkaian arduino untuk menampilkan karakter pada lcd
Rangkailah seperti gambar berikut:
Setelah merangkai masukkan program berikut ke arduino
LiquidCrystal lcd(12,11,5,4,3,2);
void setup()
{
lcd.begin (16, 2); //Menentukan jumlah kolom dan baris
lcd.print ("Hello, world"); //Mencetak karakter pada lcd
}
void loop(){
lcd.setCursor(0, 1);//Set posisi awal kursor di awali dengan kolom 0 dan baris 1
lcd.print(millis() /1000);//waktu countdown sampai lcd itu di reset
}
Berdasarkan program dan pejelasan program di atas adalah cara untuk mencetak karakter di lcd.
TUGAS
1.Membuat rangkaian seperti rangkaian pertama dengan menambahkan 2 pushbutton dan 2 led seperti gambar di bawah:
Setelah merangkai masukkan program pada arduino
int buttonState1 = 0;
int buttonState2 = 0;
int buttonState3 = 0;
void setup()
{
pinMode(2, INPUT);
pinMode(13,OUTPUT);
pinMode(3,INPUT);
pinMode(12,OUTPUT);
pinMode(4,INPUT);
pinMode(9,OUTPUT);
}
void loop()
{
buttonState1 = digitalRead(2);
if (buttonState1 == HIGH) {
digitalWrite(13, LOW);
}
else {
digitalWrite(13, HIGH);
}
buttonState2 = digitalRead(3);
if (buttonState2 == HIGH) {
digitalWrite(12, LOW);
}
else {
digitalWrite(12, HIGH);
}
buttonState3 = digitalRead(4);
if (buttonState3 == HIGH) {
digitalWrite(9, LOW);
}
else {
digitalWrite(9, HIGH)
}
delay(10)
}
int buttonState2 = 0;
int buttonState3 = 0;
void setup()
{
pinMode(2, INPUT);
pinMode(13,OUTPUT);
pinMode(3,INPUT);
pinMode(12,OUTPUT);
pinMode(4,INPUT);
pinMode(9,OUTPUT);
}
void loop()
{
buttonState1 = digitalRead(2);
if (buttonState1 == HIGH) {
digitalWrite(13, LOW);
}
else {
digitalWrite(13, HIGH);
}
buttonState2 = digitalRead(3);
if (buttonState2 == HIGH) {
digitalWrite(12, LOW);
}
else {
digitalWrite(12, HIGH);
}
buttonState3 = digitalRead(4);
if (buttonState3 == HIGH) {
digitalWrite(9, LOW);
}
else {
digitalWrite(9, HIGH)
}
delay(10)
}
Program di atas prinsip kerjanya sama dengan program pada latihan pertama yaitu dengan hanyamenambahkan 2 fungsi if dan else serupa pada program dasarnya.
2. Menampilkan nama dan nama prodi pada lcd
Merangkai seperti pada gambar berikut:
setelah merangkai masukkan program pada arduino
LiquidCrystal lcd(12,11,5,4,3,2);
void setup()
{
lcd.begin (16, 2);
lcd.print ("Agung Bancin");
}
void loop(){
lcd.setCursor(0, 1);
lcd.print ("TELKOM!");
}
Prinsip kerja program di atas sama seperti program dasarnya yaitu latihan 2 hanya saja pada program di atas dihilangkan hitung mundurnya karena kita akan menggunakan kolom kedua sebagai tempat karakter nama prodi.