Wednesday, 21 February 2018

RFID EM18 Reader Dengan FTDI

arduinopedia.com - RFID EM18 Reader Dengan FTDI 
Pada Tutorial arduinopedia kali ini akan menjelaskan konsep kerja RFID EM18 Reader Board Dengan FTDI Basic Programmer. Frekuensi radio adalah proses identifikasi otomatis yang digunakan untuk mentransmisikan data antara kartu RFID dan pembaca RFID dengan bantuan medan elektromagnetik frekuensi radio. Kartu RFID adalah perangkat yang terbiasa menyimpan data yang terkait dengan barang, orang, buku, hewan, dan lain-lain. Kartu RFID adalah jenis beberapa tag dapat digunakan di dekat RFID Reader dan beberapa dapat membaca dari jarak jauh jauh.
Ada berbagai macam sistem RFID di pasar industri yang terdiri dari antena, transceiver dan transponder. Sistem ini beroperasi pada rentang frekuensi yang berbeda seperti frekuensi rendah (30-500 kHz), frekuensi tengah (900-1500 kHz) dan frekuensi tinggi (2,4-2,5ghz).
Modul EM18 RFID Reader adalah modul yang paling sering digunakan untuk Proyek Identifikasi Frekuensi Radio. beberapa fiturnya adalah Biayanya murah, Ukuran Kecil, Konsumsi Daya Rendah dan Mudah Digunakan.

Hardware dibutuhkan

  • FTDI 1
  • Modul pembaca RFID EM 18 1

RFID EM 18 papan Reader dengan spesifikasi Serial interfacing: 
  1. Bisa langsung berinteraksi dengan FTDI Basic Programmer.
  2. Modul EM18 dapat dilepas.
  3. Speedy membaca tag / kartu.
  4. Suara Bip setelah membaca sucessful.

Koneksi



Keluaran

Setelah koneksi terbuka Arduino IDE. Pergi ke alat pilih Arduino / Genunio UNO papan dan port daripada meng-upload kode kosong.Setelah mengunggah membuka monitor serial Arduino dan menetapkan baud rate 9600.Than tempatkan tag RFID pada RFID EM 18 modul pembaca Anda akan menampilkan tag id pada serial monitor.


Tutorial Arduino - Shift Register (Serial In Parallel Out)

arduinopedia.com - Tutorial Arduino - Shift Register (Serial In Parallel Out)
Tutorial arduinopedia.com ini menjelaskan bagaimana cara memperpanjang pin output Arduino Board. Ini adalah kendala utama Arduino. Tapi dengan bantuan tutorial ini Anda bisa meningkatkan pin output dari Arduino Board.
Sebuah tutorial langkah demi langkah diilustrasikan untuk memperpanjang pin output Arduino. Tutorial ini menggunakan Shift Register 74HC595N untuk Serial in dan Parallel out.
IC register ini mengambil 3 pin input dan memberikan output pada 8 Pins. Dengan demikian, ini menambah 3 pin menjadi 8 pin.

Shift Register SN74HC595N

Register SN74HC595N yang kami gunakan dalam tutorial ini adalah yang populer. Hal ini membutuhkan antarmuka tiga pin dari Arduino
  • Data pin: Data dikirim dalam mode serial.
  • Clock Pin: Clock berjalan pada pin ini
  • Pin Latch: Pin ini digunakan untuk berpindah sehingga register geser menunjukkan data 8 bit pada output.

Data Sheet SNHC595N dapat didownload disini:
Berikut adalah diagram pinout dari shift SN74HC595N Register:

Hardware yang dibutuhkan

Berikut Hardware akan diminta untuk melakukan sketsa shift register ini.
  • Arduino UNO
  • Breadboard
  • 74HC595N Shift Register
  • LED
  • Resistor 1K
  • Jumper

Skema Rangkaian

Buat rangkaian berikut dengan bantuan komponen yang disebutkan di atas.

Ini Skema Rangkaiannya

Pemrograman

Begitu kita selesai dengan bagian rangkaian, kita mulai program. Setiap perintah dari program berikut dijelaskan di bagian komentar. Beberapa fungsi yang perlu dipertimbangkan untuk sketsa ini.
shiftWrite(Pin, State): Fungsi ini sama dengan fungsi digitalWrite. Itu membuat Pin HIGH / LOW. Penggunaannya sama dengan fungsi digitalWrite.
increament(): Fungsi ini dirancang untuk rangkaian LED pada register geser, LED mulai menyala dari LED 0 sampai LED 7 dan karena semua ON ON ini mulai OFF dari LED 7 ke LED 0.
OneByOne(): Fungsi ini mirip dengan fungsi penambahan di atas () namun perbedaannya adalah bahwa dalam fungsi ini hanya satu LED yang menyala setiap kali. Jadi dalam fungsi ini LED mulai menyala dari LED 0 sampai LED 7 dan dalam urutan terbalik juga.
AllHigh(): Fungsi ini membuat semua pin output TINGGI.
AllLow(): Fungsi ini membuat semua pin output RENDAH.
SOS(): Fungsi ini mengulang fungsi AllHigh () dan AllLow () 10 kali dengan interval 100ms antara dua langkah.
Anda bisa mendownload kode ini (Arduino Sketch) disini.
int DataPin = 2;  // Data Pin is connected to Pin No. 2
int ClockPin = 3; // Data Pin is connected to Pin No. 3
int LatchPin = 4; // Data Pin is connected to Pin No. 4

byte Data = 0;  // 8 Bit Data to be sent through DataPin

void setup()
{
  pinMode(DataPin, OUTPUT);   // All 3 pins are output
  pinMode(ClockPin, OUTPUT);  
  pinMode(LatchPin, OUTPUT);
}


void loop()
{
  
  increment(); // LEDs increment start from 0 - 7   
  delay(2000);  
  SOS();        // All LEDs ON and OFF 10 times
  OneByOne();   // LEDs Glow one by one from 0 to 7
  delay(2000);
  

}

// Function defined below-

void shiftWrite(int Pin, boolean State) // Function is similar to digitalWrite 
{                                       // State-0/1 | Pin - Pin No.
  bitWrite(Data,Pin,State);             // Making Pin(Bit) 0 or 1
  shiftOut(DataPin, ClockPin, MSBFIRST, Data); // Data out at DataPin
  digitalWrite(LatchPin, HIGH);                // Latching Data
  digitalWrite(LatchPin, LOW);
}

void increment()   //LEDs increment start from 0 - 7 
{
  int PinNo = 0;
  int Delay = 100; 
  
  for(PinNo = 0; PinNo < 8; PinNo++)
  {
    shiftWrite(PinNo, HIGH);
    delay(Delay);                
  }
  for(PinNo = 7; PinNo >= 0; PinNo--)
  {
    shiftWrite(PinNo, LOW);
    delay(Delay);                
  }
}

void OneByOne()  // LEDs Glow one by one from 0 to 7
{
  int PinNo = 0;
  int Delay = 100; 
  
  for(PinNo = 0; PinNo < 8; PinNo++)
  {
    shiftWrite(PinNo, HIGH);
    delay(Delay); 
    shiftWrite(PinNo, LOW);    
  }
  for(PinNo = 7; PinNo >=0 ; PinNo--)
  {
    shiftWrite(PinNo, HIGH);
    delay(Delay); 
    shiftWrite(PinNo, LOW);    
  }

}

void AllHigh()   // sets all High
{
  int PinNo = 0;
  for(PinNo = 0; PinNo < 8; PinNo++)
  {
   shiftWrite(PinNo, HIGH);  
  }
}

void AllLow()   // Sets all low
{
  int PinNo = 0;
  for(PinNo = 0; PinNo < 8; PinNo++)
  {
   shiftWrite(PinNo, LOW);  
  }
}

void SOS(){                  // All LEDs ON and OFF 10 times
  for (int x=0; x<10; x++){    
  AllHigh();
  delay(100);
  AllLow();
  delay(100);
  }
}

Output : 


6. Mengikuti Produk Robo India bisa bermanfaat untuk rangkaian ini:

Jika Anda menggunakan array LED ini, Anda akan menghemat jumper dan sirkuit akan bebas dari gangguan.

Monday, 19 February 2018

Proyek Arduino : Membuat Alarm menggunakan Sensor IR

arduinopedia.com - Proyek Arduino : Membuat Alarm menggunakan Sensor IR 
Tutorial arduinopedia kali ini akan membahas tentang bagaimana membuat Alarm dengan menggunakan Sensor Inframerah.
Dalam tutorial ini, kami menggunakan pasangan IR LED dan Photo Diode dengan Arduino untuk mendeteksi intrusi dalam jarak dekat. IR LED (Inframerah Transmitter): Sama seperti LED lainnya yang biasa kita lihat, namun ia memancarkan cahaya dalam jangkauan Inframerah 700 nanometer (nm) sampai 1 mm. Cahaya ini tidak terlihat oleh mata manusia namun bisa dilihat oleh kamera (itulah sebabnya ini juga digunakan pada kamera night vision). Sedangkan Photo Diode memberi respon dalam hal perubahan daya tahan saat cahaya jatuh di atasnya. Perubahan itu kita ukur dalam hal voltase / tegangan.

Hardware yang dibutuhkan

Berikut Hardware akan diminta untuk melakukan sketsa IR Proximity dan Color Detection ini.
  • Arduino UNO 1
  • Breadboard 1
  • Pasangan IR 1
  • Resistor 10k 1
  • Resistor 1k 1
  • Buzzer 1
  • Jumper male to male 9

Skema Rangkaian

Buat rangkaian berikut dengan bantuan komponen yang disebutkan di atas.

Pemrograman

Anda bisa mendownload kode ini (Arduino Sketch) disini.
int photo_diode = 2; 
int analog_ip = A0;   // analog input pin Photo Diode.
int inputVal = 0;     // to store value of photo diode 
int buzzer = 9;       // digital pin for buzzer
int alarm_val = 1020;     // setting limits for makes buzzer beep 

void setup() 
{
  Serial.begin(9600);   // setup Serial Communication.                 
  pinMode(photo_diode, INPUT);
  pinMode(buzzer, OUTPUT);
  digitalWrite(photo_diode, HIGH);
  digitalWrite(buzzer, LOW);
}

void loop(){
    inputVal = analogRead(analog_ip); // Reading and storing analog input value.
    Serial.print("Input Value:");
    Serial.print(inputVal);       // Printing Analog input value of Photo Diode.
    Serial.print("\n");
    if(inputVal <= alarm_val)
    {
      digitalWrite(buzzer, HIGH);
      delay(500);
    }
    if(inputVal > alarm_val)
    {
      digitalWrite(buzzer, LOW);
      delay(500);
    }  
}

Output
Akan Terdengar bel  ketika ada benda melewati atau berada di depan pasangan sensor IR. 

Saturday, 17 February 2018

Mengkontrol Lampu Lalu Lintas menggunakan Arduino

arduinopedia.com - Mengkontrol Lampu Lalu Lintas menggunakan Arduino 
Pada kesempatan ini arduinopedia.com akan menyajikan tutorial tentang cara mengkontrol lampu lalu lintas menggunakan Arduino. kita bisa membuat lampu lalu lintas yang biasa ada di persimpangan atau perempatan jalan raya menggunakan arduino. 

Dalam proyek ini, sistem pengendali lampu lalu lintas berbasis Arduino akan dirancang. Ini adalah proyek sederhana dari sistem cahaya, yang digunakan untuk mengendalikan lalu lintas.
pada rangkaian ini, 6 LED tiga warna berbeda digunakan untuk menerapkan lampu lalu lintas di persimpangan jalan. Setiap persimpangan berisi tiga warna berbeda ini (Merah, Kuning dan Hijau) dan mewakili sebagai Lane.

1. Hardware yang dibutuhkan

Berikut Hardware akan diminta untuk melakukan rangkaian ini.
  • Arduino UNO
  • Breadboard
  • Lampu Merah , Kuning dan Hijau masing masing 2 buah
  • Kabel male to male

2. Skema Rangkaian

Buatlah koneksi berikut dengan Arduino

3. Pemrograman

Anda bisa mendownload Sketsa Arduino ini disini.

int RED1 = 13;      //lane-1
int YELLOW1 = 12;
int GREEN1 = 11;

int RED2 = 10;      //lane-2
int YELLOW2 = 9;
int GREEN2 = 8;

void setup()
{
   
    pinMode(RED1, OUTPUT);
    pinMode(YELLOW1, OUTPUT);
    pinMode(GREEN1, OUTPUT);
    pinMode(RED2, OUTPUT);
    pinMode(YELLOW2, OUTPUT);
    pinMode(GREEN2, OUTPUT);
}

