Percobaan 3 nomor 2 yaitu membuat led berkedip dengan frekuensi berbanding lurus dengan nilai potensiometer.
potensiometer |
LED |
Arduino |
3. Rangkaian Simulasi [back]
#define trigPin 8
#define echoPin 9
#define buzzer 10
long duration;
float distanceInch;
int timer;
void setup (){
pinMode (trigPin, OUTPUT);
pinMode (echoPin, INPUT);
pinMode (buzzer, OUTPUT);
}
void loop (){
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distanceInch = duration = 0.0133 /2;
digitalWrite(buzzer, HIGH);
delay(50);
digitalWrite(buzzer, LOW);
timer = distanceInch = 10;
delay(timer);
}
SLAVE
#include <Wire.h>
#define SLAVE_ADDR 9
int LED = 13;
int rd;
int br;
void setup() {
pinMode(LED, OUTPUT);
Wire.begin(SLAVE_ADDR);
Wire.onReceive(receiveEvent);
Serial.begin(9600);
Serial.println("I2C Slave demo");
}
void receiveEvent() {
rd = Wire.read();
Serial.println(rd);
}
void loop() {
delay(50);
br = map(rd, 1, 255, 100, 2000);
digitalWrite(LED, HIGH);
delay(br);
digitalWrite(LED, LOW);
delay(br);
}
komunikasi I2C atau inter integrated circuit adalah komunikasi yang
memungkinkan terjadinya komunikasi antara controller. jenis komunikasi
ini memiliki pin sendiri pada arduino yaitu pin SDA dan SCL. setiap bit
akan ditransfer pada kaki SDA dan akan di sinkronisasikan oleh pulsa
clock pada SCL. setiap bit akan ditransfer pada pin SDA dalam bentuk 8
bit dan 1 bit ditransferkan pada clock atau SCL. untuk transfer data
pada I2C harus dalam bentuk 8 bit sehingga semua data yang ditransfer
dikonfersi kedalam bentuk 8 bit yaitu 256. rangkaian ini terdiri dari
potensiometer. potensiometer kaki ujungnya dihubunngkan dengan vcc dan
ground. lalu kaki tengah dihhubungkan dengan kaki input analog arduino
master. nilai yang diterima oleh pin analog adalah berdasarkan
perbandingan variabel resistor yang dipakai. lalu pin analog akan
membaca nilai yang dihasilkan potensiometer yaitu dengan rentang 0
sampai dengan 1023. untuk proses transver data data maksimal adalah
bernilai 255 ( data 8 bit). lalu dilakukan mapping untuk mengubah data
dengan rentang 0 sampai 1023 menjadi rentang 1 sampai 255 (berdasarkan
coding program arduino master). nilai hasil mapping akan dikirimkan
melalui pin komunikasi I2C dan diterima oleh arduino slave. arduino
slave akan membaca nilai yang dikirimkan kepadanya atau yang ia terima.
nnilai tersebut akan berada dalam rentang 1 sampai 255. data tersebut
akan dilakukan mapping kembali yaitu dari data 1 sampai 255 diubah
menjadi rentang 100 sampai 2000. lalu hasil mapping dengan nilai 100
sampai 2000 akan dijadikan nilai delay untuk LED. saat nilai yang dibaca
oleh potensiometer adalah 0 maka nilai hasil mapping master adalah 255.
lalu nilai 255 ditransmisikan ke slave. slave menerima nilai 255 dan
dilakukan mapping sehingga dihasilkan nilai 100. hasil 100 tersebut akan
dijadikan delay pada LED maka LED akn hidup selama 0.1 detik dan mati
selama 0.1 detik pula begitu seterusnya.
saat keadaan sebaliknya yaitu saat potensio membaca nilai 1023 maka master akan melakukan mapping sehingga menghasilkan nilai 1. nilai 1 akan dikirimkan ke slave dan di mapping lagi oleh slave sehingga menghasilkan nilai 2000. nilai 2000 dijadikan delay hidup dan mati LED. artinya LED akan hidup selama 2 detik dan mati selama 2 detik.
pengaruh potensiometer kepada LED adalah besar nilai yang dihasilkan oleh potensiometer akan mempengaruhi durasi hidup dan matinya LED. alasannya adalah saat nilai yang dibaca oleh potensiometer adalah 0 maka nilai hasil mapping master adalah 255. lalu nilai 255 ditransmisikan ke slave. slave menerima nilai 255 dan dilakukan mapping sehingga dihasilkan nilai 100. hasil 100 tersebut akan dijadikan delay pada LED maka LED akn hidup selama 0.1 detik dan mati selama 0.1 detik pula begitu seterusnya. dan saat keadaan sebaliknya yaitu saat potensio membaca nilai 1023 maka master akan melakukan mapping sehingga menghasilkan nilai 1. nilai 1 akan dikirimkan ke slave dan di mapping lagi oleh slave sehingga menghasilkan nilai 2000. nilai 2000 dijadikan delay hidup dan mati LED. artinya LED akan hidup selama 2 detik dan mati selama 2 detik. oleh karena itu potensiometer akan mempengaruhi nilai delay dari keluaran output arduino sebagai slave atau kecepatan kedip dari LED.
HTML - Download
saat keadaan sebaliknya yaitu saat potensio membaca nilai 1023 maka master akan melakukan mapping sehingga menghasilkan nilai 1. nilai 1 akan dikirimkan ke slave dan di mapping lagi oleh slave sehingga menghasilkan nilai 2000. nilai 2000 dijadikan delay hidup dan mati LED. artinya LED akan hidup selama 2 detik dan mati selama 2 detik.
pengaruh potensiometer kepada LED adalah besar nilai yang dihasilkan oleh potensiometer akan mempengaruhi durasi hidup dan matinya LED. alasannya adalah saat nilai yang dibaca oleh potensiometer adalah 0 maka nilai hasil mapping master adalah 255. lalu nilai 255 ditransmisikan ke slave. slave menerima nilai 255 dan dilakukan mapping sehingga dihasilkan nilai 100. hasil 100 tersebut akan dijadikan delay pada LED maka LED akn hidup selama 0.1 detik dan mati selama 0.1 detik pula begitu seterusnya. dan saat keadaan sebaliknya yaitu saat potensio membaca nilai 1023 maka master akan melakukan mapping sehingga menghasilkan nilai 1. nilai 1 akan dikirimkan ke slave dan di mapping lagi oleh slave sehingga menghasilkan nilai 2000. nilai 2000 dijadikan delay hidup dan mati LED. artinya LED akan hidup selama 2 detik dan mati selama 2 detik. oleh karena itu potensiometer akan mempengaruhi nilai delay dari keluaran output arduino sebagai slave atau kecepatan kedip dari LED.
Simulasi Proteus - Download
Video - Download
Tidak ada komentar:
Posting Komentar