JDY-40 2.4G подключение

pacha74
Offline
Зарегистрирован: 12.07.2016

попробывал отпровлять АТ команду AT+RFID нль но при передерговании CS

иногда пишет первую цифру другую

pacha74
Offline
Зарегистрирован: 12.07.2016

asam пишет:

 

А пока, Паша у тебя есть USB <->  serial адаптер? 

нет только заказал я тоже думаю что и в этом может быть толк

pacha74
Offline
Зарегистрирован: 12.07.2016

Всё что нужно сделать для работы платы 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

буду пробывать дальше

pacha74
Offline
Зарегистрирован: 12.07.2016

попробывал каманду AT+BAUD ноль

пишет Wake только при передерговании 

какие будут мысли

 
pacha74
Offline
Зарегистрирован: 12.07.2016

Итак, существуют три простых способа использования платы Arduino в качестве преобразователя USB-UART.

 

Первый способ. Просто соединяем вывод RESET с землей (GND).

 

Второй способ. Убираем микроконтроллер Atmel.

 

Третий способ. Загружаем скетч.

 

Нижеприведенный скетч просто блокирует взаимодействие микроконтроллера с микросхемой FTDI.

void setup(){
  pinMode(0,INPUT);
  pinMode(1,INPUT);
}
void loop(){
}

 

 

asam
asam аватар
Offline
Зарегистрирован: 12.12.2018

pacha74 пишет:

попробывал каманду AT+BAUD ноль

пишет Wake только при передерговании

 

 

Ты CS и SET к GND подсоединил?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

asam пишет:

Ты CS и SET к GND подсоединил?

SET у него в воздухе, он писал об этом d #25.

Но это безнадёга, я ему схему подключения давал ещё в 12, отдельно про SET писал в 16. Сейчас уже 20 - клиника, в общем.

pacha74
Offline
Зарегистрирован: 12.07.2016

 

 

[/quote]

 

Ты CS и SET к GND подсоединил?

[/quote]

да

pacha74
Offline
Зарегистрирован: 12.07.2016

на форуме радиокот писали

Установил терминальную программу Termite и все заработало

у меня нет а проблема тажа

pacha74
Offline
Зарегистрирован: 12.07.2016

SET вообше можно на все полюса 

подключать и в воздухе оставить

 

Wake пишет только когда CS прикасается к минусу
а когда дребезг то пишет много
 
ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Я Вам давал документацию, где чёрным по белому написано, что если SET на земле, то это AT команды, а если на питании, то это совсем другой режим. Вы читали? Про этот же SET Вам писали кроме меня ещё два человека. А Вы опять "wake пишет". Ну идите к вейку и выносите ему мозги, чего Вы сюда-то пришли, если не слушаете что Вам говорят и не читаете документацию, которую Вам дают?

На Вашей картинке SET в воздухе.

Далее, в той же документации написано, и здесь уже двое Вам писали про \r\n, но Вы и это игнорируете.

У меня ощущение, что мы тут зря клавиатуру протираем - Вам пофиг. что Вам пишут.

pacha74
Offline
Зарегистрирован: 12.07.2016

да я уже подсоеденил к минусу но все это не помогает

а как будет выглядет команда AT+BAUD с \r\n напиши

asam
asam аватар
Offline
Зарегистрирован: 12.12.2018

Для это надо настроить терминальную программу.  В Tera Term это делается так:

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

pacha74 пишет:

да я уже подсоеденил к минусу но все это не помогает

а как будет выглядет команда AT+BAUD с \r\n напиши

Я Вам что писал в посте #17? Или Вы делаете, что говорят, или я отваливаю.

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

Попробую в последний раз. Если чего, идите к вейку.

Итак,

1. соединяете ВСЁ ТОЧНО КАК В ДОКУМЕНТАЦИИ безо всяких вейков и через преобразователи уровней. RX и TX подключаете к аппаратному сериалу (к пинам 0 и 1).
2. Пишете скетч с ОДНИМ сериалом примерно такой

void setup() {
	pinMode(LED_BUILTIN, OUTPUT);
	Serial.begin(9600);
	Serial.print("AT+BAUD\r\n");
	while(! Serial.available());
}


void loop() {
	digitalWrite(LED_BUILTIN, HIGH);
	delay(500);
	digitalWrite(LED_BUILTIN, LOW);
	delay(500);
}

Перед заливкой скетча отключаете TX/RX модуля.

Заливаете скетч.

Отключаете USB

Подключаете RXT/TX модуля

Нажимаете кнопку Reset на ардуине.

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

Если нет, меняете число 9600 в скетче на другие распространенные скорости (115200, 57600 и т.д. смотрите скорости в терминале порта). И для каждой скорости проделываете тот же тест.

Если на какой-то скорости модуль ответит - запомните её. Значит, Ваш модуль работает на этой скорости.

Если совсем ничего ни на какой скорости, выкладываете фото на которых видно что. куда и как соединено и свой (копипастом) скетч.

pacha74
Offline
Зарегистрирован: 12.07.2016

скачал програму но не могу ничего отправить не пойму как

да программа на русском

leks
Offline
Зарегистрирован: 22.10.2017

Интересная битва тут. После радостного изучения и использования блютуз модуля я попробовал "ESP 100 рублёвый". Разочаровал он меня на предмет дальности и устойчивости. Так вот там одна из спотыкалок у меня была - питание модуля от УНО (вроде у автора утром это проскакивало в сообщениях). Может и тут так?

pacha74
Offline
Зарегистрирован: 12.07.2016

попробывал без конвертора но блинк пошел

что дальше?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Отлично, значит модуль жив и отвечает. На какой скорости?

pacha74
Offline
Зарегистрирован: 12.07.2016

как и писал 9600

там в мануале по умолчании 8899

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Ну, если работает на 9600, то хорошо, но Вы запомните 8899 - попробуете и на этой скорости потом.

Пока же в моём скетче оставляем всё также, но заменяем на программный сериал.

#include <SoftwareSerial.h>

static const int8_t rxPin = 5; // Замените на свой пин
static const int8_t txPin = 6; // Замените на свой пин

SoftwareSerial mySerial(rxPin, txPin);

void setup() {
	pinMode(LED_BUILTIN, OUTPUT);
	mySerial.begin(9600);
	mySerial.print("AT+BAUD\r\n");
	while(! mySerial.available());
}


void loop() {
	digitalWrite(LED_BUILTIN, HIGH);
	delay(500);
	digitalWrite(LED_BUILTIN, LOW);
	delay(500);
}

И запускаете. Если блинкает (или не блинкает), тут же говорите мне, я пока здесь.

pacha74
Offline
Зарегистрирован: 12.07.2016

ЕвгенийП пишет:

Отлично, значит модуль жив и отвечает. 

но уно мигает после того как я отсоединяю RX  TX

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Если Вы отсоединил ПОСЛЕ того как замигало, так так и должно быть. там же тупой блинк чего ему не мигать? Вопрос в том, начнёт ли она мигать. Если начала, то всё - дальше просто тупой блинк.

Как со вторым тестом?

pacha74
Offline
Зарегистрирован: 12.07.2016

да все мигает

pacha74
Offline
Зарегистрирован: 12.07.2016

я оставил ваши пины

pacha74
Offline
Зарегистрирован: 12.07.2016

ЕвгенийП пишет:

 

Как со вторым тестом?

все также как с первым работает

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Отлично, теперь запускает такой тест. Модуль на пинах 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());
}

 

pacha74
Offline
Зарегистрирован: 12.07.2016

получил в монитор порта +BAUD=4

 
ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Ну, Ваш модуль работает! Разумно отвечает на команду (что означает "4" см. по ссылке. что я давал, там написано в таблице, где описана команда BAUD).

Поздравляю!

Значит, всё окей? Ваш вопрос решён?

По-любому я убегаю, так что, если у Вас остались вопросы, пишите. но отвечу я только завтра.

Пока.

Поздравляю с Победой над модулем!

pacha74
Offline
Зарегистрирован: 12.07.2016

спасибо!

asam
asam аватар
Offline
Зарегистрирован: 12.12.2018

pacha74 пишет:

как и писал 9600

там в мануале по умолчании 8899

8899 это Wireless ID и к скорости порта никакого отношения не имеет.

b707
Offline
Зарегистрирован: 26.05.2017

Пипец... и бывают же такие...

У Евгения железные нервы, я бы еще на прошлой странице послал.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

pacha74 пишет:

там в мануале по умолчании 8899

Вы невнимательно читаете. 8899 - совсем про другое. Про скорость передачи там написано (стр. 4)

Param(1-7)
1:1200
2:2400
3:4800
4:9600
5:14400
6:19200
Default Value: 4

Так что, то, что она Вам вернула 4 - означает 9600.

pacha74
Offline
Зарегистрирован: 12.07.2016

Спасибо ещё раз сегодня я во всём разобрался. Все работает. Просто я брал команды с переведенной страницы а надо оригинал. Ещё раз спасибо.

kogotok555
Offline
Зарегистрирован: 13.06.2019

Предлагаю продолжить тему. Ибо на практике, добиться связи с модулем через АТ - это еще не передавать данные. И мой случай именно об этом.

Исходные данные: Оба 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");
    }
    
 
  }
}

 

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

kogotok555 пишет:

Где косяк? Что упустил из внимания?

  А принимает-то хто, если ты 

kogotok555 пишет:

Перевожу оба модуля в передачу
 

 

kogotok555
Offline
Зарегистрирован: 13.06.2019

По моей логике, перевод обоих из АТ команд в режим передачи и должно работать. Попробовал сейчас попеременно, один в АТ команду перевести, второй в режим передачи... Также никто ничего не принимает. Может у меня в скетче ошибка?

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

может. 

nikolaki
nikolaki аватар
Offline
Зарегистрирован: 14.02.2013

kogotok555 пишет:

На обоих передатчиках выставлены одинаковые каналы, deviceID различны,

Где косяк? Что упустил из внимания?

deviceID поставь одинаковые и пробуй. У меня сразу связь пошла.

Одним слушал сериал , а второй посылал тупо(в режиме А0 оба модуля,SET к плюсу, CS - на землю)

Serial.println(n++);
delay(1000);

Связь есть через 3-4  стены на метров 15( с одного края квартиры до другого).

kogotok555
Offline
Зарегистрирован: 13.06.2019

Так понимаю использовали подключение к ногам TX/ RX? Не SoftSerial?

Как подключены ноги tx-JDY <--> rx-ARDUINO? Или tx-tx, rx-rx - встречаются и такие приколы.

Скетчи для передатчика и слушающего можете привести?

Выставил deviceid равными, ноги подтянул SET +5, CS GND. Тишина.

nikolaki
nikolaki аватар
Offline
Зарегистрирован: 14.02.2013

Не помню каким скетчем проверял до этого. Сейчас проверил вот этим.

byte n=0;
void setup() {
  Serial.begin(9600);

}

void loop() {
 n++;
 if(n>255)
 {
  n=0;
 }
 Serial.println(n);
 delay(1000);

}

Залито для передачи в эфир в ардуину..

Приемник через USB-UART переходник  без ардуины к компу. Включаем в ИДЕ сериал порт , на котором сидит USB-UART переходник и вуаля....

Потом , если надо ,меняем девайсы местами - проверить в обратную сторону связь.

Да , вы правильно поняли - передатчик подключен к выводам аппаратного сериала,питание- 3,3V

 

kogotok555
Offline
Зарегистрирован: 13.06.2019

Подключил к cp2102 (usb-uart) и оно заработало!

Дальше переключил как обычно на ардуину к аппаратным serial. Тоже заработало.

Не понимаю, что произошло в тот раз и почему затупила схема.

Переключил на программные пины serial. Тоже заработало. Мистика.

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

Спасибо за помощь!

55MACHETE55
Offline
Зарегистрирован: 03.07.2019

Здравствуйте! Подскажите, почему мой модуль при подаче на него АТ команды плюется в терминал каракулями ?

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Скорости не совпадают?

hyanukyan
Offline
Зарегистрирован: 20.07.2019

Добрый день . У меня два модуля JDY-40 . Хочу соединить их по com порту . Один модуль подключаю к компьютеру через преобразователь USB-COM (Rx-TX,Tx-Rx ,CS GND-GND ,VCC-+) .На второй модуль подаю питание , соединяю cs и gnd и соединяю Rx с Тх .В гипертерминале ставлю номер com порта первого модуля и пробую печатать . Ответа не приходит . Где ошибка?

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

hyanukyan пишет:

 Ответа не приходит . Где ошибка?

В любом случае, ошибка в коде. Или ДНК или секретной программы. 

hyanukyan
Offline
Зарегистрирован: 20.07.2019

Ты можешь нормально объяснить , что нужно сделать , чтобы установить связь по com порту , если конечно знаешь ?

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Естественно, я не могу абьяснить. Клапа на этом форуме все шары хрустальные перебил, поэтому я не вижу ни твою схему, ни код. 

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

hyanukyan пишет:

Ты можешь нормально объяснить , что нужно сделать , чтобы установить связь по com порту

Я могу - нужно всё правильно соединить и залить правильную программу.

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

hyanukyan
Offline
Зарегистрирован: 20.07.2019

У меня следующая ситуация . Хочу подключиться к блоку газового оборудования (ГБО) . Подключение делается через переходник 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 порта первого и пытаюсь наладить связь .Ничего не выходит . Сам я не специалист , понимаю чта этот форум не  на мою тему .Если возможно прошу объясниц "на пальцах" ,что я должен делать .

 

nikolaki
nikolaki аватар
Offline
Зарегистрирован: 14.02.2013

hyanukyan пишет:

У меня следующая ситуация . Хочу подключиться к блоку газового оборудования (ГБО) . Подключение делается через переходник 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 порта первого и пытаюсь наладить связь .Ничего не выходит . Сам я не специалист , понимаю чта этот форум не  на мою тему .Если возможно прошу объясниц "на пальцах" ,что я должен делать .

 

Ну а что ты передаешь?Как ты пытаешся наладить связь? Может микрофон выдает низкую логическую еденицу?