UTS Mikrokontroller dan Mikroprosessor




Rangkaian Sun Tracker dengan input sensor LDR dan output motor AC dan dot matriks

1. Tujuan [kembali]

  • Praktikan dapat merancang sebuah sistem secara detail sehingga rancangan tersebut dapat menjadi sebuah alat.
  • Praktikan dapat mengkombinasikan berbagai sensor, aktuator dan display.
  • Praktikan dapat membuat sebuah sistem menggunakan mikrokontroller.
  • 4 buah sensor LDR
  • 1 buah arduino uno
  • 4 buah dot matriks
  • 2 buah motor ac
  • 1 buah driver l293d
  • 4 buah ic max7219
3. Dasar Teori [kembali]


Arduino adalah kit elektronik atau papan rangkaian elektronik open source yang di dalamnya terdapat komponen utama yaitu sebuah chip mikrokontroler dengan jenis AVR dari perusahaan Atmel. Arduino yang kita gunakan pada prkatikum ini adalah arduino mega yang menggunakan chip AVR ATmega 2560 yang memiliki fasilitas PWM, komunikasi serial, ADC, timer, interupt, SPI dan I2C. Sehingga Arduino bisa digabungkan bersama modul atau alat lain dengan protocol yang berbeda-beda. Bahasa pemograman yang digunakan adalah bahasa C. Tetapi bahasa ini sudah dipermudah menggunakan fungsi-fungsi yang sederhana sehingga lebih mudah dalam memprogramnya. Dalam memprogram arduino, kita bisa menggunakan serial komunikasi agar arduino dapat berhubungan dengan komputer ataupun aplikasi lain.
Hasil gambar untuk arduino uno

A. Breadboard
Project Board atau yang sering disebut sebagai BreadBoard adalah dasar konstruksi sebuah sirkuit elektronik dan merupakan prototipe dari suatu rangkaian elektronik. Breadboard banyak digunakan untuk merangkai komponen, karena dengan menggunakan breadboard, pembuatan prototipe tidak memerlukan proses menyolder ( langsung tancap ). Karena sifatnya yang solderless alias tidak memerlukan solder sehingga dapat digunakan kembali dan dengan demikian sangat cocok digunakan pada tahapan proses pembuatan prototipe serta membantu dalam berkreasi dalam desain sirkuit elektronika.
project board

B. Motor Servo
Motor servo adalah sebuah motor dengan sistem umpan balik tertutup di mana posisi dari motor akan diinformasikan kembali ke rangkaian kontrol yang ada di dalam motor servo. Motor ini terdiri dari sebuah motor DC, serangkaian gear, potensiometer dan rangkaian kontrol. Potensiometer berfungsi untuk menentukan batas sudut dari putaran servo. Sedangkan sudut dari sumbu motor servo diatur berdasarkan lebar pulsa yang dikirim melalui kaki sinyal dari kabel motor.
Hasil gambar untuk mengenal servo motor
C. Jumper

Sebagai konektor antar modul satu dengan modul lainnya

D. Dot Matrix

LED Dot Matrix adalah led yang disambung dan dirangkai menjadi deretan led ataupun dapat berupa dot matrix. Dot matrix merupakan deretan led yang membentuk array dengan jumlah kolom dan baris tertentu, sehingga titik-titik yang menyala dapat membentuk suatu karakter angka, huruf, tanda baca, dan sebagainya (Widyarini, 2012)
LED Dot Matrix adalah sejumlah LED yang disusun dalam kolom dan baris. LED ini kemudian digunakan untuk menampilkan Gambar-gambar atau tulisan yang biasanya ditampilkan dengan efek animasi tertentu. Oleh karena itu, matriks LED sering disebut sebagai Running Text atau Moving Sign.
Pada dasarnya LED memiliki dua buah kaki Anoda dan Katoda yang dimana untuk mengaktifkan LED tersebut Anoda kita beri VCC dan Katoda kita hubungkan ke Ground. Dot Matrix merupakan kumpulan dari LED yang dihubungkan sebagai berikut :
Hasil gambar untuk dot matrix dasar teori led
E. Light Dependent Resistor

Sensor Cahaya LDR (Light Dependent Resistor) adalah salah satu jenis resistor yang dapat mengalami perubahan resistansinya apabila mengalami perubahan penerimaan cahaya. Besarnya nilai hambatan pada Sensor Cahaya LDR (Light Dependent Resistor) tergantung pada besar kecilnya cahaya yang diterima oleh LDR itu sendiri. LDR sering disebut dengan alat atau sensor yang berupa resistor yang peka terhadap cahaya. Biasanya LDR terbuat dari cadmium sulfida yaitu merupakan bahan semikonduktor yang resistansnya berupah-ubah menurut banyaknya cahaya (sinar) yang mengenainya. Resistansi LDR pada tempat yang gelap biasanya mencapai sekitar 10 MΩ, dan ditempat terang LDR mempunyai resistansi yang turun menjadi sekitar 150 Ω. Seperti halnya resistor konvensional, pemasangan LDR dalam suatu rangkaian sama persis seperti pemasangan resistor biasa. Simbol LDR dapat dilihat seperti pada gambar berikut.: 
Hasil gambar untuk light dependent resistor
F. IC L293D
IC L293D biasanya digunakan untuk mengendalikan motor DC. IC ini juga sering disebut driver motor. L293D dirancang untuk mengendalikan 2 motor DC. Motor DC yang dikontrol dengan driver IC L293D dapat dihubungkan ke ground maupun ke sumber tegangan positif karena di dalam driver L293D sistem driver yang digunakan adalah totem pool.Pada dasarnya  motor DC harus dapat mengatur kecepatan dan arah putar dari motor DC itu sendiri. Pada awalnya untuk dapat melakukan pengaturan kecepatan motor DC dapat menggunakan metode PWM (Pulse Width Modulation) sedangkan untuk mengatur arah putarannya dapat menggunakan rangkaian H-bridge yang tersusun dari 4 buah transistor. IC L293D sebagai driver motor DC dapat mengatur arah putar dan disediakan pin untuk input yang berasal dari PWM untuk mengatur kecepatan motor DC.
1trans-psd
Jika diinginkan sebuah motor DC yang dapat diatur kecepatan atau arah putarnya maka digunakanlah rangkaian H-brigde yang tersusun dari 4 buah transistor.
ff-psd1.jpg
Berdasarkan gambar diatas  jika motor DC berputar searah jarum jam maka harus mengaktifkan transistor 1 dan transistor 4 dengan cara memberikan logika high pada kaki Basis transistor tersebut. Sedangkan untuk berputar berlawanan arah jarum jam maka harus mengaktifkan transistor 2 dan transistor 3 dengan cara memberikan logika high pada kaki Basis transistor tersebut. Untuk lebih jelasnya perhatikan gambar dibawah ini.
ka-ki-psd
Dengan mengaktifkan transistor 1 dan transistor 4 akan menyebabkan motor DC berputar searah jarum jam.  Dimana arus listrik akan mengalir dari power supply (12 V) melalui transistor 1 lalu ke motor DC kemudian ke transistor4 dan akan berakhir di ground. Begitu juga sebaliknya untuk putaran berlawanan arah jarum jam.
Sedangkan untuk pengaturan kecepatannya anda dapat menghubungkan output PWM ke kaki basis transistor1 untuk putaran searah jarum jam. Dan untuk putaran berlawanan arah jarum jam, output PWM dapat dihubungkan kekaki basis transistor2.
1mot-psd.jpg
Dari gambar diatas pin EN1 merupakan sebuah pin yang difungsikan untuk  meng-ON/OFF-kan  motor DC, oleh karena itu pin EN1 dapat dihubungkan dengan output PWM dari mikrokontroler. Sedangkan pin IN1 dan IN2 digunakan sebagai input logika untuk mengatur putaran motor DC dan dapat juga digunakan untuk memberhentikan motor DC secara cepat .Jika diinginkan motor berputar searah jarum jam, maka pin mikrokontroler PD6 (IN1) diberi logika low dan PD7 (IN2) diberi logika high. Sedangkan EN1 dihubungkan dengan output PWM mikrokontroler (PD4).
2mot-psd.jpg
Dari gambar diatas, untuk pengaturan arah dan kecepatan 2 buah motor DC maka hanya tinggal menambahkan sebuah motor pada output 3 dan output 4. Dan pin EN2 merupakan sebuah pin yang difungsikan untuk  meng-ON/OFF-kan motor DC 2, oleh karena itu pin EN2 dapat dihubungkan dengan output PWM dari mikrokontroler. Sedangkan pin IN3 dan IN4 digunakan sebagai input logika untuk mengatur putaran motor DC 2 dan dapat juga digunakan untuk memberhentikan motor DC 2 secara cepat.
G. ic max7219
Hasil gambar untuk ic max7219 teori
Merupakan ic untuk mengurangi jumlah pin yang dipakai pada dot matriks


#include <MD_Parola.h>
#include <MD_MAX72xx.h>
#include <SPI.h>
#define HARDWARE_TYPE MD_MAX72XX::PAROLA_HW
#define MAX_DEVICES 4
#define CLK_PIN   13
#define DATA_PIN  11
#define CS_PIN    10
#define ldr1 7
#define ldr2 6
#define ldr3 5
#define ldr4 4
#define in1 3
#define in2 2
#define in3 1
#define in4 0
// Hardware SPI connection
// MD_Parola P = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);
// Arbitrary output pins
 MD_Parola P = MD_Parola(HARDWARE_TYPE, DATA_PIN, CLK_PIN, CS_PIN, MAX_DEVICES);

void setup(void)
{
  P.begin();

  pinMode(ldr1,INPUT);
  pinMode(ldr2,INPUT);
  pinMode(ldr3,INPUT);
  pinMode(ldr4,INPUT);
  pinMode(in1,OUTPUT);
  pinMode(in2,OUTPUT);
  pinMode(in3,OUTPUT);
  pinMode(in4,OUTPUT);
}

void loop(void)
{
  P.displayAnimate();
  if(digitalRead(ldr1)==HIGH && digitalRead(ldr2)==LOW && digitalRead(ldr3)==LOW && digitalRead(ldr4)==LOW){
    P.displayText("Subuh", PA_CENTER, 0, 0, PA_PRINT, PA_NO_EFFECT);
    P.displayAnimate();
    digitalWrite(in1,HIGH);
    digitalWrite(in2,LOW);
    digitalWrite(in4,LOW);
    digitalWrite(in3,HIGH);
    delay(500);
  }
  if(digitalRead(ldr1)==HIGH && digitalRead(ldr2)==HIGH && digitalRead(ldr3)==LOW && digitalRead(ldr4)==LOW){
    digitalWrite(in1,HIGH);
    digitalWrite(in2,HIGH);
    digitalWrite(in4,LOW);
    digitalWrite(in3,LOW);
    P.displayText("Magrib", PA_CENTER, 0, 0, PA_PRINT, PA_NO_EFFECT);
    P.displayAnimate();
    delay(500);
  }
  if(digitalRead(ldr1)==HIGH && digitalRead(ldr2)==HIGH && digitalRead(ldr3)==HIGH && digitalRead(ldr4)==LOW){
    digitalWrite(in1,LOW);
    digitalWrite(in2,HIGH);
    digitalWrite(in4,HIGH);
    digitalWrite(in3,LOW);
    P.displayText("Ashar", PA_CENTER, 0, 0, PA_PRINT, PA_NO_EFFECT);
    P.displayAnimate();
    delay(500);
  }

  if(digitalRead(ldr1)==HIGH && digitalRead(ldr2)==HIGH && digitalRead(ldr3)==HIGH && digitalRead(ldr4)==HIGH){
    digitalWrite(in1,LOW);
    digitalWrite(in2,LOW);
    digitalWrite(in4,HIGH);
    digitalWrite(in3,HIGH);
    P.displayText("Zuhur", PA_CENTER, 0, 0, PA_PRINT, PA_NO_EFFECT);
    P.displayAnimate();
    delay(500);
  }
  if(digitalRead(ldr1)==LOW && digitalRead(ldr2)==LOW && digitalRead(ldr3)==LOW && digitalRead(ldr4)==LOW){
    digitalWrite(in1,LOW);
    digitalWrite(in2,LOW);
    digitalWrite(in4,LOW);
    digitalWrite(in3,HIGH);
    P.displayText("Isya", PA_CENTER, 0, 0, PA_PRINT, PA_NO_EFFECT);
    P.displayAnimate();
    delay(500);
  }
  else{
    P.displayText("Shalat", PA_CENTER, 0, 0, PA_PRINT, PA_NO_EFFECT);
    P.displayAnimate();
    delay(500);
  }
}

6. FlowChart [kembali]


7.  Cara Kerja [kembali]

LDR akan menjadi inputan pada rangkaian ini yang inputan tersebut akan dimasukkan ke pin digital pada arduino agar terbentuk sinyal pulsa yang terdiri dari bilangan binner 1 dan 0. dan pada outputnya terdapat motor ac yang disambungkan ke ic L293D yang berfungsi untuk mengubah arah motor ac tersebut. dan selain motor ac output yang lain yaitu dot matrix yang disambungkan dengan MAX7219 dimana MAX7219 akan menerjemahkan keluaran dari arduino agar output pada dotmatrix akan sesuai dengan yang sudah di program oleh arduino. dan adapun hasil dari rangkaian tersebut akan sesuai dengan yang ada di program.

8. Video Simulasi [kembali]


9. Link Download [kembali]
Simulasi rangkaian - Download
Video rangkaian     - Download
Coding rangkaian   - Download

No comments:

Post a Comment