久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1075|回復: 0
收起左側

arduino智能門鎖代碼問題求助

[復制鏈接]
ID:927279 發表于 2023-1-27 21:50 | 顯示全部樓層 |閱讀模式
最近在拿arduino uno做智能門鎖項目nfc和指紋分開寫的兩個代碼,拼到一起發現不能用了,兄弟們幫忙看看什么問題
下面是代碼,大伙看看有什么問題 謝謝

/* rc522接線        舵機mg90s         0.96oled       光學指紋 * 3.3v-3.3v        黃色-8            GND-GND       rt-2 * RST-9            紅色-5v           VCC-5V        tx-3 * GND-GND          褐色-GND          SCL-A4 * MISO-12                            SDA-A5 * MOSI-11 * SCK-13 * SDA-10 */#include <Adafruit_Fingerprint.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <SPI.h>
#include <Wire.h>
#include <MFRC522.h>
#include <Servo.h>
#define SS_PIN 10#define RST_PIN 9#define OLED_RESET 13
SoftwareSerial mySerial(2, 3);
Adafruit_SSD1306 display(128,64,&Wire,OLED_RESET);
MFRC522 rfid(SS_PIN, RST_PIN);
byte nuidPICC[4];
Servo myservo;

Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);



//hexvoid printHex(byte *buffer, byte bufferSize)
{
for (byte i = 0; i < bufferSize; i++)
  {
Serial.print(buffer[ i] < 0x10 ? " 0" : "");
Serial.print(buffer[ i], HEX);
  }
}

//decvoid printDec(byte *buffer, byte bufferSize)
{
for (byte i = 0; i < bufferSize; i++) {
Serial.print(buffer[ i] < 0x10 ? " 0" : "");
Serial.print(buffer[ i], DEC);
}

if (nuidPICC[0]==0x8D&& nuidPICC[1]==0xFE && nuidPICC[2]==0x67 && nuidPICC[3]==0x32)
{
  myservo.write(180);
Serial.print("\n welcome pmy");
delay(300);
myservo.write(90);
display.clearDisplay();
display.setCursor(40,20);
display.print("welcome !");
display.setCursor(25,30);
display.print("your cardID:2");
display.display();
  }

else if(nuidPICC[0]==0x33&& nuidPICC[1]==0xA9 && nuidPICC[2]==0xDB && nuidPICC[3]==0x04)// 卡號ID{
myservo.write(180);
Serial.print("\n welcome pmy");
delay(300);
myservo.write(90);
display.clearDisplay();
display.setCursor(0,30);
display.print("your cardID:3");
display.display();

}

}
//指紋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.fingerSearch();
  if (p == FINGERPRINT_OK) {
    Serial.println("Found a print match!");
    myservo.write(180);
    delay(300);
    myservo.write(90);
     // found a match!  Serial.print("Found ID #"); Serial.print(finger.fingerID);
  Serial.print(" with confidence of "); Serial.println(finger.confidence);
  return finger.fingerID;
  } else if (p == FINGERPRINT_PACKETRECIEVEERR) {
    Serial.println("Communication error");
    return p;
  } else if (p == FINGERPRINT_NOTFOUND) {
    Serial.println("Did not find a match");
    return p;
  } else {
    Serial.println("Unknown error");
    return p;
  }


}

// 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 setup()
{
  Serial.begin(9600);
  finger.begin(57600);
  SPI.begin();
  rfid.PCD_Init();
  Wire.begin();
  display.begin(SSD1306_SWITCHCAPVCC,0x3C);
  display.clearDisplay();
  display.setTextColor(WHITE);
  display.setTextSize(1);
  display.setCursor(0,20);
  display.print("please slot your card");
  display.setCursor(30,30);
  display.print("your cardID");
  display.display();
  digitalWrite(5, LOW);
  //舵機設置  myservo.attach(8);
  myservo.write(90);


}

void loop()
{

//rc552識別  if ( ! rfid.PICC_IsNewCardPresent())
return;
  if ( ! rfid.PICC_ReadCardSerial())
return;
MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak); // 將NUID保存到nuidPICC數組for (byte i = 0; i < 4; i++)
  {
    nuidPICC[ i] = rfid.uid.uidByte[ i];
  }
  Serial.print("十六進制UID:");
printHex(rfid.uid.uidByte, rfid.uid.size); //Hex:16進制Serial.println();

Serial.print("十進制UID:");
printDec(rfid.uid.uidByte, rfid.uid.size); //Dec:10進制Serial.println();

// 使放置在讀卡區的IC卡進入休眠狀態,不再重復讀卡,Halt(停止)rfid.PICC_HaltA();

// 停止讀卡模塊編碼rfid.PCD_StopCrypto1();


//as608識別  getFingerprintID();
  delay(50);            //don't ned to run this at full speed.
}
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 拍真实国产伦偷精品 | 亚洲成人av在线播放 | 国产亚洲精品区 | av看看| 中文字幕在线精品 | 亚洲视频在线看 | 91视视频在线观看入口直接观看 | 91精品国产91久久久久游泳池 | 国产午夜av片 | 激情毛片 | 手机在线观看 | 精品国产青草久久久久福利 | 成人免费视频播放 | 日本精品视频一区二区 | 欧美日韩精品区 | 精品免费av | 国产精品.xx视频.xxtv | 午夜成人在线视频 | 精品久久久久一区二区国产 | 日韩精品一区二区三区中文字幕 | 精品久久伊人 | 成人av一区 | 91pao对白在线播放 | 欧美福利精品 | 久久久一二三 | 精品久久久久久久久久久久 | 成人在线一区二区三区 | 成人免费一区二区三区视频网站 | 久久里面有精品 | 国产精品免费在线 | 乱一性一乱一交一视频a∨ 色爱av | 国产乱码久久久久久 | 国产精品久久久久久久7777 | 午夜影院官网 | 伊人91在线 | 黄a大片| 日韩电影免费在线观看中文字幕 | 逼逼视频 | 久久精品成人 | 亚洲国产视频一区二区 | 一区二区高清在线观看 |