Сканер баркода и штрихкода - проблемы с подключением
- Войдите на сайт для отправки комментариев
Втр, 22/05/2018 - 15:01
Здравствуйте! Приобрел сканер на али. Протестировал по проводу USB, который шел в комплекте: открыл блокнот - сканирование успешно прошло.
Теперь хотел с помощью библиотеки SoftwareSerial считывать данные.
Для этого на сканере есть точно такая же колодка с UART
Будучи в трезвом уме и здравой памяти, подключаю так:
Сканер UNO
5v 5v
gnd gnd
tx 3pin
rx 2pin
Загружаю скетч (стандартный)
/*
Software serial multple serial test
Receives from the hardware serial, sends to software serial.
Receives from software serial, sends to hardware serial.
The circuit:
* RX is digital pin 10 (connect to TX of other device)
* TX is digital pin 11 (connect to RX of other device)
Note:
Not all pins on the Mega and Mega 2560 support change interrupts,
so only the following can be used for RX:
10, 11, 12, 13, 50, 51, 52, 53, 62, 63, 64, 65, 66, 67, 68, 69
Not all pins on the Leonardo and Micro support change interrupts,
so only the following can be used for RX:
8, 9, 10, 11, 14 (MISO), 15 (SCK), 16 (MOSI).
created back in the mists of time
modified 25 May 2012
by Tom Igoe
based on Mikal Hart's example
This example code is in the public domain.
*/
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3); // 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 native USB port 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 tx не могают при сканировании. Что я сделал не так?


rx tx местами поменяйте, их нужно подключать зеркально
rx tx местами поменяйте, их нужно подключать зеркально
Спаисибо за ответ. Прежде чем сюда написать, я раз 100 менял провода местами. И вот прямо сейчас еще раз поменял. Толку ноль. Есть еще идеи?
rx tx местами поменяйте, их нужно подключать зеркально
Оказывается в этой херне есть доки по КОНФИГУРИРОВАНИЮ =)
https://www.dropbox.com/sh/buysgr2aeutuub3/AADsvupiGseFm-6IowMBWGCOa?dl=0
Спаисибо за ответ. Прежде чем сюда написать, я раз 100 менял провода местами. И вот прямо сейчас еще раз поменял. Толку ноль. Есть еще идеи?
Я не генерю никаких"идей" - а лишь реагирую на вашу информацию. В первом сообщении вы указали, как подключили модуль - и подключили его неверно, только и всего. О том, что вы его 100 раз подключали, в сообщении не было.
"Других идей" у меня нет, да и если б были - не очень охота их высказывать.
Код у вас интересный. Вы "hello world" в сканер посылаете - думаете, он ответит?
Ну, вообще, вменяемый сканер переключает режимы работы / интерфейсы при сканировании специального ШК, который напечатан в книжке, идущей в комплекте.
Ну, вообще, вменяемый сканер переключает режимы работы / интерфейсы при сканировании специального ШК, который напечатан в книжке, идущей в комплекте.
точно, что-то из головы вылетело.
Сканер ШК - весьма сложная умная штука, даже в самых простых китайских моделях десятки параметров настройки - в первую очередь тип кодирования, префиксы-суффиксы, табличная замена символов и тд... И настраиваются они, как правило, считыванием серсисных ШК.
Код у вас интересный. Вы "hello world" в сканер посылаете - думаете, он ответит?
Не ответит, нужно "hello scanner" посылать :)
Никогда не понимал, зачем злится и язвить в ответ. Я благодарен вам за помощь, честно. На форумах впринципе мало кто кому помогает или отвечает. А вы вот, помогаете)
В моем сообщении выше не было никакого подтекста, который мог бы вас задеть.
Я не генерю никаких"идей" - а лишь реагирую на вашу информацию. В первом сообщении вы указали, как подключили модуль - и подключили его неверно, только и всего. О том, что вы его 100 раз подключали, в сообщении не было.
"Других идей" у меня нет, да и если б были - не очень охота их высказывать.
Код у вас интересный. Вы "hello world" в сканер посылаете - думаете, он ответит?
Да, не, этот пример я взял с офф сайта. Ничего он не ответит, конечно же, но и работать от этого не перестанет) Оказывается эти сканеры программируются считыванием с мануала баркодов.
Ну, вообще, вменяемый сканер переключает режимы работы / интерфейсы при сканировании специального ШК, который напечатан в книжке, идущей в комплекте.
Да, переключает, только доки вот нарыл в инете недавно. Переключил режим работы на uart
И скорость посмотрите заодно
#include <SoftwareSerial.h> String resp; int i = 0; SoftwareSerial mySerial(2, 3); // 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 native USB port only } mySerial.begin(9600); } void loop() { // run over and over while (mySerial.available()) { resp += char(mySerial.read()); byte b = mySerial.read(); if (i == 9) { Serial.println(resp + " "+ i); resp = ""; i = 0; } i++; } }Теперь все работает) Непонятно только то, как определить, что байт последний.
Теперь все работает) Непонятно только то, как определить, что байт последний.
для этого в считывателе настраивается т.н. "суффикс" - символ или комбинация символов, которые он будет отсылать после прочитанного кода