На просторах интернета можно найти достаточно много видеороликов, в которых демонстрируются красиво мигающие различные красочные светодиодные кубы, управляемые с помощью Arduino. Но доступ к технологии изготовления и программному коду этих устройств предлагается за деньги. Мы же в моей статье рассмотрим создание простейшего подобного мигающего светодиодного куба 3х3х3 с простейшим алгоритмом мигания (проще для новичков), на основе которого вы потом можете запрограммировать свои образцы.
Светодиодный куб 3*3*3 состоит из 27 светодиодов, упорядоченных по строкам и столбцам чтобы они образовывали форму куба
В большинстве случаев обычные светодиоды потребляют ток от 2 до 5 мА. Поэтому если мы используем светодиоды, потребляющие 2 мА, то управлять 9-ю такими светодиодами можно без проблем с одного контакта Arduino Uno, поскольку контакты Arduino Uno способны обеспечивать ток 20-30 мА.
Для управления этим кубом нам понадобится 12 контактов платы Arduino Uno.
Необходимые компоненты;
1.Плата Arduino Uno. источник питания с напряжением
2.резистор 220 Ом (3 шт.)
3.источник питания с напряжением 5в.
4. 27 Светодиодов.
5. Батарейка SR2032.
Шаг 1. Сначала необходимо с помощью батарейки SR2032 или мультиметра проверить светодиоды на исправность, потому что если потом выяснится что какой-то светодиод неисправен, то заменить его в уже собранном кубе будет не очень просто.
Шаг 2. Затем необходимо с соединительных проводов удалить изоляцию . Для создания куба можно использовать любые соединительные провода, но стоит отметить, что провода для макетной платы для этой цели подойдут отлично. Затем полученные оголенные провода необходимо нарезать на отрезки длиной 7 см – всего необходимо 6 таких отрезков. Эти отрезки проводов будут использоваться для скрепления слоев светодиодов между собой.
Шаг 3. После этого возьмите карандаш и линейку и отметьте 9 точек на бумаге через каждые 2 см таким образом формируя структуру куба как показано на рисунке.
После этого возьмите любой заостренный предмет, например ручку или карандаш и проделайте отверстие в каждой точке. Отверстия должны быть такого размера, чтобы в них достаточно устойчиво держался светодиод.
Шаг 4. После этого поместите один светодиод в отверстие и согните его положительный контакт как показано на рисунке ниже.
После этого согните положительный контакт светодиода еще раз чтобы он сформировал форму буквы ‘L’. При близком рассмотрении на контакте светодиода можно рассмотреть небольшую выемку в том месте, где его следует сгибать в форму буквы ‘L’. После этого согните отрицательный контакт светодиода вправо как показано на следующем рисунке.
Шаг 5. Затем повторите все эти шаги для остальных светодиодов и упорядочите эти 3 светодиода в форме ряда как показано на рисунке. Этот шаблон будет использован для всех остальных светодиодов куба. Можно даже сначала согнуть выводы у всех 27 светодиодов куба, а только потом упорядочить их и спаять их концы.
Шаг 6. После этого спаяйте все отрицательные выводы светодиодов как показано на рисунке. Три светодиода будут образовывать ряд.
После этого возьмите два оголенных проводника длиной по 7 см (их мы заготовили ранее), поместите их как показано на рисунке и припаяйте 6 концов этих светодиодов чтобы сформировать полную матрицу.
Теперь все отрицательные выводы 9 светодиодов соединены друг с другом, то есть мы будем иметь 9 положительных выводов (CP1-CP9) и один отрицательный вывод (CN1).
ШАГ 7. Аналогичную последовательность действий мы должны предпринять и для изготовления других двух слоев куба, внешний вид этих сконструированных двух слоев показан на следующем рисунке.
Шаг 8. Теперь, когда у вас есть все 3 слоя куба, вам необходимо состыковать их вместе чтобы получить куб.
Работа схемы:
Когда куб будет закончен у вас в распоряжении будет его 12 контактов, из которых 9 будут общими положительными выводами (контактами), а остальные 3 – общими отрицательными выводами. Каждый общий положительный вывод соединяет положительные выводы 3-х светодиодов, а каждый общий отрицательный вывод соединяет отрицательные выводы 9-ти светодиодов. Таким образом, мы будем иметь 9 столбцов, представляющих 9 положительных выводов (CP1-CP9) и 3 слоя представляющих 3 отрицательных вывода (CN1-CN3). Эти выводы необходимо будет соединить со следующими контактами платы Arduino Uno:
PIN2 ——————CP1 (Common Positive)
PIN3 ——————CP2 (Common Positive)
PIN4 ——————CP3 (Common Positive)
PIN5 ——————CP4 (Common Positive)
PIN6 ——————CP5 (Common Positive)
PIN7 ——————CP6 (Common Positive)
PIN8 ——————CP7 (Common Positive)
PIN9 ——————CP8 (Common Positive)
PIN10 —————-CP9 (Common Positive)
PIN A0 ——————CN1 (Common Negative)
PIN A1 ——————CN2 (Common Negative)
PIN A2 ——————CN3 (Common Negative)
Схема проекта вот такая.
Куб собран теперь самое главное .Загрузить код в ардуино.
Исходный код программы .
Можно скопировать и вставить в Ардуино.
void setup()
{
for (int i=0;i<11;i++)
{
pinMode(i,OUTPUT); // контакты S0-10 устанавливаются в режим вывода данных
}
pinMode(A0,OUTPUT); //PIN A0 устанавливается на вывод данных
pinMode(A1,OUTPUT); // PIN A1 устанавливается на вывод данных
pinMode(A2,OUTPUT); // PIN A2 устанавливается на вывод данных
digitalWrite(A0,HIGH); //подаем логическую "1" на A0 pin
digitalWrite(A1,HIGH); // подаем логическую "1" на A1 pin
digitalWrite(A2,HIGH); // подаем логическую "1" на A2 pin
/* add setup code here, setup code runs once when the processor starts */
}
void loop()
{
digitalWrite(A0,LOW); // на слой 1 куба подана земля
for (int i=2;i<11;i++)
{
digitalWrite(i,HIGH); // поочередно включаем каждый светодиод в слое 1
delay(200);
delay(200);
delay(200);
digitalWrite(i,LOW);
}
digitalWrite(A0,HIGH); // на слой 1 куба подана логическая "1"
digitalWrite(A1,LOW); // на слой 2 куба подана земля
for (int i=2;i<11;i++)
{
digitalWrite(i,HIGH); // поочередно включаем каждый светодиод в слое 2
delay(200);
delay(200);
delay(200);
digitalWrite(i,LOW);
}
digitalWrite(A1,HIGH); // на слой 2 куба подана логическая "1"
digitalWrite(A2,LOW); // на слой 3 куба подана земля
for (int i=2;i<11;i++)
{
digitalWrite(i,HIGH); // поочередно включаем каждый светодиод в слое 3
delay(200);
delay(200);
delay(200);
digitalWrite(i,LOW);
}
digitalWrite(A2,HIGH); // на слой 3 куба подана логическая "1"
}
Пояснение к коду:
В полученном кубе если мы хотим включить один светодиод, к примеру, светодиод во втором столбце первого слоя, нам будет необходимо запитать контакт CP2 и подать землю на контакт CN1. В соответствии со сделанными соединениями в схеме нам необходимо подать напряжение высокого уровня на контакт PIN3 платы Arduino (который подсоединен к CP2) и напряжение низкого уровня на контакт PIN A0 (который подсоединен к CN1).
Аналогичным образом мы можем зажечь любой другой светодиод. Далее в программе мы в бесконечном цикле будем зажигать поочередно все светодиоды в нашем кубе.
Примеров много Скетча для куба 3x3x3. Можно самому вносить изменения. по желанию.
Желаю удачи в программировании ардуино.
Видео что получется.