Sabtu, 10 Juni 2017

Cara Mudah Install Magic Lantern di Canon EOS 600D

Apa itu Magic Lantern? Magic Lantern atau ML adalah sebuah software/plugin tambahan untuk kamera DSLR Canon.. Magic Lantern ini di buat oleh sekelompok orang yang menyukai kamera DSLR merek Canon.. Dengan Magic Lantern pengguna kamera Canon EOS versi terntentu bisa membuat foto dan video HDR, timelapse, motion detection, focus assist tools, manual audio control dan masih banyak lagi.... 

Magic Lantern ini bisa di bilang plugin pada firmware bawaan kamera DSLR Canon dan hanya terinstall di kartu memori... Jadi tidak merubah firmware bawaan aslinya... Kamera DSLR Canon yang sudah mendukung tambahan fitur ini adala Canon seri 550D, 60D, 600D, 500D, 50D dan 5D... 

Dengan menginstal Magic Lantern pengguna dapat melakukan upgrade DSLR Canon yang memiliki fitur standar menjadi luar biasa.... Fitur Audio yang dimiliki Canon yang tadinya menggunakan AGC (Auto Gain Level), yang menyebabkan suara noise yang terekam menjadi keras, bisa dihilangkan karena ML (Magic Lantern) memiliki fitur AGC Off... 
  1. Saya akan mencoba menginstall Magic Lantern di CAnon EOS 600D... Pertama download firmware terbaru dari Canon di sitius resminya disini Firmware CanonEOS 
  2. Format Kartu memori yang di gunakan, backup dulu data data photo kedalam smartpone atau komputer... Lakukan Clear Setting dan Format kartu memori dengan Low Level Format di kamera Canon... Kemudian lepaskan kartu memori dan masukan ke PC.. 
  3. Download versi terbaru Magic Lantera sesuai dengan versi Canon EOS yang di gunakan di situs resminya disini Setelah itu ekstrak di kartu memori.. 
  4. Pasang kembali kartu memori yang sudah terinstall Magic Lantern kedalam kamera... Tekan tombol Menu, masuk menu ke 3 dari kanan, pilih paling bawah Firmware Ver. x.x.x 
  5. Tunggu proses installasi sedang berjalan, tunggu sampai selesai kemudian matikan kamera dan hidupkan kembali...
Sekarang kamera Canon EOS sudah terinstall di kamera.. Perlu di ingat Magic Lantern ini hanya terinstall di kartu memori sehingga saat menggunakan kartu memori lain, Magic Lantern tidak akan berfungsi... Untuk mengakses fitur fitur di Magic Lantern ini bisa dengan menekan tombol delete “tong sampah” pada kamera....


Komunikasi Serial Pada Arduino

Komunikasi serial adalah komunikasi yang pengiriman datanya per-bit secara berurutan dan bergantian. Komunikasi ini mempunyai suatu kelebihan yaitu hanya membutuhkan satu jalur dan kabel yang sedikit dibandingkan dengan komunikasi paralel. Pada prinsipnya komunikasi serial merupakan komunikasi dimana pengiriman data dilakukan per bit sehingga lebih lambat dibandingkan komunikasi parallel, atau dengan kata lain komunikasi serial merupakan salah satu metode komunikasi data di mana hanya satu bit data yang dikirimkan melalui seuntai kabel pada suatu waktu tertentu. Pada dasarnya komunikasi serial adalah kasus khusus komunikasi paralel dengan nilai n = 1, atau dengan kata lain adalah suatu bentuk komunikasi paralel dengan jumlah kabel hanya satu dan hanya mengirimkan satu bit data secara simultan.Hal ini dapat disandingkan dengan komunikasi paralel yang sesungguhnya di mana n-bit data dikirimkan bersamaan, dengan nilai umumnya 8 ≤ n ≤ 128.


Komunikasi serial ada dua macam, asynchronous serial dan synchronous serial.Synchronous serial adalah komunikasi dimana hanya ada satu pihak (pengirim atau penerima) yang menghasilkan clock dan mengirimkan clock tersebut bersama-sama dengan data. Contoh pengunaan synchronous serial terdapat pada transmisi data keyboard. Asynchronous serial adalah komunikasi dimana kedua pihak (pengirim dan penerima) masing-masing menghasilkan clock namun hanya data yang ditransmisikan, tanpa clock. Agar data yang dikirim sama dengan data yang diterima, maka kedua frekuensi clock harus sama dan harus terdapat sinkronisasi. Setelah adanya sinkronisasi, pengirim akan mengirimkan datanya sesuai dengan frekuensi clock pengirim dan penerima akan membaca data sesuai dengan frekuensi clock penerima. Contoh penggunaan asynchronous serial adalah pada Universal Asynchronous Receiver Transmitter (UART) yang digunakan pada serial port (COM) komputer.

Contoh Dasar Komunikasi Serial Mengirim Data Teks:


void setup() {
Serial.begin(9600);
}
void loop() {
Serial.print(“Hello World”);
delay(2000);
}

Penjelasan Singkat Koding Program 
Serial.begin(9600); -> Menentukan kecepatan baca data serial (Baud Rate) Serial.print(“Hello World”); -> Untuk mencetak kalimat pada komunikasi 
Serial Delay(2000); ->Memberikan waktu jeda 2 detik

1. Serial.available()


Digunakan untuk menyatakan angka, bytes atau karakter yang sudah siap dibaca dari serial port. Data ini adalah data yang telah diterima dan disimpan dalam serial receive buffer. Serial receive buffer dapat menampung 64 bytes data. Berikut ini contoh penulisan instruksi available.


int dataterkirim = 0;
void setup() { 
Serial.begin(9600);
}
void loop() {   
if (Serial.available() > 0) {   
dataterkirim = Serial.read();   
Serial.print("saya menerima data: ");   
Serial.println(dataterkirim, DEC);  
}
}

