Здравствуйте, уважаемые форумчане!
Задача связать Arduino Mega с ESP8266, но пока тестирую MEGA + DUE
Есть четырех канальный двунаправленный преобразователь
https://advertexa.biz/p378356460-preobrazovatel-logicheskih-urovnej.html...
Когда просто инвертирую состояние дискретных входов, всё работает нормально. То есть Mega видит сигналы от DUE и наоборот. А когда их соединяю Serial1(Mega) <-> Serial1(DUE) в ответ тишина
Вот скетч который заливаю в оба контроллера:
16 | digitalWrite(OUT1, HIGH); |
17 | digitalWrite(OUT2, LOW); |
25 | Serial .print( "IN1=" ); Serial .println(digitalRead(IN1)==HIGH ? "HIGH" : "LOW" ); |
26 | Serial .print( "IN2=" ); Serial .println(digitalRead(IN2)==HIGH ? "HIGH" : "LOW" ); |
28 | digitalWrite(OUT1, LOW); |
29 | digitalWrite(OUT2, HIGH); |
31 | digitalWrite(OUT1, HIGH); |
32 | digitalWrite(OUT2, LOW); |
36 | if ( Serial .available()){ |
40 | if (Serial1.available()){ |
41 | int bt=Serial1.read(); |
При тестировании дискретных входов подключаю
Mega, преобразователь:
-
GND - GND
-
+5v - HV
-
D2 - HV1
-
D3 - HV2
-
D4 - HV3
-
D5 - HV4
DUE, преобразователь:
-
GND - GND
-
+3.3v - LV
-
D2 - LV2
-
D3 - LV1
-
D4 - LV4
-
D5 - LV3
При тестировании UART соединения
Mega, преобразователь:
-
GND - GND
-
+5v - HV
-
D18 - HV1
-
D19 - HV2
DUE, преобразователь:
-
GND - GND
-
+3.3v - LV
-
D18 - LV1
-
D19 - LV2
Я что-то не так подключаю или этот преобразователь не подходит для такой цели?
RX/TX перекрестно подключали, надеюсь? Что осциллограф показывает?
RX/TX подключи перекрестно.
Осциллографа нет
Меня в первую очередь интересуют вопросы подходит ли такой преобразователь и правильно ли я его подключил.
Если да, то буду ковырять(пробовать) дальше
Разобрался. На Меге контакты неправильно подписаны
Мегу и ESP можно соединять без преобразователя, а через резисторы 3-5К. Там на входах стоят защитные диоды, поэтому достаточно ограничть ток..