RFID+ARDUINO+PROCCESING

Nikolay.py
Offline
Зарегистрирован: 15.07.2020

Кароче, я хочу сделать так что-бы когда я ставил карточку к RFID(arduino) в COM-порт(11) просто писалось 1 например, и Proccesing должен считывать данные и проверить ли это точно 1, эсли всё будет правильно тогда должен открыться файл access+.bat там я сделал так:

 

start C:\Users\Admin\Desktop\rfid\1.mp3
timeout 3
taskkill /IM wmplayer.exe

Пробывал уже 100 раз но всегда ошибка, кто поможет хотя-бы просто проверку в Proccesing, спасибо!!!!

 

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Nikolay.py пишет:

но всегда ошибка

Попробуй исправить то, что написано в ошибке. Должно помочь.

Nikolay.py
Offline
Зарегистрирован: 15.07.2020
ЭТО КОД PROCCESING

import processing.serial.*;

Serial serial; // создаем объект последовательного порта
String received; // данные, получаемые с последовательного порта

void setup()
{
  size(320, 120);
  String port = Serial.list()[0];
  serial = new Serial(this, port, 9600);
}

void draw() {

  if ( serial.available() > 0) { // если есть данные,
    // считываем их и записываем в переменную received
    received = serial.readStringUntil('\n');
    if (received == "1") {
      print(123);
    }
  }

  // Настройки для текста
  textSize(24);
  clear();
  fill(10, 10, 10);
  if (received != null) {
    if (received == "1") {
      print(123);
    }
    text(received, 10, 30);
  }
}

ЭТО АРДУИНО-КОД

#include <SPI.h>
#include <MFRC522.h>
 
#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN);   // создаем экземпляр MFRC522 instance.
 

void setup() 
{
  Serial.begin(9600);   // запускаем последовательную коммуникацию
  SPI.begin();          // инициализируем шину SPI
  mfrc522.PCD_Init();   // инициализируем MFRC522
  Serial.println("Approximate your card to the reader...");
  //  "Приложите карту к ридеру... "
  Serial.println();

}
void loop() 
{
  // ищем новые карты:
  if ( ! mfrc522.PICC_IsNewCardPresent()) 
  {
    return;
  }
  // выбираем одну из карт:
  if ( ! mfrc522.PICC_ReadCardSerial()) 
  {
    return;
  }
  // показываем UID на мониторе порта: 
  String content= "";
  byte letter;
  for (byte i = 0; i < mfrc522.uid.size; i++) 
  {
     content.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));
     content.concat(String(mfrc522.uid.uidByte[i], HEX));
  }
  content.toUpperCase();
  if (content.substring(1) == "F9 51 13 C9")
  //  впишите здесь UID тега, которому вы хотите дать доступ 
  {
    Serial.println("1");  //  "Доступ открыт"
    delay(2000);
  }else   
 {
    Serial.println("Доступ заборонено");  //  "Запрос на доступ отклонен"
  }
}

Смотри я ошибки исправил, но когда прикладываю карту ничего не происходит в Proccesing

 

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

Кароче, я хочу сделать так что-бы у меня бабла были полные карманы и чтобы мне все девки давали.

Пробывал уже 100 раз но всегда ошибка, кто поможет хотя-бы просто чтобы бабло в карманах шуршало, спасибо!!!!

b707
Онлайн
Зарегистрирован: 26.05.2017

Nikolay.py пишет:

Смотри я ошибки исправил, но когда прикладываю карту ничего не происходит в Proccesing

отключи пока процессинг нафиг, включи обычный монитор порта в Ардуино ИДЕ. Подключи свою ардуину, поднеси карточку к считывателю - в Мониторе порта что-нибудь появляется?

 

Nikolay.py
Offline
Зарегистрирован: 15.07.2020

b707 пишет:

Nikolay.py пишет:

Смотри я ошибки исправил, но когда прикладываю карту ничего не происходит в Proccesing

отключи пока процессинг нафиг, включи обычный монитор порта в Ардуино ИДЕ. Подключи свою ардуину, поднеси карточку к считывателю - в Мониторе порта что-нибудь появляется?

 

Да

b707
Онлайн
Зарегистрирован: 26.05.2017

Nikolay.py пишет:

Да

что?

Nikolay.py
Offline
Зарегистрирован: 15.07.2020

b707 пишет:

Nikolay.py пишет:

Да

что?

Приходит всё на ардуинку, всё данные. Мне помощь токо по коду нужна, типа как сделать проверку данных полученых с ардуинки

b707
Онлайн
Зарегистрирован: 26.05.2017

Nikolay.py пишет:

Приходит всё на ардуинку, всё данные.

ну значит все работает, расслабся

 

ЗЫ Коленька, тебе не приходит в голову, что те,  кому нужна помощь - так не отвечают? тебе лет-то сколько, 13-14. наверно?

Nikolay.py
Offline
Зарегистрирован: 15.07.2020

b707 пишет:

Nikolay.py пишет:

Приходит всё на ардуинку, всё данные.

ну значит все работает, расслабся

 

ЗЫ Коленька, тебе не приходит в голову, что те,  кому нужна помощь - так не отвечают? тебе лет-то сколько, 13-14. наверно?

Слушай я даже больше скажу мне 12, и я просто хотел попросить совет. 

b707
Онлайн
Зарегистрирован: 26.05.2017

Nikolay.py пишет:

Слушай я даже больше скажу мне 12, и я просто хотел попросить совет. 

Врешь , наверно.

если хотел совета - так отвечай нормально, когда спрашивают, чтобы не надо было клещами вытягивать.

Смотри - если у тебя в Монитор все правильно выводится - значит код для Ардуино верный. Ошибка в процессинге.

Я не особо знаток в процессинге, но вот строчка 11 мне категорически не нравится. С чего ты взял. что порт, к которому подключена ардуино - будет первым в списке?

ata3d
Offline
Зарегистрирован: 24.05.2017

Для приема данных в PROCCESING лучше использовать void serialEvent(Serial Port), а не вставлять его в draw. Если перейти в раздел PROCCESING можно обнаружить примеры такого кода.

Отладку стоит проводить по частям, удалив все лишнее. Например, сначала передавать из ардуины одно число и убедиться, что PROCCESING получает именно его, если нет то искать ошибку, затем передавать последовательность данных и т.д.

Кроме того, наверно, стоит прямо указывать порт -  COM6, а не ссылку на лист.