Обмен данными по UART между Uno и D1 Mini не происходит

Соединяю две D1 Mini по UART (9600) от одного источника.

В передатчике раз в секунду по millis() блинк на ноге D6 и отправка состояния
Serial.println(ledState ? "1" : "0");
наблюдаю визуально и до соединения в мониторе порта.

В приемнике в зависимости от полученного состояния свой светодиод также на D6 горит/выключается
char receivedChar = Serial.read();
наблюдаю визуально.
Всё работает. Вопросов нет.

Меняю передатчик на Uno, в коде меняю D6 на встроенный светодиод. Земли соединяю.
Ставлю резисторный делитель:
TX Uno - 10kOhm - RX D1 mini
RX D1 mini - 20kOhm - GND (общая)
(также пробовал 1кОм-2кОм)

Ни-че-го. Ноль реакции.

Менял питания, все токи с запасом, питал и от 5В D1 mini чтобы он сам преобразовал и от внешнего линейного 3,3В также питал от зарядки телефонной, от USB

Подключил осциллограф. От TX Uno наблюдаю отличный пакет. После резистора картинка отвратная. Мурашки с еле заметными пиками.

Что не так?



3

Убери делитель и поставь в разрыв соединительных проводов TX/RX резистор на 1кОм.

Вместо этого просто нарисуйте на бумажке, как у вас резисторы соединены - сфоткайте и выложите в форум

Конечно попробую. Но мистер Ом говорит что при 3,3В 200мА достаточно 9 Ом.

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

должно работать.
Может просто паять не умеете?
На осциле у вас ничего похожего на сигнал, такое впечатление что просто нет контакта

Чудес не бывает.

Умею, и даже не подвергну сомнению сам и другим не дам.

Спросили бы меня: я бы сам сказал - иди паяй, проверяй еще раз и не отвлекай, мальчик.

Ща прям припаяю их медью 1,5 квадрата (шутка) без разъемов, не вопрос.
Да только вот D1 друг с другом было наплевать, в руках работали, не успевал еще воткнуть как следует…

ну продолжайте верить в чудеса.
До свиданья

Договорились.

4
извините за некую волосатость, Солнце очень яркое

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

Я же описал простейший. Просто резистор в 1кОм в разрыв провода (в статье, вроде бы, первым он и идет). Перечитайте статью.

Тем более, что “в одну сторону” нужно использовать только TX передающей платы и RX принимающей платы (ну и GND).

Итак.
Поставил резисторы 1 и 2 кОм, все между собой перепаял.
Не важно, 2кОм припаян или нет. Что-то появилось на осциллографе, но не хватает, чтобы скетч работал. Уже начинаю думать на неисправную 8266. Их приехало 2 штуки, обе ведут себя идентично.

Спасибо всем, кто ответил.
Буду менять все подряд, на чем-нибудь еще проверю.

P.S. Второй провод я даже и не присоединяю, мне в одну сторону разговаривать.
P.P.S. Идея. Попозже верну вторую и посмотрю осциллографом, она же на каких-то сигналах работала. Проблема только с Уной.

Зачем два резистора? Я ведь схему предоставил - там только один резистор!!!

Да, все нормально. Пробовал как делитель и как цепь - работают одинаково.
Ну то есть Ваш вариант тоже испытывал.
Попозже для разнообразия 2,7кОм поставлю тоже одинокий.

Ну тогда так:
Так как в обоих платах микроконтроллеры толерантные к 5В сигнала, то просто соедини напрямую. Ничего не произойдет страшного. Если не заработает - ошибка в схеме подключения.

В каких именно обоих?
когда были обе D1 я естественно не ставил никакие делители.

Вы написали d1 mini. Прошу прощения - я подумал о pro mini (она на atmega328). Ввел в заблуждения и себя и вас.
Тем не менее Вы можете поставить сопротивление ниже 1кОм, например 200 Ом. Если и в этом случае сигнал будет зашумлен и не восприниматься второй стороной - я сдаюсь. :slight_smile:

ЗЫ: GND, надеюсь, не соединяли через резистор?)

Простую схему соберите

Спойлер

Screenshot_145

Такое бывает если прицепился к ноге проинициализированной на выход а не на вход. Посмотри сигнал за резистором без подключения, и подключи к ноге. Сигнал не должен измениться. Если измнился ищи что не так с ногой.

1 лайк