mitya1698 18 10 апреля, 2023 Опубликовано 10 апреля, 2023 · Жалоба Взять сопротивление потенциометра в 10 раз меньшее, тогда первые 25 шагов будут перекрывать диапазон исходного потенциометра. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
HardEgor 71 10 апреля, 2023 Опубликовано 10 апреля, 2023 · Жалоба 38 минут назад, d00r сказал: возможно можно как-то перескакивать, например разбить на 100 шагов встроенные ключи? Возможно. Уже 3 раза написал. Спасибо за внимание. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
d00r 0 11 апреля, 2023 Опубликовано 11 апреля, 2023 · Жалоба Вот потенциометр, на 64 шага. 2 кнопки. Куда сувать генератор????? ds1809.pdf Я сам принцип понять не могу, как генератор заставить пропускать несколько нажатий? Я с таким не сталкивался. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
byRAM 24 12 апреля, 2023 Опубликовано 12 апреля, 2023 · Жалоба 2 часа назад, d00r сказал: Я сам принцип понять не могу, как генератор заставить пропускать несколько нажатий? Я с таким не сталкивался. А сколько нужно нажатий пропускать? Если это имеет значение, то придётся городить схему на триггерах или счётчиках и логике (без MCU). Если не имеет, ставьте генератор для кварцевых часов и через кнопки на UC и DC, а пользователь пусть секунды считает. Всё усложнилось без микроконтроллера до неприличия 🤣 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 128 12 апреля, 2023 Опубликовано 12 апреля, 2023 · Жалоба 6 часов назад, d00r сказал: Куда сувать генератор????? В 05.04.2023 в 20:51, Сергей Борщ сказал: на вторые концы кнопок подать сигнал с генератора (одна микросхема или два транзистора), тогда потенциометр будет шагать пока нажата кнопка. Чтобы кнопка подавала на входы потенциометра не 0 или 1, а импульсы с генератора. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
d00r 0 12 апреля, 2023 Опубликовано 12 апреля, 2023 · Жалоба 10 hours ago, byRAM said: А сколько нужно нажатий пропускать? Если это имеет значение, то придётся городить схему на триггерах или счётчиках и логике (без MCU). Вот! То что нужно! Нужно пропускать по 10 шагов - как посчитать частоту генератора? NE555 Подойдёт? Мжете описать принцымп и последовательность, если не сложно.... MCU не вариант. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
byRAM 24 12 апреля, 2023 Опубликовано 12 апреля, 2023 (изменено) · Жалоба 2 часа назад, d00r сказал: Вот! То что нужно! Нужно пропускать по 10 шагов - как посчитать частоту генератора? NE555 Подойдёт? Насчёт NE555 не в теме, никогда не работал. Вроде как он либо задержку, либо импульсы формирует. Может быть на двух NE555 или каком-то новом и получится. Если ошибаюсь - не взыщите, не помню, чтобы он был незаменим цифровыми микросхемами. А чем логика тогда плоха, там обвеса никакого не надо, кварц с логическими элементами да счётчик. Лучше 8 импульсов подряд, там хвоста не будет, да и схема проще. Изменено 12 апреля, 2023 пользователем byRAM Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mitya1698 18 12 апреля, 2023 Опубликовано 12 апреля, 2023 · Жалоба #include <tiny13a.h> // ^ тип процессора #include <delay.h> interrupt [PC_INT0] void pin_change_isr(void) { } // по изменению входа просто просыпаемся и в главном цикле опрашиваем вход. unsigned char GetData (void) // опрос входов { unsigned char i, j; for(i = 0; i < 10; i++) // Подавление дребезга { delay_ms(1); j = PINB & 0x03; delay_ms(1); if(j != (PINB & 0x03)) i = 0; } return j; } void main(void) { unsigned char i; #pragma optsize- CLKPR=0x80; CLKPR=0x03; #ifdef _OPTIMIZE_SIZE_ #pragma optsize+ #endif PORTB=0x03; DDRB=0x0C; GIMSK=0x20; MCUCR=0x00; PCMSK=0x03; GIFR=0x20; #asm("sei") // настроил порты на вход с подтяжкой и прерыванием по изменению и на выход. while (1) { switch (GetData()) { case 0x02: for (i = 0; i <10; i++) {PORTB.2 = 1; delay_ms (1); PORTB.2 = 0; delay_ms (1); } // выход на первый канал // подобрать кол^ импульсов длину ^ паузу ^ break; case 0x01: for (i = 0; i <10; i++) {PORTB.3 = 1; delay_ms (1); PORTB.3 = 0; delay_ms (1); } // выход на второй канал // подобрать кол^ импульсов длину ^ паузу ^ break; } while ( GetData() != 0x03) delay_ms (1); // Ожидание отпускания. MCUCR &= ~(1<<SM1); MCUCR &= ~(1<<SM0); MCUCR |= (1<<SE); #asm("sleep"); // Спим до следующего нажатия на кнопку. } } Вот примерно так 🙂 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Plain 184 13 апреля, 2023 Опубликовано 13 апреля, 2023 · Жалоба В 12.04.2023 в 02:37, d00r сказал: Вот потенциометр ... ds1809 ... на 64 шага. 2 кнопки. Куда сувать генератор? Никуда, достаточно было почитать данный паспорт — там встроенный автоповтор 10 Гц уже в наличии, даже формулу дали. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться