Arduino Indonesia. Gambar tema oleh Storman. Diberdayakan oleh Blogger.

Supported by Electronics 3 in 1

1. Jasa pencetakan PCB single layer dengan harga paling murah.

(Metode Pembuatan dengan Transfer Toner)
>PCB design sendiri (siap cetak) : Rp.150,-/Cm2
>PCB design dari kami : Rp.250,-/Cm2

(Metode Sablon Full Masking dan Silk Screen minimal pemesanan 100 Pcs)
>PCB design sendiri (siap cetak) : Rp.200,-/Cm2
>PCB design dari kami : Rp.250,-/Cm2

2. Jasa perancangan, perakitan, dan pembuatan trainer pembelajaran elektronika untuk SMK dan Mahasiswa.

3. Jasa perancangan, perakitan, dan pembuatan berbagai macam kontroller, sensor, aktuator, dan tranduser.
>Design Rangkaian / Sistem Elektronika
>Design Rangkaian / Sistem Instrumentasi
>Design Rangkaian / Sistem Kendali
>Kerjasama Riset (data atau peralatan)
>Kerjasama Produksi Produk-Produk KIT Elektronika
>Produksi Instrumentasi Elektronika

4. Jasa Pembuatan Proyek, Tugas Akhir, Tugas Laboratorium, PKM, Karya Ilmiah, SKRIPSI, dll

Like My Facebook

Popular Posts

Selasa, 23 Februari 2021

Tutorial Membuat Security System Kontak Sepeda Motor Menggunakan RFID dan Fingerprint Berbasis Arduino Nano dengan Notifikasi SMS

- 3 komentar

Sebelum Membuat Security System Kontak Sepeda Motor Menggunakan RFID dan Fingerprint Berbasis Arduino Nano dengan Notifikasi SMS, lebih baik anda membaca terlebih dahulu mengenai Arduino Nano, RFID, dan Fingerprint. Alat ini sangat bermanfaat untuk di daerah yang rawan pencurian kendaraan bermotor. Karena motor hanya bisa di nyalakan menggunakan Kartu RFID milik kita dan Sidik jari milik kita. Pengamanan berlapis. 


Baca Juga : Tutorial Membaca E-KTP (KTP Elektronik) dengan RFID Reader RC522 Berbasis Arduino Uno .


Berikut ini adalah Schematics Diagram dari Security System Kontak Sepeda Motor Menggunakan RFID dan Fingerprint Berbasis Arduino Nano dengan Notifikasi SMS :

 


 

Berikut ini adalah Hardware yang dibutuhkan :

> 2 Pcs - Arduino Nano >>> BELI DISINI
> 1 Pcs - RFID Reader RC522 >>> BELI DISINI
> 1 Pcs - Sensor Fingerprint >>> BELI DISINI
> 1 Pcs - Module SIM800L >>> BELI DISINI
> 3 Pcs - LM2596 >>> BELI DISINI
> 2 Pcs - Relay SPDT 5 Volt >>> BELI DISINI
> 2 Pcs - Transistor BC547 >>> BELI DISINI
> 2 Pcs - Resistor 560 Ohm >>> BELI DISINI
> 2 Pcs - Dioda 1N4148 >>> BELI DISINI
> 1 Pcs - Elco 470uF/16V >>> BELI DISINI
> 2 Pcs - Terminal Screw 3 Pin >>> BELI DISINI
> 2 Pcs - Terminal Screw 2 Pin >>> BELI DISINI
> 2 Pcs - Header Female 40 Pin >>> BELI DISINI
> 2 Pcs - Header Male 40 Pin >>> BELI DISINI
> 1 Pcs - PCB Polos 10x10 cm >>> BELI DISINI
> 1 Pcs - Feric Chlorida >>> BELI DISINI
> Kabel Jumper Secukupnya >>> BELI DISINI
> Timah Solder Secukupnya >>> BELI DISINI
> Kertas Art Paper Secukupnya >>> BELI DISINI
 
 
Berikut ini adalah Code Program untuk Arduino Nano 1 :


/***************************

Tutorial Membuat Security System Kontak Sepeda Motor Menggunakan RFID dan Fingerprint Berbasis Arduino Nano dengan Notifikasi SMS

Oleh : Arduino Indonesia
Website : www.arduinoindonesia.id
Toko Online : www.workshopelectronics3in1.com
Blog : www.edukasielektronika.com

Copyright @2021

****************************/

//Library and Declaration Finger Print
#include <Wire.h>
#include <Adafruit_Fingerprint.h>
#include <SoftwareSerial.h>
SoftwareSerial mySerial(5, 4);
int fingerprintID = 00;
Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);

