Modul 4 : Membuat Alat

DAFTAR ISI
1. Tujuan
2. Alat dan Bahan
3. Ketentuan Praktikum
4. Laporan Praktikum

Modul 4


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.



2. Alat dan bahan [Kembali]

    a. Mikrokontroller Arduino
    b. Input berupa switch dan sensor, seperti sensor LM35, sensor ultrasonik, sensor hujan,          dll. 
    c. Output :
        Display : LCD, Seven Segmen
        Aktuator : Motor


3. Ketentuan Praktikum [Kembali]

      Praktikan membuat sebuah rancangan sistem secara detail yang ditandai dengan adanya :
   a. Tujuan dibuat sistem tersebut
   b. Landasan teori berdasarkan komponen yang digunakan
   c. Listing program
   d. Skema alat 
  • Di dalam rancangan sistem tersebut, harus terdapat minimal sebuah input, sebuah output display dan sebuah output aktuator yang telah dipelajari dari modul sebelumnya.
  • Di dalam rancangan sistem tersebut, minimal menggunakan sebuah mikrokontroller Arduino. Praktikan diberi kebebasan untuk memilih Arduino yang akan digunakan.
  • Praktikan membuat simulasi rancangan alat dengan menggunakan perangkat lunak Proteus atau perangkat lunak lainnya.
  • Praktikan membuat alat sesuai dengan rancangan dan simulasi yang telah dibuat.
  • Praktikan menjelaskan rancangan sistem, simulasi dan demo alat kepada asisten Labortatorium Elektronika Digital sebelum dapat menunjukkan kepada Dosen Pembimbing.
  • Praktikan membuat laporan sesuai dengan kriteria yang ditentukan.
  • Tidak dibenarkan untuk meminjam komponen dari Laboratorium Elektronika Digital.
e. Jadwal Demo Alat :
  • Paling lambat tanggal 13 November 2018 dengan Asisten Laboratorium Elektronika Digital
  • Paling lambat tanggal 20 November 2018 dengan Dosen Pembimbing Praktikum Mikroprosessor dan Mikrokontroller

4.  Laporan Praktikum [Kembali]

Laporan Modul 4 Praktikum Mikrokontroller dan Mikroprosesor di Laboratorium Elektronika Digital, memiliki ketentuan sebagai berikut :
a.       Terdapat tujuan pembuatan alat tersebut.
b.      Terdapat daftar komponen yang akan digunakan dalam pembuatan alat tersebut.
c.       Terdapat landasan teori berdasarkan komponen yang digunakan dalam pembuatan alat tersebut. Sertakan file foto untuk masing-masing komponen tersebut.
d.      Terdapat listing program.
e.      Terdapat foto rangkaian simulasi menggunakan perangkat lunak seperti Proteus.
f.        Terdapat foto alat yang telah dibuat.
g.       Terdapat video rangkaian yang disimulasikan.
h.      Terdapat video untuk alat yang sedang bekerja.
i.         Terdapat analisa dari alat yang telah dibuat.
j.        Terdapat tautan untuk mengunduh dokumen berupa video, html dan simulasi.

Kuliah Tugas 2 : Aplikasi Variasi Running LED dengan Interrupt







1. Tujuan [Kembali]
  1. Untuk memenuhi tugas kuliah kedua dengan membuat : Aplikasi Variasi Running LED dengan Interrupt
  2. Merangkai dan menguji I/O pada Aplikasi Variasi Running LED dengan Interrupt.
  3. Pengaplikasian aplikasi Variasi Running LED dengan Interrupt pada lampu hias

2. Alat dan Bahan [Kembali]
      Komponen yang digunakan:
  1. Arduino UNO R3
  2. LED 
  3. Resistor 220 Ohm
  4. Resistor 10k
  5. Push Button