void loop()
{
    //turn opposite red and green on
    digitalWrite(RED1, HIGH);
    digitalWrite(GREEN2, HIGH);
    delay(5000);

    //turn both yellow lights on, indicates green1 and red2 is going to be on
    digitalWrite(RED1, HIGH);
    digitalWrite(YELLOW1, HIGH);
    digitalWrite(YELLOW2, HIGH);
    digitalWrite(GREEN2, LOW);
    delay(3000);    

    //turn opposite red and green on
    digitalWrite(RED1, LOW);
    digitalWrite(YELLOW1, LOW);
    digitalWrite(YELLOW2, LOW);
    digitalWrite(RED2, HIGH);
    digitalWrite(GREEN1, HIGH);
    delay(5000);

    //turn both yellow lights on, indicates green2 and red1 is going to be on
    digitalWrite(GREEN1, LOW);
    digitalWrite(YELLOW1, HIGH);
    digitalWrite(YELLOW2, HIGH );
    digitalWrite(RED2, HIGH);
    delay(2000);

    // turn opposite green and red on
    digitalWrite(YELLOW1, LOW);
    digitalWrite(RED1, HIGH);
    digitalWrite(RED2, LOW);
    digitalWrite(YELLOW2, LOW);
    digitalWrite(GREEN2, HIGH);
    delay(5000);
}

4. Output

Setelah mengunggah kode dengan sukses, pola lampu LED akan menyala, seperti:
Jalur pertama memiliki Red Signal dan jalur kedua memiliki Green on.
Jalur pertama memiliki Merah dan Kuning, dan jalur 2 menyala Kuning.
Jalur pertama memiliki Green on dan jalur 2 memiliki Red on.
Kemudian, jalur pertama memiliki Kuning dan jalur 2 berwarna Merah dan Kuning.
Lampu kuning digunakan sebagai indikator peringatan. Di jalur 1, Ini menunjukkan bahwa lampu merah akan menyala dan di jalur 2 Lampu hijau akan menyala. Proses ini, akan berulang kali berulang-ulang.
Anda bisa menambahkan lebih banyak led untuk lebih banyak tombol.

Tutorial Arduino Mengkontrol Servo Motor menggunakan Joystick

arduinopedia.com - Tutorial Arduino Mengkontrol Servo Motor menggunakan Joystick

Pada kesempatan ini arduinopedia.com akan menyajikan tutorial arduino tentang bagaimana menggunakan modul Joystick untuk mengendalikan motor servo menggunakan Arduino.

1. Pendahuluan

Joystick adalah perangkat input yang terdiri dari tuas, yang dapat bergerak dalam beberapa arah pada sumbu X dan Y. Ini adalah joystick analog - lebih akurat dan sensitif daripada joystick 'terarah' - dengan tombol 'tekan untuk memilih'. Karena analog, maka anda memerlukan dua pin untuk membaca analog pada mikrokontroler Anda untuk menentukan X dan Y. Nilai X dan Y ini digunakan untuk menafsirkan posisi tuas.

Arduino telah dibangun pada konverter ADC yang mengubah nilai 0 V - 5 V menjadi 0 sampai 1023 nilai tegangan. Bila tuas tidak terpasang, tuasnya tetap berada pada posisi tengah sumbu X dan Y dan menunjukkan nilai setengah dari 1023.

2. Hardware yang dibutuhkan

  • Arduino Uno
  • Breadboard
  • Module joystik
  • motor servo
  • male to female jumper
  • male to male jumper

3. Koneksi


4. Pemrograman

Anda bisa mendownload Sketsa Arduino ini disini.

#include <Servo.h>           //include servo library

Servo servo1;                // creating servo object
Servo servo2;
int joystick_x = A0;              // joystick x direction pin                                          
int joystick_y = A1;              // joystick y direction pin                                         
int pos_x;                   // declaring variable to stroe horizontal value
int pos_y;                   // declaring variable to stroe vertical value
int servo1_pos=90;          // storing servo position
int servo2_pos=90;

void setup ( ) 
{
Serial.begin (9600) ;
servo1.attach (3) ;          // servo 1 attached pin
servo2.attach (4) ;          // servo 1 attached pin
servo1.write (servo1_pos);           
servo2.write (servo2_pos);
pinMode (joystick_x, INPUT) ;                     
pinMode (joystick_y, INPUT) ;                      
}

void loop ( ) 
{
pos_x = analogRead (joystick_x) ;  
pos_y = analogRead (joystick_y) ;                      

if (pos_x < 300)            //if the horizontal value from joystick is less than 300
{
  if (servo1_pos < 10)      //first servo moves right
  { 
  } 
  else
  { 
    servo1_pos = servo1_pos - 20; 
    servo1.write ( servo1_pos ) ; 
    delay (100); 
  } 
} 
if (pos_x > 700)
{
  if (servo1_pos > 180)
  {  
  }  
  else
  {
  servo1_pos = servo1_pos + 20;
  servo1.write ( servo1_pos ) ;
  delay (100) ;
  }
}

if (pos_y < 300)      //if the vertical value from joystick is less than 300
{
  if (servo2_pos < 10)  //second servo moves right
  { 
  } 
  else
  { 
    servo2_pos = servo2_pos - 20; 
    servo2.write ( servo2_pos ); 
    delay (100); 
  } 
} 
if (pos_y > 700)
{
  if (servo2_pos > 180)
  {  
  }        
  else
  {
  servo2_pos = servo2_pos + 20;
  servo2.write(servo2_pos) ;
  delay (100) ;
  }
}
}

