Follow Us

Senin, 13 Agustus 2018

Arduino merupakan board Mikrokontroller yang berbasis ATMEGA yang sudan tertanan ( embeded ) sistem dan Open Source

Lalu apa bedanya Arduino dengan Mikrokontroler ?
  • Mikrokontroler dapat di program dengan bahasa C, Assembly, basic
  • Arduino di program dengan bahasa khusus dengan struktur sama dengan Bahasa C sehingga pemrograman akan lebih mudah di banding dengan mikrokontroler biasa
  • Arduino pada sistemnya sudah tertanan sistem bootloader sedang mikrokontroler tdk ada bootloader
Type Arduino :

1. Arduino UNO
Jenis yang ini adalah yang paling banyak digunakan. Terutama untuk pemula sangat disarankan untuk menggunakan Arduino Uno. Dan banyak sekali referensi yang membahas Arduino Uno. Versi yang terakhir adalah Arduino Uno R3 (Revisi 3), menggunakan ATMEGA328 sebagai Microcontrollernya, memiliki 14 pin I/O digital dan 6 pin input analog. Untuk pemograman cukup menggunakan koneksi USB type A to To type B. Sama seperti yang digunakan pada USB printer.
Spesifikasi:

MicrocontrollerATmega328P
Operating Voltage5V
Input Voltage (recommended)7-12V
Input Voltage (limit)6-20V
Digital I/O Pins14 (of which 6 provide PWM output)
PWM Digital I/O Pins6
Analog Input Pins6
DC Current per I/O Pin20 mA
DC Current for 3.3V Pin50 mA
Flash Memory32 KB (ATmega328P)
of which 0.5 KB used by bootloader
SRAM2 KB (ATmega328P)
EEPROM1 KB (ATmega328P)
Clock Speed16 MHz
LED_BUILTIN13
Length68.6 mm
Width53.4 mm
Weight25 g
2. Arduino Mega

Mirip dengan Arduino Uno, sama-sama menggunakan USB type A to B untuk pemogramannya. Tetapi Arduino Mega, menggunakan Chip yang lebih tinggi ATMEGA2560. Dan tentu saja untuk Pin I/O Digital dan pin input Analognya lebih banyak dari Uno.
Spesifikasi:

MicrocontrollerATmega2560
Operating Voltage5V
Input Voltage (recommended)7-12V
Input Voltage (limit)6-20V
Digital I/O Pins54 (of which 15 provide PWM output)
Analog Input Pins16
DC Current per I/O Pin20 mA
DC Current for 3.3V Pin50 mA
Flash Memory256 KB of which 8 KB used by bootloader
SRAM8 KB
EEPROM4 KB
Clock Speed16 MHz
LED_BUILTIN13
Length101.52 mm
Width53.3 mm
Weight37 g
3. Arduino Nano

Sepertinya namanya, Nano yang berukulan kecil dan sangat sederhana ini, menyimpan banyak fasilitas. Sudah dilengkapi dengan FTDI untuk pemograman lewat Micro USB. 14 Pin I/O Digital, dan 8 Pin input Analog (lebih banyak dari Uno). Dan ada yang menggunakan ATMEGA168, atau ATMEGA328.


Spesifikasi :


MicrocontrollerATmega328ArchitectureAVROperating Voltage5 VFlash Memory32 KB of which 2 KB used by bootloaderSRAM2 KBClock Speed16 MHzAnalog I/O Pins8EEPROM1 KBDC Current per I/O Pins40 mA (I/O Pins)Input Voltage7-12 VDigital I/O Pins22PWM Output6Power Consumption19 mAPCB Size18 x 45 mmWeight7 gProduct CodeA000005


4. Arduino ProMini
Fasilitasnya sama dengan yang dimiliki Nano. Hanya tidak dilengkapi dengan Micro USB untuk pemograman. Dan ukurannya hanya 30 mm x 18 mm saja.


Spesifikasi :
MicrocontrollerATmega328
Operating Voltage5V
Input Voltage7-9 V
Digital I/O Pins14 (of which 6 provide PWM output)
Analog Input Pins8 (of which 4 are broken out onto pins)
DC Current per I/O Pin40 mA
Flash Memory32 KB (of which 2 KB used by bootloader)
SRAM2 KB
EEPROM1 KB
Clock Speed16 MHz
Length30 mm
Width18 mm

Senin, 06 Agustus 2018

