Азбука Ардуино

Модератор: Gnat

Аватара пользователя
SmartAvit
Сообщения: 505
Зарегистрирован: Пн мар 25, 2019 12:10 am
Откуда: Москва

Азбука Ардуино

Сообщение SmartAvit » Ср янв 15, 2020 11:46 pm

masterlomaster, Цветомузыку или на твердотельных реле если лампочки 220 В или лучше с трансформаторной развязкой на лампочках 12 вольт но не советую категорически опасно для жизни.

Зачем если можно использовать куски разноцветной светодиодной ленты RGB 5050 на 12 вольт и обычные мосфеты намного круче получится светомузыка если на Arduino Nano то 21 канал и меняя частоту импульсов можно задать любой из 256 цветов, на один пин завести сигнал от микрофона с АРУ будет работать под любую музыку.
Можно подключить 7 рулонов светодиодной ленты RGB 5050 и будет космос.

Нужна Arduino UNO, 21 мосфет, 42 резистора, микрофонный модуль и 7 рулонов светодиодной ленты RGB 5050.
Если купишь все можно на форуме разобрать схему и скетч по позже как будем модули для Arduino изучать.
С уважением Владимир.

masterlomaster
Сообщения: 116
Зарегистрирован: Ср окт 22, 2014 3:41 pm
Откуда: г.Гуково Ростовская обл.

Азбука Ардуино

Сообщение masterlomaster » Чт янв 16, 2020 12:52 am

SmartAvit писал(а):
Ср янв 15, 2020 11:46 pm
не советую категорически опасно для жизни.
Это я понимаю. Но я же гальванически развяжу оптронами управление и силовую часть. Вся конструкция будет в закрытом металлическом корпусе. И т.д. За напоминание-спасибо! В школьные годы не понимал этого. Делали цветомузыки на тиристорах. Ничего не боялись :)
SmartAvit писал(а):
Ср янв 15, 2020 11:46 pm
Если купишь все можно на форуме разобрать схему и скетч по позже как будем модули для Arduino изучать.
Вот за это большое спасибо!!!
Игорь

Аватара пользователя
Andrey.I
Сообщения: 1562
Зарегистрирован: Вт июл 02, 2013 1:21 pm
Откуда: Москва
Контактная информация:

Азбука Ардуино

Сообщение Andrey.I » Чт янв 16, 2020 2:23 am

BazilVV писал(а):
Ср янв 15, 2020 9:30 am
Поспал чуть больше 4 часов , да диоды зажигаются одновременно, но гаснут от 1 к 5, это бегущая тень будет.
Достал ардуинку, решил пройтись по заданиям, сначало, заглядывать пришлось на форум постоянно чтобы, что то в скетче написать, потом полегче пошло.
Написал программку для для "бегущей тени" :)
Если кто хочет потренироваться под спойлер чур не заглядывать.
А вдруг по другому можно написать.
int pin1 = 8;
int pin2 = 9;
int pin3 = 10;
int pin4 = 11;
int pin5 = 12;

void setup()
{

pinMode(pin1,OUTPUT);
pinMode(pin2,OUTPUT);
pinMode(pin3,OUTPUT);
pinMode(pin4,OUTPUT);
pinMode(pin5,OUTPUT);
}

void loop()
{

digitalWrite(pin1,HIGH);
digitalWrite(pin2,HIGH);
digitalWrite(pin3,HIGH);
digitalWrite(pin4,HIGH);
digitalWrite(pin5,HIGH);


digitalWrite(pin1,LOW);
delay(300);
digitalWrite(pin1,HIGH);

digitalWrite(pin2,LOW);
delay(300);
digitalWrite(pin2,HIGH);

digitalWrite(pin3,LOW);
delay(300);
digitalWrite(pin3,HIGH);


digitalWrite(pin4,LOW);
delay(300);
digitalWrite(pin4,HIGH);

digitalWrite(pin5,LOW);
delay(300);
digitalWrite(pin5,HIGH);

}
Два ночи пора спать! :lol:
С уважением, Андрей

Аватара пользователя
SmartAvit
Сообщения: 505
Зарегистрирован: Пн мар 25, 2019 12:10 am
Откуда: Москва

Азбука Ардуино

Сообщение SmartAvit » Чт янв 16, 2020 2:37 am

