Modul 3: Tugas Pendahuluan 2

 

PERCOBAAN 7 (TANPA KONDISI)



1. Kondisi
[Kembali]

     Tanpa kondisi

2. Rangkaian Simulasi [Kembali]







Listning Program:
#include <Wire.h>
#define RED 8
#define GREEN 9 //Defining lEDS
#define BLUE 7
float x=0;
void setup(){
  pinMode(RED,OUTPUT);
  pinMode(BLUE,OUTPUT);
  pinMode(GREEN,OUTPUT);
  Wire.begin(9);
  Wire.onReceive(receiveEvent);
  }
  void receiveEvent(int bytes){
     
    x=Wire.read();  
    }
    void loop(){
       
      //applying conditions
      if (x=='R'){
        digitalWrite(RED,HIGH);
        digitalWrite(GREEN,LOW);
        digitalWrite(BLUE,LOW);
         
        }
if (x == 'G'){
        digitalWrite(RED,LOW);
        digitalWrite(GREEN,HIGH);
        digitalWrite(BLUE,LOW);
        }
        if (x == 'B'){
        digitalWrite(RED,LOW);
        digitalWrite(GREEN,LOW);
        digitalWrite(BLUE,HIGH);
        }
 
if (x == '0'){
        digitalWrite(RED,LOW);
        digitalWrite(GREEN,LOW);
        digitalWrite(BLUE,LOW);
        }
 
        if (x == 'M'){
        digitalWrite(RED,HIGH);
        digitalWrite(GREEN,HIGH);
        digitalWrite(BLUE,LOW);
        }
        if (x == 'L'){
        digitalWrite(RED,LOW);
        digitalWrite(GREEN,HIGH);
        digitalWrite(BLUE,HIGH);
        }
        if (x == 'F'){
        digitalWrite(RED,HIGH);
 digitalWrite(GREEN,LOW);
        digitalWrite(BLUE,HIGH);
        }
 
        if (x == 'H'){
        digitalWrite(RED,HIGH);
        digitalWrite(GREEN,HIGH);
        digitalWrite(BLUE,HIGH);
         
        }
      }


-------------------------------------------------------------------------------------

#include <Wire.h>
 
char incomingByte;
 
void setup() {
  // put your setup code here, to run once:
Serial.begin(9600);
Wire.begin();
  Serial.println("Welcome to my program");
Serial.println("if you want to ON RED Just print R");
Serial.println("For BLUE B");
Serial.println("FOR GREEN G");
Serial.println("For RG F");
Serial.println("For GB L");
Serial.println("For RB 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);
if (Serial.available()){
   
  while(Serial.available()>0){
     
    incomingByte=Serial.read();
    Wire.write(incomingByte);
    Serial.println(incomingByte);
    Wire.endTransmission();
   
     
     
    }
  }
}




Flowchart




3. Video [Kembali]





4. Prinsip Kerja [Kembali]

    Kode pertama (pada arduino 1) digunakan pada perangkat yang bertindak sebagai penerima, sedangkan kode kedua (pada arduino 2) digunakan pada perangkat pengirim. Pada perangkat penerima, setelah menerima data melalui I2C, nilai yang diterima akan digunakan untuk mengendalikan lampu sesuai dengan kondisi yang ditetapkan dalam loop(). Sementara itu, pada perangkat pengirim, pengguna dapat memasukkan perintah melalui Serial Monitor untuk mengirimkan kode warna kepada perangkat penerima melalui I2C, yang kemudian akan dieksekusi sesuai dengan kondisi yang telah ditentukan dalam kode penerima. Dengan demikian, kedua perangkat akan saling berkomunikasi melalui protokol I2C untuk mengontrol lampu RGB.

   

5. Link Download [Kembali]
  1. HTML [disini]
  2. File Simulasi [disini]
  3. Video [disini]
  4. Datasheet LED RGB [disini]
  5. Datasheet  Arduino Uno [disini]




















0 comments:

Posting Komentar