Terdapat 7 jenis Gerbang Logika Dasar yang membentuk sebuah Sistem Elektronika Digital, yaitu :
  1. Gerbang AND
  2. Gerbang OR
  3. Gerbang NOT
  4. Gerbang NAND
  5. Gerbang NOR
  6. Gerbang X-OR (Exclusive OR)
  7. Gerbang X-NOR (Exlusive NOR)
Tabel yang berisikan kombinasi-kombinasi Variabel Input (Masukan) yang menghasilkan Output (Keluaran) Logis disebut dengan “Tabel Kebenaran” atau “Truth Table”.
Input dan Output pada Gerbang Logika hanya memiliki 2 level. Kedua Level tersebut pada umumnya dapat dilambangkan dengan :
  • HIGH (tinggi) dan LOW (rendah)
  • TRUE (benar) dan FALSE (salah)
  • ON (Hidup) dan OFF (Mati)
  • 1 dan 0
  • +5V dan 0V
  • Nyala dan Mati
  • Menutup dan Membuka
  • Sambung dan Putus
Berikut ini adalah Penjelasan singkat mengenai 7 jenis Gerbang Logika Dasar beserta Simbol dan Tabel Kebenarannya.

Gerbang AND (AND Gate)

Gerbang AND memerlukan 2 atau lebih Masukan (Input) untuk menghasilkan hanya 1 Keluaran (Output). Gerbang AND akan menghasilkan Keluaran (Output) Logika 1 jika semua masukan (Input) bernilai Logika 1 dan akan menghasilkan Keluaran (Output) Logika 0 jika salah satu dari masukan (Input) bernilai Logika 0. Simbol yang menandakan Operasi Gerbang Logika AND adalah tanda titik (“.”) atau tidak memakai tanda sama sekali. Contohnya : Z = X.Y atau Z = XY.
Simbol dan Tabel Kebenaran Gerbang AND (AND Gate)

Gambar rangkaian terdiri atas :
1. Gambar rangkaian logika



2. Gambar rangkaian kelistrikan


3. Tabel Kebenaran


4. Persamaan Boole ( Boolean )

Q = A* B

5. Diagram pulsa



Gerbang OR(OR Gate)

Gerbang OR memerlukan 2 atau lebih Masukan (Input) untuk menghasilkan hanya 1 Keluaran (Output). Gerbang OR akan menghasilkan Keluaran (Output) 1 jika salah satu dari Masukan (Input) bernilai Logika 1 dan jika ingin menghasilkan Keluaran (Output) Logika 0, maka semua Masukan (Input) harus bernilai Logika 0.
Simbol yang menandakan Operasi Logika OR adalah tanda Plus (“+”). Contohnya : Z = X + Y.
Simbol dan Tabel Kebenaran Gerbang OR (OR Gate)

1. Gambar rangkaian terdiri atas 
    - Gambar rangkaian logika

2. Gambar rangkaian kelistrikan



3. Tabel Kebenaran



4. Persamaan Boole
Q = A * B
5. Diagram Oulsa


Gerbang NOT(NOT Gate)

Gerbang NOT hanya memerlukan sebuah Masukan (Input) untuk menghasilkan hanya 1 Keluaran (Output). Gerbang NOT disebut juga dengan Inverter (Pembalik) karena menghasilkan Keluaran (Output) yang berlawanan (kebalikan) dengan Masukan atau Inputnya. Berarti jika kita ingin mendapatkan Keluaran (Output) dengan nilai Logika 0 maka Input atau Masukannya harus bernilai Logika 1. Gerbang NOT biasanya dilambangkan dengan simbol minus (“-“) di atas Variabel Inputnya.
Simbol dan Tabel Kebenaran Gerbang NOT (NOT Gate)  

1. 1.      Gambar rangkaian terdiri atas 
            Gambar rangkaian logika


Kamis, 04 Januari 2018





Kamis, 05 Oktober 2017

TEORI :

Module 8 Digit 7 Segment max7219 merupakan penggabungan dari 8 module display seven segment yang dipasang atau disusun secara horizontal yang dikontrol menggunakan driver max7219. Kelebihan dari Module ini hanya membutuhkan 3 buah pin I/O sebagai komunikasi pada arduino sehingga dapat meminimalkan penggunaan pin I/O arduino. Module 8 digit Seven Segment ini dapat diaplikasikan pada berbagai macam project yang memerlukan tampilan karakter khususnya karakter angka, misalnya : Project jam digital (seperti yang akan dibahas).
Komponen keypad akan berfungsi sebagai input data untuk setting time dari detik sampai dengan jam. seven segment, akan menjadi tampilan dari jam digitalnya DS1307, akan menjadi sumber data waktu yang dapat diakses oleh Arduino Microcontroller Arduino Microcontroller akan berfungsi sebagai pengolah data utama dari Keypad, komponen DS1307, dan mengatur display seven segment.