3. Landasan Teori [kembali]
1. Arduino
        Arduino adalah pengendali mikro single-board yang bersifat opensource, diturunkan dari Wiring platform, dirancang untuk memudahkan penggunaan elektronik dalam berbagai bidang. Hardware arduino memiliki prosesor Atmel AVR dan software arduino memiliki bahasa pemrograman C. Memori yang dimiliki oleh Arduino Uno sebagai berikut : Flash Memory sebesar 32KB, SRAM sebesar 2KB, dan EEPROM sebesar 1KB. Clock pada board Uno menggunakan XTAL dengan frekuensi 16 Mhz. Dari segi daya, Arduino Uno membutuhkan tegangan aktif kisaran 5 volt, sehingga Uno dapat diaktifkan melalui koneksi USB. Arduino Uno memiliki 28 kaki yang sering digunakan. Untuk Digital I/O terdiri dari 14 kaki, kaki 0 sampai kaki 13, dengan 6 kaki mampu memberikan output PWM (kaki 3,5,6,9,10,dan 11). Masing-masing dari 14 kaki digital di Uno beroperasi dengan tegangan maksimum 5 volt dan dapat memberikan atau menerima maksimum 40mA. 
        Untuk Analog Input terdiri dari 6 kaki, yaitu kaki A0 sampai kaki A5. Kaki Vin merupakan tempat input tegangan saat menggunakan sumber daya eksternal selain USB dan adaptor.Spesifikasi arduino uno R3 dapat dilihat pada tabel:

2. LED
Image result for led
Gambar Bentuk LED (Light Emitted Diode)
LED adalah suatu semikonduktor yang memancarkan cahaya,  LED mempunyai kecenderungan polarisasi. LED mempunyai kutub positif dan negatif (p-n) dan hanya akan menyala bila diberikan arus maju. Ini dikarenakan LED terbuat dari bahan semikonduktor yang hanya akan mengizinkan arus listrik mengalir ke satu arah dan tidak ke arah sebaliknya. Bila LED diberikan arus terbalik, hanya akan ada sedikit arus yang melewati  LED. Ini menyebabkan LED tidak akan mengeluarkan emisi cahaya.

3. Resistor
Image result for dasar teori resistor 220 ohm
Resistor berfungsi memberikan hambatan arus listrik tegangan rendah yang akan masuk dan dibatasi sesuai dengan besarnya hambatan yang tertera didalam reistor itu sendiri. Sehingga resistor ini juga kerap disebut sebagai hambatan. memiliki satuan nilai ohm disimbolkan ( Ω ) .
Bentuk dari resistor ini bermacam macam yang pada umumnya berbentuk panjang dengan memiliki dua buah kutup. Pada bagian luarnya terdapat garis garis berwarna warni yang menyatakan besaran bilangan hambatan didalamnya.
Cara kerja dari resistor ini cukup simple yakni menghambat arus yang mengalir dari ujung kutub yang satu ke ujug kutub yang lain dengan nilai hambatan bervariasi sesuai yang tertera pada resistor tersebut yang kemudian arus dialirkan lagi ke komponen elektronika yang membutuhkan arus lebih kecil sehingga komponen elektronika ini dapat terpelihara keawetannya. Selain sebagai pembatas arus resistor memiliki fungsi lain diantaranya adalah pembagi arus,penurun arus,dan pembagi tegangan.

 
4. Push Button
http://trikueni-desain-sistem.blogspot.com/2014/04/Pengertian-Push-Button.htmlhttp://trikueni-desain-sistem.blogspot.com/2014/04/Pengertian-Push-Button.html
Prinsip Kerja Push button switch
Berdasarkan fungsi kerjanya yang menghubungkan dan memutuskan, push button switch mempunyai 2 tipe kontak yaitu NC (Normally Close) dan NO (Normally Open).
  • NO (Normally Open), merupakan kontak terminal dimana kondisi normalnya terbuka (aliran arus listrik tidak mengalir). Dan ketika tombol saklar ditekan, kontak yang NO ini akan menjadi menutup (Close) dan mengalirkan atau menghubungkan arus listrik. Kontak NO digunakan sebagai penghubung atau menyalakan sistem circuit (Push Button ON).
  • NC (Normally Close), merupakan kontak terminal dimana kondisi normalnya tertutup (mengalirkan arus litrik). Dan ketika tombol saklar push button ditekan, kontak NC ini akan menjadi membuka (Open), sehingga memutus aliran arus listrik. Kontak NC digunakan sebagai pemutus atau mematikan sistem circuit (Push Button Off).


4. Rangkaian  [kembali]


Prinsip kerjanya sederhana, ketika push button ditekan maka variasi Running LED akan berubah yang tadinya dari kanan ke kiri menjadi kiri ke kanan. Disini saya akan membuat 3 variasi, kanan ke kiri, kiri ke kanan dan, tengah ke kanan-kiri.
Terdapat 8 LED yang disusun sejajar dengan resistor 220 Ohm pada setiap LEDnya. Resistor ini berfungsi untuk membagi tegangan dari output Arduino sebesar 5V. Sehingga tidak membuat LEDnya rusak. Sedangkan Resistor 10k berfungsi sebagai pull down, sehingga tegangan yang diterima pin 2 benar-benar dalam kondisi 0V ketika push button belum ditekan.



