Подключение сканера Штрих-Кода по RS232
- Войдите на сайт для отправки комментариев
Втр, 05/05/2015 - 11:06
Здравствуйте!
Есть Мега, RS232 шилд ( http://www.seeedstudio.com/wiki/RS232_Shield ) и сканер ШК с разъемом RS232 ( http://alexbirukov.ru/files/docs/1c/ls2208ug_rus.pdf ).
Сканер с внешним питанием.
Есть тестовый код (ниже).
Распайка разъема Ардуино-Сканер - 1-в-1.
Сканер инициализируется, светит, о сканировании пищит.
Но в Serial.print ничего не уходит.
Т.е, скан есть - сообщения нет.
Подскажите, в чем проблема? Может кто сталкивался с подобным?
#include <SoftwareSerial.h> SoftwareSerial mySerial(6, 7); // RX, TX void setup() { // Open serial communications and wait for port to open: Serial.begin(9600); while (!Serial) { ; // wait for serial port to connect. Needed for Leonardo only } Serial.println("Goodnight moon!"); // set the data rate for the SoftwareSerial port mySerial.begin(9600); mySerial.println("Hello, world?"); } void loop() // run over and over { if (mySerial.available()) Serial.write(mySerial.read()); if (Serial.available()) mySerial.write(Serial.read()); }
Премычки на шилде как стоят?
rx - 6
tx - 7
в коннекторе подключены 5-земля, rx-tx 2-3 перекрещены
К компу пробовали сканер подключать? Данные в порт идут?
да, идут
Так куда сканер заведен на ардуине: на softwareserial или на железный?
На какой скорости и с какими настройками сканер работает?
сканер подключен к ардуине чз rs232_shield
код к шилду - сверху.
Если сканировать что-то - сканер пищит ОК, лампочка RX на шилде моргает (принял что-то). Но в ардуину ничего не падает...
Какая версия IDE?
Проверьте работоспособность шилда. Для этого залейте пример Blink (что бы освободить UART) и поставьте перемычки 0 - RX, 1 - TX.
На пины какие подключено что?
Еще раз, на какой скорости работает сканер?
На пины какие подключено что?
Еще раз, на какой скорости работает сканер?
Зачем вы вообще используете софтовый UART, если на Меге 4 аппаратных? И уберите строку
mySerial.println(
"Hello, world?"
);
какие нибудь из букв могут воспримниматься сканером как команды.В первом посте я вижу запуск порта на 9600 и ни слова о скорости, на которой работает сканер.
А софтовый порт там юзется скорее всего из-за того, что шилд в пины аппаратных тупо не попадает.
Считаете, что ТС выставляет скорость порта на компе одну и видит данные, а на дуине ставит другую? По умолчанию у сканера скорость 9600.
Для этого существует паяльник.
Я подключал RS232 и тоже видел "данные"
Подключал устройство, которое работает на 9600 к порту на разных скоростях и тоже видел "данные".
Считаете, что ТС не может отличить мусор от номера штрих-кода?
Я любого вопрошающего по-умолчанию считаю за идиота и спрашиваю всё, о чем не написано в описании проблемы.
Если в результате общения с Вами проблема "идиота" будет решина - ок. Иначе - по-умолчанию можно считать вас.
Проверьте работоспособность шилда. Для этого залейте пример Blink (что бы освободить UART) и поставьте перемычки 0 - RX, 1 - TX.
Запускаете монитор порта, если данных нет, попробуйте поменять местами перемычки 1 - RX, 0 - TX (мало ли китайцы чего напутали). Если и после этого не будет данных значит какие то проблемы с шилдом.
Разобрался!!!
проблема, аналогичная подключению WiFly к Arduino Mega.
На меге порты 2,3 как-то особенно используются. и необходимо соплями делать прокидки 2-10, 3-11. В коде указывать 10,11. В этом случае WiFly поднялся на Arduino Mega.
Сейчас так-же прокинул порт. Все заработало.
2 Radjah - "идиоты" сами решают проблемы. Меняйте ник на свое "умолчание" ))
На меге порты 2,3 как-то особенно используются. и необходимо соплями делать прокидки 2-10, 3-11. В коде указывать 10,11. В этом случае WiFly поднялся на Arduino Mega.
Прокиньте лучше проводки на хардовый уарт, ибо программный уарт это костыль.
Прокинул хардовый уарт. Счастье настало!