2. Serial.begin()


“begin()” digunakan untuk mengatur baudrate / kecepatan transmisi data. Beberapa pilihan kecepatan komunikasi data yang dapat digunakan pada board arduino adalah 300, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600 atau 115200. Pengaturan baudrate dilakukan pada bagian setup(). Berikut ini format penulisan dan contoh program “begin()”

void setup() { 
Serial.begin(9600);
}

3. Serial.end()


Perintah “serial.end()” digunakan untuk menutup komunikasi serial port. Berikut format penulisan dan contoh program. Untuk membuka kembali komunikasi serial port dapat menggunakan perintah “Serial.begin()”.

4. Serial.find()

Perintah “Serial.find() digunakan untuk membaca data dari serial port buffer hingga target yang ditentukan dalam perintah “Serial.find()” terpenuhi. Fungsi akan bernilai benar jika target tercapai dan bernilai salah jika target tidak tercapai. Berikut ini contoh penulisan program “Serial.find()”. 


5. Serial.print() 

Perintah “Serial.print” digunakan untuk menampilkan data ke serial monitor. Data yang ditampilkan dapat berupa karakter, bytes, atau angka. Berikut ini beberapa contoh perintah “serial.print()”.


Serial.print(78) // mencetak "78"
Serial.print(1.23456) // mencetak "1.23"
Serial.print('N') // mencetak "N"
Serial.print("Hello world.") // mencetak "Hello world."
Serial.print(78, BIN) // mencetak "1001110"
Serial.print(78, OCT) // mencetak "116"
Serial.print(78, DEC) // mencetak "78"
Serial.print(78, HEX) // mencetak "4E"
Serial.println(1.23456, 0) // mencetak "1"
Serial.println(1.23456, 2) // mencetak "1.23"
Serial.println(1.23456, 4) // mencetak "1.2346"

Terdapat 2 macam yaitu Serial.print dan Serial.println. perbedaannya adalah jika “Serial.print” akan menampilkan data di serial monitor dalam satu baris, tetapi perintah “Serial.println” akan menampilkan data di serial monitor pada baris baru. 

6. Serial.read() 

Perintah “Serial.read()” digunakan untuk membaca data dari serial port. Berikut contoh penulisan perintah “Serial.read()”


void loop() {   
if (Serial.available() > 0) {   
dataterkirim = Serial.read();   
Serial.print("saya menerima data: ");   
Serial.println(dataterkirim, DEC);  
}
}

7. Serial.write() 

Perintah “Serial.write” digunakan untuk membaca data biner dari serial port. Data ini dikirim dalam bentuk byte atau deretan data byte. Contoh penulisan perintah “Serial.write”


void setup(){   
Serial.begin(9600);
}
void loop(){   
Serial.write(45);    
int bytesSent = Serial.write(Test Serial);
} 


Selain fungsi-fungsi komunikasi yang telah disebutkan diatas terdapat beberapa fungsi lain seperti: 

  • if (Serial) : Untuk mengecek apakah Port sudah siap 
  • Serial.flush(): menunggu data terkirim semua 
  • Serial.parseFloat(): mengambil data float pertama dari data di buffer serial. 
  • serial.parseInt(): mengambil data integer pertama dari data di buffer serial. 
  • Serial.peek(): mengambil data berikutnya di bufer penerima 
  • Serial.setTimeout(): mengeset batas maksimum waktu tunggu(timeout) transmisi data. 
  • Serial.serialEvent(): fungsi ini akan dipanggil jika data datang/diterima.berlaku spt interupsi serial.

Mengendalikan Stepper Motor dengan Potensio pada Arduino

Stepper motor merupakan motor yang dapat dikendalikan banyaknya putaran dan derajat perputarannya dengan menggunakan mikrokontroller. dan kali ini kita akan mengendalikan perputaran stepper motor dengan potensiometer pada arduino

Bahan yang diperlukan:

  • Arduino uno
  • 10k Ohm potensiometer
  • Stepper motor
  • ULN2004A
  • Kabel jumper
Gambar rangkaian:


Sourcecode:


/*
 * MotorKnob
 *
 * A stepper motor follows the turns of a potentiometer
 * (or other sensor) on analog input 0.
 *
 * http://www.arduino.cc/en/Reference/Stepper
 * This example code is in the public domain.
 */

#include "stepper.h"

// change this to the number of steps on your motor
#define STEPS 100

// create an instance of the stepper class, specifying
// the number of steps of the motor and the pins it's
// attached to
Stepper stepper(STEPS, 8, 9, 10, 11);

// the previous reading from the analog input
int previous = 0;

void setup() {
  // set the speed of the motor to 30 RPMs
  stepper.setSpeed(30);
}

void loop() {
  // get the sensor value
  int val = analogRead(0);

  // move a number of steps equal to the change in the
  // sensor reading
  stepper.step(val - previous);

  // remember the previous value of the sensor
  previous = val;
}

Menambah Pin PWM pada Arduino Dengan TLC5940

PWM merupakan fitur arduino yang sangat populer untuk mengendalikan led, namun arduino hanya memiliki sedikit pin yang dapat memproses PWM. Untuk itu kita dapat menambahnya dengan ic TLC5940 yang merupakan ic 16 channel PWM untuk driver led, motor, ataupun servo.



Fitur TLC5940:



  • VCC = 3 - 5 v
  • 16 channel
  • 12 bit (4096 Steps) PWM Control
  • Driving Capability 
             – 0 mA to 120 mA (VCC > 3.6V)
             – 0 mA to 60 mA (VCC < 3.6V)
  • Serial Data Interface
  • 30 MHz Data Transfer Rate
Rangkaian Arduino dan TLC5940





Library
Download disini