//Library and Declaration RFID
#include <SPI.h>
#include <RFID.h>
#define SS_PIN 10
#define RST_PIN 9
RFID rfid(SS_PIN,RST_PIN);

int serNum[5];          //Variable buffer Scan Card
int cards[10][5] = {{117, 201, 155, 115, 84},    //YOSHUA - 0
                    {36, 58, 122, 137, 237},    //ANITA - 1
                   };

bool access = false;
String Nama;
int count;

//Declaration Relay Output
const int Relay_Kontak = 6;
const int Relay_Starter = 7;

//Declaration Communication to SIM800L
const int SMS = 2;

void setup()
{
  Serial.begin(9600);
  finger.begin(57600);
  Wire.begin();
  SPI.begin();
  rfid.init();
  pinMode(Relay_Kontak, OUTPUT);
  pinMode(Relay_Starter, OUTPUT);
  pinMode(SMS, OUTPUT);
  digitalWrite(Relay_Kontak, LOW);
  digitalWrite(Relay_Starter, LOW);
  digitalWrite(SMS, LOW);
 
  if (finger.verifyPassword())
  {
    Serial.println("Sensor ditemukan");
    delay(500);
  }
  else
  {
    Serial.println("no sensor :(");
    delay(500);
    while (1)
    {
      delay(1);
    }
  }

  while (!Serial)
  {
    ; // wait for serial port to connect. Needed for native USB port only
  }
}

void loop()
{
  fingerprintID = getFingerprintIDez();
  delay(50);
 
  if(fingerprintID == 1)
  {
    String IDname_1 = "YOSHUA";
    digitalWrite(Relay_Starter, HIGH);
    delay(2500);
    digitalWrite(Relay_Starter, LOW);
    Serial.println(IDname_1);
    fingerprintID = 00;
  }  
  else if(fingerprintID == 2)
  {
    String IDname_2 = "ANITA";
    digitalWrite(Relay_Starter, HIGH);  
    delay(2500);
    digitalWrite(Relay_Starter, LOW);
    Serial.println(IDname_2);
    fingerprintID = 00;        
  }

  if(rfid.isCard())
  {
    if(rfid.readCardSerial())
    {
      for(int x = 0; x < sizeof(cards); x++)
      {
        for(int i = 0; i < sizeof(rfid.serNum); i++ )
        {
          if(rfid.serNum[i] == cards[0][i])
          {
            access = true;
            Nama = "YOSHUA";
          }
          else if(rfid.serNum[i] == cards[1][i])
          {
            access = true;
            Nama = "ANITA";
          }   
          else
          {
            access = false;
            break;
          }
        }
        if(access)break;
      }   
    }
    
    if(access)
    {
      count++;
      if(count==1)
      {
        Serial.println(Nama);
        digitalWrite(Relay_Kontak, HIGH);
      }
      if(count==2)
      {
        Serial.println("Motor Mati");
        digitalWrite(Relay_Kontak, LOW);
        count=0;
      }
    }
    else
    {
      Serial.println("SMS Dikirim");
      digitalWrite(SMS, HIGH);
    }
    delay(1000);        
  }    
  rfid.halt();
}

int getFingerprintIDez()
{
  uint8_t x = finger.getImage();
  if (x != FINGERPRINT_OK)  return -1;
 
  x = finger.image2Tz();
  if (x != FINGERPRINT_OK)  return -1;
 
  x = finger.fingerFastSearch();
  if (x != FINGERPRINT_OK)  return -1;
 
  //menulis di komunikasi serial
  Serial.print("Found ID #");
  Serial.print(finger.fingerID);
  Serial.print(" with confidence of ");
  Serial.println(finger.confidence);
  return finger.fingerID;
}


Berikut ini adalah Code Program untuk Arduino Nano 2 :

//Library and Declaration Variabel SIM800L
#include "SIM900.h"         
#include "sms.h"            
#include <SoftwareSerial.h>
SMSGSM sms;                 
char smsbuffer[160];        
char n[20];                 
boolean started=false;      

//Declaration Variabel From Sensor
const int Maling = 4;

void setup()
{
  Serial.begin(9600);             
  pinMode(Maling, INPUT);

  if (gsm.begin(9600))            
  {
    Serial.println("\nstatus=READY");
    started=true;                     
  }
  else                                
  {
    Serial.println("\nstatus=IDLE");
  }
}

void loop()
{
  const int Peringatan = digitalRead(Maling);

  if(started)                                                           
  {  
    if(Peringatan == HIGH)                                                     
    {                                
      sms.SendSMS("08xxxxxxxxx", "Awas MALING !!!");
    }
    else                     
    {
      Serial.println("Motor Diakses oleh Pemilik");
    }
  }
  delay(1000);
}


Berikut ini adalah Video Uji Coba tanpa Notifikasi SMS :