Всё что нужно сделать для работы платы Arduino в качестве USB-UART преобразователя, это отключить её контроллер от шины UART или заставить его не реагировать на сигналы проходящие по этой шине. Сделать это можно соединив вывод RESET с выводом GND платы Arduino.
Теперь плату Arduino можно подключить к USB порту компьютера, а внешние устройства к выводам TX и RX платы Arduino (обычно это выводы 0 и 1). Обратите внимание на то, что выводы устройств подключаются к плате, не TX к RX, RX к TX, а TX к TX, RX к RX (так как вывод TX чипа преобразователя на плате Arduinoподключён к выводу RX самой платы, а вывод RX чипа подключён к выводу TX платы).
Я Вам давал документацию, где чёрным по белому написано, что если SET на земле, то это AT команды, а если на питании, то это совсем другой режим. Вы читали? Про этот же SET Вам писали кроме меня ещё два человека. А Вы опять "wake пишет". Ну идите к вейку и выносите ему мозги, чего Вы сюда-то пришли, если не слушаете что Вам говорят и не читаете документацию, которую Вам дают?
На Вашей картинке SET в воздухе.
Далее, в той же документации написано, и здесь уже двое Вам писали про \r\n, но Вы и это игнорируете.
У меня ощущение, что мы тут зря клавиатуру протираем - Вам пофиг. что Вам пишут.
да я уже подсоеденил к минусу но все это не помогает
а как будет выглядет команда AT+BAUD с \r\n напиши
Я Вам что писал в посте #17? Или Вы делаете, что говорят, или я отваливаю.
На Ваших картинках нет ни подключения SET, ни преобразователей уровня. Про аппаратный сериал я Вас задолбался спрашивать. Вы не отвечаете на вопросы - только плачетесь, что "всё пропало", я уже устал и мне надоело.
Попробую в последний раз. Если чего, идите к вейку.
Итак,
1. соединяете ВСЁ ТОЧНО КАК В ДОКУМЕНТАЦИИ безо всяких вейков и через преобразователи уровней. RX и TX подключаете к аппаратному сериалу (к пинам 0 и 1).
2. Пишете скетч с ОДНИМ сериалом примерно такой
Если через секунду ардуина заморгала блинком, значит модуль ей ответил - все в порядке.
Если нет, меняете число 9600 в скетче на другие распространенные скорости (115200, 57600 и т.д. смотрите скорости в терминале порта). И для каждой скорости проделываете тот же тест.
Если на какой-то скорости модуль ответит - запомните её. Значит, Ваш модуль работает на этой скорости.
Если совсем ничего ни на какой скорости, выкладываете фото на которых видно что. куда и как соединено и свой (копипастом) скетч.
Интересная битва тут. После радостного изучения и использования блютуз модуля я попробовал "ESP 100 рублёвый". Разочаровал он меня на предмет дальности и устойчивости. Так вот там одна из спотыкалок у меня была - питание модуля от УНО (вроде у автора утром это проскакивало в сообщениях). Может и тут так?
Если Вы отсоединил ПОСЛЕ того как замигало, так так и должно быть. там же тупой блинк чего ему не мигать? Вопрос в том, начнёт ли она мигать. Если начала, то всё - дальше просто тупой блинк.
Отлично, теперь запускает такой тест. Модуль на пинах 5 и 6!!! А аппаратный сериал будет печатать в окно монитора порта. USB при запуске НЕ ОТКЛЮЧАТЬ
Что выдаёт?
#include <SoftwareSerial.h>
static const int8_t rxPin = 5; // Замените на свой пин
static const int8_t txPin = 6; // Замените на свой пин
SoftwareSerial mySerial(rxPin, txPin);
void setup() {
Serial.begin(115200); // ВЫСТАВЬТЕ такую же скорость в окне монитора порта!!!
mySerial.begin(9600);
mySerial.print("AT+BAUD\r\n");
}
void loop() {
if (mySerial.available()) Serial.write(mySerial.read());
}
Предлагаю продолжить тему. Ибо на практике, добиться связи с модулем через АТ - это еще не передавать данные. И мой случай именно об этом.
Исходные данные: Оба JDY-40 подключены к arduino nano 328p с 5В логикой, без согласования уровней. Скетч на обоих одинаков, приведен ниже.
Питание 3.3В с ардуины. Подключение CS подтянут к земле, SET подтянут к 12 ноге и управляется из терминалки (при старте программы LOW). Терминалка настроена с переводом строки NL & CR, скорость 9600.
Пин SET по даташиту LOW уровень это AT команды, HIGH - передача данных. Если при LOW отправлять команды АТ, то приходят ответы. При HIGH ответов не приходит.
Пин CS - LOW уровень это модуль в работе, HIGH - идет спать. Если ногу CS сбросить с пина, то на ней срабатывает подтяжка HIGH, если вернуть обратно ногу ну МК к GND, то в терминал выводится сообщение Wake.
На обоих передатчиках выставлены одинаковые каналы, deviceID различны, остальное по умолчанию. Установлен режим обмена через UART - AT+CLSS Type default A0. То есть из терминалки оба модуля отвечают на АТ команды. Можно изменять параметры. Перевожу оба модуля в передачу, то есть пин SET устанавливаю HIGH. Далее через терминалку отправляю символы, но на терминалке другой ардуины ничего не вижу.
Где косяк? Что упустил из внимания?
/*
AT+BAUD baud rate default 9600
AT+RFID wirells id default 8899
AT+DVID device id default 1122
AT+RFC Channel (128 channel) defalut 001
AT+POWE Transmit power default +10db
AT+CLSS Type default A0
*/
#include <SoftwareSerial.h>
int gSetPin = 12;
int gTxPin = 10; //RX JDY40-10
int gRxPin = 9; //TX JDY40-9
SoftwareSerial BTSerial(gRxPin, gTxPin);
void setup() {
pinMode(gSetPin, OUTPUT);
delay(10);
digitalWrite(gSetPin, LOW);
delay(10);
BTSerial.begin(9600);
delay(100);
BTSerial.println("AT+RFC");// проверка отклика
delay(100);
Serial.begin(9600);
}
void loop() {
if (BTSerial.available()) {
char inByte= BTSerial.read();
Serial.print(inByte);
}
if (Serial.available()) {
char inByte= Serial.read();
BTSerial.print(inByte);
Serial.write(inByte);
// Меняем рабочий режим на режим АТ команд и обратно, в случае необходимости
if (inByte=='Y')
{
digitalWrite(gSetPin, HIGH);
Serial.println("WorkMode");
} else if (inByte=='Z')
{
digitalWrite(gSetPin, LOW);
Serial.println("ATMode");
}
}
}
По моей логике, перевод обоих из АТ команд в режим передачи и должно работать. Попробовал сейчас попеременно, один в АТ команду перевести, второй в режим передачи... Также никто ничего не принимает. Может у меня в скетче ошибка?
Добрый день . У меня два модуля JDY-40 . Хочу соединить их по com порту . Один модуль подключаю к компьютеру через преобразователь USB-COM (Rx-TX,Tx-Rx ,CS GND-GND ,VCC-+) .На второй модуль подаю питание , соединяю cs и gnd и соединяю Rx с Тх .В гипертерминале ставлю номер com порта первого модуля и пробую печатать . Ответа не приходит . Где ошибка?
У меня следующая ситуация . Хочу подключиться к блоку газового оборудования (ГБО) . Подключение делается через переходник USB - com (PL 2303 или FT 232) . Я хочу сделать тоже самое через JDY-40 . У меня получается устанвливать связь через блютуз (HC06,HC05) и через wifi (ESP8266).Но связь неустойчивая .
У меня получается переводить JDY-40 в режим АТ команд . До подключения к ГБО я хочу протестировать связь через гипертерминал. Для этого один JDY пдключаю к компьютеру следующим образом Rx - Тx ,Tx-Rx ,Cs и GNd- GND,VCC-3,3V . На втором JDY соединяю CS и GND-GND,VCC - 3,3V и соединяю между собой Rx Tx . В гипертерминале ставлю номер com порта первого и пытаюсь наладить связь .Ничего не выходит . Сам я не специалист , понимаю чта этот форум не на мою тему .Если возможно прошу объясниц "на пальцах" ,что я должен делать .
У меня следующая ситуация . Хочу подключиться к блоку газового оборудования (ГБО) . Подключение делается через переходник USB - com (PL 2303 или FT 232) . Я хочу сделать тоже самое через JDY-40 . У меня получается устанвливать связь через блютуз (HC06,HC05) и через wifi (ESP8266).Но связь неустойчивая .
У меня получается переводить JDY-40 в режим АТ команд . До подключения к ГБО я хочу протестировать связь через гипертерминал. Для этого один JDY пдключаю к компьютеру следующим образом Rx - Тx ,Tx-Rx ,Cs и GNd- GND,VCC-3,3V . На втором JDY соединяю CS и GND-GND,VCC - 3,3V и соединяю между собой Rx Tx . В гипертерминале ставлю номер com порта первого и пытаюсь наладить связь .Ничего не выходит . Сам я не специалист , понимаю чта этот форум не на мою тему .Если возможно прошу объясниц "на пальцах" ,что я должен делать .
Ну а что ты передаешь?Как ты пытаешся наладить связь? Может микрофон выдает низкую логическую еденицу?
попробывал отпровлять АТ команду AT+RFID нль но при передерговании CS
иногда пишет первую цифру другую
А пока, Паша у тебя есть USB <-> serial адаптер?
нет только заказал я тоже думаю что и в этом может быть толк
Всё что нужно сделать для работы платы Arduino в качестве USB-UART преобразователя, это отключить её контроллер от шины UART или заставить его не реагировать на сигналы проходящие по этой шине. Сделать это можно соединив вывод RESET с выводом GND платы Arduino.
Теперь плату Arduino можно подключить к USB порту компьютера, а внешние устройства к выводам TX и RX платы Arduino (обычно это выводы 0 и 1). Обратите внимание на то, что выводы устройств подключаются к плате, не TX к RX, RX к TX, а TX к TX, RX к RX (так как вывод TX чипа преобразователя на плате Arduino подключён к выводу RX самой платы, а вывод RX чипа подключён к выводу TX платы).
сделал так и о чудо
пишет
Wake
буду пробывать дальше
попробывал каманду AT+BAUD ноль
пишет Wake только при передерговании
какие будут мысли
Итак, существуют три простых способа использования платы Arduino в качестве преобразователя USB-UART.
Первый способ. Просто соединяем вывод RESET с землей (GND).
Второй способ. Убираем микроконтроллер Atmel.
Третий способ. Загружаем скетч.
Нижеприведенный скетч просто блокирует взаимодействие микроконтроллера с микросхемой FTDI.
попробывал каманду AT+BAUD ноль
пишет Wake только при передерговании
Ты CS и SET к GND подсоединил?
Ты CS и SET к GND подсоединил?
SET у него в воздухе, он писал об этом d #25.
Но это безнадёга, я ему схему подключения давал ещё в 12, отдельно про SET писал в 16. Сейчас уже 20 - клиника, в общем.
[/quote]
Ты CS и SET к GND подсоединил?
[/quote]
да
на форуме радиокот писали
Установил терминальную программу Termite и все заработало
у меня нет а проблема тажа
SET вообше можно на все полюса
подключать и в воздухе оставить
Я Вам давал документацию, где чёрным по белому написано, что если SET на земле, то это AT команды, а если на питании, то это совсем другой режим. Вы читали? Про этот же SET Вам писали кроме меня ещё два человека. А Вы опять "wake пишет". Ну идите к вейку и выносите ему мозги, чего Вы сюда-то пришли, если не слушаете что Вам говорят и не читаете документацию, которую Вам дают?
На Вашей картинке SET в воздухе.
Далее, в той же документации написано, и здесь уже двое Вам писали про \r\n, но Вы и это игнорируете.
У меня ощущение, что мы тут зря клавиатуру протираем - Вам пофиг. что Вам пишут.
да я уже подсоеденил к минусу но все это не помогает
а как будет выглядет команда AT+BAUD с \r\n напиши
Для это надо настроить терминальную программу. В Tera Term это делается так:
да я уже подсоеденил к минусу но все это не помогает
а как будет выглядет команда AT+BAUD с \r\n напиши
Я Вам что писал в посте #17? Или Вы делаете, что говорят, или я отваливаю.
На Ваших картинках нет ни подключения SET, ни преобразователей уровня. Про аппаратный сериал я Вас задолбался спрашивать. Вы не отвечаете на вопросы - только плачетесь, что "всё пропало", я уже устал и мне надоело.
Попробую в последний раз. Если чего, идите к вейку.
Итак,
1. соединяете ВСЁ ТОЧНО КАК В ДОКУМЕНТАЦИИ безо всяких вейков и через преобразователи уровней. RX и TX подключаете к аппаратному сериалу (к пинам 0 и 1).
2. Пишете скетч с ОДНИМ сериалом примерно такой
Перед заливкой скетча отключаете TX/RX модуля.
Заливаете скетч.
Отключаете USB
Подключаете RXT/TX модуля
Нажимаете кнопку Reset на ардуине.
Если через секунду ардуина заморгала блинком, значит модуль ей ответил - все в порядке.
Если нет, меняете число 9600 в скетче на другие распространенные скорости (115200, 57600 и т.д. смотрите скорости в терминале порта). И для каждой скорости проделываете тот же тест.
Если на какой-то скорости модуль ответит - запомните её. Значит, Ваш модуль работает на этой скорости.
Если совсем ничего ни на какой скорости, выкладываете фото на которых видно что. куда и как соединено и свой (копипастом) скетч.
скачал програму но не могу ничего отправить не пойму как
да программа на русском
Интересная битва тут. После радостного изучения и использования блютуз модуля я попробовал "ESP 100 рублёвый". Разочаровал он меня на предмет дальности и устойчивости. Так вот там одна из спотыкалок у меня была - питание модуля от УНО (вроде у автора утром это проскакивало в сообщениях). Может и тут так?
попробывал без конвертора но блинк пошел
что дальше?
Отлично, значит модуль жив и отвечает. На какой скорости?
как и писал 9600
там в мануале по умолчании 8899
Ну, если работает на 9600, то хорошо, но Вы запомните 8899 - попробуете и на этой скорости потом.
Пока же в моём скетче оставляем всё также, но заменяем на программный сериал.
И запускаете. Если блинкает (или не блинкает), тут же говорите мне, я пока здесь.
Отлично, значит модуль жив и отвечает.
но уно мигает после того как я отсоединяю RX TX
Если Вы отсоединил ПОСЛЕ того как замигало, так так и должно быть. там же тупой блинк чего ему не мигать? Вопрос в том, начнёт ли она мигать. Если начала, то всё - дальше просто тупой блинк.
Как со вторым тестом?
да все мигает
я оставил ваши пины
Как со вторым тестом?
все также как с первым работает
Отлично, теперь запускает такой тест. Модуль на пинах 5 и 6!!! А аппаратный сериал будет печатать в окно монитора порта. USB при запуске НЕ ОТКЛЮЧАТЬ
Что выдаёт?
получил в монитор порта +BAUD=4
Ну, Ваш модуль работает! Разумно отвечает на команду (что означает "4" см. по ссылке. что я давал, там написано в таблице, где описана команда BAUD).
Поздравляю!
Значит, всё окей? Ваш вопрос решён?
По-любому я убегаю, так что, если у Вас остались вопросы, пишите. но отвечу я только завтра.
Пока.
Поздравляю с Победой над модулем!
спасибо!
как и писал 9600
там в мануале по умолчании 8899
8899 это Wireless ID и к скорости порта никакого отношения не имеет.
Пипец... и бывают же такие...
У Евгения железные нервы, я бы еще на прошлой странице послал.
там в мануале по умолчании 8899
Вы невнимательно читаете. 8899 - совсем про другое. Про скорость передачи там написано (стр. 4)
Так что, то, что она Вам вернула 4 - означает 9600.
Спасибо ещё раз сегодня я во всём разобрался. Все работает. Просто я брал команды с переведенной страницы а надо оригинал. Ещё раз спасибо.
Предлагаю продолжить тему. Ибо на практике, добиться связи с модулем через АТ - это еще не передавать данные. И мой случай именно об этом.
Исходные данные: Оба JDY-40 подключены к arduino nano 328p с 5В логикой, без согласования уровней. Скетч на обоих одинаков, приведен ниже.
Питание 3.3В с ардуины. Подключение CS подтянут к земле, SET подтянут к 12 ноге и управляется из терминалки (при старте программы LOW). Терминалка настроена с переводом строки NL & CR, скорость 9600.
Пин SET по даташиту LOW уровень это AT команды, HIGH - передача данных. Если при LOW отправлять команды АТ, то приходят ответы. При HIGH ответов не приходит.
Пин CS - LOW уровень это модуль в работе, HIGH - идет спать. Если ногу CS сбросить с пина, то на ней срабатывает подтяжка HIGH, если вернуть обратно ногу ну МК к GND, то в терминал выводится сообщение Wake.
На обоих передатчиках выставлены одинаковые каналы, deviceID различны, остальное по умолчанию. Установлен режим обмена через UART - AT+CLSS Type default A0. То есть из терминалки оба модуля отвечают на АТ команды. Можно изменять параметры. Перевожу оба модуля в передачу, то есть пин SET устанавливаю HIGH. Далее через терминалку отправляю символы, но на терминалке другой ардуины ничего не вижу.
Где косяк? Что упустил из внимания?
Где косяк? Что упустил из внимания?
А принимает-то хто, если ты
По моей логике, перевод обоих из АТ команд в режим передачи и должно работать. Попробовал сейчас попеременно, один в АТ команду перевести, второй в режим передачи... Также никто ничего не принимает. Может у меня в скетче ошибка?
может.
На обоих передатчиках выставлены одинаковые каналы, deviceID различны,
Где косяк? Что упустил из внимания?
deviceID поставь одинаковые и пробуй. У меня сразу связь пошла.
Одним слушал сериал , а второй посылал тупо(в режиме А0 оба модуля,SET к плюсу, CS - на землю)
Связь есть через 3-4 стены на метров 15( с одного края квартиры до другого).
Так понимаю использовали подключение к ногам TX/ RX? Не SoftSerial?
Как подключены ноги tx-JDY <--> rx-ARDUINO? Или tx-tx, rx-rx - встречаются и такие приколы.
Скетчи для передатчика и слушающего можете привести?
Выставил deviceid равными, ноги подтянул SET +5, CS GND. Тишина.
Не помню каким скетчем проверял до этого. Сейчас проверил вот этим.
Залито для передачи в эфир в ардуину..
Приемник через USB-UART переходник без ардуины к компу. Включаем в ИДЕ сериал порт , на котором сидит USB-UART переходник и вуаля....
Потом , если надо ,меняем девайсы местами - проверить в обратную сторону связь.
Да , вы правильно поняли - передатчик подключен к выводам аппаратного сериала,питание- 3,3V
Подключил к cp2102 (usb-uart) и оно заработало!
Дальше переключил как обычно на ардуину к аппаратным serial. Тоже заработало.
Не понимаю, что произошло в тот раз и почему затупила схема.
Переключил на программные пины serial. Тоже заработало. Мистика.
Ну будем грешить на плохие контакты, хотя пересобирал схему несколько раз.
Спасибо за помощь!
Здравствуйте! Подскажите, почему мой модуль при подаче на него АТ команды плюется в терминал каракулями ?
Скорости не совпадают?
Добрый день . У меня два модуля JDY-40 . Хочу соединить их по com порту . Один модуль подключаю к компьютеру через преобразователь USB-COM (Rx-TX,Tx-Rx ,CS GND-GND ,VCC-+) .На второй модуль подаю питание , соединяю cs и gnd и соединяю Rx с Тх .В гипертерминале ставлю номер com порта первого модуля и пробую печатать . Ответа не приходит . Где ошибка?
Ответа не приходит . Где ошибка?
В любом случае, ошибка в коде. Или ДНК или секретной программы.
Ты можешь нормально объяснить , что нужно сделать , чтобы установить связь по com порту , если конечно знаешь ?
Естественно, я не могу абьяснить. Клапа на этом форуме все шары хрустальные перебил, поэтому я не вижу ни твою схему, ни код.
Ты можешь нормально объяснить , что нужно сделать , чтобы установить связь по com порту
Я могу - нужно всё правильно соединить и залить правильную программу.
Как ты там соединил и что там у тебя за программа знаешь только ты, но, коль не работает, - значит что-то неправильно.
У меня следующая ситуация . Хочу подключиться к блоку газового оборудования (ГБО) . Подключение делается через переходник USB - com (PL 2303 или FT 232) . Я хочу сделать тоже самое через JDY-40 . У меня получается устанвливать связь через блютуз (HC06,HC05) и через wifi (ESP8266).Но связь неустойчивая .
У меня получается переводить JDY-40 в режим АТ команд . До подключения к ГБО я хочу протестировать связь через гипертерминал. Для этого один JDY пдключаю к компьютеру следующим образом Rx - Тx ,Tx-Rx ,Cs и GNd- GND,VCC-3,3V . На втором JDY соединяю CS и GND-GND,VCC - 3,3V и соединяю между собой Rx Tx . В гипертерминале ставлю номер com порта первого и пытаюсь наладить связь .Ничего не выходит . Сам я не специалист , понимаю чта этот форум не на мою тему .Если возможно прошу объясниц "на пальцах" ,что я должен делать .
У меня следующая ситуация . Хочу подключиться к блоку газового оборудования (ГБО) . Подключение делается через переходник USB - com (PL 2303 или FT 232) . Я хочу сделать тоже самое через JDY-40 . У меня получается устанвливать связь через блютуз (HC06,HC05) и через wifi (ESP8266).Но связь неустойчивая .
У меня получается переводить JDY-40 в режим АТ команд . До подключения к ГБО я хочу протестировать связь через гипертерминал. Для этого один JDY пдключаю к компьютеру следующим образом Rx - Тx ,Tx-Rx ,Cs и GNd- GND,VCC-3,3V . На втором JDY соединяю CS и GND-GND,VCC - 3,3V и соединяю между собой Rx Tx . В гипертерминале ставлю номер com порта первого и пытаюсь наладить связь .Ничего не выходит . Сам я не специалист , понимаю чта этот форум не на мою тему .Если возможно прошу объясниц "на пальцах" ,что я должен делать .
Ну а что ты передаешь?Как ты пытаешся наладить связь? Может микрофон выдает низкую логическую еденицу?