Sourcecode


/*
 * Arduino and TLC5940 Tutorial - Simple Example
 * by Dejan Nedelkovski, www.HowToMechatronics.com
 */
#include "Tlc5940.h" 
void setup() {
  Tlc.init(0); // Initiates the TLC5940 and set all channels off
}
 
void loop() {
  Tlc.set(0,4095); //(Output Pin from 0 to 15,PWM Value from 0 to 4095)
  // Note: The previous function doesn't activates the output right away. The output will be activated when the Tlc.update() function will be executed!
  
  Tlc.update(); // Activates the previously set outputs
  delay(1000);
  // For activating all 16 outputs at the same time we can use a for loop for setting all of them to be set to PWM value of 4095. Then  the Tlc.updata() function will active them all at the same time.
  for (int i = 0; i < 16; i++) {
    Tlc.set(i, 4095);
  }
  Tlc.update();
  delay(1000);
  //The Tlc.clear() function clears all the outputs, or sets the PWM value of all outputs to 0
  Tlc.clear();
  Tlc.update();
  delay(1000);
  // This for loop will active all 16 LEDs one by one
  for (int i = 0; i < 16; i++) {
    Tlc.set(i, 4095);
    Tlc.update();
    delay(200);
    Tlc.clear();
    Tlc.update();
    delay(200);
  }
}

Program LCD i2C 16x2 Menggunakan Arduino

Menggunakan LCD pada Arduino sudah menjadi hal yang biasa untuk prototipe proyek, namun penggunaan lcd pada arduino memakan banyak pin, untuk menghematnya kita bisa menggunakan modul I2C hanya menggunakan 2 pin saja. 

Bahan yang diperlukan:

  • Arduino Uno
  • LCD 16x2
  • I2C
  • Kabel Jumper
Gambar Rangkaian:


Library

Download disini

Sourcecode



#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27 ,2,1,0,4,5,6,7,3, POSITIVE);
//Ubah alamat 0x27 dengan alamat i2C kamu
void setup(){
  lcd.begin (16,2); //LCD untuk ukuran 16x2
  }
void loop(){  
  lcd.setCursor(0, 0); //baris pertama   
  lcd.print("TEST LCD i2C");    
  lcd.setCursor(0, 1); //baris kedua   
  lcd.print("Hello World");
}

Mengenal Komunikasi I2C(Inter Integrated Circuit)

Inter Integrated Circuit atau sering disebut I2C adalah standar komunikasi serial dua arah menggunakan dua saluran yang didisain khusus untuk mengirim maupun menerima data. Sistem I2C terdiri dari saluran SCL (Serial Clock) dan SDA (Serial Data) yang membawa informasi data antara I2C dengan pengontrolnya. Piranti yang dihubungkan dengan sistem I2C Bus dapat dioperasikan sebagai Master dan Slave. Master adalah piranti yang memulai transfer data pada I2C Bus dengan membentuk sinyal Start, mengakhiri transfer data dengan membentuk sinyal Stop, dan membangkitkan sinyal clock. Slave adalah piranti yang dialamati master. 

Sinyal Start merupakan sinyal untuk memulai semua perintah, didefinisikan sebagai perubahan tegangan SDA dari “1” menjadi “0” pada saat SCL “1”. Sinyal Stop merupakan sinyal untuk mengakhiri semua perintah, didefinisikan sebagai perubahan tegangan SDA dari “0” menjadi “1” pada saat SCL “1”. Kondisi sinyal Start dan sinyal Stop seperti tampak pada Gambar 1.


Gambar 1. Kondisi sinyal start dan stop


Sinyal dasar yang lain dalam I2C Bus adalah sinyal acknowledge yang disimbolkan dengan ACK Setelah transfer data oleh master berhasil diterima slave, slave akan menjawabnya dengan mengirim sinyal acknowledge, yaitu dengan membuat SDA menjadi “0” selama siklus clock ke 9. Ini menunjukkan bahwa Slave telah menerima 8 bit data dari Master. Kondisi sinyal acknowledge seperti tampak pada Gambar 2.


Gambar 2. Sinyal ACK dan NACK

Dalam melakukan transfer data pada I2C Bus, kita harus mengikuti tata cara yang telah ditetapkan yaitu: 

  • Transfer data hanya dapat dilakukan ketikan Bus tidak dalam keadaan sibuk. 
  • Selama proses transfer data, keadaan data pada SDA harus stabil selama SCL dalam keadan tinggi. Keadaan perubahan “1” atau “0” pada SDA hanya dapat dilakukan selama SCL dalam keadaan rendah. Jika terjadi perubahan keadaan SDA pada saat SCL dalam keadaan tinggi, maka perubahan itu dianggap sebagai sinyal Start atau sinyal Stop.

Gambar 3. Trasfer Bit pada I2C bus

Kontrol Servo Dengan Arduino

Motor servo adalah sebuah motor dengan sistem umpan balik tertutup dimana 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. 

Secara umum terdapat 2 jenis motor servo. Yaitu motor servo standard dan motor servo Continous. Servo motor tipe standar hanya mampu berputar 180 derajat. Motor servo standard sering dipakai pada sistim robotika misalnya untuk membuat " Robot Arm" ( Robot Lengan ). sedangkan Servo motor continuous dapat berputar sebesar 360 derajat. motor servo Continous sering dipakai untuk Mobile Robot. Pada badan servo tertulis tipe servo yang bersangkutan. Motor servo standar yang kali ini dipakai memiliki 3 buah kabel yaitu, power, ground dan signal.


  • Kabel warna merah merupakan kabel power yang berfungsi untuk mengkoneksikan dengan tegangan 5V pada board arduino. 
  • Kabel yang berwarna coklat/hitam merupakan kabel ground yang nantinya akan dihubungkan dengan ground yang ada pada board arduino. 
  • Kabel kuning yang merupakan kabel pin signal servo yang akan dihubungkan dengan pin 9 pada board arduino. 
