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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1024|回復: 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.
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美综合一区二区三区 | 国产69久久精品成人看动漫 | 国产精品一区二区三区久久久 | 一区二区不卡 | 免费小视频在线观看 | 色男人的天堂 | 午夜久久久久久久久久一区二区 | 亚洲国产成人精品女人 | 狠狠爱视频 | 亚洲伊人a | 久久精品手机视频 | 一级黄色录像片子 | 精品毛片在线观看 | 亚洲图片一区二区三区 | 日韩中文字幕在线视频 | 91麻豆精品国产91久久久更新资源速度超快 | 99爱视频| 午夜在线电影网 | 日韩中文字幕2019 | 男女下面一进一出网站 | 天天拍夜夜爽 | 亚洲欧洲精品一区 | 日韩视频区 | 欧美日韩精品综合 | 国产99久久 | 中文字幕高清免费日韩视频在线 | 户外露出一区二区三区 | 中文字幕 欧美 日韩 | 在线视频中文字幕 | 国产一区二区日韩 | 91精品国产综合久久精品图片 | 国产在线视频99 | 国产91黄色 | 亚洲精品久久久一区二区三区 | 国产一区二区在线免费观看 | 日韩精品免费视频 | 亚洲视频在线播放 | 国产资源网 | 91视频精选| www.一级毛片 | 欧美一级在线观看 |