Công nghệ

hãy hướng dẫn tôi sử dụng cảm biến vân tay để bật tắt một thiết bị điện-tôi có module relay để bật tắt đèn-1 bo arduino-1 cảm biến vân tay

null
Written by lbtmicr06

Tôi sẽ hướng dẫn bạn làm một hệ thống mở/tắt đèn bằng vân tay gồm:

  • Arduino UNO
  • Cảm biến vân tay (ví dụ AS608 / R307 / FPM10A…)
  • Module relay 5V
  • Bóng đèn (tải AC hoặc DC)

Nguyên lý:

Ngón tay → Cảm biến vân tay → Arduino kiểm tra → Arduino kích Relay → Relay đóng/ngắt điện cho đèn


1. Chuẩn bị phần cứng

Arduino UNO

Cảm biến vân tay (AS608 ví dụ)

Thông thường có 4 dây:

Cảm biến Arduino
VCC / 3.3V 5V hoặc 3.3V (xem module)
GND GND
TX D2
RX D3

Lưu ý:

  • Nếu cảm biến ghi 3.3V thì cấp đúng 3.3V.
  • Một số module AS608 có mạch ổn áp nên có thể dùng 5V.

Relay 5V

Relay có:

Relay Arduino
VCC 5V
GND GND
IN D8

2. Sơ đồ tổng quát

       CẢM BIẾN VÂN TAY

        VCC -------- 5V
        GND -------- GND
        TX --------- D2
        RX --------- D3


          ARDUINO UNO

        D8 -------- IN Relay

        5V -------- VCC Relay
        GND ------- GND Relay



          RELAY

        COM ---- nguồn đèn
        NO  ---- đèn

NO = thường hở
Khi nhận đúng vân tay → relay đóng → đèn sáng.


3. Cài thư viện Arduino

Mở Arduino IDE:

Vào:

Sketch
→ Include Library
→ Manage Libraries

Tìm:

Adafruit Fingerprint Sensor Library

Cài đặt.


4. Nạp chương trình đăng ký vân tay

Trước tiên phải lưu vân tay vào cảm biến.

Nạp code:

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

SoftwareSerial mySerial(2,3);

Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);


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

  finger.begin(57600);

  if(finger.verifyPassword())
  {
    Serial.println("Cam bien OK");
  }
  else
  {
    Serial.println("Loi cam bien");
    while(1);
  }
}


void loop()
{

}

Mở:

Tools → Serial Monitor

Sau đó dùng ví dụ:

File
→ Examples
→ Adafruit Fingerprint Sensor Library
→ enroll

Nạp vào Arduino.

Chọn ID:

Ví dụ:

Nhap ID: 1

Đặt ngón tay 2 lần.

Bây giờ cảm biến đã nhớ vân tay.


5. Code điều khiển relay bật/tắt đèn

Nạp chương trình này:

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


SoftwareSerial mySerial(2,3);

Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);


int relay = 8;

bool trangthai = false;


void setup()
{

pinMode(relay,OUTPUT);

digitalWrite(relay,HIGH);


Serial.begin(9600);

finger.begin(57600);


if(finger.verifyPassword())
{
Serial.println("Cam bien san sang");
}

}



void loop()
{


if(getFingerprintID()==true)
{

trangthai = !trangthai;


if(trangthai)
{
digitalWrite(relay,LOW);
Serial.println("BAT DEN");
}

else
{
digitalWrite(relay,HIGH);
Serial.println("TAT DEN");
}


delay(1000);

}


}



bool getFingerprintID()
{


uint8_t p = finger.getImage();


if(p != FINGERPRINT_OK)
return false;



p = finger.image2Tz();


if(p != FINGERPRINT_OK)
return false;



p = finger.fingerFastSearch();


if(p == FINGERPRINT_OK)
{

Serial.print("Tim thay ID: ");
Serial.println(finger.fingerID);


return true;

}


return false;

}

6. Hoạt động

Ví dụ:

Đèn đang tắt.

Bạn đặt ngón tay:

→ cảm biến đọc vân tay
→ Arduino so sánh dữ liệu
→ đúng ID
→ relay ON
→ đèn sáng

Đặt tay lần nữa:

→ relay OFF
→ đèn tắt


7. Nếu relay hoạt động ngược

Có loại relay:

  • LOW = bật
  • HIGH = tắt

Có loại ngược lại.

Nếu đèn luôn sáng, đổi:

digitalWrite(relay,LOW);

thành:

digitalWrite(relay,HIGH);

và ngược lại.


8. Lưu ý khi điều khiển đèn 220V

Không nối 220V trực tiếp vào Arduino.

Relay cách ly:

220V ---- Relay ---- Đèn

Arduino chỉ điều khiển chân IN.

Cẩn thận vì phần relay có điện áp nguy hiểm.


Bạn có thể nâng cấp tiếp thành:

  • nhiều người dùng nhiều vân tay khác nhau
  • hiển thị LCD tên người mở cửa
  • lưu lịch sử mở cửa
  • kết hợp ESP8266 gửi thông báo điện thoại

Với bộ linh kiện bạn đang có, mạch này là một dự án rất phù hợp để học Arduino + cảm biến + điều khiển thiết bị.

About the author

lbtmicr06

Leave a Comment