Alat dan Bahan

  • Arduino Uno
  • Servo
  • Kabel Jumper

Gambar Rangkaian




Sourcecode


/** Workshop Dasar Mikrokontroler
2014 RADE - Robotics AnD Embedded Systems STMIK STIKOM Bali 
**/
#include  
// membuat nama objek servo untuk pengontrolan servo 
Servo myservo;          
// variable untuk menyimpan posisi servo 
int pos = 0;            
void setup() 
{ 
 // objek servo diletakan pada pin 9 
 myservo.attach(9);     
} 
void loop() 
{ 
 // start dari 0 derajar sampai 180 derajat 
 for(pos = 0; pos < 180; pos += 1)  
 {
  // pada posisi 1 derajat
  // memberitahu servo untuk pergi ke posisi  'pos'
  myservo.write(pos);
  // tunggu 15ms untuk pencapaian  posisi servo    
  delay(15);                  
 } 
 // start dari 180 derajat ke 0 derajat 
 for(pos = 180; pos>=1; pos-=1)  
 {
  // memberitahu servo untuk pergi ke posisi  'pos'                                
  myservo.write(pos);                 
  // tunggu 15ms untuk pencapaian  posisi servo    
  delay(15);                        
 }
}

Multiplexing Pada Arduino

Multiplexer adalah salah satu komponen elektronika berfungsi sebagai penyelektor data berdasarkan perintah untuk menampilkan data yang diinginkan. Dengan kata singkatnya multiplexer memiliki banyak input data 2n contohnya 4, 8, 16,32 input tetapi hanya memiliki beberapa buah input digital dan memiliki 1 bagian pengontrol. Melalui bagian input digital ini dapat dikehendaki data input mana yang akan ditampilkan. 

Salah satu contoh IC untuk kedua proses tersebut yaitu 74HC4067. IC ini merupakan ic analog yang memilik 16 inputan dengan 4 input data (S0,S1,S,S3) , 1 pin SIGsebagai pengendali selector dan 1 input Enable untuk mengaktifkan. Bentuk fisik dari IC Mux 74HC4067. 

Saat pin input ic 74HC4067 (channel 0-15) yang terhubung dengan suatu perangkat misalnya dengan trimpot, untuk pembacaan ke-16 input-an tersebut dilakukan secara bergantian dalam satuan waktu Us. Untuk sinyal kendali pembacaannya terdapat pada pin S0-S1 yang dimana dapat diliat pada tabel kebenaran dibawah :



74HC4067



Keterangan : SIG merupakan pin keluarnya sinyal hasil selektor data yang dibaca dari selektor (S0-S3), dan dapat aktif dapat dibaca jika di pin Enable di on kan. Pada pasaran sudah terdapat modul IC 74HC4067, sudah dipackage ke dalam pcb yang langsung siap pakai menggunakan pin header dengan jumper. 


Pembacaan sinyal Digital (74HC4067)

Modul/Part yang diperlukan:

  • Arduino Uno
  • Modul 74HC4067
  • 16 Resistor 10 kΩ
  • 16 Push button
  • Breadboard
  • Kabel Jumper

Gambar Rangkaian


Keterangan : 
  • SIG : 3 
  • S0 : 8 
  • S1 : 9 
  • S2 : 10 
  • S3 : 11 
  • E : 7
Library

Download Disini

Sourcecode


/* --- www.ngarep.net --- */
/*
* Berikut ini adalah contoh pembacaan sinyal digital
* Menggunakan push button dan dalam kondisi pull up (resitor 10k)
* Semua dihubungkan ke 16 channel modul 74HC4067
*/
 
//menambahkan pembacaan untuk libraries modul 74HC4067
#include <MUX74HC4067.h>
 
//(en, S0, S1, S2, S3)
MUX74HC4067 mux(7, 8, 9, 10, 11);
 
void setup()
{
//Inisialisasi port serial
Serial.begin(9600);
//menunggu sampai terkoneksi port serialnya
while ( !Serial ) ;
//inisialisasi pin 3 sebagai jalur signal
mux.signalPin(3, INPUT, DIGITAL);
}
 
//Membaca 16 channel dan ditampilkan datanya pada serial monitor
//jika salah satu push button ditekan
void loop()
{
byte data;
for (byte i = ; i < 16; ++i)
{
//Membaca channel i
data = mux.read(i);
Serial.print("Push button yang ditekan pada channel: ");
Serial.print(i);
Serial.print(" status ");
if ( data == HIGH ) Serial.println("tidak ditekan");
else if ( data == LOW ) Serial.println("ditekan");
}
Serial.println();
delay(1500);
}


SUMBER

Jumat, 09 Juni 2017

Menggunakan 2 RC522 Secara Bersamaan Pada Arduino Uno

Pada kesempatan kali ini kita akan mencoba menggunakan 2 buah module RC522 pada sebuah arduino uno, ini dibuat karena bisa terjadi suatu masalah dimana memerlukan dua buah reader pada satu mikrokontroler. Serta untuk menghemat I/O pada Arduino bisa menggunakan bidirectional converter. 

Modul/Part yang diperlukan:

  • Arduino uno
  • Breadboard
  • Bidirectional Converter (x2)
  • Mifare RC522 (x2)
  • tag RFID
  • Jumper (secukupnya)
Gambar Rangkaian:



Library:
Download disini

Setelah rangkaian sudah jadi hubungkan arduino dengan Arduino IDE dan buka examples bernama ReadUidMultiReader atau bisa copy kodingan dibawah ini.

Sourcecode:

#include 
#include 