masterlomaster, Если будешь делать на твердотельных реле то оптроны дополнительно не нужны они внутри твердотельного реле, только реле нужно покупать с 5 В управлением.
Andrey.I, Поздравляю, по этой схеме скетча можно делать довольно сложные световые эффекты на 20 светодиодах )
С уважением Владимир.

Аватара пользователя
SmartAvit
Сообщения: 505
Зарегистрирован: Пн мар 25, 2019 12:10 am
Откуда: Москва

Азбука Ардуино

Сообщение SmartAvit » Чт янв 16, 2020 2:54 am

Вернитесь к предыдущей схеме с тремя светодиодами

Изображение

Загрузите этот скетч и объясните почему он так работает?

int Red_led = 13;
int Green_led = 11;
int Yellow_led = 9;
int Period = 10;
void setup()
{
pinMode(Red_led, OUTPUT);
pinMode(Green_led, OUTPUT);
pinMode(Yellow_led, OUTPUT);
}
void loop()
{
digitalWrite(Red_led, HIGH); delay(Period);
digitalWrite(Green_led, HIGH); delay(Period);
digitalWrite(Yellow_led, HIGH); delay(Period);
digitalWrite(Red_led, LOW); delay(Period);
digitalWrite(Green_led, LOW); delay(Period);
digitalWrite(Yellow_led, LOW); delay(Period);
Period = Period + 1;
}

А теперь две задачки
одна попроще
- попробуйте написать скетч чтобы светодиоды мигали наоборот сначала медленно а потом все быстрее.

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

araya
Сообщения: 379
Зарегистрирован: Ср фев 03, 2016 6:55 pm
Откуда: Усть-Лабинск

Азбука Ардуино

Сообщение araya » Чт янв 16, 2020 12:05 pm

Вышло как то так. https://yadi.sk/i/V2eNPSEz8ND4tQ Спасибо за тему.Может наконец то разберусь . :)
Александр

Аватара пользователя
MOT
Сообщения: 1150
Зарегистрирован: Сб дек 16, 2017 7:58 pm
Откуда: Россия, Краснодарский край, г.Армавир

Азбука Ардуино

Сообщение MOT » Чт янв 16, 2020 12:57 pm

SmartAvit писал(а):
Чт янв 16, 2020 2:54 am
Загрузите этот скетч и объясните почему он так работает?
Смещается временная компонента, заданная переменной Period, постепенно уходя до предела "int" в цикле "loop".
С уважением, Виктор Евгеньевич

Аватара пользователя
BazilVV
Сообщения: 356
Зарегистрирован: Пт сен 15, 2017 11:34 am
Откуда: г.Нетешин

Азбука Ардуино

Сообщение BazilVV » Чт янв 16, 2020 2:28 pm

SmartAvit писал(а):
Вт янв 14, 2020 11:05 pm
delay(1000); Эта функция говорит delay пауза и в скобках сколько в миллисекунд
Не могу пока понять как работает эта функция


digitalWrite(pin1, HIGH);_____ //на пин1 подаем напряжение
dеlay(1000);________________//пауза 1000, т.е. будет напряжение на пин1 1000 мс так я понимаю?
digitalWrite(pin1, LOW);______//на пин1 снимаем напряжение
dеlay(1000);________________//пауза 1000, т.е. здесь действительно, пауза,нет напряжения 1000 мс
Василий Васильевич. Моя галерея.
ЗЫ: Я сторонник жесткой модерации в тематических ветках.

Аватара пользователя
MOT
Сообщения: 1150
Зарегистрирован: Сб дек 16, 2017 7:58 pm
Откуда: Россия, Краснодарский край, г.Армавир

Азбука Ардуино

Сообщение MOT » Чт янв 16, 2020 2:38 pm

BazilVV писал(а):
Чт янв 16, 2020 2:28 pm
Не могу пока понять как работает эта функция


digitalWrite(pin1, HIGH);_____ //на пин1 подаем напряжение
dеlay(1000);________________//пауза 1000, т.е. будет напряжение на пин1 1000 мс так я понимаю?
digitalWrite(pin1, LOW);______//на пин1 снимаем напряжение
dеlay(1000);________________//пауза 1000, т.е. здесь действительно, пауза,нет напряжения 1000 мс
Правильно
С уважением, Виктор Евгеньевич

Аватара пользователя
Andrey.I
Сообщения: 1562
Зарегистрирован: Вт июл 02, 2013 1:21 pm
Откуда: Москва
Контактная информация:

Азбука Ардуино

Сообщение Andrey.I » Чт янв 16, 2020 3:29 pm

BazilVV писал(а):
Чт янв 16, 2020 2:28 pm
digitalWrite(pin1, HIGH);_____ //на пин1 подаем напряжение
Верно, подается высокий уровень и на пин1 появляется напряжение +5 вольт относительно земли.
BazilVV писал(а):
Чт янв 16, 2020 2:28 pm
dеlay(1000);________________//пауза 1000, т.е. будет напряжение на пин1 1000 мс так я понимаю?
dеlay - прерывает или останавливает выполнение дальнейших действий нашей программы на 1000 мс, по истечению 1000 мс выполняется следующее действие:
digitalWrite(pin1, LOW);______//на пин1- снимаем напряжение (0 вольт относительно земли), то есть пока действует команда dеlay контроллер не может выполнить какие либо действия. Так, так наверное, чуть-чуть вернее.
С уважением, Андрей

Алексей Сергеевич
Сообщения: 6489
Зарегистрирован: Чт мар 19, 2015 7:44 am
Откуда: Алматы

Азбука Ардуино

Сообщение Алексей Сергеевич » Чт янв 16, 2020 3:38 pm

dеlay правильно переводится как задержка, а не пауза :)

задержка, отсрочка, опоздание, просрочка
промедление, затягивание, оттягивание

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

Аватара пользователя
MOT
Сообщения: 1150
Зарегистрирован: Сб дек 16, 2017 7:58 pm
Откуда: Россия, Краснодарский край, г.Армавир

Азбука Ардуино

Сообщение MOT » Чт янв 16, 2020 3:45 pm

Ну я думаю смысл одинаковый с точки зрения машинного кода, ведь что пауза, что задержка это выполнение команды "NOP" на Ассемблере или просто запускается пустой цикл на определённое значение.
Просто в СИ интерпретаторе это функция "DELAY".
NOP - только место в ОЗУ жрёт и машинное время.
Последний раз редактировалось MOT Чт янв 16, 2020 3:49 pm, всего редактировалось 1 раз.
С уважением, Виктор Евгеньевич

Аватара пользователя
Andrey.I
Сообщения: 1562
Зарегистрирован: Вт июл 02, 2013 1:21 pm
Откуда: Москва
Контактная информация:

Азбука Ардуино

Сообщение Andrey.I » Чт янв 16, 2020 3:46 pm

Алексей Сергеевич писал(а):
Чт янв 16, 2020 3:38 pm
я пока что не приобрел ардуину, но в ближайшее время доберусь....
присоединяйтесь, я вчера усилием воли заставил себя лечь спать! :lol:
С уважением, Андрей

Аватара пользователя
BazilVV
Сообщения: 356
Зарегистрирован: Пт сен 15, 2017 11:34 am
Откуда: г.Нетешин

Азбука Ардуино

Сообщение BazilVV » Чт янв 16, 2020 4:06 pm

Andrey.I писал(а):
Чт янв 16, 2020 3:46 pm
присоединяйтесь, я вчера усилием воли заставил себя лечь спать! :lol:
Тоже самое.
Вот задумал скетч, бегущая темная точка, на 6 диодах, написал, не скомпилировало, нащел и исправил ошибки, получилось то что хотел 72строк скетча, потом думаю бегущую тень повторить (спойлер не открывал), ан нет, бегущая темная точка :shock: но 18 строк скетча.
Не понимаю еще логики действия функций или как его там назвать :%)
Василий Васильевич. Моя галерея.
ЗЫ: Я сторонник жесткой модерации в тематических ветках.

Аватара пользователя
MOT
Сообщения: 1150
Зарегистрирован: Сб дек 16, 2017 7:58 pm
Откуда: Россия, Краснодарский край, г.Армавир

Азбука Ардуино

Сообщение MOT » Чт янв 16, 2020 4:24 pm

BazilVV, Василий Васильевич, понимание со временем придёт - гарантирую, мыслить командами будете :) Просто сейчас Вы ограничены в знаниях команд. На первое время блокнот с перечнем команд - обязателен! По крайней мере в детстве с этого начинал, когда Бейсик на ZX-Spectrum учил :)
С уважением, Виктор Евгеньевич

Ответить

Вернуться в «Усилители»