Thursday, March 28, 2019

Dasar Pemrograman Arduino (Input)

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)
}
       

        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.

Thursday, March 21, 2019

Pemrograman arduino dengan menggunakan TINKERCAD

LAPORAN 1
Pemrograman arduino dengan menggunakan TINKERCAD

Subject:
1.Semua Led menyala bersamaan selama 2 detik, dan mati selama 1 detik (loop).
2.Led menyala secara bergantian setiap satu detik.
3.Membuat rangkaian activ low.


Hal yang pertama dilakukan adalah membuat rangkaian yang menggunakan arduino sebagai inti dari rangkaian ini. Mengklik editing component dan menambahkan komponen yang di perlukan.

RANGKAIAN 1
Setelah selesai merangkai langkah selanjutnya adalah memasukkan program ke arduinonya.pada tinkercad yaitu dengan mengklil icon code pada sisi kana atas. Selanjutnya akan muncul tampilan seperti di bawah ini.
Tampilan di atas adalah program instan. Namun kali ini kita menggunakan program yang dibuat sendiri,dengan mengklik icon blocks pada pojok kiri atas kemudian klik text maka akan di tampilkan space untuk membuat program.


PROGRAM dan FUNGSI
1.Pada subject pertama yaitu membuat semua Led menyala bersamaan selama 2 detik, dan mati selama 1 detik (loop)
void setup() //semua kode yang disini akan dibaca sekali oleh Arduino
{
  pinMode(3, OUTPUT);    // Menentukan pin 3 sebagai OUTPUT
  pinMode(7, OUTPUT);    // Menentukan pin 7 sebagai OUTPUT
  pinMode(11, OUTPUT);  // Menentukan pin 11 sebagai OUTPUT

}

void loop()  //Semua perintah yang ada di bawah dari { sampai } akan dibaca berulang kali (terus menerus) oleh Arduino
{
  digitalWrite(3, HIGH);   //Untuk memberikan 5V (nyala)  kepada pin 3.
  digitalWrite(7, HIGH);   //Untuk memberikan 5V (nyala)  kepada pin 7.
  digitalWrite(11, HIGH); //Untuk memberikan 5V (nyala)  kepada pin 11.
  delay(2000); // Waktu yang di tentukan untuk led menyala yaitu 2000ms (2 detik)
  digitalWrite(3, LOW);   //Untuk memberikan 0V (mati)  kepada pin 3.
  digitalWrite(7, LOW);   //Untuk memberikan 0V (mati)  kepada pin 7.
  digitalWrite(11, LOW); //Untuk memberikan 0V (mati)  kepada pin 11.
  delay(1000);  // Waktu yang di tentukan untuk led menyala yaitu 1000ms (1 detik)
}


2.Pada subject ke 2 adalah membuat Led menyala secara bergantian setiap satu detik. Rangkaiannya sama kita hanya tinggal mengubah programnya dengan program di bawah ini.
void setup() //semua kode yang disini akan dibaca sekali oleh Arduino
{
  pinMode(3, OUTPUT);    // Menentukan pin 3 sebagai OUTPUT
  pinMode(7, OUTPUT);    // Menentukan pin 7 sebagai OUTPUT
  pinMode(11, OUTPUT);  // Menentukan pin 11 sebagai OUTPUT

}

void loop()  //Semua perintah yang ada di bawah dari { sampai } akan dibaca berulang kali (terus menerus) oleh Arduino
{
  digitalWrite(3, HIGH);   //Untuk memberikan 5V (nyala)  kepada pin 3.
  delay(1000); // Waktu yang di tentukan untuk led menyala yaitu 1000ms (1 detik)
  digitalWrite(3, LOW);   //Untuk memberikan 0V (mati)  kepada pin 3.  
  delay(1000); // Waktu yang di tentukan untuk led menyala yaitu 1000ms (1 detik)
  digitalWrite(7, HIGH);   //Untuk memberikan 5V (nyala)  kepada pin 7.
  delay(1000); // Waktu yang di tentukan untuk led menyala yaitu 1000ms (1 detik)
  digitalWrite(7, LOW);   //Untuk memberikan 0V (mati)  kepada pin 7.
  delay(1000); // Waktu yang di tentukan untuk led menyala yaitu 1000ms (1 detik)
  digitalWrite(11, HIGH); //Untuk memberikan 5V (nyala)  kepada pin 11.
  delay(1000); // Waktu yang di tentukan untuk led menyala yaitu 1000ms (1 detik)
  digitalWrite(11, LOW); //Untuk memberikan 0V (mati)  kepada pin 11.
  delay(1000);  // Waktu yang di tentukan untuk led menyala yaitu 1000ms (1 detik)
}

Beda program di atas yaitu pada peletakan fungsi high dan lownya yang membuat program di atas dapat menampilkan led hidup secara bergantian adalah dengan peletakan high kemudian low dan fungsi loop akan membaca program satu persatu kemudian mengulanginya kembali dari atas.

3.Pada bagian ke tiga yaitu rangkaian activ low.
RANGKAIAN 2

PROGRAM
void setup() //semua kode yang disini akan dibaca sekali oleh Arduino
{
  pinMode(3, OUTPUT);    // Menentukan pin 3 sebagai OUTPUT
  pinMode(7, OUTPUT);    // Menentukan pin 7 sebagai OUTPUT
  pinMode(11, OUTPUT);  // Menentukan pin 11 sebagai OUTPUT

}
void loop() 
{
  digitalWrite(3, LOW);   //Untuk memberikan 0V (mati)  kepada pin 3.
  digitalWrite(7, LOW);   //Untuk memberikan 0V (mati)  kepada pin 7.
  digitalWrite(11, LOW); //Untuk memberikan 0V (mati)  kepada pin 11.
  delay(1000);  // Waktu yang di tentukan untuk led menyala yaitu 1000ms (1 detik)
}


Pada rangkaian LED Aktif-Low, LED akan menyala jika diberi logika 0 (LOW) dan akan mati jika diberi logika 1 (HIGH).Ketika diberi logika 0, maka tegangan pada kaki anoda LED lebih positif dibandingkan dengan kaki katoda. Selisih tegangan pada kaki anoda dan katoda LED ini melebihi tegangan jatuh LED, sehingga LED pun menghantar (dialiri arus listrik) dan menyala. Sebaliknya, ketika diberi logika 1, maka kaki anoda LED tidak lebih positif daripada kaki katoda, oleh karenanya LED tidak menghantar (tidak dialiri arus listrik) sehingga LED pun tidak menyala.

Kontrol LED Menggunakan NodeMCU

Pada praktikum kali ini akan dijelaskan mengenai cara mengkontrol LED menggunakan Blynk Example Browser yang dijalankan menggunakan modul ...