• Arduino
    • Sensor
    • program Arduino
  • Project
  • Produk
  • IOT
Selasa, Desember 5, 2023
mikroavr.com
No Result
View All Result
  • Login
  • Arduino
    • Sensor
    • program Arduino
  • Project
  • Produk
  • IOT
  • Arduino
    • Sensor
    • program Arduino
  • Project
  • Produk
  • IOT
No Result
View All Result
mikroavr
No Result
View All Result
Home Arduino

Cara Mudah Menghidupkan Motor bahkan Mobil dengan Sidik Jari, Relay dan Arduino

Jimmi Sitepu by Jimmi Sitepu
Agustus 11, 2019
0 0
0
menghidupkan kendaraan dengan sidik jari

menghidupkan kendaraan dengan sidik jari

138
SHARES
16.3k
VIEWS
Share on FacebookShare on Twitter

Menghidupkan Motor bahkan Mobil dengan Sidik Jari

Sensor Sidik Jari

Sensor Sidik jari sering kali di pakai untuk beberapa keperluan, biasa nya tampak nyata di sistem absensi di kantor kantor, absensi yang menggunakan finger print. Nah sensor finger print ini tidak lagi hanya di gunakan untuk absensi, tapi bisa di gunakan untuk keperluan lebih luas. Contoh nya adalah menghidupkan Sepeda Motor dan Mobil.
Sensor ini bisa menyimpan banyak sidik Jari, 180 sidik jari bisa disimpan, setidak nya itu yang sudah saya coba sendiri. Ingat, yang menyimpan sidik jari bukan Arduino nya, tapi modul finger print nya.

yang menyimpan sidik jari bukan Arduino nya, tapi modul finger print nya.

Sensor sidik jari ini membuat Sepeda motor kita menjadi lebih secure, canggih dan berbeda dengan lain nya. Gak kebayangkan, sistem nyala dan mati Kendaraan ini bisa di buat hanya dengan Arduino, Sensor Finger print dan Relay.

READ ALSO

4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega

Tutorial Menggunakan Weather Station DFRobot SEN0186 dengan Arduino ESP32

Interface Arduino dan Sensor Sidik Jari

Sensor sidik Jari ini bisa di hubungkan langsung ke Arduino kita nanti nya dengan interface komunikasi serial. Yups, karena Arduino punya library SoftwareSerial.h kita bisa menjadikan pin Digital biasa berubah fungsi menjadi komunikasi serial, TXD dan RXD. Jadi modul modul yang menggunakan interface komunikasi serial bisa di hubungkan dengan pin digital Biasa yang sudah di rubah fungsi nya menjadi interface komunikasi serial.

Beberapa contoh modul yang menggunakan interface komunikasi serial untuk menghidupkan sepeda motor adalah sim800, dfPlayer, modul Bluetooth dan tentu nya sensor sidik jari.

Untuk Produk finger Print buatan mikroavrnya bisa di lihat Gambar dibawah ini,

Untuk lebih jelas nya, seperti apa komunikasi Arduino dengan sidik jari, bisa kita lihat pada gambar rangkaian di bawah ini

Konfigurasi Finger Print dan Arduino

konfigurasi finger print penting untuk di perhatikan, agar program, hardware yang akan kita jalankan dapat bekerja dengan baik. Bisa jadi program nya sudah benar, tapi tidak jalan, karena kaki kaki nya tidak terhubung dengan benar. Untu lebih jelas nya Pin Out sidik jari bisa di lihat pada gambar di bawah ini

sensor sidik jari
sensor sidik jari

Tabel konfigurasi Pin finger print dan Arduino nya bisa dilihat pada Tabel di bawah ini,

Pin ArduinoFinger PrintRelay
2TXD 
3RXD 
GNDGNDGND
 +5V+5v
4 IN1
5 IN2

Untuk power supply finger print, lebih baik di ambil dari power supply tambahan, jangan di ambil dari +5v nya arduino, agar regulator internal Arduino nya tidak terlalu di bebani, yang akan menggangu kinerja dari Arduino itu sendiri. Power supply nya bisa di ambil dari mini DC to DC, atau modul LM2596 ( pastikan tegangan outnya 5V sebelum di hubungkan dengan finger print).

Untuk Relay nya bisa di gunakan modul relay, modul relay aktif Low. Saya pribadi sih malas menggunakan menggunakan modul kemudian di jumper jumper menggunakan kabel. Lebih mudah pakai PCB build, jadi tinggal program, case pun lebih mudah.

Jika teman teman ingin di desain PCB nya, menggunakan atmega328 smd, relay + modul finger print, bisa whatsapp kita, cukup tekan button merah di bawah ini

Order PCB

Coding Arduino dengan Sidik Jarinya

Sekarang final, bagaimana kah koding finger print nya? eh sebelum ke program final program nya, teman-teman harus pastikan dulu, download library finger print nya di link berikut.

https://github.com/adafruit/Adafruit-Fingerprint-Sensor-Library

nah, pastikan library ini sudah di include di arduino kita yah, kalo gak program yang kita jalan kan pasti error, pasti error. hehe.

langkah selanjut nya adalah register sidik jari kita, register sidik jari saya sendiri biasanya dari example program nya, enrol nama nya, untuk lebih jelas nya bisa di lihat pada gambar di bawah ini.

register_finger_print_arduino

Setelah program nya di upload, buka serial monitor, nanti ada perintah, tekan sidik jari, tekan sekali lagi, kemudian setelah berhasil, akan di beri no urut dari sidik jari kita, no 1 sampe 108. Gak sempat capture cara kerja nya.

Setelah program nya di upload, buka serial monitor, nanti ada perintah, tekan sidik jari, tekan sekali lagi,

Program Final Sidik Jari Kita

#mikroavr, Bagaimana kah program terakhir nya? Sebelum kesana kita bahas dulu cara kerja nya. Pertama tama modul relay ini bekerja aktif low, artinya jika di input logika 0 ke modul relay nya maka relay nya on, aktif.  Sebalik nya, jika di beri logika high maka relay menjadi off.

Ketika Sidik jari yang ter register di tempel, maka relay kontaktor akan on, terhubung ( kemarin katanya di hubungkan ke CDI nya speda motor. Tempel Sidik jari kedua akan starter speda motor, dan tempel sidik jari ke tiga akan mematikan relay atau speda motor. Namun ketika salah sidik jari selama tiga kali, maka akan ada jeda waktu selama 20 detik agar finger aktif kembali dan request finger print.

Bagaimana kah program final nya, yuk kita lihat di bawah ini


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

SoftwareSerial mySerial(6, 7);
LiquidCrystal_I2C lcd(16, 2);
Adafruit_Fingerprint finger = Adafruit_Fingerprint(&amp;mySerial);

const byte SELENOID = A0;
byte count_salah = 0;
byte count_benar = 0;
String line1, line2;

void setup()  
{
  pinMode(SELENOID, OUTPUT);
  digitalWrite(SELENOID, LOW);
  Serial.begin(9600);
  delay(3000);
  while (!Serial);  // For Yun/Leo/Micro/Zero/...
  delay(100);
  lcd.autoAddress();
  lcd.begin();
  Serial.println("\n\nAdafruit finger detect test");

  // set the data rate for the sensor serial port
  finger.begin(57600);
  mySerial.listen();
  while (!finger.verifyPassword()){
    lcd.setCursor(0,0);
    lcd.print("Check Finger");
    delay(100);
  }
  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("Found Finger");
  delay(2000);
  lcd.clear();
  finger.getTemplateCount();
  Serial.print("Sensor contains "); Serial.print(finger.templateCount); Serial.println(" templates");
  Serial.println("Waiting for valid finger...");
}

void loop()                     // run over and over again
{
  //getFingerprintIDez();
  getFingerprintID();
  control();
  lcd.setCursor(0,0);
  lcd.print(line1);
  lcd.setCursor(0,1);
  lcd.print(line2);
  delay(50);            //don't ned to run this at full speed.
}

uint8_t getFingerprintID() {
  uint8_t p = finger.getImage();
  switch (p) {
    case FINGERPRINT_OK:
      Serial.println("Image taken");
      break;
    case FINGERPRINT_NOFINGER:
      //Serial.println("No finger detected");
      return p;
    case FINGERPRINT_PACKETRECIEVEERR:
      Serial.println("Communication error");
      return p;
    case FINGERPRINT_IMAGEFAIL:
      Serial.println("Imaging error");
      return p;
    default:
      Serial.println("Unknown error");
      return p;
  }

  // OK success!

  p = finger.image2Tz();
  switch (p) {
    case FINGERPRINT_OK:
      Serial.println("Image converted");
      break;
    case FINGERPRINT_IMAGEMESS:
      Serial.println("Image too messy");
      return p;
    case FINGERPRINT_PACKETRECIEVEERR:
      Serial.println("Communication error");
      return p;
    case FINGERPRINT_FEATUREFAIL:
      Serial.println("Could not find fingerprint features");
      return p;
    case FINGERPRINT_INVALIDIMAGE:
      Serial.println("Could not find fingerprint features");
      return p;
    default:
      Serial.println("Unknown error");
      return p;
  }
  
  // OK converted!
  p = finger.fingerFastSearch();
  if (p == FINGERPRINT_OK) {
    Serial.println("Found a print match!");
    Serial.println("Benar........");
    count_benar ++;
    count_salah = 0;
    if ( count_benar == 3) count_benar = 0;
    
  } else if (p == FINGERPRINT_PACKETRECIEVEERR) {
    Serial.println("Communication error");
    return p;
  } else if (p == FINGERPRINT_NOTFOUND) {
    Serial.println("Did not find a match");
    Serial.println("Salah.........");
    count_salah ++;
    if ( count_salah == 3) count_salah = 0;    
    return p;
  } else {
    Serial.println("Unknown error");
    return p;
  }   
  
  // found a match!
  Serial.print("Found ID #"); Serial.print(finger.fingerID); 
  Serial.print(" with confidence of "); Serial.println(finger.confidence); 

  return finger.fingerID;
}

// returns -1 if failed, otherwise returns ID #
int getFingerprintIDez() {
  uint8_t p = finger.getImage();
  if (p != FINGERPRINT_OK)  return -1;

  p = finger.image2Tz();
  if (p != FINGERPRINT_OK)  return -1;

  p = finger.fingerFastSearch();
  if (p != FINGERPRINT_OK)  return -1;
  
  // found a match!
  Serial.print("Found ID #"); Serial.print(finger.fingerID); 
  Serial.print(" with confidence of "); Serial.println(finger.confidence);
  return finger.fingerID; 
}

void control(){
  switch(count_benar){
        case 0:
           line1 = "Smart Lock";
           line2 = "Tap Finger..";
           digitalWrite(SELENOID, LOW);
        break;
        case 1:
           line1 = "Smart Lock";
           line2 = "KEY OPEN....";
          digitalWrite(SELENOID, HIGH);
        break;
        case 2:
          digitalWrite(SELENOID, LOW);
          count_benar = 0;
        break;
  }
}

jika program di atas error, bisa lihat di link berikut ini,

https://pastebin.com/nXFwSBe4

Pada Sebenar nya hardware di atas menurut saya masih ada kelemahan, karena belum tentu sepeda motor hidup hanya sekali starter. Bisa dua kali starter, bisa tiga kali starter. Untuk menutupi kelemahan nya, kita sediakan input digital ke arduino, sebagai indikasi speda motor sudah hidup. Jika motor hidup, ada tanda di Arduino nya.

Sediakan input sensor sebagai penanda bahwa sepeda motor hidup

Coba modifikasi program di atas untuk lebih sempurna, selamat berkreasi

Thanks

#mikroavr

#Learning&Sharing

Tags: finger printsidik jari
Share138Tweet
Previous Post

Cara Mudah Progam LCD dengan Auto scan Address lcd i2c Pada Arduino

Next Post

Sensor Suhu DS18b20 denga Arduino dan Menampilkan nya di LCD

Jimmi Sitepu

Jimmi Sitepu

Hobbyist Embedded System, Robotic, IOT and write all about them. So we have nice quote "Learning and Sharing"

Related Posts

4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega
Arduino

4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega

Juni 13, 2022
Tutorial Menggunakan Weather Station DFRobot SEN0186 dengan Arduino ESP32
Arduino

Tutorial Menggunakan Weather Station DFRobot SEN0186 dengan Arduino ESP32

Maret 9, 2022
ethernet arduino
Arduino

Arduino Ethernet Tutorial, Project dengan Arduino Uno dan Mega

Februari 24, 2022
solder i2c arduino lcd
Arduino

Tutorial Program Arduino Lcd i2c dan Library nya

Februari 24, 2022
tft lcd arduino shield
Arduino

Tutorial Mudah TFT lcd Arduino untuk Membuat Jam Digital

Februari 24, 2022
jangka sorong arduino
Arduino

Sensor Pengukur Jarak dengan Jangka Sorong Digital Presisi 0.01mm

Februari 24, 2022
Next Post
Sensor Suhu DS18b20 denga Arduino dan Menampilkan nya di LCD

Sensor Suhu DS18b20 denga Arduino dan Menampilkan nya di LCD

Macam-Macam Sensor Arus pada Rangkaian Elektronik

Macam-Macam Sensor Arus pada Rangkaian Elektronik

Please login to join discussion

Tulisan Terbaru

sensor URM14 Arduino

Membaca Sensor URM14 RS485 dengan ESP32 Arduino

Juli 7, 2022
4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega

4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega

Juni 13, 2022
Mendapatkan Waktu Akurat dengan NTP GPS

Mendapatkan Waktu Akurat dengan NTP GPS

Mei 8, 2022
Custome GPS Logger Arduino dengan Akeses Internet SIM7600 4G

Custome GPS Logger Arduino dengan Akeses Internet SIM7600 4G

April 14, 2022
Tutorial Menggunakan Weather Station DFRobot SEN0186 dengan Arduino ESP32

Tutorial Menggunakan Weather Station DFRobot SEN0186 dengan Arduino ESP32

Maret 9, 2022
ethernet arduino

Arduino Ethernet Tutorial, Project dengan Arduino Uno dan Mega

Februari 24, 2022

Browse by Category

  • Arduino
  • Ebook
  • ESP32
  • IOT
  • jasa
  • Komponen
  • PCB
  • Produk
  • program Arduino
  • Project
  • Rangkaian
  • Sensor
  • Tips
  • Uncategorized

Recent News

sensor URM14 Arduino

Membaca Sensor URM14 RS485 dengan ESP32 Arduino

Juli 7, 2022
4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega

4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega

Juni 13, 2022
  • About US
  • Blog
  • MIKROAVR

© 2020 mikroavr.com - Learning and sharing.

No Result
View All Result
  • About US
  • Blog
  • MIKROAVR

© 2020 mikroavr.com - Learning and sharing.

Welcome Back!

Sign In with Google
OR

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In

Add New Playlist