Anda di halaman 1dari 6

LAPORAN SISTEM EMBEDDED

KELAS BM5 - JTE PNJ

1 NOMOR DAN JUDUL DIY-P1-M5


PRAKTIK

2 KODE KELOMPOK M5

3 JELASKAN CARA KERJA P1.1 : PEMANTAUAN PBS DARI SERMON


APLIKASI-APLIKASI DI Cara kerja :
JOB SHEET 1. Enable kan pull up resistor, dengan tujuan agar tidak perlu menggunakan resistor saat merangkai
komponen
2. Pada saat void loop, diberikan dua kondisi dengan menggunakan if dan else.
3. Ketika nilai PBS terbaca low, maka pada serial monitor akan ditampilkan bacaan “closed” dan ketika PBS
terbaca high, maka pada serial monitor akan ditampilkan bacaan “open”

P1.2 : PEMANTAUAN POTENSIO DARI SERMON


Cara kerja :
1. Secara garis besar, tujuannya adalah untuk menampilkan 3 nilai sekaligus saat potensio diputar, yakni
nilai analog dari potensio itu sendiri, nilai V, dan % nya
2. Dengan menggunakan perintah println, maka ketiga nilai tersebut akan ditampilkan secara horizontal ke
bawah sehingga tersusun rapih dan mudah dipahai
3. Urutan ketiga nilai dari atas kebawah saat ditampilkan pada serial monitor adalah : nilai analog potensio,
nilai V, dan %

P1.3 : PEMANTAUAN POT DAN PBS DARI SERMON


Cara kerja :
1. Penggabungan dari jobsheet 1.1 dan 1.2
2. Menampilkan nilai pbs yang terbaca (open or closed), juga ketiga nilai potensio
3. Diberikan juga header dan (,) dengan tujuan untuk mempermudah pembacaan data pada serial monitor
P1.4 : PENGENDALIAN LED DARI SERMON
Cara kerja :
1. Menginput nilai LED dari serial monitor
2. Fungsi yang digunakan adalah : if (Serial.available()) dan int dataLed=Serial.read;
3. Data yang diinput dari serial monitor hanya 0 dan 1 saja.
4. Ketika diinput nilai 0, maka led akan bernilai 48 dan led akan LOW (Off)
5. Sebaliknya, ketika diinput nilai 1, maka led akan bernilai 49 dan led akan HIGH (On)
6. Setiap user memberikan 1 kali masukan untuk led, maka pada serial print akan tercatat dengan tanda (,)
dan terdapat jeda 500ms pada setiap perintahnya.

P1.5 : PENGENDALIAN RGB DARI SEMON


Cara kerja :
1.

NAMA PIC DIY Rafiqa Akmalia Abdini

5 JUDUL DIY M&S Garden Lamp

6 CARA KERJA APLIKASI Arduiono master akan mengirim data berupa nilai LDR. Pada arduino slave, arduino akan membaca dan menulis
DIY pada serial print, berapa nilai LDR yang dikirim oleh master. Jika nilai LDR < 50 (artinya taman dalam kondisi
gelap/mendung), maka LED akan HIGH (On), begitu pula sebaliknya yakni jika LDR > 50 (artinya taman dalam
kondisi terang), maka LED akan LOW.
7 GAMBAR SKEMATIK

ARD2 ARD1
LDR1(2)

AREF AREF D3

2
13 13
LDR1 PB5/SCK PB5/SCK
12 12
TORCH_LDR PB4/MISO PB4/MISO
RESET 11 RESET 11 LED-RED R1
~PB3/MOSI/OC2A ~PB3/MOSI/OC2A
10 10 220
~ PB2/SS/OC1B ~ PB2/SS/OC1B
9 9
~ PB1/OC1A ~ PB1/OC1A
8 8

1
PB0/ICP1/CLKO PB0/ICP1/CLKO

ATMEGA328P-PU

ATMEGA328P-PU
1121

