LAPORAN AKHIR II
1. Komponen
[kembali]
power supply
|
2. Rangkaian
Simulasi [kembali]
Komponen yang digunakan pada rangkaian ini adalah 2 buah
arduino uno yang berperan sebagai slave dan master, kemudian potensiometer,
resistor, dan LED. Kaki output potesiometer dihubungkan pin analog A0 dari
master, pin 13 dan pin 9 slave dihubungkan dengan resistor dan LED, pin A4 dan
A5 master dan slave dari arduino uno saling dihubungkan. Pada listing program
master, pertama deklarasikan library wire atau kabel, yang mana komunikasi I2C
menggunakan kabel, deklarasikan alamat dari sebagai slave, variabel analogPin
sebagai tipe data integer yang bernilai 0, dan variabel value sebagai tipe data
integer yang bernilai 0. Pada void setup deklarasikan sintaks untuk memulai
komunikasi wire. Pada void loop, deklarasikan variabel val sebagai pembanding
nilai dari pot, yaitu 1023 merupakan bit maksimum dari pot dan 255 merupakan
bit maksimum dari PWM, kemudian lanjut ke sintaks untuk memulai transmisi data
dari master ke slave, memberikan nilai dari val, dan sintaks untuk
menyelesaikan transmisi data. Pada listing program slave, pertama deklarasikan
library wire atau kabel, alamat dari arduino slave (9), pin 13 sebagai variabel
LED red dan pin 9 sebagai variable led blue dengan tipe data integer, dan
variabel data rb dan br tipe data integer. Pada void setup, deklarasikan LED red
dan blue sebagai output, kemudian memulai komunikasi dari slave ADDR. Pada
fungsi void receiveEvent, rd berfungsi membaca data dari master. Pada void
loop, LED akan hidup dan mati dengan delay sebesar nilai perbandingan br.
Potensiometer berfungsi sebagai pengatur kecepatan mati dan hidupnya LED.
3. Flowchart
[kembali]
4. Listing
Program [kembali]
//MASTER
#include <Wire.h>
#define MASTER_ADDR 9
int analogPin = 0; int val = 0;
void setup() { Wire.begin();
}
void loop() { delay(50);
val = map(analogRead(analogPin), 0, 1023, 255, 1);
Wire.beginTransmission(MASTER_ADDR); Wire.write(val);
Wire.endTransmission();
}
//SLAVE
#include <Wire.h>
#define SLAVE_ADDR 9
int RED = 13;
int BLUE = 9;
int rd;
int br;
void setup() {
pinMode(RED, OUTPUT);
pinMode(BLUE, 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(RED, HIGH); delay(br); digitalWrite(RED, LOW); delay(br);
digitalWrite(BLUE, HIGH); delay(br); digitalWrite(BLUE, LOW); delay(br);
}
5. Video
[kembali]
6. Kondisi [kembali]
Percobaan
3
1. Jelaskan pengaruh nilai potensiometer terhadap output rangkaian
Jawab:
Jika nilai potensiometer diperbesar, maka tahanannya akan semakin besar. Pengaruhnya terhadap output (LED) pada rangkaian adalah semakin besar nilai potensiometer, maka LED akan hidup lebih lama dan mati juga lebih lama, begitupun sebaliknya semakin kecil nilai potensiometer maka LED akan hidup dan mati lebih singkat karena potensiometer berfungsi sebagai pengatur kecepatan kelap-kelip dari LED.
2. Jelaskan bagian mana dari rangkaian dan program yg diganti jika output di ubah menjadi motor DC
Jawab:
Pada rangkaian yang diubah adalah
LEDnya. LED tersebut dapat kita ganti dengan motor DC dan kemudian mengubah
resistornya menjadi 220 ohm. Untuk programnya
kita dapat mengubah setiap kata ‘LED’ dengan
‘Motor’. Mulai dari pendeklarasian pin motor, pendeklarasian motor
sebagai output dan untuk logika motornya, yaitu menjadi seperti berikut
//SLAVE
#include
<Wire.h>
#define
SLAVE_ADDR 9
int
motor = 13; int rd;
int
br;
void
setup() { pinMode(motor, 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(motor,
HIGH); delay(br); digitalWrite(motor, LOW); delay(br);
}
3. Bagaimana mengontrol kecepatan dan arah Motor DC pada percobaan ini? Jelaskan!
Dengan mengatur potensiometernya,, karena potensiometer berfungsi sebagai pengatur kecepatan motor DC. Pada program slave juga terdapat deklarasi br yang mengatur delay untuk jalan dan berhentinya motor.
7. Link
Download [kembali]
HTML: disini
File rangkaian: disini
Listing program: disini
Video: disini
Librabry Arduino: disini
Tidak ada komentar:
Posting Komentar