MediDose Code
MediDose Code
// Template ID, Device Name and Auth Token are provided by the Blynk.Cloud
//------------------------------------------------------------------------------
#include <Arduino.h>
#include <Adafruit_Fingerprint.h>
#include <HardwareSerial.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include "Arduino.h"
#include "DFRobotDFPlayerMini.h"
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#include <ESP32_Servo.h>
#include <AccelStepper.h>
//----------------------------------------------------------------
//----------------------------------------------------------------------------------
BlynkTimer timer;
const int dirPin = 18;
#define motorInterfaceType 1
// Creates an instance
//------------------------------------------------------------------------------------------
#include <SoftwareSerial.h>
#else
#endif
DFRobotDFPlayerMini myDFPlayer;
///--------------------------------------------------
Servo myservo;
//-----------------------------------
void setup()
stepper.setMaxSpeed(1000);
stepper.setAcceleration(500);
stepper.setCurrentPosition(0);
Serial.begin(9600);
lcd.init();
lcd.backlight();
finger.begin(57600);
myservo.attach(SERVO_PIN);
delay(5);
if (finger.verifyPassword()) {
lcd.setCursor(0,0);
lcd.setCursor(0, 1);
lcd.print("Sensor Connected");
Serial.println("Sensor Connected");
delay (3000);
} else {
lcd.setCursor(0,0);
lcd.setCursor(0,1);
lcd.print("Sensor");
Serial.println("Sensor");
delay(2000);
lcd.setCursor(0, 0);
lcd.setCursor(0,1);
while (1) {
delay(1);
#else
FPSerial.begin(9600);
#endif
Serial.begin(115200);
Serial.println();
Serial.println(F("Unable to begin:"));
while(true){
void loop()
lcd.setCursor(0,0);
lcd.print("Place finger...");
Serial.println("Place finger...");
lcd.setCursor(0,1);
lcd.print(" start scan ");
getFingerprintID();
Blynk.run();
timer.run();
//--BLYNK ALRAM---------
BLYNK_WRITE(V0)
if(alram == 1){
getFingerprintID();
if(alram == 0)
myDFPlayer.pause();
/////////////////////////
uint8_t getFingerprintID() {
uint8_t p = finger.getImage();
if(p == FINGERPRINT_NOFINGER){
return p;
}
else if(p != FINGERPRINT_OK){
lcd.setCursor(0,0);
lcd.setCursor(0,1);
delay(2000);
return p;
p = finger.image2Tz();
if(p != FINGERPRINT_OK){
lcd.setCursor(0,0);
lcd.print("Processing Error");
Serial.println("Processing Error");
lcd.setCursor(0,1);
return p;
p = finger.fingerSearch();
if (p == FINGERPRINT_OK) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.setCursor(0, 1);
Serial.println(" Welcome");
myDFPlayer.play(4); //Play the first mp3
stepper.moveTo(25);
while (stepper.distanceToGo() != 0) {
stepper.run();
stepper.setCurrentPosition(0);
myservo.write(180);
delay(6000);
myservo.write(0);
delay(5000);
//---------------------------------------------------------
else if (p == FINGERPRINT_PACKETRECIEVEERR) {
lcd.setCursor(0,0);
lcd.setCursor(0,1);
lcd.print(" ");
Serial.println(" ");
delay(2000);
return p;
} else if (p == FINGERPRINT_NOTFOUND) {
lcd.setCursor(0,0);
lcd.setCursor(0,1);
lcd.print(" ");
return p;
} else {
lcd.setCursor(0,0);
lcd.print("Error in matching");
Serial.println("Error in matching");
lcd.setCursor(0,1);
delay(2000);
return p;
return finger.fingerID;
}
Code:-