Leonardo+RDM6300-Компьютер

so_nooby
so_nooby аватар
Offline
Зарегистрирован: 24.09.2013

Вопрос не столько в имеющемся сканере RFID, сколько в остальном оборудовании. Вся толпа работает прекрасно, функционал выполняет, но мне нужно убрать из этой схемы компьютер. Пытаюсь найти инфу по интерфейсу UART, Serial и т.д., пока ни одного ответа. 

Сталкивался кто-нибудь с подобным?

Это вообще возможно?

 

 
#include <SoftwareSerial.h>
int input; 
String s;
 
SoftwareSerial RFIDSerial(0, 1); // RX, TX
 
void setup() 
{ 
  // Очищаем буфер 
  Serial.flush(); 
  // Устанавливаем скорость работы с портом 
  Serial.begin(9600); 
  // Устанавливаем скорость работы с модулем RDM630 
  RFIDSerial.begin(9600); 
  //s=""; 
}
 
void loop() 
{ 
  // если есть данные, то 
  if (RFIDSerial.available()) { 
    // читаем блок данных с модуля RDM630 и заносим их в переменную input 
    input = RFIDSerial.read(); 
    // присваиваем все считанные в переменную input значения переменной s, так как за 1 цикл loop мы получаем 1 значение, а их 12   
    s+=input;  // то же самое, что и s=s+input; 
    // если длинна кода равна 26 символам (в памяти чипа можно разместить 26 байт информации), то 
    if (s.length()==26) { 
      // выводим данные 
      Serial.println(s); 
      // очищаем переменную 
      s=""; 
    } 
  } 
}

 

maksim
Offline
Зарегистрирован: 12.02.2012

so_nooby пишет:
Вся толпа работает прекрасно, функционал выполняет, но мне нужно убрать из этой схемы компьютер. 
Так уберите.

so_nooby пишет:
Пытаюсь найти инфу по интерфейсу UART, Serial и т.д.,
Да ладно

so_nooby пишет:
пока ни одного ответа. 
Потому что нет ни одного вопроса.

so_nooby пишет:
Сталкивался кто-нибудь с подобным?
С чем?

so_nooby пишет:
Это вообще возможно?
Что?

Вы хотябы сформулируйте описание того что хотите получить в итоге.

Клапауций
Offline
Зарегистрирован: 10.02.2013

maksim пишет:

Что?

я знаю! - сканер подключить к принтеру.

so_nooby
so_nooby аватар
Offline
Зарегистрирован: 24.09.2013

очень смешно. гугл запрос я пробывал. опишу подробнее. леонардо+сканер+комп работают как надо. скетч выше. НО, мне не нужен компьютер. как только отключаю его, сканер перестают работать(сигнальный диод во время успешного чтения не моргает). ВНИМАНИЕ ВОПРОС: Как убрать комп из схемы, чтобы работо способность не страдала.

maksim
Offline
Зарегистрирован: 12.02.2012

Какая еще работоспособность??? Еще раз повторяю - сформулируйте описание того что хотите получить в итоге.

so_nooby
so_nooby аватар
Offline
Зарегистрирован: 24.09.2013

ну как вам сказать. у rfid сканера только одна способность. считывать rfid метки. так вот он перестает из считывать, как только комп отключаю

Клапауций
Offline
Зарегистрирован: 10.02.2013

so_nooby пишет:

очень смешно. гугл запрос я пробывал. опишу подробнее. леонардо+сканер+комп работают как надо. скетч выше. НО, мне не нужен компьютер. как только отключаю его, сканер перестают работать(сигнальный диод во время успешного чтения не моргает). ВНИМАНИЕ ВОПРОС: Как убрать комп из схемы, чтобы работо способность не страдала.

приму в дар не нужный компьютер или поменяю на LCD-индиктор!

maksim
Offline
Зарегистрирован: 12.02.2012

so_nooby пишет:

так вот он перестает из считывать, как только комп отключаю

С сего вы это взяли? 

so_nooby
so_nooby аватар
Offline
Зарегистрирован: 24.09.2013

ХОЧУ ПОЛУЧИТЬ В ИТОГЕ ЛЕОНАРДУ С RFID СКАНЕРОМ СЧИТЫВАЮЩУЮ МЕТКИ БЕЗ КОМПА!!!!! 

с компом все прекрасно, без компа не работает ничего. куда яснее?!?

so_nooby
so_nooby аватар
Offline
Зарегистрирован: 24.09.2013

сигнальный диод перестает моргать. вот с чего. 

so_nooby
so_nooby аватар
Offline
Зарегистрирован: 24.09.2013

какой именно индикатор? датащит в студию

