Скетч моргалки на Ардуино Нано

Sakhalin
Offline
Зарегистрирован: 05.04.2021

Приветствую всех!
Нужен скетч для режимов работы моргалки.
Имеем Arduino Nano. Источник питания 12 в. Тумблер 2 положения (2 режима работы). Потребитель 12 в, 12 вт.
Режим 1. Включение на 1 сек--> Пауза 10 сек --> Включение на 1 сек --> Пауза 5 сек --> Включение на 1 сек --> Пауза 1 сек --> Включение на 1 сек --> Пауза 5 сек --> Бесконечный цикл с начала, но рандомно.
Режим 2. Включение на 2 сек --> Пауза 5 сек --> Включение на 2 сек --> Пауза 5 сек --> Включение на 2 сек --> Пауза 1 сек --> Включение на 2 сек --> Пауза 1 сек --> Бесконечный цикл с начала, но рандомно.

Вопрос. Связка Arduino Nano и потребитель 12 вт рабочая, или необходимо реле?

Заранее, благодарю.

sadman41
Offline
Зарегистрирован: 19.10.2016

Ардуина не потянет ни 12V, ни 12W. "Реле" в том или ином виде нужно.

Скетч накатать недолго: wrk.sadman@gmail.com

Sakhalin
Offline
Зарегистрирован: 05.04.2021

Подскажите, как еще можно реализовать данные функции? Может это будет и не Ардуино.

-NMi-
Offline
Зарегистрирован: 20.08.2018

Готовое реле 680р. в Ч/Д есть. Купи и ниипи_нам_моск.

Sakhalin
Offline
Зарегистрирован: 05.04.2021

Реле не даст данного режима работы.

b707
Offline
Зарегистрирован: 26.05.2017

Sakhalin пишет:
Подскажите, как еще можно реализовать данные функции? Может это будет и не Ардуино.

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

 

Вы, кстати, разместили вопрос в платном разделе - а такое впечатление, что пытаетесь вытащить из нас консультацию бесплатно :)

Sakhalin
Offline
Зарегистрирован: 05.04.2021

)) Мне ваши консультации будут полезны в плане общего развития, так как в теме Ардуино и МК я крайне далек. Знаю что хочу получить, понимаю, что логика есть в Ардуино и на этом всё) Тему не случайно разместил в платном разделе, так как готов оплатить написание скетча, либо иную реализацию задуманного.

Sakhalin
Offline
Зарегистрирован: 05.04.2021

Мне необходима суперкомпактная реализация, отказоустойчивая, без зависаний.

b707
Offline
Зарегистрирован: 26.05.2017

человек в #1 вам дал почту - напишите ему

Sakhalin
Offline
Зарегистрирован: 05.04.2021

Да, благодарю. Уже веду переписку с этим человеком.

Yaroslav10110
Yaroslav10110 аватар
Offline
Зарегистрирован: 10.11.2020

Обсудим yaroslav.kraynov@gmail.com

renoshnik
Offline
Зарегистрирован: 11.04.2013

Sakhalin пишет:
Приветствую всех! Нужен скетч для режимов работы моргалки. Имеем Arduino Nano. Источник питания 12 в. Тумблер 2 положения (2 режима работы). Потребитель 12 в, 12 вт. Режим 1. Включение на 1 сек--> Пауза 10 сек --> Включение на 1 сек --> Пауза 5 сек --> Включение на 1 сек --> Пауза 1 сек --> Включение на 1 сек --> Пауза 5 сек --> Бесконечный цикл с начала, но рандомно. Режим 2. Включение на 2 сек --> Пауза 5 сек --> Включение на 2 сек --> Пауза 5 сек --> Включение на 2 сек --> Пауза 1 сек --> Включение на 2 сек --> Пауза 1 сек --> Бесконечный цикл с начала, но рандомно. Вопрос. Связка Arduino Nano и потребитель 12 вт рабочая, или необходимо реле? Заранее, благодарю.

Это вы зарядное устройство "моргалку" хотите сделать ?

 

Sakhalin
Offline
Зарегистрирован: 05.04.2021

Нет. Именно моргалку)
Беру паузу на пару дней, чтобы получить Ардуинку и дополнить ТЗ.

brokly
brokly аватар
Offline
Зарегистрирован: 08.02.2014

Вот я долго думал и не придумал, что может означать вот эта фраза - "Бесконечный цикл с начала, но рандомно ".

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Как будто все остальное имеет смысл... )

sadman41
Offline
Зарегистрирован: 19.10.2016

b707 пишет:

Вы, кстати, разместили вопрос в платном разделе - а такое впечатление, что пытаетесь вытащить из нас консультацию бесплатно :)


По всей видимости твоя интуиция лучше моей.

Sakhalin
Offline
Зарегистрирован: 05.04.2021

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

b707
Offline
Зарегистрирован: 26.05.2017

