Профессионал зачастую может выкрутиться так, чтобы уложиться в три таймера, а стандартный ход для новичка: если не хватает ресурсов, взять контроллер помощнее. Например, в Arduino Mega - 6 таймеров.
в вавгаде и 328pb есть 4-й таймер, но ему для servo.h нужен 16-битный, тогда смотрим библиотеку
/*
* Defines for 16 bit timers used with Servo library
*
* If _useTimerX is defined then TimerX is a 16 bit timer on the current board
* timer16_Sequence_t enumerates the sequence that the timers should be allocated
* _Nbr_16timers indicates how many 16 bit timers are available.
*/
/**
* AVR Only definitions
* --------------------
*/
// Say which 16 bit timers can be used and in what order
#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
#define _useTimer5
#define _useTimer1
#define _useTimer3
#define _useTimer4
typedef enum { _timer5, _timer1, _timer3, _timer4, _Nbr_16timers } timer16_Sequence_t;
#elif defined(__AVR_ATmega32U4__)
#define _useTimer1
typedef enum { _timer1, _Nbr_16timers } timer16_Sequence_t;
#elif defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB1286__)
#define _useTimer3
#define _useTimer1
typedef enum { _timer3, _timer1, _Nbr_16timers } timer16_Sequence_t;
#elif defined(__AVR_ATmega128__) || defined(__AVR_ATmega1281__) || defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega2561__)
#define _useTimer3
#define _useTimer1
typedef enum { _timer3, _timer1, _Nbr_16timers } timer16_Sequence_t;
#else // everything else
#define _useTimer1
typedef enum { _timer1, _Nbr_16timers } timer16_Sequence_t;
#endif
Здесьсказали, что серво и сирена на одном таймере, нужно разнести на два. Пробовал закомментить все строки с сервой, - верно, ошибка исчезает, сирена работает. Вот теперь задачка: как прописать либо серве, либо сирене другой таймер? Я начинающий, серву вставить в коды приемника и передатчика получилось самому, а вот таймеры изменить пока не получается.
Вообще-то прямо в той теме был пример как всё это хозяйство перекинуть на ватчдог и подружить с сервой. Правда пример был для мигалки, а не мигалки с сиреной. Но ни что не мешает перекинуть туда же и код сирены..
Профессионал зачастую может выкрутиться так, чтобы уложиться в три таймера, а стандартный ход для новичка: если не хватает ресурсов, взять контроллер помощнее. Например, в Arduino Mega - 6 таймеров.
в вавгаде и 328pb есть 4-й таймер, но ему для servo.h нужен 16-битный, тогда смотрим библиотеку
я что-то не увидел, что 4 килорубля предлагали за код, пролетел однако
Так предлагали за решение задачи, за выкладывание видео, в общем, 4 килорубля - единая цена на всё в этой теме. FixPrice!
Антипод Бармалея. У того по 500, у этого по 4т.)
Антипод Бармалея. У того по 500, у этого по 4т.)
Нет. Я просто трудозатраты прикинул, мошт, приврал, канеш, но несильно.
Шютка, конечно.) А вот только стоит взяться за реализацию, начинаешь думать что всё же мало выставил.)
Шютка, конечно.) А вот только стоит взяться за реализацию, начинаешь думать что всё же мало выставил.)
это да, особенно когда день работы нормирован и стоит (к примеру) 7 тыр.
PS вспоминая далёкие времена когда чтобы заработать 200 рублей надо было чинить по 20 телевизоров в день, личный мой рекорд 22 единицы с 9 до 14 )))
Здесь сказали, что серво и сирена на одном таймере, нужно разнести на два. Пробовал закомментить все строки с сервой, - верно, ошибка исчезает, сирена работает. Вот теперь задачка: как прописать либо серве, либо сирене другой таймер? Я начинающий, серву вставить в коды приемника и передатчика получилось самому, а вот таймеры изменить пока не получается.
Вообще-то прямо в той теме был пример как всё это хозяйство перекинуть на ватчдог и подружить с сервой. Правда пример был для мигалки, а не мигалки с сиреной. Но ни что не мешает перекинуть туда же и код сирены..
в вавгаде и 328pb есть 4-й таймер, но ему для servo.h нужен 16-битный, тогда смотрим библиотеку
А в Блупилл тоже 4 таймера, причем, все 16-разрядные. И что?
https://www.youtube.com/watch?v=C6Mbs27iFrA
Интересное видео. Но 6 моторов, а не 2 :-)