Помощь новичку

Тема в разделе "Arduino & Shields", создана пользователем Дэн Пискунов, 17 янв 2017.

  1. Как со вместит: 1)Реле
    2)Сканер RFID-RC522
    3)LCD1602 по I2C к Ардуино UNO
    Чтобы при считывании карты на экран выводилась номер и им карты .
     
  2. qwone

    qwone Гик

    Ну на этот вопрос я знаю ответ: НАДО написать скетч.Вот.
     
  3. Tim308

    Tim308 Нерд

    Пишите в раздел форума "Закажу проект" и вам люди с нуля за деньги реализовывают вашу идею.
     
  4. Airbus

    Airbus Радиохулиган Модератор

    Легко!Идеи?Или тогда просто погуглить?
     
  5. Jedi

    Jedi Гик

    А можно спросить?
     
  6. И как ?
     
  7. Tim308

    Tim308 Нерд

    Ознакомьтесь: тык
    Думаю после изучения данного материала вопрос "как?" отпадет.
     
  8. Airbus

    Airbus Радиохулиган Модератор

    Вот так например. Или так
     
  9. Airbus

    Airbus Радиохулиган Модератор

    Это Вы мне?
     
  10. как? руками соединяешь провода, головой думаешь и пишешь код, загружаешь в плату.
     
  11. всё соединенно не знаю как к коду добавить экран
     
  12. Как сюда добавить Экран и названия карт
    Код (C++):
    /*
    #1 светодиод -> 4 (led_pin) 1 горит / 0 нет

    #2 RFID_RC522 RST -> 9 (RST_pin)
            SDA(SS)-> 10 (SDA_pin)
            MOSI   -> 11 (MOSI_pin)
            MISO   -> 12 (MISO_pin)
            SCK    -> 13 (SCK_pin)
            3,3В   -> 3,3В
            GND    -> GND

            Card UID: 96 71 CC A1  брелок
            Card UID: 32 86 F7 EF  карта
         
    */

    //#1
    const int led_pin = 4; //нога светодиода
    uint8_t Led;// значение на нем
    //#2
    byte uidCard1[4] = {0x96, 0x71, 0xCC, 0xA1};
    byte uidCard2[4] = {0x32, 0x86, 0xF7, 0xEF};
    #include <SPI.h>
    #include <MFRC522.h>
    const int SDA_pin = 10;
    const int RST_pin = 9;
    MFRC522 rfid(SDA_pin, RST_pin); // Instance of the class
    uint8_t RFID_btn = 0; // 1 есть правильная карточка / 0 нет или карточки или неправильная

    void setup() {
      //#1
      pinMode(led_pin, OUTPUT);   // инициализировать светодиод
      digitalWrite(led_pin, Led = 1); // и погасить светодиод
      //#2
      SPI.begin(); // Init SPI bus
      rfid.PCD_Init(); // Init MFRC522
    }

    void loop() {
      //#1
      //#2
      static uint32_t past_1 = 0 ;
      if ( millis() - past_1 >= 100) { // опрос карточки идет каждые 200 миллисек
        past_1 = millis() ;
        RFID_btn = RFID_btn << 1;
        if ( rfid.PICC_IsNewCardPresent() && rfid.PICC_ReadCardSerial() &&
             (
               rfid.uid.uidByte[0] == uidCard1[0] &&  // проверка 1 карточки
               rfid.uid.uidByte[1] == uidCard1[1] &&
               rfid.uid.uidByte[2] == uidCard1[2] &&
               rfid.uid.uidByte[3] == uidCard1[3] ||
               rfid.uid.uidByte[0] == uidCard2[0] &&  // проверка 2 карточки
               rfid.uid.uidByte[1] == uidCard2[1] &&
               rfid.uid.uidByte[2] == uidCard2[2] &&
               rfid.uid.uidByte[3] == uidCard2[3]
             )
           )
          RFID_btn = RFID_btn | 1;
        if  ((RFID_btn & 3) == 1) digitalWrite(led_pin, Led = ! Led);
      }
    }
     
  13. qwone

    qwone Гик

    Хе вытащил. byte uidCard1[4]={0x96, 0x71, 0xCC, 0xA1}; // вот сюда суются номер правильной карты в 16-м коде 4 байта. rfid.uid.uidByte[0], rfid.uid.uidByte[1] rfid.uid.uidByte[2] rfid.uid.uidByte[3] а это номер прочитаной карточки.
     
  14. Airbus

    Airbus Радиохулиган Модератор

    #include<LiquidCrystal_I2C.h>
    LiquidCrystal_I2C lcd(0x27,16,2);
    Откройте вторую ссылку что я Вам дал.Там откройте Урок10.И серву замените на просто Led PIN.Как зажечь светодиод думаю что Вы уже знаете.
     
    Последнее редактирование: 21 янв 2017