Проект Arduino Как сделать украшения из рождественских огней

  • Brian Curtis
  • 0
  • 4787
  • 1361
Реклама

Это следующая часть нашей обучающей серии Arduino, и на этот раз мы будем изучать и использовать Массивы сделать маленький елочный орнамент с различными мигающими последовательностями. Это был бы идеальный проект, чтобы держать детей занятыми, если вы хотите научить их основам пайки - просто установите светодиоды на кусок карты, и вы сможете получать питание от стандартной батареи 9 В.

Это также ключевой урок для начинающих программистов на Arduino, хотя, если вы не планируете использовать это в качестве украшения, я бы настоятельно рекомендовал в любом случае макетировать его..

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

Если вы еще этого не сделали, сейчас самое время следовать другим статьям серии:

  • Что такое Arduino и что с ним можно делать Что такое Arduino и что с ним делать? Что такое Arduino и что с этим можно сделать? Arduino - замечательное небольшое электронное устройство, но если вы никогда не использовали его раньше, то, что именно они, и что вы можете сделать с ним? ?
  • Что такое стартовый комплект Arduino и что в нем содержится? Что входит в стартовый комплект Arduino? [MakeUseOf Объясняет] Что входит в стартовый комплект Arduino? [MakeUseOf Объясняет] Ранее я уже представлял оборудование с открытым исходным кодом Arduino здесь, в MakeUseOf, но вам понадобится больше, чем просто Arduino, чтобы что-то из него построить и начать работу. Arduino "стартовые наборы" являются…
  • Более крутые компоненты для покупки с вашим стартовым комплектом 8 Более крутые компоненты для ваших проектов Arduino 8 Более крутые компоненты для ваших проектов Arduino Итак, вы думаете о том, чтобы получить стартовый комплект Arduino, но не знаете, будут ли некоторые основные светодиоды и резисторы достаточно, чтобы вы были заняты на выходные? Возможно нет. Вот еще 8…
  • Начало работы с вашим стартовым комплектом Arduino? Установка драйверов и настройка платы и порта Начало работы с вашим Arduino Starter Kit - Установка драйверов и настройка платы и порта Начало работы с вашим Arduino Starter Kit - Установка драйверов и настройка платы и порта Итак, вы купили себя Стартовый комплект Arduino и, возможно, некоторые другие случайные классные компоненты - что теперь? Как вы на самом деле начинаете программировать эту штуку Arduino? Как вы это настроили ...
  • Fritzing, бесплатный инструмент для рисования принципиальных схем Fritzing - универсальный инструмент для набросков электронных проектов [кросс-платформенный] бесплатное программное обеспечение, которое вы можете использовать для создания принципиальных схем и схем компонентов для использования с быстродействующими макетными платами, такими как фантастический Arduino с открытым исходным кодом…
  • Более пристальный взгляд на структуру приложения Arduino и пример программы Blink Первые шаги в Arduino: более пристальный взгляд на печатную плату и структуру программы Первые шаги в Arduino: более пристальный взгляд на печатную плату и структуру Про программу В прошлый раз я оставил вас, настроив Arduino для работы с Mac или Windows, и загрузив простое тестовое приложение, которое мигало встроенным светодиодом. Сегодня я собираюсь объяснить код ...

Для этого проекта вам понадобится хотя бы 8 или 9 светодиодов в красном или зеленом цвете, резистор для каждого из них макетировать и некоторые провода для подключения. Стартовый комплект от Ooomlout, который я недавно приобрел сам и изображен в этом уроке, предлагает отличное соотношение цены и качества и имеет больше светодиодов и резисторов, чем вам когда-либо понадобится, а также поставляется с аккуратным макетом и корпусом Arduino для хранения вещей. аккуратный.

Вот последняя вещь:

И видео об этом в действии.

Вот вид на проводку от Fritzing. Это очень просто - просто подключите положительный вывод светодиодов к контактам 2-> независимо (до контакта 13) и подключите отрицательные ножки к земле, встроенные в резистор. Значение, которое я здесь использовал, составляет 560 Ом. Вот и все для проводки.

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

int led1 = 2; // первый светодиод на контакте 2 int led2 = 3; // второй контакт 3 // и т. д. void loop () digitalWrite (led1, HIGH); задержки (100); digitalWrite (LED1, LOW); задержки (100); digitalWrite (LED2, HIGH); // так далее 

Вы должны увидеть, что с 9 светодиодами это быстро утомит. Ответ лежит с Массивы, что, если вы не можете вспомнить наше Программирование 101 об основных типах данных Основы компьютерного программирования 101 - Переменные и типы данных Основы компьютерного программирования 101 - Переменные и типы данных Ранее мы рассказали и немного поговорили об объектно-ориентированном программировании и о том, откуда происходит его тезка. Я думал, что пришло время пройти через абсолютные основы программирования не специфическим для языка способом. Это ... - в основном просто списки.

Синтаксис выглядит следующим образом (поместите это как первую строку в вашем коде):

int leds [] = 2,3,4,5,6,7,8,9,10;

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

Теперь, чтобы использовать массив, нам нужно обратиться к нему по номеру индекса. Индекс начинается с 0, и поэтому всегда будет на 1 меньше, чем общее количество вещей в нем (так что с 9 элементами последний будет иметь индекс 8).

Вы пишете это так:

светодиоды [0]

Который в нашем случае выбрал бы число 2, потому что это то, что с индексом 0 в нашем массиве.

Следуя до сих пор? Отлично. Одного этого недостаточно для нас - нам также нужен какой-то способ перебора каждого элемента нашего массива светодиодов. Для этого мы будем использовать для цикла. Синтаксис для этого выглядит следующим образом:

for (начальная переменная; условие, при котором мы повторяем снова; меняем переменную на каждой итерации)

Например:

для (int i = 0; i<9; i++)

Который говорит

  • начать этот цикл с переменной, я, который имеет значение нуль
  • продолжать цикл только пока я менее чем 9?(так: 0,1,2,3,4,5,6,7,8)
  • каждый раз, добавить 1 к я (i ++ - это короткий способ сказать i = i + 1)

Таким образом, в принципе, цикл будет повторяться столько раз, сколько у нас будет светодиодов, и каждый раз, когда он будет повторяться, у нас будет переменная, я, который мы можем использовать, как нам нравится.

Мы будем использовать эту структуру дважды для начала. Оказавшись внутри функции настройки, все наши контакты переключаются в режим вывода, например так:

void setup () for (int i = 0; i< 9;i++) pinMode(leds[i],OUTPUT);  

Ты видишь, что мы там сделали? Вместо того, чтобы писать 9 строк кода, чтобы объявить каждый отдельный вывод как выходной, мы создаем цикл for, который повторяется 9 раз, каждый раз устанавливая другой вывод..

Теперь вы должны увидеть, как мы можем сделать то же самое в главном цикле программы, чтобы последовательно включить каждый светодиод:

void loop () for (int i = 0; i< 9;i++) digitalWrite(leds[i],HIGH); delay(100); digitalWrite(leds[i],LOW);  

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

Хорошо, теперь у нас довольно скучная последовательность освещения. Давайте запрограммируем еще один. Просто для удовольствия, давайте сделаем это совершенно случайно. Замените код основного цикла следующим:

void loop () int randomLed = random (0,8); digitalWrite (светодиоды [randomLed], HIGH); задержка (50); randomLed = случайный (0,8); digitalWrite (светодиоды [randomLed], LOW); 

Вместо того чтобы использовать цикл for для итерации каждого светодиода, мы выбираем случайное число от 0 до 9 и высвечиваем его.

Я собираюсь оставить его там на сегодня, так как теперь вы должны иметь достаточно знаний, чтобы программировать все новые последовательности и экспериментировать с циклами. Чтобы доказать, насколько легко все это, я попросил жену подумать о последовательности, которую она хотела бы увидеть, а затем получил?ей запрограммировать себя, учитывая только код и уроки, которые вы имели до сих пор. Она придумала это, так что посмотрим, сможете ли вы сопоставить это с домашней работой!

Вопросы, предложения, проблемы - пишите в комментариях.




О современных технологиях, просто и доступно.
Ваш гид в мире современных технологий. Узнайте как использовать технологии и гаджеты, которые нас окружают каждый день и научитесь открывать интересные вещи в Интернете.