The AS608 is a fingerprint sensor module designed for biometric authentication. It captures and stores fingerprint data, and can compare fingerprints for identity verification. This module is widely used in security systems, time attendance systems, and access control systems due to its reliability and ease of integration.
Parameter | Value |
---|---|
Operating Voltage | 3.6V - 6.0V |
Operating Current | < 120mA |
Peak Current | < 150mA |
Fingerprint Capacity | 162 templates |
Interface | UART (TTL logic level) |
Baud Rate | 9600 bps (default) |
Image Resolution | 508 DPI |
Working Temperature | -20°C to +50°C |
Storage Temperature | -40°C to +85°C |
Pin Number | Pin Name | Description |
---|---|---|
1 | VCC | Power Supply (3.6V - 6.0V) |
2 | GND | Ground |
3 | TX | UART Transmit (Data output) |
4 | RX | UART Receive (Data input) |
5 | TOUCH | Touch signal output (active low) |
6 | 3.3V | 3.3V Power Supply (optional) |
Below is a sample Arduino code to interface the AS608 fingerprint sensor with an Arduino UNO:
#include <Adafruit_Fingerprint.h>
#include <SoftwareSerial.h>
// Define the pins for SoftwareSerial
SoftwareSerial mySerial(2, 3); // RX, TX
Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);
void setup() {
Serial.begin(9600);
while (!Serial); // Wait for serial port to connect
delay(100);
Serial.println("Initializing fingerprint sensor...");
finger.begin(57600); // Initialize the sensor with the default baud rate
if (finger.verifyPassword()) {
Serial.println("Sensor found!");
} else {
Serial.println("Sensor not found :(");
while (1) { delay(1); }
}
}
void loop() {
Serial.println("Waiting for valid finger...");
uint8_t id = getFingerprintID();
if (id != -1) {
Serial.print("Fingerprint ID: ");
Serial.println(id);
}
delay(1000);
}
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 -1;
case FINGERPRINT_PACKETRECIEVEERR:
Serial.println("Communication error");
return -1;
case FINGERPRINT_IMAGEFAIL:
Serial.println("Imaging error");
return -1;
default:
Serial.println("Unknown error");
return -1;
}
p = finger.image2Tz();
switch (p) {
case FINGERPRINT_OK:
Serial.println("Image converted");
break;
case FINGERPRINT_IMAGEMESS:
Serial.println("Image too messy");
return -1;
case FINGERPRINT_PACKETRECIEVEERR:
Serial.println("Communication error");
return -1;
case FINGERPRINT_FEATUREFAIL:
Serial.println("Could not find fingerprint features");
return -1;
case FINGERPRINT_INVALIDIMAGE:
Serial.println("Could not find fingerprint features");
return -1;
default:
Serial.println("Unknown error");
return -1;
}
p = finger.fingerFastSearch();
if (p == FINGERPRINT_OK) {
Serial.println("Fingerprint matched");
return finger.fingerID;
} else if (p == FINGERPRINT_PACKETRECIEVEERR) {
Serial.println("Communication error");
return -1;
} else if (p == FINGERPRINT_NOTFOUND) {
Serial.println("Fingerprint not found");
return -1;
} else {
Serial.println("Unknown error");
return -1;
}
}
Sensor Not Detected:
Fingerprint Not Recognized:
Communication Errors:
Q1: Can the AS608 store multiple fingerprints?
Q2: What is the default baud rate for UART communication?
Q3: Can the AS608 be used with a 3.3V system?
Q4: How do I clean the sensor surface?
This documentation provides a comprehensive guide to using the AS608 fingerprint sensor module. By following the instructions and best practices outlined, users can effectively integrate this module into their projects for reliable biometric authentication.