Две платы: одна командует, другая слушает
Провод между выводами — простейшая связь двух плат. Обязательна общая земля: без неё «высокого уровня» просто не от чего отсчитывать.

Что понадобится
- Arduino Uno × 2
- Резистор (220 Ом)
- Светодиод (зелёный)
Как подключить
| Откуда | Куда | |||
|---|---|---|---|---|
| Arduino Uno 1 | D7 | → | Arduino Uno 2 | D4 |
| Arduino Uno 1 | GND | → | Arduino Uno 2 | GND |
| Arduino Uno 2 | D12 | → | Резистор | 1 |
| Резистор | 2 | → | Светодиод | A |
| Светодиод | C | → | Arduino Uno 2 | GND |
Скетч
Код для «Arduino Uno 1»
// ПЕРЕДАТЧИК. Раз в секунду переключает вывод 7 —
// это и есть сигнал для второй платы.
void setup() {
pinMode(7, OUTPUT);
Serial.begin(9600);
}
void loop() {
digitalWrite(7, HIGH);
Serial.println("линия 1");
delay(1000);
digitalWrite(7, LOW);
Serial.println("линия 0");
delay(1000);
}
Код для «Arduino Uno 2»
// ПРИЁМНИК. Вывод 4 настроен ВХОДОМ, поэтому digitalRead
// возвращает не то, что плата сама записала, а напряжение
// на проводе — то есть состояние вывода 7 передатчика.
void setup() {
pinMode(4, INPUT);
pinMode(12, OUTPUT);
Serial.begin(9600);
}
void loop() {
int line = digitalRead(4);
digitalWrite(12, line); // повторяем сигнал светодиодом
Serial.print("принял ");
Serial.println(line);
delay(250);
}
Как это работает
Вкладки над редактором переключают, чей скетч вы правите. Каждая плата держит свой код — он сохраняется в файле схемы вместе с ней.
Земли плат соединены отдельным проводом. На реальном столе без него ничего не работает: «5 вольт» — это разность потенциалов, и отсчитывать её надо от общей точки.
Коротко о детали: Arduino Uno
Плата на микроконтроллере ATmega328P: 14 цифровых выводов, 6 аналоговых входов, тактовая частота 16 МГц и логика 5 В. Скетч выполняется на ней: setup() один раз при старте, loop() — по кругу, пока есть питание. На выводе 13 распаян встроенный светодиод «L».
Ещё примеры с деталью «Arduino Uno»
- Плата без единого проводаСветодиод «L» встроен в плату и сидит на выводе 13 — мигать можно сразу.Начальный
- Монитор порта: плата отвечаетПлата читает строку из монитора порта и отвечает на неё.Средний
- Два дела сразу: millis() вместо delay()Светодиоды мигают с разными периодами: delay() так не умеет — он останавливает всё.Продвинутый
Попробуйте сами
Симулятор работает прямо в браузере: схему можно менять, код — править, а результат видно сразу. Бесплатно, без установки и регистрации.
Открыть «Две платы: одна командует, другая слушает» в симуляторе