Module 7 Segmen 8 Digit MAX7219
Spesifikasi Module 8 Digit 7 Segmen max7219 ini :
  • Power Supply : 5V DC
  • Data Interface : SPI Serial (Din & Dout)
  • Warna 7 Segment : Merah
  • 7 Segment : 8 Digit
  • Driver : 1 x MAX7219
Pada Module 8 Digit 7 Segmen ini memiliki 5 pin interface :
  • VCC = 5V DC
  • GND = 0V / Ground
  • DIN = Data IN / SDA / MOSI
  • CS = Shift / SS
  • CLK = Clock / SCK
DOUT memungkinkan untuk menambah module 7 segment dengan jumlah sesuai kebutuhan.
Pada project kali ini akan diberikan contoh pembuatan Jam Digital menggunakan module SFE 8 Digit 7 Segment max7219, dengan menggunakan Module 8 digit 7 Segment dalam project jam digital kali ini dapat menampilkan jam, menit dan detik maupun hari, bulan dan tahun secara bergantian.

ALAT YANG DIBUTUHKAN :

1. Module 7 Segment 8 Digit MAX7219
2. Module Arduino UNO

3. RTC DS 1307
4. Kabel Jumper

Petunjuk :

  • Hubungkan masing-masing modul dengan SFEDuino sesuai dengan konfigurasi pin dibawah ini:

7 Segment RTC DS1307

CLK = 2 SDA = A4
CS = 3 SCL = A5
DIN = 4 VCC = 5V
GND = 0V GND = 0V
VCC = 5V

Sketch

Libraries
  • Masukkan library pada sketch program arduino IDE
  • Masukkan contoh sketch dibawah ini, kemudian upload program yang telah dibuat
#include <RTClib.h>
#include <LedControl.h>
//========================================================================================
// pin data, clock, latch
double hold;
LedControl lc = LedControl(4, 2, 3, 1);
RTC_DS1307 rtc;

//========================================================================================
void setup() {
  rtc.begin();
  lc.shutdown(0, false);
  lc.setIntensity(0, 8);                          // kecerahan display
  lc.clearDisplay(0);                             //  hapus display
  //rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); //set jam sesuai dengan jam komputer
  //rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0));
}

//========================================================================================
void loop() {
  hold = millis();
  while ((hold + 20000) > millis() ) {
    DateTime now = rtc.now();
    setCol1(now.hour());
    setCol2(now.minute());
    setCol3(now.second());
    lc.setChar (0, 2, '-', false);
    lc.setChar (0, 5, '-', false);
  }

  hold = millis();
  while ((hold + 5000) > millis() ) {
    DateTime now = rtc.now();
    setCol1(now.day());
    setCol2(now.month());
    setCol3(now.year() - 2000);
    lc.setChar (0, 2, '-', false);
    lc.setChar (0, 5, '-', false);
  }

}

//========================================================================================
void setCol1 (byte jam) {
  String strBuffer = Konversi(jam);
  byte pjg = strBuffer.length() + 1;
  char val[pjg];
  strBuffer.toCharArray(val, pjg);
  lc.setChar (0, 0, val[0], false);
  lc.setChar (0, 1, val[1], false);
}

//========================================================================================
void setCol2 (byte mnt) {
  String strBuffer = Konversi(mnt);
  byte pjg = strBuffer.length() + 1;
  char val[pjg];
  strBuffer.toCharArray(val, pjg);
  lc.setChar (0, 3, val[0], false);
  lc.setChar (0, 4, val[1], false);
}

void setCol3 (byte dtk) {
  String strBuffer = Konversi(dtk);
  byte pjg = strBuffer.length() + 1;
  char val[pjg];
  strBuffer.toCharArray(val, pjg);
  lc.setChar (0, 6, val[0], false);
  lc.setChar (0, 7, val[1], false);
}

String Konversi(int nilai) {
  if (nilai < 10) {
    return "0" + String(nilai);
  }
  else {
    return String(nilai);
  }
}
Setelah program berhasil diupload maka display 8 digit 7 segment akan menampilkan tampilan jam dan tanggal secara bergantian


Theme Support