Как подключить светодиод к ардуино нано
Перейти к содержимому

Как подключить светодиод к ардуино нано

  • автор:

Подключение светодиодов (LED) к Ардуино

Светодиоды (LED) — это самый простой и дешевый способ визуализации процесса работы какой-либо программы на ардуине. Поэтому важно уметь подключать светодиоды к плате arduino.

Полупроводниковые светодиоды ( LED ) удобно использовать для индикации процесса работы вашей программы, запущенной на Ардуине. Светодиод очень легко подключить к плате ардуино. Для этого нужен собственно сам светодиод, а также резистор, номинал которого зависит от мощности светодиода.

Вообще говоря, на большинстве ардуино плат уже имеется встроенный светодиод, подключенный к выводу 13 . В большинстве случаев его в принципе и достаточно. Конечно, если мы захотим усложнить нашу программу и использовать несколько светодиодов для лучшей информативности, то нам всё равно придется научиться подключать их к ардуине. Итак, рассматрим как это можно сделать.

Предостережение

Сначала небольшое предупреждение . Ни в коем случае не стоит подключать ваш светодиод напрямую (без резистора) к плате Arduino. Так вы спалите не только светодиод, но и (что гораздо важнее) микроконтроллер на ардуине. Тогда придётся менять контроллер или же (если он в TQFP корпусе) скорее всего выбрасывать плату ардуино целиком.

Подключение одного светодиода LED к Arduino

Подключение светодиода осуществляется следующим образом:

Электрическая схема подключения выглядит так:

Как видите, здесь светодиод подключается через резистор 220 Ом. Это стандартный номинал, который подходит в большинстве случаев: как для слабых, так и для ярких светодиодов (не очень большой мощности). Но сильно мощные светодиоды запитывать от арудины и не стоит.

Можно взять сопротивление больше или чуть меньше — это на результат не повлияет. Вообще максимально допустимый ток на один вывод микроконтроллера ATMEGA328P (который на UNO, Nano и др. ардуинах стоит) составлят 40 мА (или 0.04 А) — как входной ток, так и выходной. Когда используется резистор 220 Ом, то ток составит 5 В / 220 Ом = 0.023 А, как видим еще запас будет. Поэтому без особых опасений (за ардуину) можно ставить резистор от 125 Ом до 1 кОм (и выше). Конечно, чем выше сопротивление, тем менее ярко будет гореть светодиод.

Код программы для Arduino для моргания светодиода

Ну вот, когда светодиод к ардуине подключен, осталось протестить работоспособность всего этого дела. Для этого зашиваем в ардуину следующую программу (на языке C++):

int pin_led = 13; void setup() < // инициализация пина в состояние ВЫХОДА. pinMode(led, OUTPUT); >// цикл: void loop() < digitalWrite(pin_led, HIGH); // включает LED (HIGH level) delay(500); // ждать 0.5 сек digitalWrite(pin_led, LOW); // выключает LED (LOW level) delay(500); // ждать 0.5 сек > 

Здесь, как видно, переменная pin_led указывает номер пина, к которому подключен светодиод. Если требуется поставить светодиод на другой вывод ардуины, то просто меняем это значение переменной.

Как только программа будет зашита (и ардуина перезапущена), светодиод должен начать моргать с периодом в 1 секунду. Если этого не случилось, значит что-то пошло не так — возможно просто программа не загрузилась, или светодиод подключен не той стороной. Учтите, что у светодиода есть полярность. Если подключить его не той сторой, то ничего страшного не случится — просто он не будет светить (p-n переход будет в закрытом состоянии и ток через него не потечет). Полярность светодиода легко определить — смотри рисунок:

Длинная ножка есть АНОД, и её надо подключать к ПИТАНИЮ через резистор (в данном случае к пину, на котором высокий HIGH потенциал). А короткую ножку КАТОД подключаем на землю GND. Резистор можно вставлять как между питанием и светодиодом, так и между землей и светодидом — в данном случае разницы никакой нету.

Подбор резистора в зависимости от цвета светодиода (для подсветки)

Как я уже сказал выше, номинал 220 — 300 Ом — это самое то, чтобы ничего не спалить. Для простой индикации другое и не надо.

Другое дело, если используется какой-либо яркий светодиод, скажем, специально для подсветки чего-то. В этом случае мы хотим использовать возможности светодиода на все 100%. Чтобы включить светодиод на максимальную яркость, нужно взять минимальное значение резистора, при котором ток не превысит максимально допустимый. Но лучше брать с запасом, конечно. Это увеличить срок службы светодиода, поскольку он зависит от тока эксплуатации.

Короче, нужно нам сопротивление резистора вычисляется по следущей формуле:

где U_V — напряжение источника питания в вольтах (для ардуины UNO, Nano, Mega это 5 Вольт).

U_F — прямое падение напряжения на светодиоде в вольтах.

I_max — максимальный прямой ток светодиода в амперах.

0.75 — для запаса (чем меньше значение, тем дольше прослужит светодиод).

Падение напряжения и максимальный ток зависит от светодиода, в частности от материала, из которого он сделан. Как правило, материал светодиода влияет на его цвет излучения (длину волны света).

По одним из данных:

— красный напряжение UF = 3 вольта, Imax = 20 мА

— зеленый напряжение UF = 2.5 вольта, Imax = 20 мА

— синий напряжение UF = 3 вольта, Imax = 50 мА

— белый напряжение UF = 2.7 вольта, Imax = 50 мА

— желтый напряжение UF = 3.5 вольта, Imax = 30 мА

Мои личные эксперименты показывают следующее.

Яркие синие и белые светодиоды имеют падение напряжения U=3.2В.

Если Uпит=5.6 В, то последовательно имеет смысл ставить R=120 Ом для получения тока 20 мА. Для надежности можно поставить 160 Ом — получим 15 мА. Если 220 Ом, то 11 мА (совсем надежно).

У зеленых светодидов диаметром 5mm падение напряжения U=2.8 В.

При тестировании при резисторе 120 Ом и питании 5 В такой светодиод перегорел у меня примерно через год работы (работал непрерывно для подсветки).

Красный светодиод, который средний по размерам. Падание напряжения составляет 1.92 В. Тесты:

— 2 севшие батареи по 1.2 В, резистор 100 Ом. Горит слабо.

— батарея 9 В (севшая немного), резистор 300 Ом. Горит вполно нормально.

— батарея 9 В (севшая немного), резистор 100 Ом. Горит достаточно ярко, но есть риск, что перегорит быстро.

Поскольку на резисторе происходит падение напряжения, а следовательно и потеря энергии батареи, то более оптимальный вариант – это включать последовательно 3-4 светодиода на 9 В без резистора (либо малый резистор, скажем 10 Ом)

Платы ARDUINO по низкой цене

Нажми на изображение, чтобы заказать в интернет-магазине:

Now 19.01.24 2:49:39, Your IP: 178.132.111.18; arduino.zl3p.com/modules/led
ePN

Arduino.ru

В этом примере показано как с помощью контроллера Arduino заставить мигать светодиод.

Необходимые компоненты
  • контроллер Arduino
  • светодиод
  • резистор 220 Ом
Подключение

Мы подключаем резистор сопротивлением 220 Ом к выходу номер 13 (pin 13), к резистору в свою очередь подключаем анод (обычно длинная ножка) светодиода. Катод подсоединяем к земле (Grd). Затем подключаем контроллер через USB кабель к компьютеру и загружаем приведенный ниже код на котроллер Arduino.

Большинство плат Arduino имеют встроенный SMT (Surface-mount techology)светодиод, подключенный к выходу 13. Если вы запустите код на таких платах без подключения внешниего светодиода, то вы должны увидеть мигание встроенного светодиода на плате.

Подключение светодиода к Arduino

Схема

Схема подключения светодиода к Arduino

Код

В коде мы первой строк задаем режим выхода для вход/выхода (pin) 13:

В основном цикле (loop) программы зажигаем светодиод:

На выходе 13 появляется напряжение 5 В. Светодиод зажигается. Затем мы выключаем светодиод:

Изменив напряжение на выходе на 0 вольт, мы выключили светодиод. Для того чтобы человеческий глаз успевал замечать переключение светодиода введем задержку с помощью функции delay() .

/* Зажигаем светодиод на одну секунду, затем выключаем его на одну секунду в цикле. */ void setup() < // Инициализируем цифровой вход/выход в режиме выхода. // Выход 13 на большинстве плат Arduino подключен к светодиоду на плате. pinMode(13, OUTPUT); >void loop() < digitalWrite(13, HIGH); // зажигаем светодиод delay(1000); // ждем секунду digitalWrite(13, LOW); // выключаем светодиод delay(1000); // ждем секунду >

Смотрите также

Подключение светодиода к Arduino

Для начала разберемся что такое светодиод и как он работает. Светодиод — это полупроводниковый элемент, который, при прохождении через него электрического тока излучает свет. Светодиод пропускает ток только в одном направлении от анода к катоду. Подробнее на вики. Это значит что при подключении необходимо соблюдать полярность. Также нужно учитывать, что для каждого светодиода существует допустимая сила тока. Узнать параметры светодиода можно у производителя или продавца.

