Ви не увійшли.
Я пытаюсь подсказать, что иногда возможны и нестандартные решения.))
Товарищу делал паяльную станцию. 6 семисегментных индикаторов (6*8 светодиодов!) на Меге8 - вполне нормальная яркость.
Ещё, видел у людей уличную(!) бегущую строку. Динамическая индикация, скважность 16:1! Халтура конечно, но видно. Для 100 скважность будет всего 11:1.))
Tlc5940 драйвер светодиодов
"Прекрасное" и недорогое. На нём и дурак сделает!))
"прекрасное" для кого? Относительно чего?))))
Ещё и как сможет. Вопрос только в яркости.
Достаточно 11 (одинадцати) пинов Ардуино. Ну и 100 светодиодов. Всё.
Нужно avtomat заменить на pistolet. Тогда будет стрелять как из пистолета, но только после digitalRead.
Можно на любых портАх и пинАх
shiftOut(SER_IN, SCLK, LSBFIRST, data);
delayMicroseconds(LATCH_TIME);
digitalWrite(LATCH, HIGH);
delayMicroseconds(LATCH_TIME);
digitalWrite(LATCH, LOW);
... но что то гугл не дает нормальный документ, я его наверное достал ) на отвяжись доки выдает )
У меня знакомый в Гугле (из Киева, кстати) - мож попросить что бы подправил чё-нить?)))
// display clock on single led
// return: SHORT - display, EMPTY - end
u08 DisplayClock(void)
{
static u08 led_timer;
static u08 i;
if (!led_timer) {
#if MONTH_WO_ZERO
if (!i && clock[MONTH] / 10 == 0)
i++;
#endif
Display(i & 1 ? clock[i / 2] % 10 : clock[i / 2] / 10);
}
if (++led_timer == ms2sys(LED_ON_TIME))
LED_OFF();
if (led_timer >= ms2sys(LED_ON_TIME + LED_OFF_TIME)) {
led_timer = 0;
if (++i >= sizeof(clock) * 2) {
i = 0;
return EMPTY;
}
}
return SHORT;
}
htpicc@gmail.com
Ну извини. Я не со зла. И не такой то я и умный, коль изначально смайл не приписал...
А можно без?
void loop() {
static uint16_t led_timer;
uint16_t led_blink = 1000;
if (condition)
led_blink = 2000;
delay(1);
if (++led_timer >= led_blink) {
led_timer = 0;
digitalWrite(LED, !digitalRead(LED));
}
}
Green пише:А если к члену приделать перо, получится член-корреспондент.
Попрошу таких идиотов вроде тебя не засорять форум!
Почитай alex_dol хотя бы. Может тогда поймёшь кто идиот.
А если к члену приделать перо, получится член-корреспондент.
Ни тебе спасибо, ни тебе чего... От народ!
Наиболее простой вариант, но требующий пару телодвижений. В эмуляторе терминала включаете вывод в лог-файл. В конце выключаете.
Иной раз, взглянув на код, сразу же хочется его закрыть со словами "глаза б мои никогда этого не видели б!"((
"Так значит можешь, если захочешь!"
Не мне, ТС. И без разницы какая у него ардуина. На то она и ардуина.))
Начинающему расскажите. А лучше покажите. На пальцах.))
"Остальное додумаете сами".
ах , да
![]()
...да, в ардуино использовать прерывания - жирновато ), но для обучения "самэ то" )
Естественный отбор, однако.((
Кроме того что не всегда можно, но и не всегда удобно. А 2-е, а 4-е, а комбинацИя, а автоповтор, а...?
Не жирно ли, прерывание?
loop()
{
delay(1);
if (KeyExe())
counter++;
}
bool KeyExe()
{
static bool key_pressed;
static uint8_t debounce_timer;
if (key_pressed != !digitalRead(KEY)) {
key_pressed = !key_pressed;
debounce_timer = DEBOUNCE_TIME;
}
else if (debounce_timer && !--debounce_timer && key_pressed)
return true;
return false;
}
Как обычно, на каждую задачу есть несколько решений. Тут всё зависит от приоритетов.
Была похожая задача. htpicc@gmail.com
Осветление забора? Нет проблем.
Судя по описанию там есть UART выход.
Тогда подключаешь RXD к выходу модуля на 9600 и вперёд. А ТХD пущай выводит на экран. Ага?