Meine Homepage

Arduino 16

09,02,2018 Arduino RFID Schattenbahnhof Teil1





Das sind die ersten 4 Gleise mit Zugerkennung und Besetztmeldung auf meiner
H0e Strecke.


########################################
Der Sketch für die Steuerung:

 // Include required libraries
    #include <LiquidCrystal_I2C.h>
    #include <SPI.h>
    #include <MFRC522.h>
    #include <EEPROM.h> // das ist neu
   
    // Create instances
    LiquidCrystal_I2C lcd(0x27, 16, 2);
    MFRC522 mfrc522(10, 9); // MFRC522 mfrc522(SS_PIN, RST_PIN)
  
   
    String tagUID = "49 5E 24 A3";  // Schluesselanhaenger001
    String tagUID1 = "1C 65 24 A3";  // Schluesselanhaenger002
    String tagUID2 = "04 BD EA 0A 37 60 80";  // Zug 1 Ruebenzug001
    String tagUID3 = "04 FD EA 0A 37 60 80";  // Zug 2 China PZ001 kurz
    String tagUID4 = "49 5E 24 AA";  // Zug3
    String tagUID5 = "1C 65 24 AB";  // Zug4
    String tagUID6 = "49 5E 24 AC";  // Zug5
    String tagUID7 = "1C 65 24 AD";  // Zug6
    String tagUID8 = "49 5E 24 AE";  // Zug7
    String tagUID9 = "1C 65 24 AF";  // Zug8
    String tagUID10 = "49 5E 24 AG";  // Zug9
    String tagUID11 = "1C 65 24 AH";  // Zug10
    String tagUID12 = "49 5E 24 AI";  // Zug11
    String tagUID13 = "1C 65 24 AJ";  // Zug12
    String tagUID14= "49 5E 24 AK";  // Zug 13
    String tagUID15 = "1C 65 24 AL";  // Zug 14
    String tagUID16 = "1C 65 24 AM";  // Zug 15
   
    void setup() {
      // Arduino Pin configuration          
      lcd.begin();   // LCD screen
      lcd.backlight();
      SPI.begin();      // Init SPI bus
      mfrc522.PCD_Init();   // Init MFRC522
      lcd.clear();
     
    }
    void loop() {
     
     
     
      lcd.setCursor(0, 0);
      lcd.print(" GLEIS 1 SBH001");// Freies GLEIS SCHATTENBAHNHOF001 SHB!!!
      lcd.setCursor(0, 1);
      lcd.print(" GLEIS 1 frei! ");
      // Look for new cards
      if ( ! mfrc522.PICC_IsNewCardPresent()) {
     
      }
      // Select one of the cards
      if ( ! mfrc522.PICC_ReadCardSerial()) {
       
      }
      //Reading from the card
      String tag = "";
      for (byte i = 0; i < mfrc522.uid.size; i++)
      {
        tag.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));
        tag.concat(String(mfrc522.uid.uidByte[i], HEX));
      }
      tag.toUpperCase();
      //Checking the card
      if (tag.substring(1) == tagUID) // ANFANG lesen SCHLÜSSELANHÄNGER1
      {
        // If UID of tag is matched.
        lcd.clear();
        lcd.setCursor(0, 0);
        lcd.print("GLEIS 1 besetzt");
        lcd.setCursor(0, 1);
        lcd.print("SCHLUESSEL 001");      
        delay(5000);                                                                                                         delay(3000);
        lcd.clear();
      }
    
      tag.toUpperCase();
      //Checking the card
      if (tag.substring(1) == tagUID1) //Anfang lesen SCHLÜSSELANHÄNGER2
      {
        // If UID of tag is matched.
        lcd.clear();
        lcd.setCursor(0, 0);
        lcd.print("GLEIS 1 besetzt");
        lcd.setCursor(0, 1);
        lcd.print("Schluessel 002");       
        delay(5000);// der Zug muss auf dem Scanner stehen bleiben!       
        lcd.clear();
      }
      tag.toUpperCase();// Zug 1
      //Checking the card
      if (tag.substring(1) == tagUID2) //Anfang lesen Rübenzug 001
      {
        // If UID of tag is matched.
        lcd.clear();
        lcd.setCursor(0, 0);
        lcd.print("GLEIS 1 besetzt");
        lcd.setCursor(0, 1);
        lcd.print("GZ Ruebenzug 001");       
        delay(5000);// der Zug muss auf dem Scanner stehen bleiben!       
        lcd.clear();
      }
      tag.toUpperCase();// Zug 2
      //Checking the card
      if (tag.substring(1) == tagUID3) //Anfang lesen PZ Kurz CHINA
      {
        // If UID of tag is matched.
        lcd.clear();
        lcd.setCursor(0, 0);
        lcd.print("GLEIS 1 besetzt");
        lcd.setCursor(0, 1);
        lcd.print("PZ kurz 001");       
        delay(5000);// der Zug muss auf dem Scanner stehen bleiben!       
        lcd.clear();
      }
      tag.toUpperCase();// Zug 3
      //Checking the card
      if (tag.substring(1) == tagUID4) //Anfang lesen WEM PZ 001
      {
        // If UID of tag is matched.
        lcd.clear();
        lcd.setCursor(0, 0);
        lcd.print("GLEIS 1 besetzt");
        lcd.setCursor(0, 1);
        lcd.print("WEM PZ 001");       
        delay(5000);// der Zug muss auf dem Scanner stehen bleiben!       
        lcd.clear();
      }
      tag.toUpperCase();// Zug 4
      //Checking the card
      if (tag.substring(1) == tagUID5) //Anfang lesen WEM PZ 002
      {
        // If UID of tag is matched.
        lcd.clear();
        lcd.setCursor(0, 0);
        lcd.print("GLEIS 1 besetzt");
        lcd.setCursor(0, 1);
        lcd.print("WEM PZ 002");       
        delay(5000);// der Zug muss auf dem Scanner stehen bleiben!       
        lcd.clear();
      }
      tag.toUpperCase();// Zug 5
      //Checking the card
      if (tag.substring(1) == tagUID6) //Anfang lesen SCHLÜSSELANHÄNGER2
      {
        // If UID of tag is matched.
        lcd.clear();
        lcd.setCursor(0, 0);
        lcd.print("GLEIS 1 besetzt");
        lcd.setCursor(0, 1);
        lcd.print("Schluessel 002");       
        delay(5000);// der Zug muss auf dem Scanner stehen bleiben!       
        lcd.clear();
      }
      tag.toUpperCase();// Zug 6
      //Checking the card
      if (tag.substring(1) == tagUID7) //Anfang lesen SCHLÜSSELANHÄNGER2
      {
        // If UID of tag is matched.
        lcd.clear();
        lcd.setCursor(0, 0);
        lcd.print("GLEIS 1 besetzt");
        lcd.setCursor(0, 1);
        lcd.print("Schluessel 002");       
        delay(5000);// der Zug muss auf dem Scanner stehen bleiben!       
        lcd.clear();
      }
      tag.toUpperCase();// Zug 7
      //Checking the card
      if (tag.substring(1) == tagUID8) //Anfang lesen SCHLÜSSELANHÄNGER2
      {
        // If UID of tag is matched.
        lcd.clear();
        lcd.setCursor(0, 0);
        lcd.print("GLEIS 1 besetzt");
        lcd.setCursor(0, 1);
        lcd.print("Schluessel 002");       
        delay(5000);// der Zug muss auf dem Scanner stehen bleiben!       
        lcd.clear();
      }
      tag.toUpperCase();// Zug 8
      //Checking the card
      if (tag.substring(1) == tagUID9) //Anfang lesen SCHLÜSSELANHÄNGER2
      {
        // If UID of tag is matched.
        lcd.clear();
        lcd.setCursor(0, 0);
        lcd.print("GLEIS 1 besetzt");
        lcd.setCursor(0, 1);
        lcd.print("Schluessel 002");       
        delay(5000);// der Zug muss auf dem Scanner stehen bleiben!       
        lcd.clear();
      }
      tag.toUpperCase();// Zu9
      //Checking the card
      if (tag.substring(1) == tagUID10) //Anfang lesen SCHLÜSSELANHÄNGER2
      {
        // If UID of tag is matched.
        lcd.clear();
        lcd.setCursor(0, 0);
        lcd.print("GLEIS 1 besetzt");
        lcd.setCursor(0, 1);
        lcd.print("Schluessel 002");       
        delay(5000);// der Zug muss auf dem Scanner stehen bleiben!       
        lcd.clear();
      }
      tag.toUpperCase();// Zug 10
      //Checking the card
      if (tag.substring(1) == tagUID11) //Anfang lesen SCHLÜSSELANHÄNGER2
      {
        // If UID of tag is matched.
        lcd.clear();
        lcd.setCursor(0, 0);
        lcd.print("GLEIS 1 besetzt");
        lcd.setCursor(0, 1);
        lcd.print("Schluessel 002");       
        delay(5000);// der Zug muss auf dem Scanner stehen bleiben!       
        lcd.clear();
      }
      tag.toUpperCase();// Zug 11
      //Checking the card
      if (tag.substring(1) == tagUID12) //Anfang lesen SCHLÜSSELANHÄNGER2
      {
        // If UID of tag is matched.
        lcd.clear();
        lcd.setCursor(0, 0);
        lcd.print("GLEIS 1 besetzt");
        lcd.setCursor(0, 1);
        lcd.print("Schluessel 002");       
        delay(5000);// der Zug muss auf dem Scanner stehen bleiben!       
        lcd.clear();
      }
      tag.toUpperCase();// Zug 12
      //Checking the card
      if (tag.substring(1) == tagUID13) //Anfang lesen SCHLÜSSELANHÄNGER2
      {
        // If UID of tag is matched.
        lcd.clear();
        lcd.setCursor(0, 0);
        lcd.print("GLEIS 1 besetzt");
        lcd.setCursor(0, 1);
        lcd.print("Schluessel 002");       
        delay(5000);// der Zug muss auf dem Scanner stehen bleiben!       
        lcd.clear();
      }
      tag.toUpperCase(); // Zug 13
      //Checking the card
      if (tag.substring(1) == tagUID14) //Anfang lesen SCHLÜSSELANHÄNGER2
      {
        // If UID of tag is matched.
        lcd.clear();
        lcd.setCursor(0, 0);
        lcd.print("GLEIS 1 besetzt");
        lcd.setCursor(0, 1);
        lcd.print("Schluessel 002");       
        delay(5000);// der Zug muss auf dem Scanner stehen bleiben!       
        lcd.clear();
      }
      tag.toUpperCase();// Zug 14
      //Checking the card
      if (tag.substring(1) == tagUID15) //Anfang lesen SCHLÜSSELANHÄNGER2
      {
        // If UID of tag is matched.
        lcd.clear();
        lcd.setCursor(0, 0);
        lcd.print("GLEIS 1 besetzt");
        lcd.setCursor(0, 1);
        lcd.print("Schluessel 002");       
        delay(5000);// der Zug muss auf dem Scanner stehen bleiben!       
        lcd.clear();
      }
      tag.toUpperCase();// Zug 15
      //Checking the card
      if (tag.substring(1) == tagUID16) //Anfang lesen SCHLÜSSELANHÄNGER2
      {
        // If UID of tag is matched.
        lcd.clear();
        lcd.setCursor(0, 0);
        lcd.print("GLEIS 1 besetzt");
        lcd.setCursor(0, 1);
        lcd.print("Schluessel 002");       
        delay(5000);// der Zug muss auf dem Scanner stehen bleiben!       
        lcd.clear();
    
    }
  }



##########################







Zurück zur Startseite

Diese Webseite wurde kostenlos mit Homepage-Baukasten.de erstellt. Willst du auch eine eigene Webseite?
Gratis anmelden