Узнать полярность светодиода можно по нескольким признакам:

  • Нога анода (+) обычно чуть длиннее
  • Пластиковый бортик светодиода может быть немного усечен со стороны катода (-)
  • Если присмотреться то внутри пластика можно увидеть 2 части светодиода. Анод (+) обычно меньше
  • Можно использовать мультиметр в режиме прозвонки. Светодиод пропускает ток только от анода (+) к катоду (-)
  • Можно подключить к питанию (подходящему по силе тока и напряжению). Если светодиод не светится, значит подключен не той стороной. Просто переверните его.

Теперь поговорим о подключении светодиода к плате Ардуино. Цифровые пины Ардуино способны выдавать ток до 40 мА, но для большинства светодиодов это слишком много. Самые простые и дешевые светодиоды обычно имеют значение предельно допустимого тока в 20 мА. Это значит, что подключив светодиод напрямую к пину Ардуинки, он быстро выйдет из строя. Что бы этого не произошло необходимо использовать токоограничивающий резистор. Можете почитать статью о резисторах, где я рассказывал про токоограничивающие резисторы и расчет необходимого номинала. Так же вам может пригодиться онлайн калькулятор маркировки резисторов для того, что бы найти или купить постоянные резисторы нужного номинала.

Расчет постоянного резистора для светодиода

Выход ардуино имеет напряжение 5 вольт и способен подать ток гораздо выше допустимого для светодиода. Так же необходимо учитывать, что сопротивление светодиода и без того низкое, так еще и падает во время работы.

Используя закон Ома мы можем увидеть, что сила тока будет расти при падении сопротивления и при одинаковом напряжении. Это значит что светодиод требующий 20 мА для работы, будет пропускать через себя более сильный ток и попросту сгорит. Тут то нам и поможет обычный постоянный резистор.

Что бы вычислить необходимый номинал резистора нам необходимо знать характеристики источника питания и характеристики светодиода. А характеристики светодиода можно посмотреть в его техническом описании, или спросить у продавца. Обычно это ток 20 мА и падение напряжения 2 В.

  • Vps — напряжение источника питания (5 Вольт)
  • Vdf — падение напряжения на светодиоде (2 Вольта)
  • If — номинальный ток светодиода (20 миллиампер или 0.02 Ампера)

Теперь подставим наши данные в формулу закона Ома для расчета сопротивления. Если кто забыл то напомню: R = U / I (сопротивление равно напряжению деленному на силу тока). Подставляем наши данные: R = (Vps — Vdf) / If = (5В — 2В) / 0.02А = 150 Ом

Теперь мы просто берем резистор на 150 Ом и ставим его перед или после светодиода (без разницы).

Мы будем подключать светодиод к цифровому пину с поддержкой ШИМ, для того что бы мы могли управлять не только включением и отключением но еще и яркостью светодиода. Советую почитать про характеристики, возможности и распиновку Ардуино нано. Код скетча будет одинаковым для Arduino Nano и Arduino Uno. Его я тоже объясню чуть позже. В качестве токоограничивающего сопротивления я буду использовать постоянный резистор на 150 Ом. Можно использовать резисторы и схожих номиналов, но при меньшем сопротивлении светодиод будет сильнее греться, а при большем будет светить тусклее. Я рекомендую использовать резисторы сопротивлением от 120 Ом и до 250 Ом для самых простых 5 мм светодиодов. Вот наглядная схема подключения светодиода к ардуино нано:

Подключение светодиода к Arduino Uno

Здесь все точно так же как и в прошлом примере, только я решил не использовать макетную плату. Резистор точно такой же на 150 Ом.

Скетч для управления светодиодом с помощью Arduino

Мы подключили светодиод к Arduino как показано на схемах выше. Теперь нам нужно написать программу для управления этим светодиодом. Для написания и загрузки прошивок в микроконтроллер обычно используется Arduino IDE. Мы рассмотрим самый простейший пример. Просто будем мигать светодиодом. Вот сам код скетча:

// Моргаем светодиодом каждую секунду int ledPin = 3; // переменная с пином подключенного светодиода void setup() < pinMode(ledPin, OUTPUT); // назначаем наш пин "выходом" >void loop() < digitalWrite(ledPin, HIGH); // включаем светодиод delay(1000); // ждем 1000 миллисекунд (1 секунда) digitalWrite(ledPin, LOW); // выключаем светодиод delay(1000); // ждем еще 1 секунду >

Думаю тут все понятно. Если же нет то можете ознакомиться с разделами сайта «Аrduino для начинающих» и «Программирование«.

Железо

Стартовый набор с Arduino Mega и RFID

Стартовый набор с Arduino Mega и RFID Это расширенный стартовый набор. В комплект входит Arduino Mega R3, макетные платы, множество датчиков, управляемые механизмы и необходимые радиоэлектронные компоненты. Полный список.