Sakhalin пишет:
Ардуинка есть, времени нет на покупку периферии.

ардуино и периферия для заказа кода совсем необязательны...

Sakhalin
Offline
Зарегистрирован: 05.04.2021

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

Бармалей
Бармалей аватар
Offline
Зарегистрирован: 23.09.2019

всё понятно

Sakhalin
Offline
Зарегистрирован: 05.04.2021

Я буду работать по предоплате. Проверку работоспособности кода я могу произвести лишь и использованием связки Ардуино и периферии. Что тут непонятно?

Бармалей
Бармалей аватар
Offline
Зарегистрирован: 23.09.2019

Когда сможете проверить?

Sakhalin
Offline
Зарегистрирован: 05.04.2021

Планирую завершить вопрос периферии до конца этой недели.

Бармалей
Бармалей аватар
Offline
Зарегистрирован: 23.09.2019

хорошо.

Sakhalin
Offline
Зарегистрирован: 05.04.2021

Вопрос с периферией решен, ведутся переговоры с sadman41 по реализации

Sakhalin
Offline
Зарегистрирован: 05.04.2021

Заказ в работе

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

ну переговоры это хорошо.

Вот "Моргалка". Платить Садману все равно придется, раз уж договорился ;)).

Собирать в 1.8.13 ;))) А то уже были прецеденты.

 

 

 

Sakhalin
Offline
Зарегистрирован: 05.04.2021

-_-

Sakhalin
Offline
Зарегистрирован: 05.04.2021

Где ты раньше был??)))

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Sakhalin пишет:

-_-

Улыбка украшает человека, но если расстроишь Садмана - попадешь в ЧС заказчиков. Это я так, просто напоминаю...

Код я просто от скуки написал.

Sakhalin
Offline
Зарегистрирован: 05.04.2021

))) Не, кидать никого не планировал. Дай контакты, закину денежку.

П.С. Код уже не подойдет, хотя скопировал)) У меня там добавились режимы и кнопка. Хотя, не знаю, насколько это трудоёмко.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Граф, второй раз у тебя вижу такое

01//для удобства печати в сериал, после отладки можно выкинуть
02int Wprintf(const char* __fmt, ...) {
03  char s[128];
04  va_list ap;
05  va_start(ap, __fmt);
06  int r = vsnprintf(s, 128, __fmt, ap);
07  va_end(ap);
08  Serial.print(s);
09  return r;
10}
11 
12 
13void setup() {
14  pinMode (SWpin, INPUT_PULLUP);
15  pinMode(OUTpin, OUTPUT);
16  digitalWrite (OUTpin, OFFstate);
17 
18  //для отладочного вывода
19  Serial.begin(115200);
20}

Второй раз не смог пройти мимо  :) 

01int ser_putchar(char AChar, FILE *AFile) {
02    return Serial.print(AChar);
03}
04 
05 
06void setup(void) {
07    Serial.begin(115200);
08     
09    stdout = fdevopen(ser_putchar, NULL);
10 
11    delay(100);
12 
13    printf("Start.\n");  // для отладки. :)

 

Sakhalin
Offline
Зарегистрирован: 05.04.2021

))) Бляха, может после Садмана сюда код на проверку закинуть?

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Sakhalin пишет:

))) Бляха, может после Садмана сюда код на проверку закинуть?

После Садмана, абычно, ничего проверять не надо. 

Sakhalin
Offline
Зарегистрирован: 05.04.2021

Добро

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Да можно. Я как-то раз обертку написал, задолбавшись Serial.print() в кулаке гонять... и больше не думал о ней.

У тебя - красИвее! ;)) Или красивЕе?

 

Sakhalin
Offline
Зарегистрирован: 05.04.2021

Дай контакты

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

DetSimen пишет:

Второй раз не смог пройти мимо  :) 

01int ser_putchar(char AChar, FILE *AFile) {
02    return Serial.print(AChar);
03}
04 
05 
06void setup(void) {
07    Serial.begin(115200);
08     
09    stdout = fdevopen(ser_putchar, NULL);
10 
11    delay(100);
12 
13    printf("Start.\n");  // для отладки. :)

 

Поигрался, изменил так:

01void setup() {
02  Serial.begin(115200);
03  fdevopen([](char __ch) {
04    return Serial.print(__ch);
05  }, NULL);
06 
07  printf("Мама мыла раму.  %03d\n ", 32);
08}
09 
10void loop() {}

Просто посмотрел исходник, fdevopen сам stdout и stderr определяет, ну и блямба - наше ффсё!! ;))

Теперь тока так буду! Пасибки.

Есть еще вариант - структуру FILE для stdout определить не на куче, что fdevopen() делает, а глобально. В доках к arv-libc пример есть... но это уже украшательство.

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Sakhalin пишет:

Дай контакты

в телеге: собака мой ник, т.е. @wdrakula