Arduino KIT

О проекте
Материалы из ветки «Перевод и использование Arduino»: перевод состава двух наборов, назначение компонентов, подключения к UNO и ИК-передатчик на транзисторе. Количества взяты с фотографий комплектации, а не из предположений о любом наборе.
Это учебные эксперименты с отдельными модулями. Одни и те же пины повторяются в разных примерах: схемы не нужно соединять одновременно. Модель и распиновку конкретного модуля проверяют перед подачей питания.

Стартовый комплект UNO
Оригинальная фотография из ветки: 21 позиция.
Название на фото
Количество
Для чего
UNO R3 CH340
1
Плата для загрузки скетчей и управления входами/выходами.
Sound sensor
1
Датчик звука: хлопки и относительный уровень сигнала, не шумомер.
DHT11
1
Температура и влажность воздуха.
Soil moisture
1
Резистивный датчик влажности почвы; нужна калибровка.
Water level
1
Проводящие дорожки определяют наличие/уровень воды.
7-segment display
1
Одноразрядный индикатор цифр; проверить общий анод/катод.
74HC595
1
Сдвиговый регистр: восемь выходов с тремя управляющими линиями.
Active buzzer
1
Активный зуммер с собственным генератором.
Passive buzzer
1
Пассивный зуммер для мелодий и tone().
Potentiometer
2
Регулируемый делитель напряжения для A0.
Breadboard 830
1
Макетная плата без пайки; проверить разрывы шин питания.
Dupont M/F
20
Провода «папа–мама» для соединения модулей.
Dupont M/M
20
Провода «папа–папа» для макетной платы.
USB cable
1
Питание и загрузка программы; кабель должен передавать данные.
Push button
5
Кнопки ввода; удобно использовать INPUT_PULLUP.
Tilt switch
1
Механический датчик наклона.
Photoresistor
2
Фоторезистор для измерения относительной освещённости.
Thermistor
2
Терморезистор; для °C нужны характеристики конкретного NTC.
RGB LED
1
Три цвета в одном корпусе; три отдельных резистора.
LED
25
Обычные светодиоды; каждый с ограничением тока.
Resistors
100
Ограничение тока и делители; номинал проверить перед сборкой.

37 модулей: назначение и пины
Для модулей, рассчитанных на 5 В: VCC/+ → 5V UNO, GND/− → GND UNO. Таблица указывает сигнальные соединения. Не угадывайте порядок трёх выводов по внешнему виду: он различается. AO — аналоговый выход, DO/OUT — цифровой выход, S — сигнал, IN — управляющий вход.
№ / имя на фото
Назначение
Сигнал UNO
Особенность
Скетч
1. Joystick
Джойстик: две оси и кнопка
VRx → A0; VRy → A1; SW → D2
Кнопка INPUT_PULLUP.
joystick
2. Flame
Датчик ИК-излучения пламени
AO → A0 / DO → D2
Не противопожарная сигнализация.
analog_input / digital_input
3. RGB LED
Смешение трёх цветов
R → D9; G → D10; B → D11
По 330 Ом на канал; общий анод требует инверсии.
rgb
4. Heartbeat
Оптический эксперимент с пульсом
S → A0
Не медицинский прибор; сырой сигнал не равен BPM.
analog_input
5. Light Cup
Наклон и светодиод
S → D2; L → D9, если есть
Проверить отдельные выводы датчика и LED.
digital_input
6. Hall magnetic
Обнаружение магнита
S/DO → D2
Цифровой выход, полярность зависит от платы.
digital_input
7. Relay
Коммутация низковольтной нагрузки
IN → D7
Только готовый модуль с драйвером; без 230 В.
relay_safe
8. Linear Hall
Аналоговый магнитный сигнал
AO/S → A0
Без магнита часто около середины шкалы.
analog_input
9. SMD RGB
RGB на плате
R → D9; G → D10; B → D11
Проверить резисторы и общий вывод.
rgb
10. 7 color flash
Автоматическая смена цветов
По маркировке питания
Не считать вход S логическим; проверить ток и резистор.
—
11. Tilt switch
Наклон
S → D2
Контактный датчик может дребезжать.
digital_input
12. TEMP18B20
Температура DS18B20
DATA → D2
Подтяжка 4,7 кОм к 5 В, если её нет на модуле.
ds18b20
13. Big sound
Микрофон и порог хлопка
AO → A0 / DO → D2
Это не калиброванные децибелы.
analog_input / digital_input
14. Touch
Датчик касания
S → D2
Уровень покоя зависит от модели.
digital_input
15. Two-color LED
Двухцветный светодиод
R → D9; G → D10
Отдельный резистор каждого канала.
rgb, только R/G
16. Laser emit
Лазерный излучатель
Питание через транзисторный ключ
Не подключать силовой вход к GPIO; не направлять в глаза.
—
17. Ball switch
Шариковый датчик положения
S → D2
Проверить контакт и дребезг.
digital_input
18. Analog temp
NTC с аналоговым выходом
AO/S → A0
Для °C нужны параметры и схема делителя.
analog_input
19. Small sound
Компактный датчик звука
AO → A0 или DO → D2
Не соединять AO и DO вместе.
analog_input / digital_input
20. Digital temp
Порог температуры на компараторе
DO → D2
Выход 0/1, не цифровое значение °C.
digital_input
21. Small two-color
Малый двухцветный LED
R → D9; G → D10
Проверить общий анод/катод и резисторы.
rgb, только R/G
22. Button
Кнопка на модуле
S → D2
Для голой кнопки: D2–кнопка–GND, INPUT_PULLUP.
button
23. Photoresistor
Освещённость
AO/S → A0
Сырой уровень, не люксы.
analog_input
24. IR emission
ИК-передатчик
Управление → D3
Для голого ИК-LED нужен резистор и транзисторный ключ.
ir_send_nec
25. Tracking
Линия и отражение
OUT → D2
Настроить порог на своей поверхности.
digital_input
26. Active buzzer
Фиксированный звуковой сигнал
S → D8, для логического входа
Мощный/голый зуммер — через драйвер, не прямо GPIO.
active_buzzer
27. Reed switch
Геркон, датчик магнита
S → D2
Контактам нужна подтяжка; на модуле может быть.
digital_input
28. Shock
Вибрация
S → D2
Короткие импульсы могут пропускаться при опросе.
digital_input
29. Temp & humidity
DHT11: температура и влажность
DATA → D2
Опрос раз в 2 секунды; подтяжка DATA при необходимости.
dht11
30. IR receive
Приём команд пульта
OUT → D2
Проверить напряжение и порядок выводов приёмника.
ir_receive
31. Avoid
ИК-датчик препятствия
OUT → D2
Отражение зависит от цвета, света и расстояния.
digital_input
32. Passive buzzer
Тоны разной частоты
S → D8
Проверить допустимый ток; tone() может конфликтовать с IR/PWM.
passive_buzzer
33. Mini reed
Малый геркон
S → D2
Состояние зависит от магнита.
digital_input
34. Rotary encoder
Поворот и нажатие
CLK → D2; DT → D3; SW → D4
Для устойчивого счёта нужен декодер с подавлением дребезга.
encoder_signals
35. Analog Hall
Аналоговый датчик Холла
AO/S → A0
Тип и чувствительность уточнить по маркировке.
analog_input
36. Tap
Удар/стук
S → D2
Отличать импульс от постоянного уровня.
digital_input
37. Light blocking
Оптопрерыватель
OUT/S → D2
Флажок перекрывает щель датчика.
digital_input

Первый запуск UNO
Начните с USB-питания, без внешнего блока и нагрузок. Подключите плату кабелем с передачей данных.
В Arduino IDE выберите Arduino Uno и порт вашей платы. CH340 — USB–последовательный преобразователь; если порт не появился, проверьте кабель и драйвер производителя.
Загрузите встроенный Blink, затем led_blink из архива. Для внешнего LED: D8 → 330 Ом → анод, катод → GND.
Для примеров с Serial откройте монитор порта на 9600 бод. Вход A0 обычно даёт 0–1023; это ещё не градусы, проценты, люксы или BPM.
Меняйте проводку при отключённом питании. Сначала проверьте один модуль, затем собирайте комбинацию с новым распределением пинов.
На входы и линию 5V нельзя подавать 12 В. Этот проект описывает UNO R3 на ATmega328P, не UNO R4 и не ESP32.

Базовые подключения
Компонент
Подключение
Пример
Потенциометр
Крайние выводы → 5V и GND; средний движок → A0.
analog_input
Кнопка без модуля
D2 → кнопка → GND; режим INPUT_PULLUP. Нажатие даёт LOW.
button
Фоторезистор
5V → LDR → узел A0 → 10 кОм → GND.
analog_input
Терморезистор NTC
5V → NTC → узел A0 → 10 кОм → GND; °C только после определения R25/B.
analog_input
RGB, общий катод
Катод → GND; R/G/B через отдельные 330 Ом → D9/D10/D11.
rgb
RGB, общий анод
Анод → 5V; каналы через отдельные 330 Ом → D9/D10/D11; COMMON_ANODE=true.
rgb
Влажность почвы / вода
Выход аналогового модуля → A0, питание по маркировке; калибровать сухое/влажное состояние.
analog_input
7-сегментный индикатор
Определить общий анод/катод и выводы a–g; отдельный резистор каждого сегмента.
Нет универсальной распиновки
У макетной платы длинные шины питания могут быть разорваны посередине. Проверьте их мультиметром. Резистивные датчики воды/почвы корродируют при постоянном питании; включайте на время измерения и не используйте для питьевой воды или опасных жидкостей.

74HC595 и индикаторы
Вывод 74HC595
UNO
16 VCC
5V
8 GND
GND
14 SER / DS
D11
11 SRCLK / SH_CP
D12
12 RCLK / ST_CP
D8
10 SRCLR / MR
5V
13 OE
GND
Между VCC и GND рядом с микросхемой поставьте 100 нФ. Для начального теста используйте один светодиод за раз: QA/QB/… → 1 кОм → анод LED, катод → GND. Скетч shift_register перемещает единственный включённый бит.
74HC595 не силовой драйвер. Соблюдайте ток каждого выхода и суммарный ток по паспорту микросхемы. Для яркого многосегментного дисплея нужен подходящий драйвер, а не уменьшение резисторов наугад. Распиновка 7-сегментного индикатора определяется по его маркировке.

Датчики и библиотеки
Установите через менеджер библиотек Arduino IDE: DHT sensor library by Adafruit и её зависимость Adafruit Unified Sensor; DallasTemperature и OneWire; IRremote для примеров ИК. Остальные примеры используют стандартное ядро Arduino.
DHT11: VCC → 5V, GND → GND, DATA → D2. На голом датчике нужна подтяжка DATA согласно его документации; на модуле она часто уже есть. dht11 проверяет ошибку чтения и ждёт 2 секунды.
DS18B20: VDD → 5V, GND → GND, DATA → D2, подтяжка DATA 4,7 кОм к 5V при её отсутствии. Не угадывайте выводы TO-92 или цвета проводов.
Цифровой датчик температуры с компаратором не DS18B20: он выдаёт только состояние порога.
Примеры tone(), PWM и IR запускаются отдельно. Перед объединением проверьте конфликты таймеров для UNO и установленной версии IRremote.

ИК-передатчик и кондиционер
ИК-приёмник: питание по паспорту, GND общий, OUT → D2. Скетч ir_receive показывает распознанные команды обычного пульта. Передатчик ir_send_nec выдаёт учебные данные NEC с D3; это не универсальная команда кондиционера.
Транзисторный ключ для отдельного ИК-светодиода
Откуда
Куда
D3 UNO
Через 1 кОм → B (база) BC337
B BC337
Через 10 кОм → E (эмиттер)
E BC337
GND UNO и минус питания
C BC337
Катод ИК-светодиода
+5V
Через рассчитанный резистор R → анод ИК-светодиода
BC337 и дополнительные резисторы не подтверждены в составе набора: их может понадобиться приобрести отдельно. Проверьте выводы B/C/E по паспорту именно своего транзистора. Не определяйте их только по плоской стороне корпуса.
R = (5 В − Vf светодиода − VCE транзистора) / выбранный ток. Например, при Vf=1,2 В, VCE≈0,2 В и токе 20 мА расчёт даёт 180 Ом. Это пример расчёта, не характеристика неизвестного LED: ток, импульсы и номинал обязательно сверяют с его паспортом. Резистор не убирать; для двух LED нужны отдельные ветви с резисторами. Дальность зависит от излучателя, направления, приёмника и тока и здесь не проверена.
Почему нельзя просто послать NEC на кондиционер
Многие кондиционеры передают полное состояние — температуру, режим, скорость и другие поля. Нужны точные марка/модель, поддерживаемый протокол либо корректно записанный сигнал, подходящая несущая и достаточная память. IRremoteESP8266 предназначена для ESP8266/ESP32, не для UNO. Для реального кондиционера сначала проверяют поддержку модели в библиотеке; готовой прошивки для неизвестной модели здесь нет. ИК-управление не требует вскрывать сетевую часть кондиционера.

15 примеров скетчей
В архиве 15 независимых скетчей. Открывайте файл .ino из одноимённой папки, выбирайте UNO. Не загружайте все примеры как вкладки одного скетча.
led_blink
Внешний LED с 330 Ом, D8.
const byte LED_PIN = 8;
void setup() { pinMode(LED_PIN, OUTPUT); }
void loop() {
  digitalWrite(LED_PIN, HIGH); delay(500);
  digitalWrite(LED_PIN, LOW); delay(500);
}
analog_input
A0: потенциометр, аналоговый выход или делитель.
void setup() { Serial.begin(9600); }
void loop() {
  Serial.println(analogRead(A0));
  delay(100);
}
digital_input
D2: цифровой выход готового модуля. Для сухого контакта нужна подтяжка.
void setup() {
  Serial.begin(9600);
  pinMode(2, INPUT); // Powered module output, not a floating contact.
}
void loop() {
  Serial.println(digitalRead(2));
  delay(50);
}
button
Кнопка D2–GND, внутренняя подтяжка.
void setup() { Serial.begin(9600); pinMode(2, INPUT_PULLUP); }
void loop() {
  Serial.println(digitalRead(2) == LOW ? "PRESSED" : "RELEASED");
  delay(50);
}
joystick
Оси A0/A1, кнопка D2.
void setup() { Serial.begin(9600); pinMode(2, INPUT_PULLUP); }
void loop() {
  Serial.print(analogRead(A0)); Serial.print('	');
  Serial.print(analogRead(A1)); Serial.print('	');
  Serial.println(digitalRead(2)); delay(100);
}
rgb
Три отдельных резистора; вариант общего анода выбирается константой.
const bool COMMON_ANODE = false;
void channel(byte pin, byte value) {
  analogWrite(pin, COMMON_ANODE ? 255 - value : value);
}
void setup() { pinMode(9, OUTPUT); pinMode(10, OUTPUT); pinMode(11, OUTPUT); }
void loop() {
  channel(9,255); channel(10,0); channel(11,0); delay(800);
  channel(9,0); channel(10,255); channel(11,0); delay(800);
  channel(9,0); channel(10,0); channel(11,255); delay(800);
}
active_buzzer
Только логический вход модуля с драйвером.
// For a module with a logic input and a driver only.
const byte BUZZER = 8;
const bool ACTIVE_LOW = false;
void setup() {
  digitalWrite(BUZZER, ACTIVE_LOW ? HIGH : LOW);
  pinMode(BUZZER, OUTPUT);
}
void loop() {
  digitalWrite(BUZZER, ACTIVE_LOW ? LOW : HIGH); delay(100);
  digitalWrite(BUZZER, ACTIVE_LOW ? HIGH : LOW); delay(1900);
}
passive_buzzer
Пассивный зуммер допустимого тока на D8.
void setup() { pinMode(8, OUTPUT); }
void loop() {
  tone(8, 1000); delay(200);
  noTone(8); delay(1800);
}
relay_safe
Модуль реле на D7 без нагрузки; пример оставляет его выключенным.
// No load connected. Confirm module polarity before power-up.
const byte RELAY_PIN = 7;
const bool ACTIVE_LOW = true;
void setup() {
  digitalWrite(RELAY_PIN, ACTIVE_LOW ? HIGH : LOW);
  pinMode(RELAY_PIN, OUTPUT);
}
void loop() {} // This example leaves the relay OFF, it does not switch a load.
encoder_signals
Сырые CLK/DT/SW, не готовый счётчик оборотов.
// Raw signals only, not a debounced rotation counter.
void setup() {
  Serial.begin(9600);
  pinMode(2, INPUT_PULLUP); pinMode(3, INPUT_PULLUP); pinMode(4, INPUT_PULLUP);
}
void loop() {
  Serial.print(digitalRead(2)); Serial.print('	');
  Serial.print(digitalRead(3)); Serial.print('	');
  Serial.println(digitalRead(4)); delay(20);
}
shift_register
74HC595: только один LED за раз, по 1 кОм.
const byte DATA_PIN = 11, CLOCK_PIN = 12, LATCH_PIN = 8;
void setup() {
  pinMode(DATA_PIN, OUTPUT); pinMode(CLOCK_PIN, OUTPUT); pinMode(LATCH_PIN, OUTPUT);
}
void loop() {
  for (byte bit = 0; bit < 8; bit++) {
    digitalWrite(LATCH_PIN, LOW);
    shiftOut(DATA_PIN, CLOCK_PIN, MSBFIRST, byte(1U << bit));
    digitalWrite(LATCH_PIN, HIGH); delay(300);
  }
}
dht11
DHT11 и Adafruit DHT/Unified Sensor.
#include <DHT.h>
DHT dht(2, DHT11);
void setup() { Serial.begin(9600); dht.begin(); }
void loop() {
  delay(2000);
  float humidity = dht.readHumidity(), temperature = dht.readTemperature();
  if (isnan(humidity) || isnan(temperature)) { Serial.println("DHT read failed"); return; }
  Serial.print(temperature); Serial.print(" C; ");
  Serial.print(humidity); Serial.println(" %");
}
ds18b20
DS18B20 и OneWire/DallasTemperature.
#include <OneWire.h>
#include <DallasTemperature.h>
OneWire bus(2);
DallasTemperature sensors(&bus);
void setup() { Serial.begin(9600); sensors.begin(); }
void loop() {
  sensors.requestTemperatures();
  float value = sensors.getTempCByIndex(0);
  if (value == DEVICE_DISCONNECTED_C) Serial.println("Sensor disconnected");
  else { Serial.print(value); Serial.println(" C"); }
  delay(1000);
}
ir_receive
IRremote, OUT приёмника D2.
#include <IRremote.hpp>
void setup() { Serial.begin(9600); IrReceiver.begin(2, DISABLE_LED_FEEDBACK); }
void loop() {
  if (IrReceiver.decode()) {
    IrReceiver.printIRResultShort(&Serial);
    IrReceiver.resume();
  }
}
ir_send_nec
IRremote, D3 через ключ; только учебная команда NEC.
#define IR_SEND_PIN 3
#include <IRremote.hpp>
void setup() { IrSender.begin(); }
void loop() {
  IrSender.sendNEC(0x00, 0x45, 0); // Test data, NOT an arbitrary AC command.
  delay(3000);
}

Ограничения и проверка
Реле: только низковольтные учебные нагрузки. Не подключайте сеть 230 В к макетной плате. Голая катушка не подключается напрямую к пину.
GPIO — сигнал управления, не источник питания двигателя, лазера или мощного зуммера. Для нагрузки нужен подходящий драйвер и общий GND.
Лазер нельзя направлять в глаза, людей и зеркальные поверхности. Не включайте неизвестный модуль без проверки питания и тока.
Flame и Heartbeat не заменяют сертифицированный пожарный/медицинский прибор.
Датчики Холла могут считать импульсы, но вычисление RPM требует числа магнитов и периода измерения. Не закрепляйте незакреплённые/несбалансированные магниты на быстром вентиляторе.
На фотографиях нет точной распиновки каждой платы. Пины, активный уровень, напряжение, номиналы и библиотеки проверяют для своей комплектации.
Материалы подготовлены по ветке; физическая проверка всех 37 модулей и управления кондиционером не заявляется. Подтверждение работы предыдущего стробоскопа к Arduino KIT не относится.

Источники
Основа: ветка «Перевод и использование Arduino» и две фотографии комплектации. Совместимость плат и библиотек сверена с документацией разработчиков 10 октября 2026 года.
Arduino UNO R3
Arduino-IRremote
IRremoteESP8266 / ESP32
Adafruit DHT
DallasTemperature
SN74HC595 — Texas Instruments