#define RST_PIN         9          // Configurable, see typical pin layout above
#define SS_1_PIN        10         // Configurable, take a unused pin, only HIGH/LOW required, must be diffrent to SS 2
#define SS_2_PIN        8          // Configurable, take a unused pin, only HIGH/LOW required, must be diffrent to SS 1

#define NR_OF_READERS   2

byte ssPins[] = {SS_1_PIN, SS_2_PIN};

MFRC522 mfrc522[NR_OF_READERS];   // Create MFRC522 instance.

/**
 * Initialize.
 */
void setup() {

  Serial.begin(9600); // Initialize serial communications with the PC
  while (!Serial);    // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4)

  SPI.begin();        // Init SPI bus

  for (uint8_t reader = 0; reader < NR_OF_READERS; reader++) {
    mfrc522[reader].PCD_Init(ssPins[reader], RST_PIN); // Init each MFRC522 card
    Serial.print(F("Reader "));
    Serial.print(reader);
    Serial.print(F(": "));
    mfrc522[reader].PCD_DumpVersionToSerial();
  }
}

/**
 * Main loop.
 */
void loop() {

  for (uint8_t reader = 0; reader < NR_OF_READERS; reader++) {
    // Look for new cards

    if (mfrc522[reader].PICC_IsNewCardPresent() && mfrc522[reader].PICC_ReadCardSerial()) {
      Serial.print(F("Reader "));
      Serial.print(reader);
      // Show some details of the PICC (that is: the tag/card)
      Serial.print(F(": Card UID:"));
      dump_byte_array(mfrc522[reader].uid.uidByte, mfrc522[reader].uid.size);
      Serial.println();
      Serial.print(F("PICC type: "));
      MFRC522::PICC_Type piccType = mfrc522[reader].PICC_GetType(mfrc522[reader].uid.sak);
      Serial.println(mfrc522[reader].PICC_GetTypeName(piccType));

      // Halt PICC
      mfrc522[reader].PICC_HaltA();
      // Stop encryption on PCD
      mfrc522[reader].PCD_StopCrypto1();
    } //if (mfrc522[reader].PICC_IsNewC
  } //for(uint8_t reader
}

/**
 * Helper routine to dump a byte array as hex values to Serial.
 */
void dump_byte_array(byte *buffer, byte bufferSize) {
  for (byte i = 0; i < bufferSize; i++) {
    Serial.print(buffer[i] < 0x10 ? " 0" : " ");
    Serial.print(buffer[i], HEX);
  }
}

 Setelah sudah diflash dan berhasil buka serial monitor pada Arduino IDE lalu tempelkan tag RFID pada masing-masing reader maka akan muncul seperti ini:



SUMBER
SUMBER LAGI

Penggunaan RFID RC522 pada Arduino

      RFID (Radio Frequency Identification) merupakan suatu penyimpanan data yg dapat diakses melalui gelombang elektromagnetik. Biasanya digunakan untuk menyimpan data kecil seperti identitas. dan untuk membacanya kita memerlukan alat atau bisa disebut reader. pada kesempatan ini saya akan menjelaskan cara membaca rfid dengan reader Mifare RC522 menggunakan mikrokontroler arduino.

Module/Part  yang di butuhkan :

  • Arduino Uno
  • Modul RFID RC522  
  • RFID TAG Mifare
  • Kabel Jumper secukupnya

Library:
Silahkan Download disini


Rangkaian:




Sourcecode:



#include <SPI.h>
#include <MFRC522.h>

#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN); 
 
void setup() 
{

  Serial.begin(9600);   
  SPI.begin();      
  mfrc522.PCD_Init();   
  Serial.println("Dekatkan Tag RFID (Dapat berupa kartu atau gantungan kunci) ke RFID reader");
  Serial.println();

}
void loop() 
{
   if ( ! mfrc522.PICC_IsNewCardPresent()) 
  {
    return;
  }
  if ( ! mfrc522.PICC_ReadCardSerial()) 
  {
    return;
  }
  Serial.print("UID tag :");
  String content= "";
  byte letter;
  for (byte i = 0; i < mfrc522.uid.size; i++) 
  {
     Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
     Serial.print(mfrc522.uid.uidByte[i], HEX);
     content.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));
     content.concat(String(mfrc522.uid.uidByte[i], HEX));
  }
  Serial.println();
  delay(2000);
        
Lalu setelah di compile dan di flash ke dalam arduino, buka serial monitor pada arduino IDE dan tempelkan kartu pada reader dan akan terlihat nomor kartu tersebut pada serial monitor.

SUMBER

Rabu, 07 Juni 2017

Level Kamera DSLR (CANON & NIKON) Berdasarkan Tingkat Penggunaannya

Saat ini kamera DSLR sudah sangat ramai diperjualbelikan di indonesia, hal ini terbukti setiap saya pergi travel hunting foto untuk koleksi pribadi maupun nasional geograp saya melihat anak-anak SMA bahkan SMP sudah banyak yang “nenteng kesana-kemari” kamera DSLR dan harga kamera yang mereka bawa juga tidaklah murah.
Nah...kali ini saya akan membahas secara lengkap tentang PERBEDAAN / LEVEL / KELAS 2 MEREK TERNAMA KAMERA DSLR yaitu “NIKON DAN CANON”.

   Peralatan photography yang sangat bermacam-macam juga memiliki tingkatan untuk para penggunanya masing-masing. Ada yang dirancang untuk pemula (beginner), serius (advanced/semi pro) ataupun kelas profesional (master) sekalipun. Salah satu peralatan fotografi yang memiliki tingkatan berdasarkan penggunanya adalah body kamera (lihat foto di bawah).


   Body sebuah kamera DSLR memiliki kelas kamera masing-masing untuk segmen pasar yang ditujunya. Kelas ini ditujukan untuk berbagai macam kelas penggunanya. Melalui catatan kali ini saya coba memaparkan berbagai macam jenis kamera DSLR berdasarkan tingkat para penggunanya. Tidak hanya itu saya juga akan memaparkan perbedaan antara kamera DSLR pemula dan profesional DSLR dari merk CANON & NIKON

   Dalam catatan kali ini saya membagi segmen pengguna fotografi berdasarkan 3 segmen, yaitu kelas Pemula (beginner), kelas Serius (advance) dan kelas Profesional. Dari 3 segmen saya buat saya membagi masing-masing segmennya ke dalam 2 kelas. (foto utama). Saya membagi tiap kelas & segmennya berdasarkan teknologi yang ada pada tiap kamera. Misalnya seberapa besar sensor kameranya (fullframe atau APS-C), seberapa cepat mode burst fotonya, bagaimana kerumitan penggunaannya dan masih banyak lagi.