Плата Arduino Uno R3

Плата Arduino Uno R3 Arduino Uno — плата на базе микроконтроллера ATmega328P с частотой 16 МГц. На плате есть все необходимое для удобной и быстрой работы.

Arduino для начинающих. Урок 1. Мигающий светодиод

Share Button

Сегодня мы начинаем серию уроков «Arduino для начинающих». Это самый-самый начальный уровень, с «нуля». Урок публикуем сразу в двух вариантах — текстово-графическом и видео — выбирайте, что вам ближе. В этом уроке мы приводим листинг программы и подробные комментарии и схему подключения.

Краткие сведения: Arduino (ардуино) — популярная аппаратная вычислительная платформа, основными компонентами которой являются плата ввода-вывода и среда разработки. Arduino может использоваться как для создания автономных интерактивных объектов, роботов, так и подключаться к программному обеспечению, выполняемому на компьютере. Платы имеют аналоговые и цифровые порты, к которым можно подключить практически любое простое устройство: кнопка, датчик, мотор, экран. Подробнее об Arduino вы можете прочитать в одном из наших постов.

Arduino часто входит в учебные программы по робототехнике и изучается в кружках робототехники. Но плата популярна и в создании «настоящих» роботов. Именно Arduino может стать «мозгом» вашего робота.

Итак, видео-инструкция сборки мигающего светодиода на Arduino. Очень просто. Всего 2 минуты!

Для подключения мигающего светодиода на Arduino и управления им вам понадобится:

  • плата Arduino
  • breadboard
  • 2 провода «папа-папа»
  • светодиод
  • резистор.

Также вам потребуется программа Arduino IDE, которую можно скачать с сайта Arduino.

Все эти комплектующие входят в большинство начальных комплектов, их также можно приобрести по отдельности. Наборы Arduino можно купить на официальном сайте и в интернет-магазинах, наиболее привлекательные цены, постоянные спецпредложения и бесплатная доставка на сайтах AliExpress и DealExtreme. Если нет времени ждать посылку из Китая — рекомендуем интернет-магазин DESSY.

Breadboard представляет из себя сетку из гнезд, которые обычно соединяются так:

схема действия breadboard

Для удобства приводим схему подключения светодиода на Arduino:

Cхема подключения светодиода

Схема подключения светодиода на Arduino

Для работы этой модели подойдет следующая программа (программу вы можете просто скопировать в Arduino IDE):

int led = 8;
void setup()
pinMode(led, OUTPUT);
>
void loop()
digitalWrite(led, HIGH);
delay(1000);
digitalWrite(led, LOW);
delay(1000);
>

И тоже самое с построчными комментариями (на первых порах вы можете использовать готовые программы, не вникая в синтаксис и алгоритм):
int led = 8; //объявление переменной целого типа, содержащей номер порта к которому мы подключили второй провод
void setup() //обязательная процедура setup, запускаемая в начале программы; объявление процедур начинается словом void
pinMode(led, OUTPUT); //объявление используемого порта, led — номер порта, второй аргумент — тип использования порта — на вход (INPUT) или на выход (OUTPUT)
>
void loop() //обязательная процедура loop, запускаемая циклично после процедуры setup
digitalWrite(led, HIGH); //эта команда используется для включения или выключения напряжения на цифровом порте; led — номер порта, второй аргумент — включение (HIGH) или выключение (LOW)
delay(1000); //эта команда используется для ожидания между действиями, аргумент — время ожидания в миллисекундах
digitalWrite(led, LOW);
delay(1000);
>

На этом первый урок закончен!

Смотрите также:

Посты по урокам:

  1. Первый урок: Светодиод.
  2. Второй урок: Кнопка.
  3. Третий урок: Потенциометр.
  4. Четвертый урок: Сервопривод.
  5. Пятый урок: Трехцветный светодиод.
  6. Шестой урок: Пьезоэлемент.
  7. Седьмой урок: Фоторезистор.
  8. Восьмой урок: Датчик движения (PIR) на Arduino. Автоматическая отправка E-mail.
  9. Девятый урок: Подключение датчика температуры и влажности DHT.

Все посты сайта «Занимательная робототехника» по тегу Arduino.

Наш YouTube канал, где публикуются видео-уроки.

Не знаете, где купить Arduino? Все используемые в уроке комплектующие входят в большинство готовых комплектов Arduino, их также можно приобрести по отдельности. Подробная инструкция по выбору здесь. Низкие цены, спецпредложения и бесплатная доставка на сайтах AliExpress и DealExtreme. Если нет времени ждать посылку из Китая — рекомендуем интернет-магазины Амперка и DESSY. Низкие цены и быструю доставку предлагает интернет-магазин ROBstore. Смотри также список магазинов.