5.Output

Untuk mengendalikan motor servo, saat kita menggerakkan joystick secara horizontal, motor servo pertama akan bergerak ke kanan dan kiri bergantung pada posisi tuas. Sama juga saat kita menggerakkan joystick secara vertikal, motor servo lain akan bergerak ke kanan dan kiri bergantung pada posisi tuas.

Selamat mencoba!

Friday, 16 February 2018

Proyek Arduino membuat Voltmeter Digital

arduinopedia.com - Proyek Arduino membuat Voltmeter Digital

pada kesempatan kali ini dalam membuat proyek arduino arduinopedia.com akan berbagi tentang cara membuat voltmeter digital dengan menampilkan di LCD. voltmeter adalah alat ukur untuk mengukur tegangan.



Pendahuluan

Voltmeter adalah alat untuk mengukur voltase pada rangkaian. Dalam tutorial ini, kami telah merancang Arduino Digital Voltmeter sederhana, yang dapat mengukur voltase hingga  50 V.

1. Cara Kerja:

Untuk mengukur voltase hingga 5 V, kita bisa langsung menghubungkan voltase ke pin Analog Arduino. Dan untuk tegangan yang lebih tinggi dari 5 V, kita perlu terhubung menggunakan pembagi tegangan karena kisaran pin Analog Arduino hanyalah adalah 5 V. Rangkaian Pembagi Tegangan terdiri dari dua resistor 100 k dan 10 k. Agar mendapatkan hasil yang akurat, rasio kedua resistor harus minimum.

Misalnya, untuk mengukur 40V, Rasio R1 / R2 harus lebih besar dari (40/5) -1.

Untuk mengubah keluaran Analog menjadi keluaran Digital, kita telah menggunakan ADC Arduino.

2. Alat dan Bahan yang dibutuhkan
  • Arduino
  • breadboard
  • resistor 10 K
  • Resistor 100 K
  • kabel male to male
  • kabel male to female
  • LCD 2X16
  • Powersupply

3. Skema Rangkaian

A. untuk Rentang Tegangan: 0-5 V



B. untuk Rentang Tegangan: 5-50 V



4. Pemrograman-A: ( 0 V sampai 5 V ) 

Anda bisa mendownload sketsa arduino ini (kode) di sini.

#include <Wire.h>  
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x3F,20, 4);
float voltage = 0.0;
int input_val;

void setup() 
{
  lcd.init();
  lcd.backlight();        // makes Backligh ON. 
  lcd.clear();            // Clears LCD
  lcd.print("Arduino Voltage");     //display on LCD after code upload
  lcd.setCursor(6, 1);
  lcd.print("Meter");
  delay(2000);

}

void loop() 
{
   input_val = analogRead(A0);
   voltage = (input_val * 5.0) / 1024.0;   //conversion formula for voltage

   if (voltage < 0.1) 
   {
     voltage=0.0;
   } 
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("Voltage = ");
    lcd.print(voltage);
    lcd.setCursor(14,0);
    lcd.print("V");
    delay(30);
}


5. Pemrograman-B: (5 V sampai 50 V )

Anda bisa mendownload sketsa arduino ini (kode) di sini.

include <Wire.h>  
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x3F,20, 4);
float voltage = 0.0;
float temp=0.0;
int input_val;
void setup() 
{
  lcd.init();
  lcd.backlight();        // makes Backligh ON. 
  lcd.clear();            // Clears LCD
  lcd.print("Arduino Voltage");     //display on LCD after code upload  
  lcd.setCursor(6, 1);
  lcd.print("Meter");
  delay(2000);
}

void loop() 
{
   input_val = analogRead(A0);
   temp = (input_val * 5.0) / 1024.0; //conversion formula for voltage

   voltage = temp/(0.0909);          //[R2/(R2+R1) R1=100k, R2=10k]
   if (voltage < 0.1) 
   {
     voltage=0.0;
   } 
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("Voltage = ");
    lcd.print(voltage);
    lcd.setCursor(15,0);
    lcd.print("V");
    delay(30);
}


6. Output

Terlampir LCD menampilkan voltase.