CANON
   Canon pertama kali mengeluarkan kamera Digital SLR pada tahun 2000 yaitu dengan seri D30. Barulah 2 tahun kemudian mengeluarkan digital SLR fullframe pertama dengan resolusi 11.1 Mega Pixel. Di tahun 2010 Canon memiliki market share 41% untuk pasar DSLR, terpaut cukup jauh dengan Nikon yang hanya 35%. Perlu diketahui juga bahwa penamaan kamera Canon tergantung pada daerah pemasarannya. Misalnya di Amerika disebut Rebel T5i, 

1. Kelas Pemula Entry Level :
  • 1100D Rebel T3 Kiss X50 –> (1000D Rebel XS Kiss F)
  • 100D Rebel SL1 Kiss X7

Di kelas pemula Canon tidak terlalu berkembang, ini terbukti dari kamera di segmen pemula versi 1000d diperkenalkan tahun 2008 sedangkan 3 tahun kemudian Canon baru mengupgradenya dengan 1100d. Jika dibandingkan dengan Nikon, versi DSLR pemula Canon memiliki build quality yang lebih buruk. Terasa licin ketika digenggam. Sama seperti Nikon, 1100d juga memiliki warna body selain hitam. Ada silver, coklat dan merah. Tapi menariknya Canon juga mengeluarkan versi 100d. Hal itudibuat bukan untuk menggantikan pangsa pasar 1100d namun malah membuat pansa pasar baru mengingat versi 100d adalah DSLR terkecil dan teringan di dunia. 30% lebih kecil dari 650d. Yang menarik dari Canon adalah semua DSLR sudah memiliki motor focus di bodynya termasuk seri pemula.

2. Kelas Pemula Mid Range :

700D Rebel T5i Kiss X7
–> (650D Rebel T4i Kiss X6i –> 600D Rebel T3i Kiss X5 –> 550D Rebel T2i Kiss X4 –> 500D Rebel T1i Kiss X3 –> 450D Rebel XSi Kiss X2 –> 400D Digital Rebel XTi Kiss Digital X –> 350D Digital Rebel XT Kiss Digital N –> 300D Digital Rebel Kiss Digital).
   Seperti yang sudah kita bahas kalau Canon sangat lemah di segmen entry level, jauh berbeda dengan segmen Mid Range-nya. Memang benar Canon benar-benar terfokus pada segmen pasar yang satu ini. kenapa? karena di jajaran disegmen ini sejak tahun 2003 sampai sekarang memiliki 7x upgrade teknologi. Mulai dari Canon EOS 300D di tahun 2003 sampai 700D yang baru diumumkan tahun ini. Di jajaran segmen ini Canon memiliki layar yang bisa dilipat yaitu 600D, 650D hingga 700D. Bahkan Canon juga membuat gebrakan fitur layar sentuh di body 650D & 700D. Layar sentuh bisa digunakan untuk menentukan daerah fokus saat mengambil foto ataupun video sekalipun di mode live view.

3. Kelas Semi Advanced :

70D –> (60D[a] –> 50D –> 40D –> 30D –> 20D[a] –> D60 –> D30).

   Jajaran di segmen ini dimaksudkan untuk melawan Nikon seri D7xxx. Versi terbaru Canon di segmen ini ialah EOS 70D setelah sebelumnya EOS 60D. Fitur yang ditawarkan di versi ini adalah tingkat kreativitas penghobi fotografer yangsudah mengerti dasar-dasar fotografi & ingin ke tingkat yang lebih serius.
Di kelas Semi Advanced berbeda dengan Nikon, Canon memiliki fitur layar yang bisa dilipat pada seri 60D dan 70D. Tak hanya itu, bahkan ada hal yang unik dimana Canon juga meluncurkan 60Da. “a” disini sebagai inisial astrography, memang versi ini dtunjukan untuk bidag astrography. Di body kelas semi Advanced Canon ini kita juga akan menemui 2LCD & tombol putar khas Canon, Quick Dial Button.

4. Kelas Advanced : EOS 6D–> (7D)

   Sama seperti Nikon yang semula mengisi kelas ini dengan APS-C ke fullframe, Canon pun demikian. Semula kelas ini diisi dengan Canos EOS 7D yang bersensor APS-C lalu digantikan dengan EOS 6D dengan sensor fullframe. Tapi yang membuat susah adalah Canon EOS 6D tidak memiliki built in flash jika kita lupa membawa Flash Gun, sehingga kita harus menggunakan flash eksternal / flash gun.