maksim
Offline
Зарегистрирован: 12.02.2012

so_nooby пишет:

ХОЧУ ПОЛУЧИТЬ В ИТОГЕ ЛЕОНАРДУ С RFID СКАНЕРОМ СЧИТЫВАЮЩУЮ МЕТКИ БЕЗ КОМПА!!!!! 

с компом все прекрасно, без компа не работает ничего. куда яснее?!?

Что ничего?

so_nooby
so_nooby аватар
Offline
Зарегистрирован: 24.09.2013

вы издеваетесь?

метки перестают считываться.

Dimsan
Offline
Зарегистрирован: 25.10.2013

Какие функции в этой системе выполняет компьютер? Ничего не понятно. Может быть всё питается от USB компьютера?.. 

Клапауций
Offline
Зарегистрирован: 10.02.2013

я, думаю, что как-то так должно работать без компьютера

 

so_nooby
so_nooby аватар
Offline
Зарегистрирован: 24.09.2013

нет)

по скетчу, леонардо выводит на компьютер код с rfid метки. эта функция мне не нужна. мне просто нужно чтобы она считывала(и потом уже, когда все это получится, например, открывала замок поворотом сервы и т.д.). питается от бп. я не полный идиот.вроде.

so_nooby
so_nooby аватар
Offline
Зарегистрирован: 24.09.2013

да. вот только не получается у меня скетч запустить, который в комментариях к этой картинке, на сайте, с которого вы ее спилили.

maksim
Offline
Зарегистрирован: 12.02.2012

Во-первых, форум это не чат и если вы собираетесь строчить каждое предложение в отдельном посте, не удивляетесь что ветка будет выглядеть как диалог слепова с глухим. Пост #11 был написан в ответ на #8 ,то есть я увидел посты #9 и #10 только после того как напмсал пост. Так что издеваетесь вы сами над собой.

Во-вторых, где пересдает мигать светодиод? На считывателе? На дуине? На мониторе? На холодильнике? На стиральной машинке?

maksim
Offline
Зарегистрирован: 12.02.2012

so_nooby пишет:

нет)

по скетчу, леонардо выводит на компьютер код с rfid метки. эта функция мне не нужна. мне просто нужно чтобы она считывала(и потом уже, когда все это получится, например, открывала замок поворотом сервы и т.д.). питается от бп. я не полный идиот.вроде.

Ваш код кроме того как передаывать данные больше ничего не делает, поэтому как вы определяете "работоспособность" кода для современной науки остается по сей день неизвестным.

so_nooby
so_nooby аватар
Offline
Зарегистрирован: 24.09.2013

maksim пишет:

 где пересдает мигать 

узбагойтесь.вы правы. обычно сигнальные диоды в схеме "ардуино+компьютер+rfid сканер" расположены именно на стиральной машине. я такой не имею, поэтому пришлось переставить на пылесос.

а если по делу, то диод может быть либо на дуинке, либо на считывателе, либо на компе. на комп я его не ставил, на считывателе только диод "power". наш победитель-дуинка

дико извиняюсь, допилил код, а сюда вставил прошлый. не заметил

допиленный кусок

 if (s.length()==26) { 
      // выводим данные 
        digitalWrite(13, HIGH);   // зажигаем светодиод
  delay(1000);              // ждем секунду
  digitalWrite(13, LOW);    // выключаем светодиод
  delay(1000);
  Serial.print(s);
      s=""; 
    } 

 

Клапауций
Offline
Зарегистрирован: 10.02.2013

so_nooby пишет:

нет)

по скетчу, леонардо выводит на компьютер код с rfid метки. эта функция мне не нужна. мне просто нужно чтобы она считывала(и потом уже, когда все это получится, например, открывала замок поворотом сервы и т.д.). питается от бп. я не полный идиот.вроде.

а, кто идиот полный тогда?

не нужен компьютер - печатайте не в компорт, а в индикатор.

не нужно печатать в индикатор - делайте что-то при совпадении полученных данных.

при чём здесь комп? - он здесь не при чём, если только часть халабуды от USB не запитана.

so_nooby
so_nooby аватар
Offline
Зарегистрирован: 24.09.2013

Клапауций пишет:

 

не нужно печатать в индикатор - делайте что-то при совпадении полученных данных.

 

НЕТ ПОЛУЧЕННЫХ ДАННЫХ! 

перестают получаться, я же именно это и пишу!

maksim
Offline
Зарегистрирован: 12.02.2012

Ну вот уже что то.

so_nooby пишет:

я не полный идиот.вроде.

Хотите правду?

Из описания Leonardo:

Светодиоды RX и TX на платформе будут мигать при передаче данных через USB подключение (но не при использовании последовательной передачи через выводы 0 и 1). 

 

so_nooby
so_nooby аватар
Offline
Зарегистрирован: 24.09.2013

юмор так и прет. все это я уже читал. и я уже написал, кстати ВАМ В ОТВЕТ, что не эти диоды являются для меня сигнальными. а 13-ый пин, диод, что на плате!

maksim
Offline
Зарегистрирован: 12.02.2012

so_nooby пишет:

НЕТ ПОЛУЧЕННЫХ ДАННЫХ! 

перестают получаться, я же именно это и пишу!

— Видишь суслика?

— Нет!

И я не вижу. А он есть!

 
Клапауций
Offline
Зарегистрирован: 10.02.2013

so_nooby пишет:

НЕТ ПОЛУЧЕННЫХ ДАННЫХ! 

перестают получаться, я же именно это и пишу!

можно я буду считаться идиотом?

28       // выводим данные
29       Serial.println(s);

это куда данные выводятся?

so_nooby
so_nooby аватар
Offline
Зарегистрирован: 24.09.2013

maksim пишет:

— Видишь суслика?

— Нет!

И я не вижу. А он есть!

 

спасибо. теперь все заработало!

maksim
Offline
Зарегистрирован: 12.02.2012

so_nooby пишет:

юмор так и прет. все это я уже читал. и я уже написал, кстати ВАМ В ОТВЕТ, что не эти диоды являются для меня сигнальными. а 13-ый пин, диод, что на плате!

Еще раз вам говорю это не чат. Вы отредактировали сообщение до того как отредактировать не было ни слова про 13 светодиод.

maksim
Offline
Зарегистрирован: 12.02.2012

Код полностью покажите.

so_nooby
so_nooby аватар
Offline
Зарегистрирован: 24.09.2013

конкретно в этой строчке они выводятся на комп. но этого мне не нужно, хоть и строчку эту не убрал. и без нее пробывал, диод не мигает

so_nooby
so_nooby аватар
Offline
Зарегистрирован: 24.09.2013

да. за что там же и извинился. 

so_nooby
so_nooby аватар
Offline
Зарегистрирован: 24.09.2013
#include <SoftwareSerial.h>

int input; 
String s;


SoftwareSerial RFIDSerial(10, 11); // RX, TX

void setup() 
{ 
  // Очищаем буфер 
  Serial.flush(); 
  // Устанавливаем скорость работы с портом 
  Serial.begin(9600); 
  // Устанавливаем скорость работы с модулем RDM630 
  RFIDSerial.begin(9600); 
  s=""; 
  pinMode(13, OUTPUT);
}

void loop() 
{ 
  // если есть данные, то 
  if (RFIDSerial.available() > 0) { 
    // читаем блок данных с модуля RDM630 и заносим их в переменную input 
    input = RFIDSerial.read(); 
    // присваиваем все считанные в переменную input значения переменной s, так как за 1 цикл loop мы получаем 1 значение, а их 12   
    s+=input;  // то же самое, что и s=s+input; 
    // если длинна кода равна 26 символам (в памяти чипа можно разместить 26 байт информации), то 
    if (s.length()==26) { 
       
        digitalWrite(13, HIGH);   // зажигаем светодиод
        delay(1000);              // ждем секунду
        digitalWrite(13, LOW);    // выключаем светодиод
        delay(1000);
        s=""; 
    } 
  } 
}

 

maksim
Offline
Зарегистрирован: 12.02.2012

Подключите считыватель к 0 и 1 выводам дуины. И опишите что происходит так:

String s = "";

void setup() 
{ 
  Serial.begin(9600); 
  Serial1.begin(9600);
  pinMode(13, OUTPUT);
}

void loop() 
{  
  if (Serial1.available()) 
  {
    s += (char)Serial1.read();   // то же самое, что и s=s+input; 
    if (s.length() == 26) 
    { 
      digitalWrite(13, HIGH);   // зажигаем светодиод
      delay(500);              // ждем секунду
      digitalWrite(13, LOW);    // выключаем светодиод
      Serial.println(s);
      s=""; 
    } 
  } 
}

 

so_nooby
so_nooby аватар
Offline
Зарегистрирован: 24.09.2013

диод на 13-ом моргает. но решил посмотреть что пишет комп

93    4E00ABF    4E00ABF38593
4E00ABF38593 4E00ABF38593
4E00ABF38593      4E00ABF385
93   4E00ABF38593   4E00ABF3
8593   4E00ABF38593   4E00AB
F38593   4E00ABF38593   4E00
ABF38593   4E00ABF38593   4E
00ABF38593   4E00ABF38593
 