5. Listing Program  [kembali]

  • Pada program Running LED bervariasi ini, saya menggunakan fungsi attachInterrupt(), kenapa harus pake interrupt? Sederhana, karena program yang saya buat menggunakan fungsi delay(). Ketika fungsi delay() bekerja, semua sub-program tidak akan yang bekerja sampai fungsi delay() selesai, namun ketika Arduino mendapatkan input interrupt pada salah satu pinnya. Arduino akan langsung memberhentikan fungsi delay()  dan mengeksekusi fungsi interrupt yang telah dibuat. Untuk lebih jelasnya terkait fungsi attachInterrupt().


/* 
 *  Running led menggunakan fungsi interrupt
 */

 int ledPin[]= {3,4,5,6,7,8,9,10};
 int keadaanVariasi = 0;
 int delayLed = 50; //Ubah nilainya jika terlalu kecepetan

 void setup()
 {
  for (int i=0; i<8; i++)
  {
    pinMode(ledPin[i], OUTPUT);
  }
  attachInterrupt(digitalPinToInterrupt(2), variasi, RISING);
 }

 void loop()
 {
  switch(keadaanVariasi)
  {
    case 0:
    kananKiri();
    break;

    
    case 1:
    kiriKanan();
    break;

    
    case 2:
    tengahKananKiri();
    break;

    default:
    break;
  }
 }

 void variasi()
 {
  delay(100); 
  keadaanVariasi++;
  Serial.print("keadaanVariasi=");
  Serial.println(keadaanVariasi);
  if(keadaanVariasi>2) keadaanVariasi =0;
 }

 void kananKiri()
 {
  for (int i=0; i<8; i++)
  {
    digitalWrite(ledPin[i], HIGH);
    delay(delayLed);
    digitalWrite(ledPin[i], LOW);
    delay(delayLed);
    if(keadaanVariasi != 0) break;
  }
 }

 void kiriKanan()
 {
  for (int i=7; i>-1; i--)
  {
    digitalWrite(ledPin[i], HIGH);
    delay(delayLed);
    digitalWrite(ledPin[i], LOW);
    delay(delayLed);
    if(keadaanVariasi != 1) break;
  }
 }

 void tengahKananKiri()
 {
  int angkaGanjil = 1;
  for (int i=3; i>-1; i--)
  {
    digitalWrite(ledPin[i], HIGH);
    digitalWrite(ledPin[i+angkaGanjil],HIGH);
    delay(delayLed);
    digitalWrite(ledPin[i], LOW);
    digitalWrite(ledPin[i+angkaGanjil],LOW);
    delay(delayLed);
    angkaGanjil += 2;
    if(keadaanVariasi != 2) break;
  }
 }

6. Flowchart [kembali]






7. Video  [kembali]

8. Link Download  [kembali]
Rangkaian Simulasi
Video Simulasi
Program Arduino

Aplikasi Running text mengukur nilai suhu menggunakan sensor DHT 11 input : keypad dengan output dot matrik dan buzzer





1. Tujuan [kembali] 


  1. Aplikasi running text dapat mengukur nilai suhu dan kelembaban menggunakan sensor DHT 11 dengan keypad sebagai input output dot matrik dan buzzer
  2. Merangkai dan menguji I/O pada aplikasi running text dapat mengukur nilai suhu dan kelembaban menggunakan sensor DHT 11 dengan keypad sebagai input output dot matrik dan buzzer
  3. Pengaplikasian aplikasi running text yang dapat mengukur nilai suhu dan kelembaban menggunakan sensor DHT 11 dengan keypad sebagai input output dot matrik dan buzzer

2. Alat dan Bahan [kembali] 

      Komponen yang digunakan:
  1. Arduino MEGA 2560
  2. Keypad
  3. DHT11
  4. Jumper
  5. Dot matrix 8x8
  6. Max7219
  7. Buzzer

3. Landasan Teori [kembali] 