5. Kelas Semi-Profesional : 5D Mark III –> (5D Mark II –> 5D)

   Dari segi fitur & kenyamanan yang diberikan juga dibuat lebih sempurna. Pada segmen kali ini Canon mengandalkan varian 5D-nya, saat tulisan ini dibuat yang terbaru adalah 5D Mark III sebagai saingan dari Nikon D800(E). Perlu diingat resolusi DSLR terbesar dari Canon adalah 22.3MP yang terdapat pada tipe ini, 5D Mark III. Canon juga membuat sejarah dengan memberikan 61 titik fokus dalam body 5D Mark III. Seperti yang kita tahu sayangnya Canon biasanya mengesampingkan fitur ini, terbukti dengan rata-rata DSLR Canon memiliki titik fokus yang jauh lebih sedikit dibanding pesaingnya, Nikon.  Dari segi pengalaman saya hasil jepretan tipe ini setara dengan saingannya Nikon D800(E) yang disayangkan adalah D800(E) memiliki resolusi 36MP & memiliki built in flash sedangkan 5D Mark III tidak ada dan kembali lagi kepada pengalaman saya menggunakan kamera ini, saya mempunyai kesimpulan jika 5D Mark III ini lebih enak tidak ada flash internal, kenapa??? Ini bisa dilihat dari fitur yang disediakan belum lagi pada pemakaian “serius/propesional” hampir tidak pernah menggunakan built-in flash, melainkan ekternal flash. Lagipula, menyebut kata kualitas dan hasil foto tidak semata-mata dari lensa kit-18-55mm. Apalagi preferensi hasil seperti skin-tone sangat relatif.

6. Kelas Profesional
Full frame : 1DX –> ( 1DS Mark III –> 1DS Mark II –> 1DS )
APS-H : 1D Mark IV –> ( 1D Mark III –> 1D Mark II N –> 1D Mark II –> 1D )

   Ada yang menarik dari kelas DSLR kelas Profesional Canon, yaitu tersedianya 2 versi sensor. Selain sensor fullframe, Canon juga sempat membuat DSLR profesional dengan sensor APS-H. Lalu apa bedanya ? Sensor fullframe sama besarnya dengan negatif film pra era digital fotografi, APS-C memiliki crop sensor 1.5x untuk Nikon & 1.6x untuk Canon. Sedangkan APS-H sendiri memiliki crop sensor 1.29x. Hebatnya lagi Canon juga memperkenalkan 1DC. Versi 1DX yang dispesialkan untuk membuat film. C disini untuk cinematografi.
Yang perlu diingat :
  • Kamera DSLR Canon memiliki 3 jenis ukuran sensor format. (APS-C, APS-H & full frame)
  • Jika pada Nikon ada lensa DX & lensa FX, maka di Canon ada lensa EF (full frame) dan EF-S (APS-C). Lensa EF & EF-S bisa digunakan di kamera Canon bersensor APS-C. Sedangkan kamera fullframe & APS-H hanya bisa lensa berteknologi EF.
  • Semua body Canon EOS DSLR memiliki built in motor focus. Sangat menguntungkan, kalau di Nikon seri pemula tidak memiliki teknologi ini jadi PARA PEMULA BISA LEBIH UNTUNG MENGGUNAKAN CANON (kembali lagi kepada diri anda masing-masing lebih suka produk yang mana).
  • Hampir semua titik fokus Canon jauh lebih sedikit dibanding Nikon (dengan catatan masih menggunakan lensa standar). Namun Canon 5D Mark III & 1DX memiliki 61 titik fokus dan merupakan yang terbanyak, bahkan mengalahkan Nikon D800(E).
  • Canon 650D, 700D & 70D memiliki fitur layar sentuh, WiFi, GPRS.
  • Lensa Canon biasanya lebih murah dibanding Nikon. Canon juga memiliki varian yang lebih banyak dibanding Nikon. (Contoh: Nikon membuat lensa 70-200 f/2.8 VR dengan harga 20 jutaan. Sedangkan Canon memiliki 4 versi dalam berbagai harga. Canon EF 70-200 f/2.8 IS Rp. 28.984.651. Canon EF 70-200 f/2.8 non IS Rp.17.386.151.  70-200 f4 juga demikian, versi IS memiliki harga 15.078.050 & non-IS 9.278.800)
  • Lensa kit 18-55 Canon dari segi kualitas & hasil masih kalah dengan lensa kit Nikon (jika tidak di edit).
  • Lensa Canon versi L atau Luxury (dengan gelang merah) semuanya merupakan lensa EF
  • Lensa laras panjang Canon berwarna putih
  • Body Canon EOS seri profesional (1D & 5D) & 6D tidak memiliki built-in flash
  • Versi 650D, 700D & 70D memiliki layar yang bisa diputar.

Nikon

   Nikon adalah merk paling konservatif dalam soal teknologi kamera, namun ciri khasnya ini yang saya suka. Ini terbukti dengan lensa-lensa tua di zaman negatif film yang masih bisa digunakan di kamera modern, bandingkan dengan pesaing beratnya, Canon, yang menggunakan lensa jenis baru di saat era fotografi digital pertama kali muncul. Berkebalikan dengan Canon, penamaan sistem kamera Nikon menggunakan huruf “D” yang berarti “digital” dibagian depan sebelum angka. Kamera DSLR Nikon juga dapat dibedakan dengan melihat tanda merah dibagian handgrip-nya.


1. Kelas Pemula Entry Level : D3200 –> (D3100 –> D3000 –> D40)

   Kamera Entry level Nikon bentuknya ringkas , menguatamakan kemudahan pengoperasian & user interface pada LCDnya mudah dimengerti. Dibandingkan Nikon atau Sony, kamera entry level dari Nikon lebih “sedikit kasar” & lumayan nyaman untuk digenggam, tidak licin atau halus seperti Canon .Sayangnya untuk kamera Entry Level & Midrange Nikon tidak memiliki motor focus pada body-nya berbeda dengan Canon, sehingga hanya cocok untuk lensa dengan built-in motor, yaitu lensa seri AF-S. Kamera di segmen pemula biasanya juga memiliki varian warna selain hitam. Misalnya kamera DSLR dengan warna merah, silver ataupun coklat, sangat cocok untuk teman-teman yang ingin menarik perhatian dengan kameranya.

