Пин-ринг между ардуино
Я работаю над небольшим проектом, в котором я делаю свою собственную версию последовательной связи между двумя Arduino Megas, используя их цифровые выводы ввода / вывода.
Таким образом, на Arduino A есть пара цифровых выводов, которые устанавливаются в качестве выходных. Они подключены к двум цифровым контактам в Arduino B, которые установлены в качестве входа. Есть ли способ для arduino B определить, являются ли выходные контакты, идущие от Arduino A, высокими или низкими?
Я знаю, что это можно сделать с помощью транзисторов, но есть ли способ сделать это без них?
1 ответ
Цифровые выводы от одного Arduino могут быть подключены непосредственно к цифровым выводам на другом - нет необходимости в каких-либо транзисторах между ними. Убедитесь, что есть общего между ними так, обе платы находятся на том же уровне эталонного (соединения контактов GND или власть как из того же источника).
Вы можете прочитать цифровые выводы на приемном конце, позвонив digitalRead()
и записать в цифровые контакты на передающем конце, позвонив digitalWrite()
, Какой бы протокол вы ни внедрили, он должен обнаруживать переходы высокого / низкого уровня и соответственно их декодировать.
Думаю, мне любопытно, почему бы вам просто не использовать встроенные последовательные порты для связи, разве это просто учебное упражнение? Конечно, стоит учиться, но ненужная дополнительная работа в противном случае...