1. Arduino
        Arduino adalah pengendali mikro single-board yang bersifat opensource, diturunkan dari Wiring platform, dirancang untuk memudahkan penggunaan elektronik dalam berbagai bidang. Hardware arduino memiliki prosesor Atmel AVR dan software arduino memiliki bahasa pemrograman C. Memori yang dimiliki oleh Arduino Uno sebagai berikut : Flash Memory sebesar 32KB, SRAM sebesar 2KB, dan EEPROM sebesar 1KB. Clock pada board Uno menggunakan XTAL dengan frekuensi 16 Mhz. Dari segi daya, Arduino Uno membutuhkan tegangan aktif kisaran 5 volt, sehingga Uno dapat diaktifkan melalui koneksi USB. Arduino Uno memiliki 28 kaki yang sering digunakan. Untuk Digital I/O terdiri dari 14 kaki, kaki 0 sampai kaki 13, dengan 6 kaki mampu memberikan output PWM (kaki 3,5,6,9,10,dan 11). Masing-masing dari 14 kaki digital di Uno beroperasi dengan tegangan maksimum 5 volt dan dapat memberikan atau menerima maksimum 40mA. 
        Untuk Analog Input terdiri dari 6 kaki, yaitu kaki A0 sampai kaki A5. Kaki Vin merupakan tempat input tegangan saat menggunakan sumber daya eksternal selain USB dan adaptor.Spesifikasi arduino uno R3 dapat dilihat pada tabel:

2. Dot matrix 8x8

Dot matrix adalah susunan titik-titik dua dimensi yang digunakan untuk menampilkan karakter-karakter, simbol atau gambar. Dahulu dot matrix digunakan pada printer-printer tua dan banyak perangkat tampilan digital. Pada printer, titik-titik tersebut adalah daerah yang diredupkan. Sedangkan pada display, titik-titik tersebut adalah daerah yang bercahaya. Sebagaimana pada LED atau CRT display cara kerjanya titik-titik yang sebelumnya mati, bercahaya sesuai sesuai obyek yang diinginkan.

Dot matrix banyak digunakan untuk menampilkan informasi pada mesin-mesin, jam, indikator keberangkatan kereta api dan perangkat lainnya yang membutuhkan display sederhana untuk resolusi yang terbatas. Display ini terdiri dari LED yang tersusun secara matrix berbentuk segi empat (bentuk selain segi empat juga ada) sehingga dengan menyalakan/mematikan lampu yang diinginkan, teks atau grafik yang dapat ditampilkan. Pengendali dot matrix mengkonversi instruksi dari decoder ke dalam sinyal elektris yang dapat menyalakan atau mematikan lampu sehingga tampilan yang diinginkan dapat terjadi. 


4. DHT11
DHT-11 adalah chip tunggal kelembaban  relatif dan multi sensor suhu yang terdiri dari modul yang dikalibrasi keluaran digital. Pada pengukuran suhu data yang dihasilkan 14 bit, sedangkan untuk kelembaban data yang dihasilkan 12 bit.   Keluaran   dari   DHT-11   adalah   digital   sehingga   untuk   mengaksesnya diperlukan  pemrograman  dan  tidak  diperlukan  pengkondisi  sinyal  atau  ADC .
spesifikasi :
• Pasokan Voltage: 5 V
• Rentang temperatur :0-50 ° C kesalahan ± 2 ° C
• Kelembaban :20-90% RH ± 5% RH error
• Interface: Digital
  
 

5. Max7219
MAX7219 adalah IC yang berguna sebagai driver antarmuka antara mikro-kontroller dengan LED 7 Segmen (hingga 8-digit), tampilan balok (bar display), atau 64 LED individual yang bersifat common cathode. Antarmuka serial ini dapat mencapai kecepatan hingga 10 MHz.

Dalam chip ini sudah tersedia dekoder BCD (kode-B), rangkaian pemindai multiplekser, pengarah (driver) segmen dan digit, dan 8x8 RAM statik untuk mengingat setiap kondisi setiap digit (latched state).
Image result for max7219 dotmatrix data sheet
6. Jumper
Jumper pada sebuah komputer sebenarnya adalah connector (penghubung) sirkuit elektrik yand digunakan untuk menghubungkan atau memutus hubungan pada suatu sirkuit.
  Image result for kabel jumper
7.Buzzer
Buzzer adalah sebuah komponen elektronika yang berfungsi untuk mengubah getaran listrik menjadi getaran suara getaran listrik menjadi getaran suara. Pada dasarnya prinsip kerja buzzer hampir sama dengan loudspeaker, 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. Buzzer biasa digunakan sebagai indikator bahwa proses telah selesai atau terjadi suatu kesalahan pada sebuah alat (alarm).



3. Rangkaian [kembali] 

    
             