2. Kelas Pemula Midrange : D5200 –> (D5100–> D5000–>D60–> D40x –> D50

   Kelas ini dibuat untuk pemula namun lebih serius. Biasanya memiliki LCD yang dapat dilipat / Fliped out LCD (kecuali D60, D40x & D50 karena merupakan jenis lama). Sayangnya Nikon hanya mengeluarkan kamera DSLR dengan LCD lipat hanya di varian d5xxx ini. Kamera d5xxx tidak memiliki built in motor focus di body nya sehingga hanya cocok untuk lensa AF-S.

3. Kelas Semi Advanced : D7100 –> (D7000–>D90–>D80–>D70s–>D70)

   Ciri kamera di segmen ini ialah fitur perekaman video yang lebih mutakhir, sudah memiliki built in motor sehingga bisa menggunakan lensa AF-D, kecepatan dalam mengambil foto, bentuk body yang lebih besar serta adanya 2 LCD. Kamera DSLR kelas pemula hanya memiliki sebuah LCD sedangkan kelas Advanced dan profesional 2 LCD. Satu berwarna dan satu lagi monokrom.

4. Kelas Advanced : D600 –> (D300s–>D300–>D200–>D100)

   Kelas Advanced dibuat untuk orang-orang yang sudah mengerti pengaturan dasar tentang fotografi & membutuhkan fitur-fitur yang lebih canggih. Semula segmen ini diisi Nikon dengan kamera DX (D300/D300S), namun sekarang berubah dengan hadirnya seri D600 yang sudah fullframe & merupakan alternatif untuk kamera fullframe dengan harga miring. Untuk fotografer olahraga profesional tak sedikit yang menggunakan Nikon D300 dibanding kamera fullframe. Mengapa? Karena focal length yang didapat lebih panjang dibanding kamera fullframe. Selain itu D300 memiliki burst foto tercepat dibanding kamera DSLR APS-C Nikon lainnya.

5. Kelas Semi Profesional : D800/D800E –> (D700)

   Di segmen ini Nikon membuat kamera DSLR dengan kualitas gambar terbaik di kelasnya (sampai tulisan ini terposting). Nikon membuat gebrakan baru dengan menggunakan sensor fullframe berkekuatan 36MP. Terbesar untuk ukuran DSLR.

6. Kelas Profesional : D4 –> (D3, D3x, D3s) (D1, D1x, D2x, D2xs) (D1h, D2h, D2hs)

   Kamera di segmen ini adalah seri premium. Fotografer olahraga & yang mahir dengan strobist pasti memilih kamera dari kelas ini. Namun Nikon baru menghadirkan kamera profesional fullframe di seri Nikon D3 tahun 2007. Teringgal jauh dengan Canon yang sejak 2002 sudah mengeluarkan versi fullframenya.
Yang perlu diingat :
  • DSLR Nikon DX bersensor APS-C sedangkan FX bersensor fullframe.
  • Lensa Nikon pun demikian, ada versi DX & FX. Namun dengan body DX, semua jenis lensa tetap cocok digunakan. Sedangkan untuk body FX hanya bisa menggunakan lensa FX juga. Jika dipaksakan akan muncul vignet.
  • Semua Digital SLR Nikon memiliki mounting jenis “F” , lensa Nikon di jaman negatif film masih bisa digunakan
  • Kamera DSLR Nikon di segmen Pemula (seri d3xxx & d5xxx) tidak memiliki motor focus dalam body-nya, sehingga hanya cocok untuk lensa AF-S
  • Ada 2 jenis motor lensa yang dikenal di mounting Nikon. AF-S & AF-D
  • Kamera DSLR Nikon di segmen Pemula (seri d3xxx & d5xxx) hanya memiliki 1 buah LCD, segmen lainnya terdapat LCD monokrom tambahan di body bagian atas
  • Untuk masalah jumlah titik fokus pada kamera, baik DSLR pemula sampai profesional, Nikon selalu menyediakan titi fokus yang lebih banyak dari Canon
  • Kamera Nikon selain seri pemula (D7100, D600, D800 & D4) memiliki built in focus motor sehingga lensa jenis non-AF-S tetap bisa digunakan dengan fitur auto fokus yang tetap bisa dijalankan
  • Body Nikon seri D4, D800 & D600 terbuat dari magnesium alloy, bukan plastik
  • Hanya seri D5xxx yang memiliki layar yang bisa dilipat
  • Semua DSLR Nikon memiliki built-in flash kecuali Nikon seri Profesional (D4)
  • Varian D800 memiliki 2 versi yaitu D800 & D800E
  • Saat ini DSLR Nikon dengan resolusi terbesar adalah D800 & D800E dengan resolusi 36 MP

Kesimpulan ada ditangan anda, jadi anda bisa memilih dan menentukan mana yang lebih bagus...dan ini sedikit masukan dari saya berdasarkan pengalaman menggunakan 2 produk ini:
  • - Canon…lembut & skin tone bagus.
  • + Nikon…..tajam & warna lebih kental….
  • - Canon…enak buat foto potrait…
  • + Nikon…dinamic range lebih tinggi cocok utk lanscape & interior…
  • -Canon…enak buat fun…
  • + Nikon…menu banyak/rumit.

Secara image quality nikon diatas canon, nikon lebih tajam, detail & dinamic rang tinggi (d7100 menang lawan 70d / 7d / 5d2 / 5d3) Secar funsional Canon diatas Nikon (karena kemampuan low light-nya dengan noise yang lebih minim).

Sumber : https://www.facebook.com/notes/anthony-carl-m-handberg/level-kamera-dslr-canon-nikon-berdasarkan-tingkat-penggunaannya/440179762755145/