Автор: Александр Гагарин.

Share Button

Читайте также

42 комментария к статье “Arduino для начинающих. Урок 1. Мигающий светодиод”

маша
02.04.2014

Хотелось бы, чтоб подробнее была объяснена физика происходящего. А то как обезьянки мы собрали схему, но в физике ничего не понимаю.

HallCat Crew
06.04.2014
Маша, а ты изучаешь ардуино?))) Если что давай вместе учить)))
Виктор
31.03.2015

Маш обычно индикаторные диоды потребляют ток в пределах 20мА это 0,02А или 20/1000А. на входе 5в. Красный диод потребляет 1.9-2.6 в белый, зеленый,синий 3-3.6в. Таким образом по Закону Ома сила тока=напряжение деленное на сопративление. То есть 5в-3в=3в напряжение которое нужно погасить. 3в делим на 0.02А получаем 150Ом нужный номинал. 0,02*3=0,06вт или 0,02А*0,02А*150Ом это рассеиваемая мощность на резисторе. Теперь подбираем резистор ближайший идет 220ом 1/4вт. Вот домашнее задание теперь вам разобраться сколько от милиампер будет через него идти и будет ли гореть он можно проверить имперчески. Резистор нужен просто чтобы не перегреть диод. Да и еще длинную ножку катод нужно подключать к + а короткую к минусу свкетодиод работает как обычны1 диод пропускает ток только в одном направлении от + к — только он еще и горит. Да и еще при параллельном соединнии тоесть если несколько подключить по двум линимям складываеться сопротивление и ток оптребляемый при постоянном напряжении. А при последовательно складываеться напряжене то есть три красных последовательно не знаю загоряться ли но если загоряться то резистор им не нужен скорее всего. Или красный с синим последовательно как раз 5вольт. У нас USB порт всегда 5в выдает стабильно наверное еслиь бы от аккумулятора питался тогда да. Ну мигает диод потому что подпраграма периодически включает выключает пин.

HallCat Crew
06.04.2014
Все это уже 100500 раз разбиралось….наплодили сайтов по дуино и копируют друг у друга
jeff
07.04.2014

Маша. Диод горит потому что ток идёт)). Ардуино, ардуино зови меня так)). ардуино лучше изучать со мной))

маша
12.02.2019

дарогой Ардуина.До меня дашли слуки что ты стал очен извесным. я хосу твой делитель напрежения, где он))))Можеш звать меня канистра.))) канистру луше заполягть мной)) за аффттп извени.

Алексей
10.06.2014
Светодиод ардуино. это легко. а как подключить к ардуино 100 ватную лампу накаливания, например?
Сергей
14.07.2014
мощными приборами ардуиной управлять — релюшка потребуется
Михаил
12.07.2020
Нужно подключить к ардуинке реле, управляющее лампочкой, запитанной от розетки
Алексей
10.06.2014
В указанных китайских магазинах купить ардуино дешево, но ждать месяц
Элизар
08.02.2019
Дождался же))))
Victor
27.11.2014

Пожалуйста опишите подробнее, как скачать и запустить программу управления светодиодом. Я делал по ссылке, но компьютер даже файл не узнает. Спасибо.

Aleks
22.12.2014
А в схеме можно использовать любой резистор?Или нет?А какие можно?
Занимательная робототехника
10.02.2015

Рекомендуется использовать резистор на 220 Ом. Цветовая маркировка такого резистора — красный-красный-коричневый-коричневый или красный-красный-черный-черный-коричневый.

Ольга
06.03.2015

Автор, вы молодец. Проект хороший.Если я правильно поняла, то цель проекта — научить как можно большее количество людей работать с Arduino.
Но Маша права, не хватает схемы и объяснения, почему мы делаем то или иное действие.
Если вы заявляете уровень » с нуля», то будьте готовы, что многие «нули» совсем не в курсе, для чего нужен резистор, и что такое анод и катод у диода (в видео это обозначено как + и -).
Очень надеюсь, что вы прочтете этот большой коммент и прислушаетесь к совету.
Желаю удачи вашему проекту!

Виктор
31.03.2015

