Senin, 29 April 2024

TP Modul 3 Percobaan 7





PERCOBAAN 7 
Aplikasi I/O Sederhana untuk Kontrol Greenhouse


1. Prosedur
[Kembali]

1. Rangkai semua komponen sesuai modul
2. Buat program di aplikasi arduino IDE
3. Setelah selesai masukkan program ke arduino di proteus
4. Jalankan program pada simulasi dan cobakan sesuai dengan modul dan kondisi
5. Selesai

2. Hardware dan diagram blok [Kembali]

A. Hardware
                                                   
1. Arduino Uno

2. Virtual Terminal


3. LED


            B. Digram Blok




3. Rangkaian Simulasi dan Prinsip kerja [Kembali]

Gambar Rangkaian Sebelum Disimulasikan



Gambar Rangkaian Setelah Disimulasikan



Prinsip Kerja 

Master:
    Pada rangkaian  di atas merupakan percobaan Aplikasi I/O Sederhana untuk Kontrol Greenhouse. Arduino yang diatas bertindak sebagai master dalam sebuah sistem yang menggunakan inputan dari keyboard melalui virtual terminal sebagai input. Pada master ini diatur inputan W untuk led putih, Y untuk led kuning dan P untuk led pink. Terdapat juga inputan yang merupakan gabungan dari led tersebut.  Arduino akan terus memeriksa status setiap input dengan menggunakan fungsi digitalRead(). 

Slave:
    Pada arduino yang kedua betindak sebagai Slave dimana  nantinya akan menerima inputan dari Arduino master dan mengeluarkan output berupa LED. Prinsip kerja rangkaian  di atas adalah untuk mengontrol output LED yang terhubung ke pin Arduino berdasarkan status dari virtual terminal yang terhubung ke pin digital lainnya. Pin-pin yang terhubung ke LED diatur sebagai input. jika inputan yang diberikan pada master sesuai dengan program slave maka akan menghasilkan output yang sesuai pula.


4. FlowChart [Kembali]

A. Listing Program 

//Master
#include <Wire.h>
char incomingByte; //menyimpan byte data yang diterima dari Serial Monitor

void setup() {
 // put your setup code here, to run once:
Serial.begin(9600);
Wire.begin(); //Menginisialisasi komunikasi I2C (Wire) pada Arduino

 Serial.println("Welcome to my program");
 // Print perintah untuk mengontrol lampu LED
Serial.println("For WHITE W");
Serial.println("For YELLOW Y");
Serial.println("For PINK P");
Serial.println("For WHITE YELLOW F");
Serial.println("For YELLOW PINK L");
Serial.println("For WHITE PINK M");
Serial.println("All High H");
Serial.println("For all off just 0");
}
void loop() {
 // put your main code here, to run repeatedly:
Wire.beginTransmission(9); //Memulai transmisi I2C ke alamat slave dengan alamat 9
if (Serial.available()){ // Jika ada data tersedia di Serial Monitor
 
 while(Serial.available()>0){ // Selama masih ada data tersedia
 
 incomingByte=Serial.read(); // Membaca data dari Serial Monitor
 Wire.write(incomingByte); // Mengirim data ke perangkat slave melalui I2C
 Serial.println(incomingByte);  // Menampilkan data yang dikirim ke Serial Monitor
 Wire.endTransmission(); // Mengakhiri transmisi I2C
 
 }
 }
}

//Slave
#include <Wire.h>
#define WHITE 9
#define YELLOW 8 //deklarasi pin LED
#define PINK 7
float x=0;
void setup(){
 pinMode(WHITE,OUTPUT);
 pinMode(YELLOW,OUTPUT); // Mengatur pin LED sebagai output
 pinMode(PINK,OUTPUT);
 Wire.begin(9); // Memulai komunikasi I2C dengan alamat slave 9
 Wire.onReceive(receiveEvent); // Menetapkan fungsi receiveEvent() untuk menangani data yang diterima
 }
 void receiveEvent(int bytes){
 
 x=Wire.read();  // Membaca data yang diterima dari master dan menyimpannya ke variabel x
 }
 void loop(){
 
 //applying conditions
 if (x=='W'){ // Nyalakan LED putih
 digitalWrite(WHITE,HIGH);
 digitalWrite(YELLOW,LOW);
 digitalWrite(PINK,LOW);
 
 }
if (x == 'Y'){ // Nyalakan LED kuning
 digitalWrite(WHITE,LOW);
 digitalWrite(YELLOW,HIGH);
 digitalWrite(PINK,LOW);
 }
 if (x == 'P'){ // Nyalakan LED pink
 digitalWrite(WHITE,LOW);
 digitalWrite(YELLOW,LOW);
 digitalWrite(PINK,HIGH);
 }
if (x == '0'){ // Matikan semua LED
 digitalWrite(WHITE,LOW);
 digitalWrite(YELLOW,LOW);
 digitalWrite(PINK,LOW);
 }
 if (x == 'F'){ // Nyalakan LED putih dan kuning
 digitalWrite(WHITE,HIGH);
 digitalWrite(YELLOW,HIGH);
 digitalWrite(PINK,LOW);
 }
 if (x == 'L'){ // Nyalakan LED kuning dan pink
 digitalWrite(WHITE,LOW);
 digitalWrite(YELLOW,HIGH);
 digitalWrite(PINK,HIGH);
 }
 if (x == 'M'){ // Nyalakan LED putih dan pink
 digitalWrite(WHITE,HIGH);
digitalWrite(YELLOW,LOW);
 digitalWrite(PINK,HIGH);
 }
 if (x == 'H'){ // Nyalakan semua LED
 digitalWrite(WHITE,HIGH);
 digitalWrite(YELLOW,HIGH);
 digitalWrite(PINK,HIGH);
 }
 }


B. Flowchart


5. Kondisi [Kembali]

Percobaan 7 berdasarkan Modul 3 tanpa kondisi.


6. Video Simulasi [Kembali]



7. Download File [Kembali]

Download HMTL Klik disini
Download Simulasi Rangkaian Klik disini
Download Video Simulasi Klik disini

Tidak ada komentar:

Posting Komentar

Entri yang Diunggulkan

LA MODUL 3 PERCOBAAN 2

  PERCOBAAN 2 [KEMBALI KE MENU SEBELUMNYA] DAFTAR ISI 1. Jurnal 2. Alat dan Bahan 3. Rangkaian Simulasi 4. Prinsip Kerja Rangka...