1121
DIGITAL (~PWM)

DIGITAL (~PWM)
7 7

ANALOG IN

ANALOG IN
PD7/AIN1 PD7/AIN1
R2 6 6
A0 ~ PD6/AIN0 A0 ~ PD6/AIN0
PC0/ADC0 5 PC0/ADC0 5
A1 ~ PD5/T1 A1 ~ PD5/T1
PC1/ADC1 4 PC1/ADC1 4
1k A2 PD4/T0/XCK A2 PD4/T0/XCK
PC2/ADC2 3 PC2/ADC2 3
A3 ~ PD3/INT1 A3 ~ PD3/INT1
PC3/ADC3 2 PC3/ADC3 2
A4 PD2/INT0 A4 PD2/INT0
PC4/ADC4/SDA 1 PC4/ADC4/SDA 1
A5 TX PD1/TXD A5 TX PD1/TXD
PC5/ADC5/SCL 0 PC5/ADC5/SCL 0
RX PD0/RXD RX PD0/RXD

ARDUINO UNO R3 ARDUINO UNO R3

8 SKETCH MASTER SOURCE CODE :

int LDRPin = A0; //LDR sensor input


const int ts = 500;
int data;

void setup() {
Serial.begin(9600);

void loop() {
int ldr = analogRead(LDRPin);
if(ldr < ts){
Serial.write(ldr);
} else {
}
//Serial.write(data);
//Serial.println(ldr);

SLAVE SOURCE CODE :

String data;
int led = 13;
int dataterkirim;

void setup(){
pinMode(led, OUTPUT);
Serial.begin(9600);
}

void loop(){
dataterkirim = Serial.read();
if (Serial.read ()){
Serial.print("Nilai LDR= ");
Serial.println(dataterkirim);
if (dataterkirim < 50){
digitalWrite(led,HIGH);
} else {
digitalWrite(led,LOW);
}
}
}

9 ANALISIS SKETCH MASTER SOURCE CODE :

int LDRPin = A0; //LDR sensor input  Mendeklarasikan pin A0 sebagai LDR
const int ts = 500;  Nilai TS yang dijadikan batas nilai LDR
int data;

void setup() {
Serial.begin(9600);

void loop() {
int ldr = analogRead(LDRPin);
if(ldr < ts){  jika nilai LDR lebih kecil dari ts maka master akan mengirimkan datanya
Serial.write(ldr);
} else {

}
//Serial.write(data);
//Serial.println(ldr);

SLAVE SOURCE CODE :

String data;
int led = 13;  Mendeklarasikan pin 13 sebagai LED
int dataterkirim;

void setup(){
pinMode(led, OUTPUT);
Serial.begin(9600);
}

void loop(){
dataterkirim = Serial.read();  Membaca nilai data yang dikirim oleh master
if (Serial.read ()){
Serial.print("Nilai LDR= "); menampilkan nilai data LDR yang dikirim master pada serial monitor
Serial.println(dataterkirim); println digunakan agar pada serial monitor, datanya tampilkan vertikal ke
bawah
if (dataterkirim < 50){ jika data yang dikirim master terbaca oleh slave kurang dari 50, maka LED akan
high (menyala) dan begitupun sebaliknya jika lebih dari 50, maka LED akan low (mati)
digitalWrite(led,HIGH);
} else {
digitalWrite(led,LOW);
}
}
}

10 KESIMPULAN 1. Arduino dapat dikoneksikan satu dengan lainnya dengan konsep I2C, dimana ada sebuah arduino yang
menjadi master dan arduino lainnya menjadi slave.
2. Aplikasi yang kami buat sudah sesuai dengan konsep master slave arduino. Arduino master mengirimkan
nilai LDR sedangkan arduino slave membaca kiriman dari arduino master untuk menyalakan dan
mematikan LED.

11 URL PLAYLIST VIDEO DIY https://youtu.be/J42yERTySPo