несколько rfid меток

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Agritreid пишет:

ЕвгенийП пишет:

 

Не, я бы в #43 в строке №23 использовал бы 115200.

 

Куда мне такие скоростя , фильмы что ли смотреть с ардуинки в мониторе порта в Full HD

На 115200 бод - не то, что в Full HD - нормальную картинку запаришься грузить.

Agritreid
Agritreid аватар
Offline
Зарегистрирован: 08.01.2020
#include <SPI.h>
#include <MFRC522.h>
 
 
#define SS_PIN 10
#define RST_PIN 9
#define LED_G 6 //define green LED pin
#define LED_R 4 //define red LED
#define RELAY 5 //relay pin 1 off
#define RELAY_off 3 //relay pin Закрыть замок
#define wipeA 2     // Button pin for WipeMode КОНЦЕВИК B
#define wipeB 8     // Button pin for WipeMode Кнопка A
#define BUZZER 7 //buzzer pin
#define ACCESS_DELAY 250          // время задержки на правильный ключь
#define DENIED_DELAY 1000         // время задержки на отказ в доступе
 
 
int val = 0;
byte state = 0; // Переменная состояния
 
 
MFRC522 mfrc522(SS_PIN, RST_PIN);   // Create MFRC522 instance.
 
void setup()
{
  Serial.begin(9600);   // Initiate a serial communication
  SPI.begin();          // Initiate  SPI bus
  mfrc522.PCD_Init();   // Initiate MFRC522
  pinMode(LED_G, OUTPUT);
  pinMode(LED_R, OUTPUT);
  pinMode(RELAY, OUTPUT);
  pinMode(RELAY_off, OUTPUT);      // Закрыть замок
  pinMode(wipeA, INPUT_PULLUP);   // Enable pin's pull up resistor кнопка А
  pinMode(wipeB, INPUT_PULLUP);   // Enable pin's pull up resistor КОНЦЕВИК В
  pinMode(BUZZER, OUTPUT);
  noTone(BUZZER);
  digitalWrite(RELAY, LOW);
 
  Serial.println("Put your card to the reader...");
  Serial.println();
 
}
 
 
 
void loop() {
  
  val = digitalRead( wipeB );
  
   if (val  ==  LOW )
 
 {
 
state = !state;
 
if( state == LOW ) {
 
Serial.println("Authorized access");
    Serial.println();
    digitalWrite(LED_G, HIGH);
    delay(1000);                     // задержка перед открытием замка
    digitalWrite(RELAY, HIGH);
 
    delay(ACCESS_DELAY);
    digitalWrite(RELAY, LOW);
    delay(DENIED_DELAY);
    digitalWrite(LED_G, LOW);
    delay(1500);                     // задержка после чтения UID
   
 
  else   {
 
  Serial.println(" Access denied");
    digitalWrite(LED_R, HIGH);
    tone(BUZZER, 300);
    delay(DENIED_DELAY);
    digitalWrite(LED_R, LOW);
    noTone(BUZZER);
    digitalWrite(RELAY_off, HIGH);
    delay(ACCESS_DELAY);
    digitalWrite(RELAY_off, LOW);  
 
  }
 
}
 
  // Look for new cards
  if ( ! mfrc522.PICC_IsNewCardPresent())
  {
    return;
  }
  // Select one of the cards
  if ( ! mfrc522.PICC_ReadCardSerial())
  {
    return;
  }
  //Show UID on serial monitor
 
  Serial.print("UID tag :");
  String content = "";
  byte letter;
  for (byte i = 0; i < mfrc522.uid.size; i++)
  {
    Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
    Serial.print(mfrc522.uid.uidByte[i], HEX);
    content.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));
    content.concat(String(mfrc522.uid.uidByte[i], HEX));
  }
  Serial.println();
  Serial.print("Message : ");
  content.toUpperCase();
  if (content.substring(1) == "93 9B 42 1A" || content.substring(1) == "1F 3B 05 66" //change here the UID of the card/cards that you want to give access
      || content.substring(1) == "86 F0 BC F7")
 
  {
    Serial.println("Authorized access");
    Serial.println();
    digitalWrite(LED_G, HIGH);
    delay(1000);                     // задержка перед открытием замка
    digitalWrite(RELAY, HIGH);
 
    delay(ACCESS_DELAY);
    digitalWrite(RELAY, LOW);
    delay(DENIED_DELAY);
    digitalWrite(LED_G, LOW);
    delay(1500);                     // задержка после чтения UID
  }
 
  else  if (digitalRead (wipeA) ==  LOW )
  {
 
    digitalWrite(LED_R, HIGH);
    tone(BUZZER, 300);
    delay(DENIED_DELAY);
    digitalWrite(LED_R, LOW);
    noTone(BUZZER);
    digitalWrite(RELAY_off, HIGH);
    delay(ACCESS_DELAY);
    digitalWrite(RELAY_off, LOW);
  }
 
  if  (digitalRead (wipeA) == HIGH )
 
  {
 
Serial.println(" Access denied");
    digitalWrite(LED_R, HIGH);
    tone(BUZZER, 300);
    delay(DENIED_DELAY);
    digitalWrite(LED_R, LOW);
    noTone(BUZZER);
    digitalWrite(RELAY_off, HIGH);
    delay(ACCESS_DELAY);
    digitalWrite(RELAY_off, LOW);
 
   
 
 
  }
 
  else   {
 
   Serial.println("Authorized access");
    Serial.println();
   
 
  }
  
  
Задействовал кнопку и концевик , из помещения можно закрывать открывать кнопкой а когда вышли из помещения можно открывать закрывать RFID меткой 
Green
Offline
Зарегистрирован: 01.10.2015

ЕвгенийП пишет:

sadman41 пишет:

Вы 57600 используете, не вводите общественность в заблуждение...

Я использую 57600 для протеуса - он больше не понимает и 115200 для железа.


Кто Вам такую глупость сказал? Да хоть 2000000, это ж не железо - это же ж протез!)

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Green пишет:

Кто Вам такую глупость сказал? Да хоть 2000000, это ж не железо - это же ж протез!)

Да, сам же он и сказал, вот в этом диалоге

Как видите, больше не выбирается.

Хотя, вполне допускаю, что Вы правы и ему где-то можно что-то объяснить, но тут всплывет старый как мир вопрос - "а оно мне надо?" столько, так столько :-)

Green
Offline
Зарегистрирован: 01.10.2015

Я тоже парень ленивый, но если сильно надо, то можно попробовать вручную ввести в поле Baud Rate и 115200, и даже выше.)

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Green пишет:

попробовать вручную 

Верите - ума не хватило! 

Видимо всё же подспудно давлело "а оно мне надо?" :-)))

Green
Offline
Зарегистрирован: 01.10.2015

Охотно верю.) Ну конечно, если нет необходимости то к чему все эти излишние телодвижения.)

Agritreid
Agritreid аватар
Offline
Зарегистрирован: 08.01.2020

Через Arduino  web editor мгновенно скетч залетает и не надо нигде никакие скоростя выставлять

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Не понял, к чему это, но ладно.