то есть, можн,о что-то типо этог,о я просто не знаю язык. Тут чтото си подобное
pinmode(8,output) //скорее всего вывод(output) это константа значение ее не знаю то есть если аутрут равно 2 то можно писать 2 вместо output хотя первое читабельнее.
Настроили 8мую иголку на вывод
Дальше мне не понятно почему программа с названием луп циклиться? Программа по идее должна линейно выполняться. Если она не завершаеться возможно есть какой-нибудь оператор завершения а просто тупо повторяеться многократно тогда каждый раз будет выполняться инциализация переменной.
Есть ли какаято возможность записать эту программу в память ардуино чтобы она была там автономно без подключения к компу?
Может все подпрограммы с именем loop цикляться?
Я так понимаю если low и high это константы причем логические как ложь и истина то и их значение скорее всего шест. x00 и шест xFF то тогда логически high исключает low самом деле 00 xor ff=ff XD Тогда это очень компактнобудет
int switchstate=low
pinmode(8,0utput) //Иницализация
метка loop:
swithstate=switchstate xor switchstate;
delay(1000);
goto loop;
Ну как бы в языке наверное нет goto я просто написал у меня нет ардуино и языка си я не знаю. В примере просто показанно как переменные описывать хотя в данном случае 8 это константа.
void переводиться как пустой наверное я понял в языке си нет понятия function только routine подпрограмма я так понял функция без параметров есть подпрограмма. Все операторы заканчиваються «;» То есть void потом Имя подпрограммы в скобках формальные параметры потом точка с запятой, а между фигрурными скобками ее код.
Ага еще интереснее было бы если исполизовать логические операторы типо if then или циклы типо while wend или repeat until скажем моргнуть 10раз. Могу предположить если аргумент delay короткое целое 16 бит то 2^16=65536 то и значение предельное в диапозоне 60мс хотя может быть и длинное целое быть 4байта.
Да в принципе если они использовали подпрограмму как таковую и переменную тогда могли бы написать и программе шапку типо того
пустой Подпрограмматребуетпеременнуютипацеое(целое Требуемаяпеременная); И синтаксис заодно void «(«[» » [«,»]>*»)» Ну как бы синтаксис я не знаю чтобы его описать просто предположил что переменые запятой разделяються.

Nikola
30.06.2015

tolkom vsjo ne pro4ital srazu no zaintresovalsa s mesta loop! nu eto tipo objasnjaetssa kak petlja — prostimi slovami. ne toljko v programmirovanii ispolzuetssa loop. tobish cikl po krugu… kakto tak. esli ne budet loop to eta programma zakon4itssa posle pdnoj vspiwki svetodioda.
ja poproboval sdelal 4 korotkix miganija s pauzoj v konce. eslib ne loop to 4x morgnulab i vsjo bolwe ne migalob. vot eto vabwwe ne ponjal… есть если аутрут равно 2 то можно писать 2 вместо output. po4emu eto output ravno 2? gde ti vzjal takoe ja ne vjexal. xotj ja v programmirovanii lamer no output eto po ljubomu ВЫХод. OUT on i v afrike vixod, no po4emu put ja ne v kurse 😛 😀 Есть ли какаято возможность записать эту программу в память ардуино чтобы она была там автономно без подключения к компу?
da kstati ona zapisivaetssa s pomowju USB kabelja i polnostju avtonomna rabotaet prosto pitanie vrubaesh i ona rabotaet. ja toljko cto pervij raz vklju4il etu platu potomucto sevodnja toljko polu4il ejo po po4te. s programmirovaniem tow ranshe ne stalkivalsa vabwwe… toljko oxrannie signalizacii no tam vabwwe nr to 😀 i blizko netu.

Занимательная робототехника
30.06.2015

Про автономность — именно так. Вы загружаете программу в микроконтроллер. После загрузки, можно отсоединить arduino от компьютера.
Про цикл loop верно. Любая программа для arduino ,будет в виде цикла. Опрос входящих сигналов на пины ардуино (сбор показаний датчиков), формирование управляющих воздействий, например, включить светодиод или повернуть серво и т.п. — все это всегда будет внутри цикла (loop).
Ваша программа в любом случае должна быть циклична. Наверняка, если вы хотите сделать 4 мигания и остановку, то это должно происходить в зависимости от какого то входящего сигнала по условию (срабатывание датчика, нажатие кнопки и т.п.). Это условие будет внутри цикла. Как, например, в уроке про кнопку http://edurobots.ru/arduino-knopka/

jktu
22.01.2017
твои комменты невозможно читать, мама, заберите у него клавиатуру
Nikola
30.06.2015

vot sdelal takuju migalku int led = 7; void setup()
pinMode(led, OUTPUT);
>
void loop()
digitalWrite(led, HIGH);
delay(20);
digitalWrite(led, LOW);
delay(50);
digitalWrite(led, HIGH);
delay(20);
digitalWrite(led, LOW);
delay(50);
digitalWrite(led, HIGH);
delay(20);
digitalWrite(led, LOW);
delay(50);
digitalWrite(led, HIGH);
delay(20);
digitalWrite(led, LOW);
delay(500); >
skazhi kak sdelatj ctob na vixode 8 vtoroj svetodiod migal to4no takuju programmu posle delay(500) i v konce u nevo opjatj delay 500.
kuda ja dolzen vpisatj vixod nomer 8? i kak eto budet pravilno sdelatj? kakto malo infi dlja na4inajuwwix.

Занимательная робототехника
30.06.2015

В примере к 8 пину светодиод подключен (led=8).
Чтобы использовать второй светодиод, подключенный к ардуино, внутри цикла должны быть еще дополнительно те же самые команды,
digitalWrite(led, HIGH); delay(1000); digitalWrite(led, LOW); delay(1000); только номер пина поменять на другой (вместо led)

ark4life
27.03.2016

Интересно, почему не удаётся сделать последовательное засвечивание светодиодов? Должно быть так: первый загорелся,через 750 мсек — второй, 750 мсек погорели и одновременно потухли, потом заново. Вместо этого получается ,что при загорании втором , первый гасится,словно его коротит. Подключение схоже на данное предоставленое в уроке,только использованы другие цифровые выходы(11,12). Переход у светодиодов за землю общий,через резистор. Не понимаю где я ошибся: програмно ,в физике или же одновременно не могут работать 2 цифровых выхода?
Скетч:
int led = 12;
int lad = 11;
void setup() pinMode(led,OUTPUT);
pinMode(lad,OUTPUT);
> void loop() digitalWrite(lad,HIGH);
delay(750);
digitalWrite(led,HIGH);
delay(750);
digitalWrite(lad,LOW);
digitalWrite(led,LOW);
delay(1000);
>

anton
11.06.2016

Команда «delay» полностью останавливает цикл. Для того, что бы диоды моргали попеременно, нужно исключить эту команду и использовать уже условия. Самый примитивный способ — счетчик.
int led1 = 12;
int led2 = 11;
int count = 0; void setup() pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
> void loop() < count = count + 1; if count = 1 then
digitalWrite(led1,HIGH);
endif; if count = 750 then
digitalWrite(led2,HIGH);
endif; if count = 1500 then
digitalWrite(led1,LOW);
digitalWrite(led2,LOW);
count = 0; //сбрасываем счетчик, и со следующего прохода все начнется сначала
endif;
> Вот только на счет синтаксиса языка не уверен. Так же нужно узнать количество тактов в секунду (750 мсек — это не 750 тактов).

Владимир
16.04.2016

переделал твоё))) теперь моргают попеременно! int led = 12;
int lad = 11;
void setup() pinMode(led,OUTPUT);
pinMode(lad,OUTPUT);
>
void loop() digitalWrite(lad,HIGH);
delay(1000); digitalWrite(lad,LOW);
delay(1000);
digitalWrite(led,HIGH);
delay(1000);
digitalWrite(led,LOW); delay(1000);
>

