Guest User

Код инвалида

a guest
Feb 11th, 2022
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.84 KB | None | 0 0
  1. // Config
  2. #define SD_ENABLED 1
  3. #define USE_SDFAT_LIBRARY 1
  4.  
  5. // Pins
  6. #define SD_CS_PIN    4
  7. #define MRF_CS_PIN  10
  8. #define MRF_RST_PIN  9
  9.  
  10. // Libraries
  11. #include <SPI.h>
  12. #include <MFRC522.h>
  13. #include <Keyboard.h>
  14. #include <Wire.h>
  15. #include <TimeLib.h>
  16. #include <DS1307RTC.h>
  17.  
  18.  
  19. #if defined(SD_ENABLED)
  20.   #if !defined(USE_SDFAT_LIBRARY)
  21.     #include <SD.h>
  22.   #else
  23.     #include "SdFat.h"
  24.   #endif
  25. #endif
  26.  
  27.  
  28. char lang = 'E';
  29. uint32_t user = 0xEC783823;
  30. char password[] = "r10012000R";
  31. uint32_t admin = 0xC6B8532B;
  32. char password2[] = "admin12345";
  33.  
  34. MFRC522 mfrc522(MRF_CS_PIN, MRF_RST_PIN);
  35.  
  36. #if defined(USE_SDFAT_LIBRARY) && defined(SD_ENABLED)
  37.   SdFat SD;
  38. #endif
  39.  
  40. #if defined(SD_ENABLED)
  41.   File myFile;
  42.   String sfilename;
  43.   char filename[20];
  44. #endif
  45.  
  46. uint32_t id = 0x00000000;
  47. tmElements_t tm;
  48. unsigned long millis1 = 0;
  49. String record = "";
  50. String curr = "";
  51.  
  52. void setup() {
  53.   Serial.begin(115200);
  54.   Keyboard.begin();
  55.  
  56.   SPI.begin();
  57.  
  58.   mfrc522.PCD_Init();
  59.  
  60.   #if defined(SD_ENABLED)
  61.     SD.begin(SD_CS_PIN);
  62.   #else
  63.     pinMode(SD_CS_PIN, OUTPUT);
  64.     digitalWrite(SD_CS_PIN, HIGH);
  65.   #endif
  66.  
  67.  
  68. }
  69.  
  70. void loop() {
  71.  
  72.   if ( ! mfrc522.PICC_IsNewCardPresent()) {
  73.     return;
  74.   }
  75.  
  76.   if ( ! mfrc522.PICC_ReadCardSerial()) {
  77.     return;
  78.   }
  79.  
  80.   id = 0;
  81.   id = 0x1000000 * mfrc522.uid.uidByte[0] + 0x10000 * mfrc522.uid.uidByte[1] + 0x100 * mfrc522.uid.uidByte[2] + mfrc522.uid.uidByte[3];
  82.   //id = (mfrc522.uid.uidByte[0] << )
  83.  
  84.   Serial.println(id, HEX);
  85.  
  86.   if (id == user)
  87.   {
  88.     curr = "User ";
  89.     pass(password);
  90.   }
  91.   else if (id == admin)
  92.   {
  93.     curr = "Admin ";
  94.     pass(password2);
  95.   }
  96.   delay(1000);
  97. }
  98.  
  99.  
  100. void pass(const char *p)
  101. {
  102.   if (lang == 'R')
  103.   {
  104.     Keyboard.press(KEY_LEFT_ALT);
  105.     Keyboard.press(KEY_LEFT_SHIFT);
  106.     Keyboard.release(KEY_LEFT_SHIFT);
  107.     Keyboard.release(KEY_LEFT_ALT);
  108.     delay(20);
  109.   }
  110.  
  111.   Keyboard.press(KEY_LEFT_GUI);               //Нажимает клавишу WIN
  112.   Keyboard.press('l');                        //Нажимает клавишу 1
  113.   Keyboard.releaseAll();                      //Отпускает все клавиши
  114.   delay (100);
  115.  
  116.   //Keyboard.write(KEY_RETURN);                      //Нажимает Enter
  117.   //Keyboard.releaseAll();                    //Отпускает все клавиши
  118.   delay(300);
  119.  
  120.   Keyboard.print(p);                   // Вводит пароль
  121.   Keyboard.releaseAll();                      //Отпускает все клавиши
  122.   delay(500);
  123.  
  124.   Keyboard.write(KEY_RETURN);                      //Нажимает Enter
  125.   Keyboard.releaseAll();                      //Отпускает все клавиши
  126.   delay(1000);                                 //Пауза чтобы успело отработать
  127.  
  128.   #if defined(SD_ENABLED)
  129.     rec(curr);
  130.   #endif
  131. }
  132.  
  133. #if defined(SD_ENABLED)
  134.   void rec (String curr1) {
  135.     sfilename = get_file_name();
  136.     Serial.print("filename=");
  137.     Serial.println(sfilename+".txt");
  138.     sfilename.toCharArray(filename, 20);
  139.     myFile = SD.open(filename, FILE_WRITE);
  140.     record = get_time();
  141.     record += " ";
  142.     record += String(curr1);
  143.     record += "\n";
  144.     Serial.print("record=");
  145.     Serial.println(record);
  146.     myFile.println(record);
  147.     myFile.close();
  148.   }
  149.   String get_time() {
  150.     String time1;
  151.     RTC.read(tm);
  152.     if (tm.Hour<10){
  153.     time1= "0" + String(tm.Hour, DEC);
  154.     }
  155.     else time1 = String(tm.Hour, DEC);
  156.     if (tm.Minute<10){
  157.     time1 = time1+ ":0" + String(tm.Minute, DEC);
  158.     }
  159.     else time1 = time1+ ":" + String(tm.Minute, DEC);
  160.     return time1;
  161.   }
  162.   String get_file_name() {
  163.     String date1;
  164.     RTC.read(tm);
  165.     date1 = String(tm.Day,DEC);
  166.     date1 = date1 + "_" + String(tm.Month,DEC);
  167.     date1 = date1 + "_" + tmYearToCalendar(tm.Year);
  168.     return date1;
  169.   }
  170. #endif
Advertisement
Add Comment
Please, Sign In to add comment