[menuju akhir]

LAPORAN AKHIR 1 PERCOBAAN 2




1. Tujuan [Kembali]

        a) Memahami prinsip kerja IC L293D pada mikrokontroler
        b) Memahami prinsip kerja Motor DC pada mikrokontroler
        c) Mempelajari penggunaan Motor DC dan IC L293D pada mikrokontroler
        d) Memahami prinsip kerja PWM pada Arduino


2. Komponen [Kembali]

1. Arduino Uno




2. Resistor




3. Transistor




4. Buzzer




5. Button

 




3. Dasar Teori [Kembali]

    a. Arduino UNO 
Pin pin pada arduino UNO


konfigurasi pin Arduino UNO


            Arduino Uno adalah board mikrokontroler berbasis ATmega328 (datasheet). Memiliki 14 pin input dari output digital dimana 6 pin input tersebut dapat digunakan sebagai output PWM dan 6 pin input analog, 16 MHz osilator kristal, koneksi USB, jack power, ICSP header, dan tombol reset. Untuk mendukung mikrokontroler agar dapat digunakan, cukup hanya menghubungkan Board Arduino Uno ke komputer dengan menggunakan kabel USB atau listrik dengan AC yang-ke adaptor-DC atau baterai untuk menjalankannya. Setiap 14 pin digital pada arduino uno dapat digunakan sebagai input dan output, menggunakan fungsi pinMode(), digitalwrite(), dan digitalRead(). Fungsi fungsi tersebut beroperasi di tegangan 5 volt, Setiap pin dapat memberikan atau menerima suatu arus maksimum 40 mA dan mempunyai sebuah resistor pull-up (terputus secara default) 20-50 kOhm.

Bagian-bagian arduino uno:

-Power USB

Digunakan untuk menghubungkan Papan Arduino dengan komputer lewat koneksi USB.

-Power jack

Supply atau sumber listrik untuk Arduino dengan tipe Jack. Input DC 5 - 12 V.

-Crystal Oscillator

Kristal ini digunakan sebagai layaknya detak jantung pada Arduino.  Jumlah cetak                                menunjukkan 16000 atau 16000 kHz, atau 16 MHz.

-Reset

Digunakan untuk mengulang program Arduino dari awal atau Reset.

-Digital Pins I / O

Papan Arduino UNO memiliki 14 Digital Pin. Berfungsi untuk memberikan nilai logika (         0 atau 1 ). Pin berlabel " ~ " adalah pin-pin PWM ( Pulse Width Modulation ) yang dapat digunakan untuk menghasilkan PWM.

-Analog Pins

Papan Arduino UNO memiliki 6 pin analog A0 sampai A5. Digunakan untuk membaca sinyal atau sensor analog seperti sensor jarak, suhu dsb, dan mengubahnya menjadi nilai digital.

-LED Power Indicator

Lampu ini akan menyala dan menandakan Papan Arduino mendapatkan supply listrik dengan baik.

Bagian - bagian pendukung:

-RAM

RAM (Random Access Memory) adalah tempat penyimpanan sementara pada komputer yang isinya dapat diakses dalam waktu yang tetap, tidak memperdulikan letak data tersebut dalam memori atau acak. Secara umum ada 2 jenis RAM yaitu SRAM (Static Random Acces Memory) dan DRAM (Dynamic Random Acces Memory).

-ROM

ROM (Read-only Memory) adalah perangkat keras pada computer yang dapat menyimpan data secara permanen tanpa harus memperhatikan adanya sumber listrik. ROM terdiri dari Mask ROM, PROM, EPROM, EEPROM.

Block Diagram Mikrokontroler ATMega 328P pada Arduino UNO

Adapun block diagram mikrokontroler ATMega 328P dapat dilihat pada gambar berikut:



Block diagram dapat digunakan untuk memudahkan / memahami bagaimana kinerja dari mikrokontroler ATMega 328P.

Pin-pin ATMega 328P:

            Rangkaian Mikrokontroler ATMega 328P pada Arduino UNO

 



    b. Resistor


         Resistor merupakan komponen elektronik yang memiliki dua pin dan didesain untuk mengatur tegangan listrik dan arus listrik. 
   Nilai tegangannya berbanding dengan arus listrik yang mengalir sesuai dengan hukum ohm yaitu V=IR. Biasanya didalam jejaring elektronik dan sirkuit elektronik banyak menggunakan resistor. Resistor ini memang paling banyak dan sering digunakan dalam komponen lain. Dalam resistor tidak ada kutub negatif dan positif, tetapi memiliki ciri utama yakni toleransi, tegangan kerja maksimum, power rating dan resistensi. Daya listrik dan resistensinya dapat dihantarkan. Ciri lainnya adalah induktansi, koefisien suhu, dan kebisingan. Satuan dari resistensi sebuah resistor bersifat resistif dilambangkan dengan Ohm dengan simbol Ω (Omega). fungsi resistor yang sering diketahui adalah sebagai penghambat arus listrik yang mengalir suatu rangkaian elektronik. Selain itu fungsi resistor dapat membagi arus, membagi tegangan, dan mengatur arus dalam suatu rangkaian. 
    Resistor mempunyai nilai resistansi (tahanan) tertentu yang dapat memproduksi tegangan listrik di antara kedua pin dimana nilai tegangan terhadap resistansi tersebut berbanding lurus dengan arus yang mengalir, berdasarkan persamaan hukum Ohm: 

Cara membaca Resistor : 

Simbol resistor 

    c. Buzzer 



            Buzzer adalah sebuah komponen elektronika yang dapat mengubah sinyal listrik menjadi getaran suara. Buzzer ini biasa dipakai pada sistem alarm. Juga bisa digunakan sebagai indikasi suara. Buzzer adalah komponen elektronika yang tergolong tranduser. Sederhananya buzzer mempunyai 2 buah kaki yaitu positive dan negative. Untuk menggunakannya secara sederhana kita bisa memberi tegangan positive dan negative 3 - 12V. Pada dasarnya prinsip kerja buzzer hampir sama dengan loud speaker, jadi buzzer juga terdiri dari kumparan yang terpasang pada diafragma dan kemudian kumparan tersebut dialiri arus sehingga menjadi elektromagnet, kumparan tadi akan tertarik ke dalam atau keluar, tergantung dari arah arus dan polaritas magnetnya, karena kumparan dipasang pada diafragma maka setiap gerakan kumparan akan menggerakkan diafragma secara bolak-balik sehingga membuat udara bergetar yang akan menghasilkan suara.


    d.  Transistor
    

             Transistor adalah alat semikonduktor yang dipakai sebagai penguat, sebagai sirkuit pemutus dan penyambung (switching), stabilisasi tegangan, modulasi sinyal atau sebagai fungsi lainnya. Transistor dapat berfungsi semacam kran listrik, di mana berdasarkan arus inputnya (BJT) atau tegangan inputnya (FET), memungkinkan pengaliran listrik yang sangat akurat dari sirkuit sumber listriknya. Pada umumnya, transistor memiliki 3 terminal, yaitu Basis (B), Emitor (E) dan Kolektor (C). Tegangan yang di satu terminalnya misalnya Emitor dapat dipakai untuk mengatur arus dan tegangan yang lebih besar daripada arus input Basis, yaitu pada keluaran tegangan dan arus output Kolektor.
             Cara kerja transistor secara sederhana adalah jika pada kaki basis transistor diberi tegangan bias maka arus pada collector transistor akan mengalir ke kaki emitor (transistor sebagai saklar). Jika pada tegangan bias ini diikuti dengan adanya sinyal atau pulsa listrik yang akan dikuatkan maka pada kolektor pun akan menguatkan sinyal seperti yang ada pada basisnya (transistor sebagai penguat). Arus yang mengalir antara kaki basis dan emitor akan berfungsi sebagai saklar untuk mengalirkan arus yang lebih besar dari kaki kolektor ke emitor.