Владимир
16.04.2016

int led = 12;
int lad = 11;
void setup() pinMode(led,OUTPUT);
pinMode(lad,OUTPUT);
>
void loop() digitalWrite(lad,HIGH);
delay(1000); digitalWrite(lad,LOW);
delay(1000);
digitalWrite(led,HIGH);
delay(1000);
digitalWrite(led,LOW); delay(1000);
>

Роман
17.03.2017

Нифига твой пример не работает. Ошибка при проверке. Синтаксис должен быть другим. А каким не знаю пока…

nemezida.su
26.10.2016
Блин, как это круто. Можно год изучать и придумывать что-то)
Андрей
26.11.2016

#include «Ultrasonic.h»
Ultrasonic ultrasonic (8,9);
void setup() Serial.begin(9600); > void loop() float dist_cm=ultrasonic.Ranging(CM);
Serial.println(dist_cm);
delay(1000);
> int Trig = 8;
int Echo = 9;
int ledPin = A0; Подключение Ультрозвукового датчика

Passer
01.02.2017

Кто нибудь знает русскоязычные книги про ардуино. Не расчитанные на обезьян как эта статья. И не суровая спецификация. А именно книга. Которая будет обьяснять все работу всех элементов по отдельности и вместе как обычно это бывает в книгах.

Занимательная робототехника
01.02.2017

Как вариант, купить книгу от Джереми Блюма «Изучаем Arduino» (Exploring Arduino (Jeremy Blum)) Перевод и издание: БХВ-Петербург
Статья в виде инструкции для начинающих (без опыта), а не для обезьян. Формат подачи информации «для чайников» имеет право на существование.

саша
25.02.2017

подскажите, пожалуста, как написать код, чтоб светодиод загорался при нажатии кнопки и через 5 секунд гас и больше не загорался, пока опять не будет нажата кнопка.

Ербол
10.05.2017

