Что понадобится
- Arduino Uno или Nano.
- Потенциометр 10 кОм.
- Светодиод и резистор 220 Ом, провода.
Как подключить
Крайние выводы потенциометра — к 5V и GND, средний — к A0. Светодиод через резистор 220 Ом — к выводу 9 (у него на плате значок «~»: он умеет ШИМ), катод — к GND.
Программа из блоков
Соберите в BloX такую программу — или нажмите «Открыть в BloX», и она появится в редакторе готовой.
Код C++, который BloX собирает из этих блоков, — его можно скопировать в Arduino IDE:
void setup() {
}
void loop() {
analogWrite(9, map(analogRead(A0), 0, 1023, 0, 255));
delay(10);
}
Как это работает
Блок «потенциометр пин A0» читает напряжение на среднем выводе и отдаёт число от 0 (0 В) до 1023 (5 В). А «аналоговая запись» принимает число от 0 до 255. Их разные шкалы связывает блок map: он пересчитывает 0…1023 в 0…255.
Настоящего «аналогового» выхода у Uno нет. Вывод 9 очень быстро включается и выключается — это ШИМ, — а глаз видит среднее: чем дольше включён, тем ярче. Пауза 10 мс просто не даёт циклу крутиться вхолостую.
Как загрузить в плату
BloX собирает код, а в плату его заливает Arduino IDE. Нажмите в BloX «Код C++», скопируйте его, вставьте в новый скетч Arduino IDE, выберите плату и порт в меню «Инструменты» и нажмите «Загрузить».
Платы под рукой нет? Нажмите «Проверить в симуляторе» — код откроется на виртуальной плате урокробототехники.рф. Добавьте потенциометр, светодиод и резистор и соедините их, как в разделе «Как подключить».
Попробуйте сами
- Поменяйте в map 0 и 255 местами — ручка будет работать наоборот.
- Переставьте светодиод на вывод 13: он не умеет ШИМ и будет только включаться и выключаться.
- Подключите вместо светодиода пищалку и управляйте громкостью.