1. Kondisi   [Kembali]
Membuat aplikasi kontrol kecepatan motor dengan input (optocoupler) dan output (motor DC & LCD)





Prinsip Kerja : 

Optocoupler yang terdiri dari sebuah komponen LED (Light Emitting Diode) yang memancarkan cahaya infra merah (IR LED) dan sebuah komponen semikonduktor yang peka terhadap cahaya (Phototransistor) sebagai bagian yang digunakan untuk mendeteksi cahaya infra merah yang dipancarkan oleh IR LED. 

Arus listrik yang mengalir melalui IR LED akan menyebabkan IR LED memancarkan sinyal cahaya Infra merahnya. Intensitas Cahaya tergantung pada jumlah arus listrik yang mengalir pada IR LED tersebut. Cahaya Infra Merah yang dipancarkan tersebut akan dideteksi oleh Phototransistor dan menyebabkan terjadinya hubungan atau Switch ON pada Phototransistor. Jadi pada saat cahaya Infra Merah dihambat penerusan cahanya maka motor DC akan berputar, dan  LCD akan menampilkan tulisan Keadaan Hidup begitu pula sebaliknya ketika cahaya infrared tidak dihambat.


3. Video   [Kembali]  






4. Flowchart   [Kembali]





5. Listing Program  [Kembali]

#include <LiquidCrystal_I2C.h>  //library dari LCD yang digunakan
LiquidCrystal_I2C lcd(0x27, 16, 2);  //mendeklarasikan pin LCD
const int pinSensor = 2; // mendeklarasikan pin sensor / optocoupler
const int pinMotor1 = 8; // mendeklarasikan pin motor kaki1
const int pinMotor2 = 7;  // mendeklarasikan pin motor kaki2
const int pinLED = 13;  // mendeklarasikan pin LED

void setup(){
  pinMode(pinMotor1, OUTPUT); // mendeklarasikan motor sebagai output
  pinMode(pinMotor2, OUTPUT); // mendeklarasikan motor sebagai output
  pinMode(pinSensor, INPUT); // mendeklarasikan sensor sebagai input
  pinMode(pinLED, OUTPUT); // mendeklarasikan LED sebagai output
  Serial.begin(9600);
  lcd.begin(16,2); //lcd yang digunakan jenis 16x2
}
void loop(){
  if(digitalRead(pinSensor) == HIGH){ //jika sensor mengalami logika 1 maka atau ada hambatan pada penerusan sinar infrared maka
    digitalWrite(pinMotor1, HIGH); //motor1 berlogika 1 sehingga motor akan berputar
    digitalWrite(pinMotor2, LOW); //motor2 berlogika 0 sehingga motor bergerak ke satu arah saja
    digitalWrite(pinLED, HIGH); //LED akan hidup
    lcd.setCursor(0, 0); //pada posisi (0,0) lcd
    lcd.print("keadaan"); //akan ditampilkan tulisan keadaan
    lcd.setCursor(0, 1); //pada posisi (0,1) lcd
    lcd.print("hidup"); //akan ditampilkan tulisan hidup
    
  }else{ //jika sensor mengalami logika 0 atau tidak ada hambatan pada penerusan sinar infrared maka
    digitalWrite(pinMotor1, LOW); //motor1 berlogika 0 sehingga motor akan berhenti berputar
    digitalWrite(pinMotor2, LOW); //motor2 berlogika 0 sehingga motor akan berhenti berputar
    digitalWrite(pinLED, LOW); //LED akan mati
    lcd.setCursor(0, 0); //pada posisi (0,0) lcd
    lcd.print("keadaan"); //akan ditampilkan tulisan keadaan
    lcd.setCursor(0, 1); //pada posisi (0,1) lcd
    lcd.print("mati "); //akan ditampilkan tulisan mati
  }
}
a. Multisim / Proteus

Komentar

Postingan populer dari blog ini

Rangkaian Dasar Dot Matrik

OP AMP (PEMBANGKIT SINYAL)

Rangkaian Memori dan Decoder-nya