Напишите программу, которая подсвечивает светодиоды 0.5c с четными номерами, следующие 0.5 с нечетными номерами. Помогите пожалуйста.

Сергей
07.06.2017

Можно мигать встроенным светодиодом и стартовый урок посвятить только программированию со встроенным светодиодом. К 13 порту подключен встроенный светодиод для этого. Кроме того 13 порт уже имеет распаянный на плате токоограничивающий резистор, поэтому и внешним светодиодом мигать на 13 порту безопаснее — плата целее у новичка будет

Тимур
14.12.2017

Для начинающих есть спец прога для ардуино, вней программируется без использования си, как фбд
тоже блочная, где-то читал что есть и лестничная структура программирования .
Ольга права, если Вы пытаетесь объяснить с нуля тогда нужно сначала азы рассказать.

Иван
28.02.2018

добрый день! Помогите. Не могу сделать так, чтобы светодиоды после мигания оставались гореть. digitalWrite(Up_LedPin, HIGH);
digitalWrite(Down_LedPin, HIGH);
digitalWrite(Right_LedPin, HIGH);
delay(10);
digitalWrite(Up_LedPin, LOW);
digitalWrite(Down_LedPin, LOW);
digitalWrite(Right_LedPin, LOW);
delay(200);
digitalWrite(Up_LedPin, HIGH);
digitalWrite(Down_LedPin, HIGH);
digitalWrite(Right_LedPin, HIGH);
delay(200);
digitalWrite(Up_LedPin, HIGH);
digitalWrite(Down_LedPin, HIGH);
digitalWrite(Right_LedPin, HIGH);

Вячеслав
09.03.2018

Объясните пожалуйста, где я ошибся. По моим расчетам, два светодиода должны попеременно включаться и выключаться соответственно, однако они включаются и выключаются одновременно. Как исправить?
int world = 8;
int sli = 7; void setup() < pinMode(world, OUTPUT);
pinMode(sli, OUTPUT);
> void loop() digitalWrite(sli, LOW); delay(1000); digitalWrite(world, HIGH); delay(1000); digitalWrite(sli, HIGH); delay(1000); digitalWrite(world, LOW); delay(1000); >

Вячеслав
09.03.2018

А при программе, приведенной у Владимира, у меня включаются попеременно, однако выключаются одновременно.

Влад
09.01.2019

Добрый день! Начал изучать ардуино. Помогите, пожалуйста, разобраться как работает программа. Например, программа состоит из десяти команд. Каждая команда выполняется за один такт.
Каким образом будут выполняться команды:
1. В первом такте выполнится только первая команда. Во втором такте выполнится только вторая команда … В десятом такте выполнится только десятая команда. В одиннадцатом такте повторно выполнится первая команда и т.д. То есть если в программе будет двадцать команд, то первая команда повторно выполнится на двадцать первом такте?
2. В первом такте выполнятся все десять команд. Во втором такте выполнятся все десять команд и т.д. То есть независимо от того сколько команд в программе они все будут выполняться каждый такт?

Aleks
11.01.2019

По сценарию описанному Вами в 1-м варианте. Хотя несколько условно. Некоторые команды выполняются за несколько тактов процессора.

Jkru
05.05.2019

Подписаны провода, когда это нафиг не надо и не подписано сопротивление, когда это вообще необходимо. В статье тоже инфы нет какое ставить. Диод куда ставить тоже нанонятно, длинная нога в землю? В резистор? Как вы так написали то?

Михаил
30.12.2022

Я тоже могу дать свой урок, как реализовать мигание светодиодом на плате Arduino. Вот простой пример кода, который позволяет реализовать мигание светодиодом на плате Arduino: // Определяем номер пина, на котором находится светодиод
int ledPin = 13; void setup() // Инициализируем пин светодиода как выход
pinMode(ledPin, OUTPUT);
> void loop() // Включаем светодиод
digitalWrite(ledPin, HIGH);
// Ждем 1 секунду
delay(1000);
// Выключаем светодиод
digitalWrite(ledPin, LOW);
// Ждем 1 секунду
delay(1000);
> В этом коде мы определяем пин, на котором находится светодиод, инициализируем этот пин как выход, затем в цикле loop включаем светодиод с помощью команды digitalWrite, ждем 1 секунду, выключаем светодиод и снова ждем 1 секунду. В результате светодиод будет мигать с частотой 1 Гц.

Занимательная робототехника
22.02.2023

Простое мигание светодиодом на Arduino может начать надоедать потому, что ваша программа не имеет много вариантов для изменений. Вы можете попробовать добавить разные режимы мигания, чтобы сделать его более интересным, например, изменить цвет светодиода, сменить последовательность мигания, изменить интервал между миганиями и т.д.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *