Привет! Сегодня мы соберем первый проект на Ардуино. Для этого нам понадобятся следующие компоненты:
- Светодиод;
- Резистор на 220 Ом;
- Плата Arduino UNO;
- Провода;
- Макетная плата.
Резистор нам нужен для того, чтобы светодиод не перегорел (светодиоду нужно напряжение 2-3,4В, а Ардуино выдает 5В, поэтому через резистор мы ограничиваем напряжение, резистор подбирается по формуле: R = (U – Uled)/I = (5В-2В)/0,02А = 150 Ом, округлим и получим 220Ом, если номинал резистора будет больше нужного, то ничего страшного – светодиод будет светить менее ярко).
Проект в Тинкеркаде
Проект мы можем собирать в Тинкеркаде (https://www.tinkercad.com/). Для этого нужно зарегистрироваться на сайте.
Контакты в макетной плате соединены как показано на изображении ниже (отмечено зеленым). В Тинкеркаде ряд соединённых в линию контактов подсвечивается зеленым (на изображении отмечено стрелочкой).
Сборка проекта в Тинкеркаде показана в видео.
Разберем код
В Тинкеркаде код появляется сразу. Программировать можно как блоками, так и текстом. Мы будем программировать текстом. Разберем код по умолчанию.
Комментарий (текст, который не воспринимает устройство, но пишется для удобства понимания кода человеком) на этом языке программирования (С++) пишется после двух косых черт: //
// C++ code
У Ардуино всегда есть 2 функции. Без них обойтись никак нельзя. К ним надо привыкнуть. Они обычно создаются автоматически.
Первая функция - это setup.
void setup()
{
pinMode(LED_BUILTIN, OUTPUT);
}
Она выполняется только один раз при включении Ардуино. В этой функции мы даем Ардуино определенные настройки. В данном случае мы указываем через функцию pinMode, что хотим именно включать светодиод, т.е. сигнал будет идти от Ардуино (OUTPUT-выход). А LED_BUILTIN-это название встроенного светодиода, подсоединённого к пину 13.
Следующая функция - loop.
void loop()
{
digitalWrite(LED_BUILTIN, HIGH); //Включить светодиод
delay(1000); // Ждать 1 секунду (1000 миллисекунд)
digitalWrite(LED_BUILTIN, LOW); //Выключить светодиод
delay(1000); // Ждать 1 секунду (1000 миллисекунд)
}
Это цикл. Действия, которые написаны этой функции, будут выполняться так:
- digitalWrite(LED_BUILTIN, HIGH); //Включить светодиод
- delay(1000); // Ждать 1 секунду (1000 миллисекунд)
- digitalWrite(LED_BUILTIN, LOW); //Выключить светодиод
- delay(1000); // Ждать 1 секунду (1000 миллисекунд)
Далее снова 1, 2, 3, 4 и снова 1, 2, 3, 4. До тех пор, пока мы не отключим питание от Ардуино.
В нашей схеме мы подключим светодиод к пину 8. И немного изменим код.
Добавим строчку:
int Led = 8;
И заменим "LED_BUILTIN" на "Led". Исправленный код:
// C++ code
int Led = 8;
void setup()
{
pinMode(Led, OUTPUT);
}
void loop()
{
digitalWrite(Led, HIGH); //Включить светодиод
delay(1000); // Ждать 1 секунду (1000 миллисекунд)
digitalWrite(Led, LOW); //Выключить светодиод
delay(1000); // Ждать 1 секунду
}
Подробнее про код поговорим в следующих статьях.
Проект в "железе"
Далее соберем проект в "железе". Но перед этим нужно скачать среду разработки Arduino IDE по ссылке: https://www.arduino.cc/en/software и установить.
После установки меню среды разработки может на английском. Переключить на русский можно так:
Видео сборки проекта:
Перед загрузкой скетча (нашего кода) в Ардуино, надо выбрать плату, как в видео. В моем случае Ардуино прячется под COM3. Если в списке появилось несколько COM, то надо выбирать с самым большим числом на конце 3, 4, 5 и т.д.
Еще раз про подключение Ардуино к компьютеру:
Мы собрали наш первый проект. Поздравляю!