каждая строчка(!!!) это 1 метка. так получается? хотя по идее "4E00ABF38593" это одна метка. тогда откуда вообще "4E00ABF" из первой строки?
о каком "действии при совпадении данных"может идти речь, если данные, на мой взгляд, корявенькие
 
Клапауций
Offline
Зарегистрирован: 10.02.2013

so_nooby пишет:

о каком "действии при совпадении данных"может идти речь, если данные, на мой взгляд, корявенькие

при чём здесь компьютер без которого ничего не работает? - с компьютером тоже не работает.

вывод - компьютер не нужен.

проблема решена.

so_nooby
so_nooby аватар
Offline
Зарегистрирован: 24.09.2013

вот куда бы я без вашего участия! спасибо добрый человек!

maksim
Offline
Зарегистрирован: 12.02.2012

Как работать с данными это уже вопрос второй (кстати корявенький алгоритм приема ваш, не мой). Тем по этому поводу здесь на форуме пруд-пруди. Данные приходят без компа? светодиод мигает без компа? Вопрос решен?

so_nooby
so_nooby аватар
Offline
Зарегистрирован: 24.09.2013

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

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

Жаль я с попкорном опоздал, столько интересного пропустил :(

com
Offline
Зарегистрирован: 06.09.2013

kisoft пишет:

Жаль я с попкорном опоздал, столько интересного пропустил :(

не переживайте, ведь будет вторая серия:

so_nooby пишет:

так что в ближайшее время задам вопрос...

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

kisoft пишет:

Жаль я с попкорном опоздал, столько интересного пропустил :(

и я опаздал.. ждем вторую серию этого блокбастера.. думаю дальше будет что то типа убрал светодиод в соседнюю комнату и теперь не видно мигает он или нет. что делать?

so_nooby
so_nooby аватар
Offline
Зарегистрирован: 24.09.2013

да да да

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

 

Клапауций
Offline
Зарегистрирован: 10.02.2013

so_nooby пишет:

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

но, теперь то у тебя есть опыт? - можно поугарать над человеком?

so_nooby
so_nooby аватар
Offline
Зарегистрирован: 24.09.2013

опыт чего? проблема была решена полным сносом кода, т.к. ошибку найти не смогли(ну кроме, ошибка-код весь целиком, конечно).

это может и нормально, но опыта не прибавило. я сообщу, когда можно будет

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

хмм а что было первично? отсутсвие опыта или проблемы?

Клапауций
Offline
Зарегистрирован: 10.02.2013

so_nooby пишет:

т.к. ошибку найти не смогли

так и говори - несправились, невзирая на опыт

so_nooby пишет:

я сообщу, когда можно будет

с нетерпением, сразу ржать начнём, как только дашь отмашку.

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Клапауций пишет:

с нетерпением, сразу ржать начнём, как только дашь отмашку.

ждем 3 зеленых свистка

so_nooby
so_nooby аватар
Offline
Зарегистрирован: 24.09.2013

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

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

so_nooby пишет:

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

гениально! дедуктивный метод? Шерлок рулит?

Клапауций
Offline
Зарегистрирован: 10.02.2013

so_nooby пишет:

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

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

so_nooby
so_nooby аватар
Offline
Зарегистрирован: 24.09.2013

Продолжаем разговор...

скетч работает, но данные поступают потоком. Например при одном прикладывании ключа, он считывается от 2 до 15 раз. Следовательно дальнейшие действия выполняются столько же. Например диод мигает 15 раз от 1 прикладывания. Может быть это недостаток аппаратный самой платы ридера, может еще что-то. Вопрос в том, как это ограничить программно. Как бы не считывать заставить сложно, но моргать он должен 1 раз за 1 прикладывание. Может ограничение по времени или еще что-то ввести. Пробывал delay(), не помогла. Начинает моргать 15 раз с паузой. Давайте по традиции поугараете пол часика, а потом дельный совет. Можно сразу совет.

maksim пишет:

Подключите считыватель к 0 и 1 выводам дуины. И опишите что происходит так:

String s = "";

void setup() 
{ 
  Serial.begin(9600); 
  Serial1.begin(9600);
  pinMode(13, OUTPUT);
}

void loop() 
{  
  if (Serial1.available()) 
  {
    s += (char)Serial1.read();   // то же самое, что и s=s+input; 
    if (s.length() == 26) 
    { 
      digitalWrite(13, HIGH);   // зажигаем светодиод
      delay(500);              // ждем секунду
      digitalWrite(13, LOW);    // выключаем светодиод
      Serial.println(s);
      s=""; 
    } 
  } 
}