Rangkaian terdiri dari input berupa keypad dan sensor dht11 serta output berupa dot matrix dan buzzer ,dimana prinsip kerjanya sederhana, ketika keypad ditekan maka variasi Running Text LED pada Dot matrix dengan IC Max7219 akan berubah yaitu dimana apabila ditekan "1" pada keypad maka akan muncul berapa suhu yang dideteksi oleh sensor dht11 pada output dotmatrix, lalu kondisi ke dua apabila ditekan "2" pada keypad maka akan muncul berapa kelembapan yang dideteksi oleh sensor dht11 pada output dotmatrix . pada saat keypad ditekan maka buzzer otomatis juga akan berbunyi sebagai indikasi bahwasanya sensor suhu sudah bekerja.

Terdapat IC Max7219 yang berguna sebagai driver antarmuka antara mikro-kontroller Dalam chip ini sudah tersedia dekoder BCD (kode-B), rangkaian pemindai multiplekser, pengarah (driver) segmen dan digit, dan 8x8 RAM statik untuk mengingat setiap kondisi setiap digit (latched state) serta terdapat socket IC, resistor 10KOhm, 100nF kapasitor, dan 10 uF kapasitor elektrolit. Semua dipatri dalam satu modul yang kompak .

Dengan Modul max 7219 tersebut terdiri dari led dot matriks Common Cathode ukuran 8×8 yang berwarna merah, dan ic MAX7219 untuk mengendalikan nyala tiap piksel LED. Sedangkan Resistor 10k berfungsi sebagai pull down, sehingga tegangan yang diterima  benar-benar dalam kondisi 0V ketika Keypad belum ditekan dan tidak membuat LED Dot Matrix nya rusak. 

4. Listing Program [kembali] 

#include <MD_Parola.h>
#include <MD_MAX72xx.h>
#include <SPI.h>
#include "DHT.h" //include library sensor suhu
#include <Keypad.h>
#define buzz 8


const uint16_t WAIT_TIME = 1000;
const byte ROWS = 4; //empat baris
const byte COLS = 3; //4 kolom
//define simbol pada button di keypad
char keys[ROWS][COLS] = {
 {'1','2','3'},
 {'4','5','6'},
 {'7','8','9'},
 {'*','0','#'}
};
byte rowPins[ROWS] = {3, 2, 1, 0}; //hubungkan ke baris pinout pada keypad
byte colPins[COLS] = {6, 5, 4}; //hubungkan ke kolom pinout pada keypad
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

// tentukan jumlah device dan hardware interface
// catatan : pin ini mungkin tidak akan berfungsi dengan perangkat keras dan mungkin perlu disesuaikan

#define HARDWARE_TYPE MD_MAX72XX::PAROLA_HW
#define MAX_DEVICES 2
#define CLK_PIN   13
#define DATA_PIN  11
#define CS_PIN    10
#define DHTPIN 7     // pin apa yang akan terhubung
#define DHTTYPE DHT11   //sensor suhu & kelembapan  DHT 11
DHT dht(DHTPIN, DHTTYPE);

// Koneksi hardware SPI
//MD_Parola P = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);
// pin output yang dapat diubah
 MD_Parola P = MD_Parola(HARDWARE_TYPE, DATA_PIN, CLK_PIN, CS_PIN, MAX_DEVICES);


void setup(void)
{
  P.begin();
  Serial.begin(9600); // inisialisasi komunikasi serial
  Serial.println("DHTxx test!");
  dht.begin();
  pinMode(buzz,OUTPUT);
}

void loop(void)
{
    {
  digitalWrite(buzz,HIGH);
  delay(80);
  digitalWrite(buzz,LOW);
  delay(80);
    }
  char kode = keypad.getKey();
  if(kode==NO_KEY)
  return;
  if(kode=='1')

    {
  int t = dht.readTemperature();
  char temp[4];
  itoa(t,temp,10); //konversi int ke char !!
  Serial.println(temp);
  P.print(temp);
  delay(WAIT_TIME);
    }
    else if(kode=='2')
    {
  float h = dht.readHumidity();
  char humidity[8];
  itoa(h,humidity,10);
  Serial.println(humidity);
  P.print(humidity);
  delay(WAIT_TIME);

}
}

5. Flowchart [kembali] 

Visual Designer :




6. Video Simulasi [kembali] 






7. Link Download [kembali] 

Berikut merupakan link download untuk Proteus
Berikut merupakan link download untuk Video
Berikut merupakan link download untuk Program
Berikut merupakan link download untuk Visual Designer