Agar lebih sederhana sebuah transistor NPN bisa diibaratkan sebagai sebuah keran air dimana jika keran diputar sebagai basis bisa mengalirkan air yang dialirkan melalui pipa. Kekuatan air yang mengalir keluar dari keran tergantung seberapa besar keran dibuka, dalam istilah teori nya disebut hFE atau penguatan.

Spesifikasi






4.  Percobaan [Kembali]

     a.  Prosedur Percobaan [Kembali]

    - Persiapkan komponen yang akan digunakan seperti Arduino UNO, Buzzer, Transistor, Button.
    - Rangkain rangkaian seperti yang ada pada modul
    - Pastikan jumper telah sesuai
    - Selanjutnya lanjut menyusun listing program, gunakan program sesuai yang diminta kondisi pada
       modul
    - Setelah program disusun, selanjutnya program di verify, lalu copykan hex pada program dan paste
      kan pada Arduino UNO
    - Rangkaian sudah bisa dijalankan 

 
    b. Hardware [Kembali]

        1. Arduino UNO




    2. Button



    c.  Rangkaian Simulasi [Kembali]









    d. Listing Program [Kembali] 
    
  • MASTER        
#include<SPI.h>                            
#define buzz 7           
#define ipbutton 2
int buttonvalue;
int x;
void setup (void)

{
  Serial.begin(115200);                   
  
  pinMode(ipbutton,INPUT_PULLUP);                 
  pinMode(buzz,OUTPUT);                   
  
  SPI.begin();                            
  SPI.setClockDivider(SPI_CLOCK_DIV4);    
  digitalWrite(SS,HIGH);                
}

void loop(void)
{
  byte Mastersend,Mastereceive;          

  buttonvalue = digitalRead(ipbutton);  

  if(buttonvalue == LOW)               
  {
    x = 1;
  }
  else
  {
    x = 0;
  }
  
  digitalWrite(SS, LOW);                 
  
  Mastersend = x;                            
  Mastereceive=SPI.transfer(Mastersend); 
  
  if(Mastereceive == 1)                   
  {
    digitalWrite(buzz,HIGH);             
    Serial.println("Master Buzz ON");
    delay(1000);
  }
  else
  {
   digitalWrite(buzz,LOW);          

  }
  delay(1000);
}


  • SLAVE 
            #include<SPI.h>
#define buzz 7
#define buttonpin 2
volatile boolean received;
volatile byte Slavereceived,Slavesend;
int buttonvalue;
int x;
void setup()

{
  Serial.begin(115200);
  
  pinMode(buttonpin,INPUT_PULLUP);              
  pinMode(buzz,OUTPUT);                
  pinMode(MISO,OUTPUT);                  

  SPCR |= _BV(SPE);                     
  received = false;

  SPI.attachInterrupt();                 
  
}

ISR (SPI_STC_vect)                       
{
  Slavereceived = SPDR;        
  received = true;                       
}

void loop()
{ if(received)                           
   {
      if (Slavereceived==1) 
      {
        digitalWrite(buzz,HIGH);        
        Serial.println("Slave buzz ON");
        delay(1000);
      }else
      {
        digitalWrite(buzz,LOW);       
       Serial.println("Slave buzz OFF");
      }
      
      buttonvalue = digitalRead(buttonpin);
      
      if (buttonvalue == LOW)             
      {
        x=1;
        
      }else
      {
        x=0;
      }
      
  Slavesend = x;                             
  SPDR = Slavesend;                          
  delay(1000);
}
}



    e. Flowchart [Kembali]

(Flowchart Master)






(Flowchart Slave)




    f. Video [Kembali]









   
 g. Kondisi dan Analisa [Kembali]

    Modul 3 Percobaan 2

 1.    Analisa percobaan dari rangkaian dan listing program ini, apakah informasi yang diberikan simplex, half duplex, atau full duplex?

    Jawab:

Dari percobaan yang dilakukan, informasi yang diberikan merupakan jenis

half duplex dimana tidak ada kebutuhan untuk komunikasi dua arah pada saat yang bersamaan, seluruh kapasitas saluran dapat dimanfaatkan untuk satu arah. Jadi saat terjadi komunikasi antara A dan B. Saat A mengirim informasi (berbicara) maka B akan menerima informasi (mendengarkan). Pada rangkaian percobaan ini kita menggunakan SPI dimana apabila kita memilih salah satu jalur komunikasi yang kita deklarasikan ke arduino, maka komunikasi tersebut akan memberikan informasi secara dua arah tetapi tidak dapat secara bersama sama. Informasi yang diberikan dari master dikirim ke slave, kemudian di proses oleh slave. Setelah itu, slave akan mengirim kembali ke master.

 

2.      Apa yang akan terjadi pada rangkaian jika serial begin diganti dari 115200 menjadi 9600?

            Jawab:

Serial.begin berfungsi untuk menentukan kecepatan pengiriman dan penerimaan data melalui port serial. Jika serial begin diubah dari 115200 maka tidak ada perubahan pada rangkaian. Hal ini dikarenakan pada dasarnya serial begin hanya mempengaruhi ceppat atau lambatnya berfungsi sebagai set baudrate atau pengatur kecepatan informasi yang diberikan pada 1 arduino ke arduino lainnya. Jika semakin besar serial begin nya maka kecepatan dalam pengiriman data akan lebih cepat. Pada umumnya untuk mencetak beberapa hal pada terminal debugging penggunaan 9600 baud adalah 960 karakter per detik, atau 12 x 80 karakter per detik itu sudah sangat mencukupi.  Jika set baudrate antara master dan slave berbeda, maka pada kecepatan pada master dan slave akan berbeda pula


3.      Apa pengaruh clock speed jika diubah menjadi 0 dan 16, yang normalnya 8?

            Jawab:

Clock speed adalah kecepatan prosesor yang diukur dari banyaknya jumlah siklus yang bisa dieksekusi setiap detik. Secara logika, makin tinggi angka clock speed, seharusnya makin bagus pula performa prosesor, tapi kondisi ini hanya berlaku dengan asumsi bahwa semua faktor selain clock speed adalah sama. Dimana clock speed memiliki parameter 2, 4, 8, 16, 32, 64, 128. Selain jumlah siklus per detik, yang juga perlu diperhatikan adalah seberapa banyak instruksi yang bisa dieksekusi oleh sebuah prosesor dalam setiap siklus. Hal ini terkait dengan efisiensi prosesor dalam menangani instruksi. Clock speed yang lebih rendah tapi setiap siklusnya mampu mengeksekusi lebih banyak instruksi lebih bagus. Hal ini dikarena jumlah siklusnya lebih sedikit, maka tenaga yang dibutuhkan prosesor untuk menjalankan tugasnya pun juga ikut berkurang. Prosesor pun lebih hemat daya dan tidak mudah panas. Jika nilai parameternya lebih dari 128 atau 28 maka clock speed nya akan menyebakan kinerja prosesor dalam arduino kurang bagus, karena 128 merupakan default dari parameter clock speed.

 

    
h. Link Download [Kembali]
    File Hardware               di sini
    Vidio Simulasi              di sini
    Flowchart Master         di sini
    Flowchart slave              di sini
    Listing Program Master di sini
    Listing Program Slave   di sini
    HTML                           di sini
    Library Arduino Uno     di sini
    Datasheet Arduino Uno di sini
    Datasheet L293D           di sini
    Datasheet Motor DC     di sini
    Datasheet Batrai            di sini
    Datasheet Ground          di sini
    











Tidak ada komentar:

Posting Komentar