<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[forum.rcl-radio.ru &mdash; RFID-RC522]]></title>
		<link>http://forum.rcl-radio.ru/viewtopic.php?id=662</link>
		<atom:link href="http://forum.rcl-radio.ru/extern.php?action=feed&amp;tid=662&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «RFID-RC522».]]></description>
		<lastBuildDate>Tue, 17 Jun 2025 14:49:13 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: RFID-RC522]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=11845#p11845</link>
			<description><![CDATA[<p>delay(3000);</p>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Tue, 17 Jun 2025 14:49:13 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=11845#p11845</guid>
		</item>
		<item>
			<title><![CDATA[Re: RFID-RC522]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=11844#p11844</link>
			<description><![CDATA[<p>Добрый день. Скетч с 1602.Подскажите где исправить в скетче, чтоб реле было выключено без ключа, а при поднесения ключа включалось. Сейчас наоборот. И где увеличить время реле у вас стоит 3 секунды. Спасибо!</p>]]></description>
			<author><![CDATA[null@example.com (qwertya)]]></author>
			<pubDate>Tue, 17 Jun 2025 14:47:18 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=11844#p11844</guid>
		</item>
		<item>
			<title><![CDATA[Re: RFID-RC522]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=10625#p10625</link>
			<description><![CDATA[<p>LCD1602_I2C</p><div class="codebox"><pre><code>#include &lt;SPI.h&gt;
#include &lt;MFRC522.h&gt;           // http://rcl-radio.ru/wp-content/uploads/2024/08/rfid-master.zip
#include &lt;EEPROM.h&gt;
#include &lt;Wire.h&gt; 
#include &lt;LiquidCrystal_I2C.h&gt;  // http://forum.rcl-radio.ru/misc.php?action=pan_download&amp;item=45&amp;download=1 

LiquidCrystal_I2C lcd(0x27,16,2);
 
int x;
int uid[4];
int master_kart[4]{129,71,80,131}; 
int set,eeprom; 
unsigned long times,times_open,tim; 
int open_,tim1; 

 
MFRC522 mfrc522(10,9); //(SS_PIN, RST_PIN)   
 
void setup() {
  Serial.begin(9600); 
  lcd.init();lcd.noBacklight();lcd.clear();
  pinMode(2,INPUT_PULLUP);
  pinMode(3,INPUT_PULLUP);  
  if(EEPROM.read(500)!=0){for(int i=0;i&lt;501;i++){EEPROM.update(i,0);}}              
  SPI.begin();              
  mfrc522.PCD_Init();      
  pinMode(4,OUTPUT);
  pinMode(5,OUTPUT);
  pinMode(7,OUTPUT);// zummer
  digitalWrite(7,HIGH);
}
 
void loop() {
// Чтение UID //////////////////////////////////////////////////////////////////////////////////
  if (mfrc522.PICC_IsNewCardPresent() &amp;&amp; mfrc522.PICC_ReadCardSerial()){delay(200);x=0; 
   for (int i = 0; i &lt; 4; i++) {uid[i] = mfrc522.uid.uidByte[i];if(uid[i]==master_kart[i]){x++;}}}
    else{cl();}
////////////////////////////////////////////////////////////////////////////////////////////////
      
//set ==0 read, set == 1 SAVE, set == 2 clear
   if(x==4 &amp;&amp; digitalRead(2)==LOW &amp;&amp; uid[0]!=0 &amp;&amp; set==0){set=1;lcd.clear();ok();times=millis();cl();delay(2000);}
   if(x==4 &amp;&amp; digitalRead(3)==LOW &amp;&amp; uid[0]!=0 &amp;&amp; set==0){set=2;lcd.clear();ok();times=millis();cl();delay(2000);}

  if(set&gt;0){
    if(digitalRead(2)==LOW){lcd.clear();eeprom++;if(eeprom&gt;49){eeprom=49;}times=millis();delay(200);}
    if(digitalRead(3)==LOW){lcd.clear();eeprom--;if(eeprom&lt;0){eeprom=0;}times=millis();delay(200);}
    }  
////////////////////////////////////////////////////////////////////////////////////////////////  
  if(uid[0]!=0 &amp;&amp; uid[1]!=0 &amp;&amp; uid[2]!=0 &amp;&amp; uid[3]!=0){
  Serial.print(&quot;UID: &quot;); 
  for(int i1=0;i1&lt;4;i1++){Serial.print(uid[i1]);Serial.print(&quot; &quot;);}Serial.println();}
////////////////////////////////////////////////////////////////////////////////////////////////
  if(set==1){
    lcd.backlight();
    lcd.setCursor(0, 0);lcd.print(&quot;SAVE  UID|NUM:&quot;);
    lcd.setCursor(14, 0);lcd.print(eeprom);
   
    if(uid[0]!=0 &amp;&amp; uid[1]!=0 &amp;&amp; uid[2]!=0 &amp;&amp; uid[3]!=0){lcd.clear();
      EEPROM.update(0+eeprom*4,uid[0]);
      EEPROM.update(1+eeprom*4,uid[1]);
      EEPROM.update(2+eeprom*4,uid[2]);
      EEPROM.update(3+eeprom*4,uid[3]);
      }
      
    lcd.setCursor(0, 1);lcd.print(EEPROM.read(0+eeprom*4));lcd.print(&quot;.&quot;);
    lcd.setCursor(4, 1);lcd.print(EEPROM.read(1+eeprom*4));lcd.print(&quot;.&quot;);
    lcd.setCursor(8, 1);lcd.print(EEPROM.read(2+eeprom*4));lcd.print(&quot;.&quot;);
    lcd.setCursor(12, 1);lcd.print(EEPROM.read(3+eeprom*4));
    }
////////////////////////////////////////////////////////////////////////////
  if(set==2){
    lcd.backlight();
    lcd.setCursor(0, 0);lcd.print(&quot;CLEAR UID|NUM:&quot;);
    lcd.setCursor(14, 0);lcd.print(eeprom);

    if(uid[0]==master_kart[0]&amp;&amp;uid[1]==master_kart[1]&amp;&amp;uid[2]==master_kart[2]&amp;&amp;uid[3]==master_kart[3]){lcd.clear();
      EEPROM.update(0+eeprom*4,0);
      EEPROM.update(1+eeprom*4,0);
      EEPROM.update(2+eeprom*4,0);
      EEPROM.update(3+eeprom*4,0);
      }

    lcd.setCursor(0, 1);lcd.print(EEPROM.read(0+eeprom*4));lcd.print(&quot;.&quot;);
    lcd.setCursor(4, 1);lcd.print(EEPROM.read(1+eeprom*4));lcd.print(&quot;.&quot;);
    lcd.setCursor(8, 1);lcd.print(EEPROM.read(2+eeprom*4));lcd.print(&quot;.&quot;);
    lcd.setCursor(12, 1);lcd.print(EEPROM.read(3+eeprom*4));
    }
//////////////////////////////////////////////////////////////////////////////  
  if(set==0){
  if(uid[0]!=0 &amp;&amp; uid[1]!=0 &amp;&amp; uid[2]!=0 &amp;&amp; uid[3]!=0){ for(int i=0;i&lt;50;i++){
  if(uid[0]==EEPROM.read(0+i*4)&amp;&amp;uid[1]==EEPROM.read(1+i*4)&amp;&amp;uid[2]==EEPROM.read(2+i*4)&amp;&amp;uid[3]==EEPROM.read(3+i*4)){open_=1;break;}else{open_=2;}}}}//set=0
 
  if(open_==1){open_=0;lcd.backlight();lcd.setCursor(6, 0);lcd.print(&quot;OPEN&quot;);digitalWrite(4,HIGH);
  for(int n=0;n&lt;8;n++){digitalWrite(7,LOW);delay(200);digitalWrite(7,HIGH);delay(200);}
  lcd.noBacklight();lcd.clear();digitalWrite(4,LOW);digitalWrite(7,HIGH);}
   
  if(open_==2){open_=0;lcd.backlight();lcd.setCursor(5, 0);lcd.print(&quot;ERROR&quot;);digitalWrite(5,HIGH);
  digitalWrite(7,LOW);delay(100);digitalWrite(7,HIGH);delay(3000);digitalWrite(5,LOW);lcd.noBacklight();lcd.clear();}
 
  if(millis()-times&gt;10000){lcd.noBacklight();lcd.clear();set=0;eeprom=0;}
}

void ok(){ lcd.backlight();lcd.setCursor(0, 0);lcd.print(&quot;OK&quot;);}

void cl(){uid[0]=0;uid[1]=0;uid[2]=0;uid[3]=0;}  </code></pre></div>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Tue, 13 Aug 2024 06:28:07 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=10625#p10625</guid>
		</item>
		<item>
			<title><![CDATA[Re: RFID-RC522]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=10622#p10622</link>
			<description><![CDATA[<p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2024/08/cef49ea7ef263b9c7455fe29029eef51.png" alt="http://forum.rcl-radio.ru/uploads/images/2024/08/cef49ea7ef263b9c7455fe29029eef51.png" /></span> </p><p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2024/08/4ec518bed9fe14e7084ec48ce38afd3d.png" alt="http://forum.rcl-radio.ru/uploads/images/2024/08/4ec518bed9fe14e7084ec48ce38afd3d.png" /></span> </p><p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2024/08/9f7d853a99d91627ed0f840a9231dc90.png" alt="http://forum.rcl-radio.ru/uploads/images/2024/08/9f7d853a99d91627ed0f840a9231dc90.png" /></span> </p><p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2024/08/4e6b9c87c0820ce468c003250b8684c7.png" alt="http://forum.rcl-radio.ru/uploads/images/2024/08/4e6b9c87c0820ce468c003250b8684c7.png" /></span> </p><p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2024/08/eb1817d1dba10de1d8c908f120dee569.png" alt="http://forum.rcl-radio.ru/uploads/images/2024/08/eb1817d1dba10de1d8c908f120dee569.png" /></span> </p><p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2024/08/6baf23ace59b9ac437d16e8ecd134290.png" alt="http://forum.rcl-radio.ru/uploads/images/2024/08/6baf23ace59b9ac437d16e8ecd134290.png" /></span></p>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Mon, 12 Aug 2024 15:10:15 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=10622#p10622</guid>
		</item>
		<item>
			<title><![CDATA[Re: RFID-RC522]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=10621#p10621</link>
			<description><![CDATA[<p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2024/08/4cd59ff7290df19f14726ed65da4645f.png" alt="http://forum.rcl-radio.ru/uploads/images/2024/08/4cd59ff7290df19f14726ed65da4645f.png" /></span></p>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Mon, 12 Aug 2024 09:48:08 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=10621#p10621</guid>
		</item>
		<item>
			<title><![CDATA[RFID-RC522]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=10620#p10620</link>
			<description><![CDATA[<p>Основная статья - <a href="http://rcl-radio.ru/?p=132410">http://rcl-radio.ru/?p=132410</a></p><p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2024/08/e4ad83c1838e16e5bd6c445ba473274c.png" alt="http://forum.rcl-radio.ru/uploads/images/2024/08/e4ad83c1838e16e5bd6c445ba473274c.png" /></span> </p><br /><div class="codebox"><pre><code>#include &lt;SPI.h&gt;
#include &lt;MFRC522.h&gt;           // http://rcl-radio.ru/wp-content/uploads/2024/08/rfid-master.zip
#include &lt;EEPROM.h&gt;
#include &lt;Wire.h&gt; 
#include &lt;U8glib.h&gt;            // https://github.com/olikraus/u8glib/

U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST);
 
int x;
int uid[4];
int master_kart[4]{129,71,80,131}; 
int set,eeprom; 
unsigned long times,times_open,tim; 
bool open_,tim1; 

 
MFRC522 mfrc522(10,9); //(SS_PIN, RST_PIN)   
 
void setup() {
  Serial.begin(9600); 
  pinMode(2,INPUT_PULLUP);
  pinMode(3,INPUT_PULLUP);  
  if(EEPROM.read(500)!=0){for(int i=0;i&lt;501;i++){EEPROM.update(i,0);}}              
  SPI.begin();              
  mfrc522.PCD_Init();      
  pinMode(4,OUTPUT);
  pinMode(5,OUTPUT);
  pinMode(7,OUTPUT);// zummer
  digitalWrite(7,HIGH);
}
 
void loop() {
// Чтение UID //////////////////////////////////////////////////////////////////////////////////
  if (mfrc522.PICC_IsNewCardPresent() &amp;&amp; mfrc522.PICC_ReadCardSerial()){delay(100);x=0; 
  
   for (int i = 0; i &lt; 4; i++) {
      uid[i] = mfrc522.uid.uidByte[i];
      if(uid[i]==master_kart[i]){
        x++;
      }}}
      else{cl();}
////////////////////////////////////////////////////////////////////////////////////////////////
      
//set ==0 read, set == 1 SAVE, set == 2 clear
   if(x==4 &amp;&amp; digitalRead(2)==LOW &amp;&amp; uid[0]!=0 &amp;&amp; set==0){set=1;ok();times=millis();cl();delay(2000);}
   if(x==4 &amp;&amp; digitalRead(3)==LOW &amp;&amp; uid[0]!=0 &amp;&amp; set==0){set=2;ok();times=millis();cl();delay(2000);}

   
  if(set&gt;0){
    if(digitalRead(2)==LOW){eeprom++;if(eeprom&gt;49){eeprom=49;}times=millis();delay(200);}
    if(digitalRead(3)==LOW){eeprom--;if(eeprom&lt;0){eeprom=0;}times=millis();delay(200);}
    }  
////////////////////////////////////////////////////////////////////////////////////////////////  
  if(uid[0]!=0 &amp;&amp; uid[1]!=0 &amp;&amp; uid[2]!=0 &amp;&amp; uid[3]!=0){
  Serial.print(&quot;UID: &quot;); 
  for(int i1=0;i1&lt;4;i1++){Serial.print(uid[i1]);Serial.print(&quot; &quot;);}Serial.println();}
////////////////////////////////////////////////////////////////////////////////////////////////

  u8g.firstPage();  
   do {
///////////////////////////////////////////////////////////////////////////// 
  if(set==1){
    u8g.setFont(u8g_font_profont17r);u8g.drawStr(0,12,&quot;SAVE UID&quot;);
    u8g.setFont(u8g_font_profont12r);
    u8g.drawLine(0, 17, 128, 17);
    u8g.drawStr(0,45,&quot;UID:&quot;);
    u8g.drawStr(0,30,&quot;Nomber:&quot;);u8g.setPrintPos(50, 30);u8g.print(eeprom);

    if(uid[0]!=0 &amp;&amp; uid[1]!=0 &amp;&amp; uid[2]!=0 &amp;&amp; uid[3]!=0){
      EEPROM.update(0+eeprom*4,uid[0]);
      EEPROM.update(1+eeprom*4,uid[1]);
      EEPROM.update(2+eeprom*4,uid[2]);
      EEPROM.update(3+eeprom*4,uid[3]);
      }
      
    u8g.setPrintPos(30, 45);u8g.print(EEPROM.read(0+eeprom*4));
    u8g.setPrintPos(55, 45);u8g.print(EEPROM.read(1+eeprom*4));
    u8g.setPrintPos(80, 45);u8g.print(EEPROM.read(2+eeprom*4));
    u8g.setPrintPos(105, 45);u8g.print(EEPROM.read(3+eeprom*4));
    }
////////////////////////////////////////////////////////////////////////////
  if(set==2){
    u8g.setFont(u8g_font_profont17r);u8g.drawStr(0,12,&quot;CLEAR UID&quot;);
    u8g.setFont(u8g_font_profont12r);
    u8g.drawLine(0, 17, 128, 17); 
    u8g.drawStr(0,45,&quot;UID:&quot;);
    u8g.drawStr(0,30,&quot;Number:&quot;);u8g.setPrintPos(50, 30);u8g.print(eeprom);

    if(uid[0]==master_kart[0]&amp;&amp;uid[1]==master_kart[1]&amp;&amp;uid[2]==master_kart[2]&amp;&amp;uid[3]==master_kart[3]){
      EEPROM.update(0+eeprom*4,0);
      EEPROM.update(1+eeprom*4,0);
      EEPROM.update(2+eeprom*4,0);
      EEPROM.update(3+eeprom*4,0);
      }

    u8g.setPrintPos(30, 45);u8g.print(EEPROM.read(0+eeprom*4));
    u8g.setPrintPos(55, 45);u8g.print(EEPROM.read(1+eeprom*4));
    u8g.setPrintPos(80, 45);u8g.print(EEPROM.read(2+eeprom*4));
    u8g.setPrintPos(105, 45);u8g.print(EEPROM.read(3+eeprom*4));
    }

//////////////////////////////////////////////////////////////////////////////  
  if(set==0){
  u8g.setFont(u8g_font_profont17r);   
  if(uid[0]!=0 &amp;&amp; uid[1]!=0 &amp;&amp; uid[2]!=0 &amp;&amp; uid[3]!=0&amp;&amp; millis()-times_open&gt;3000){
    for(int i=0;i&lt;50;i++){
     if(
      uid[0]==EEPROM.read(0+i*4)&amp;&amp;
      uid[1]==EEPROM.read(1+i*4)&amp;&amp;
      uid[2]==EEPROM.read(2+i*4)&amp;&amp;
      uid[3]==EEPROM.read(3+i*4))
      {open_=1;times_open=millis();tim=millis();break;}else{open_=0;times_open=millis();tim1=1;}
      }
    }
  }//set=0
  
  if(tim1==1){tim1=0;digitalWrite(7,LOW);delay(100);digitalWrite(7,HIGH);}
  
  if(open_==1 &amp;&amp; millis()-times_open&lt;3000){u8g.drawStr(40,30,&quot;OPEN&quot;);digitalWrite(4,HIGH);
  if(millis()-tim&lt;200){digitalWrite(7,LOW);}
  if(millis()-tim&gt;200){digitalWrite(7,HIGH);}
  if(millis()-tim&gt;400){tim=millis();}
  } else{digitalWrite(4,LOW);digitalWrite(7,HIGH);}
   
  if(open_==0 &amp;&amp; millis()-times_open&lt;3000){u8g.drawStr(35,30,&quot;ERROR&quot;);digitalWrite(5,HIGH);}
   else{digitalWrite(5,LOW);}
  
  } while( u8g.nextPage() );
 
 if(millis()-times&gt;20000){set=0;eeprom=0;}
}

void ok(){
    u8g.firstPage();  
   do {
    u8g.setFont(u8g_font_profont17r); 
    u8g.drawStr(55,30,&quot;OK&quot;);
  } while( u8g.nextPage() );
  }

void cl(){uid[0]=0;uid[1]=0;uid[2]=0;uid[3]=0;}  </code></pre></div>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Mon, 12 Aug 2024 09:46:52 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=10620#p10620</guid>
		</item>
	</channel>
</rss>
