Например TDA7294

Форум РадиоКот • Просмотр темы - Опрос кнопок микроконтроллером
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Чт июл 10, 2025 10:40:46

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 509 ]     ... , , , , 26
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Опрос кнопок микроконтроллером
СообщениеДобавлено: Пт май 02, 2025 17:45:48 
Опытный кот

Зарегистрирован: Вс мар 23, 2025 14:56:55
Сообщений: 700
Рейтинг сообщения: 0
ну дык!. оптика, магниты... но цена.
жалею, что не собирал раньше старые мышки шариковые. Ща бы в поделки была бы кучка оптических энкодеров, а не китайское механическое унылое г...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Опрос кнопок микроконтроллером
СообщениеДобавлено: Пт май 02, 2025 18:08:47 
Друг Кота
Аватар пользователя

Карма: 67
Рейтинг сообщений: 1060
Зарегистрирован: Чт сен 18, 2008 12:27:21
Сообщений: 19693
Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Магниторезитор заменить цифровым датчиком Холла, они вроде есть в обычных кулерах (переключают обмотки).

_________________
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Измерить нннада?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Опрос кнопок микроконтроллером
СообщениеДобавлено: Сб май 03, 2025 09:19:41 
Мучитель микросхем
Аватар пользователя

Карма: 10
Рейтинг сообщений: 155
Зарегистрирован: Ср июн 29, 2022 16:25:45
Сообщений: 469
Рейтинг сообщения: 0
Уош, там слесарить еще надо, что б нормально энкодер сделать

_________________
Белая и Пушистая


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Опрос кнопок микроконтроллером
СообщениеДобавлено: Сб май 03, 2025 10:22:45 
Сверлит текстолит когтями

Карма: 12
Рейтинг сообщений: 124
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 1213
Рейтинг сообщения: 0
Опять кнопки.) Давеча китайские часы модифицировал. А там аж 5 аналоговых. Пришлось выборочно с некоторыми работать.
Спойлер
Код:
// analogue key
#include "adc.h"


#define KEY               C,7,H         //A7

//key: ALARM MODE LIGHT UP DOWN         //adc min level
#define KEY_ALARM_LEVEL    80           //4
#define KEY_MODE_LEVEL    230           //98
#define KEY_UP_LEVEL      330           //241
#define KEY_DOWN_LEVEL    410           //347
#define KEY_LIGHT_LEVEL   500           //427

#define KEY_ALARM         (1<<0)        //code
#define KEY_MODE          (1<<1)
#define KEY_UP            (1<<2)
#define KEY_DOWN          (1<<3)
#define KEY_LIGHT         (1<<4)
#define LONG_BIT          (1<<5)
#define REPEAT_BIT        (1<<6)
#define KEY_ALARM_LONG    (KEY_ALARM | LONG_BIT)
#define KEY_MODE_LONG     (KEY_MODE  | LONG_BIT)
#define KEY_LIGHT_LONG    (KEY_LIGHT | LONG_BIT)
#define KEY_UP_LONG       (KEY_UP    | LONG_BIT)
#define KEY_DOWN_LONG     (KEY_DOWN  | LONG_BIT)
#define KEY_UP_REPEAT     (KEY_UP    | LONG_BIT | REPEAT_BIT)
#define KEY_DOWN_REPEAT   (KEY_DOWN  | LONG_BIT | REPEAT_BIT)

#define DEBOUNCE_TIME     50            //short
#define REPEAT_DELAY      800           //long - задержка перед LONG
#define REPEAT_TIME       100           //repeat long - автоповтор при LONG


#define key_init()        //adcInit();

// однократный опрос, на выходе: код кнопки
inline uint8_t get_key() {
  uint16_t adc = getAdc(_bn(KEY));
  // if (adc < 1000) { con_int(adc); con_write(' '); } //DEBUG
  if (adc < KEY_ALARM_LEVEL) return KEY_ALARM;
  if (adc < KEY_MODE_LEVEL)  return KEY_MODE;
  if (adc < KEY_UP_LEVEL)    return KEY_UP;
  if (adc < KEY_DOWN_LEVEL)  return KEY_DOWN;
  if (adc < KEY_LIGHT_LEVEL) return KEY_LIGHT;
  return 0;
}

uint8_t key();

Не аккуратненько. Но для сельской местности сойдёт.)
Спойлер
Код:
#include "main.h"
#include "akey.h"


// SHORT - при отжатии, LONG - при нажатии, LONG REPEAT (UP/DOWN) - при удержании
uint8_t key() {
  typedef enum {SHORT, LONG, LONG_LONG} state_t;
  static state_t state;
  static uint8_t short_key;
  static uint16_t timer;

  uint8_t k = get_key();
  for_change(k)                         //change
    timer = ms2sys(DEBOUNCE_TIME);
  if (timer)
    --timer;
  else if (k) {
    if (state == SHORT) {               //начало нажатия
      state = LONG;
      short_key = k;                    //запомним для отжатия
      timer = ms2sys(REPEAT_DELAY - DEBOUNCE_TIME) - 1;
    }
    else if (state == LONG) {           //длинное нажатие
      state = LONG_LONG;
      timer = ms2sys(REPEAT_TIME) - 1;
      short_key = 0;                    //wo press
      return k | LONG_BIT;
    }
    else if (k & (KEY_UP | KEY_DOWN)) { //повтор только для UP/DOWN!
      timer = ms2sys(REPEAT_TIME) - 1;
      return k;
    }
  }
  else if (state != SHORT) {            //released
    state = SHORT;
    return short_key;                   //0 after a long
  }
  return 0;
}


Вернуться наверх
 
Выбираем индустриальные и медицинские источники питания MEAN WELL в открытом исполнении

Использование модульных источников питания открытого типа широко распространено в современных устройствах. Присущие им компактность, гибкость в интеграции и высокая эффективность делают их отличным решением для систем промышленной автоматизации, телекоммуникационного оборудования, медицинской техники, устройств «умного дома» и прочих приложений. Рассмотрим подробнее характеристики и особенности трех самых популярных вариантов AC/DC-преобразователей MW открытого типа, подходящих для применения в промышленных устройствах - серий EPS, EPP и RPS представленных на Meanwell.market.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Опрос кнопок микроконтроллером
СообщениеДобавлено: Сб май 03, 2025 14:04:16 
Опытный кот

Зарегистрирован: Вс мар 23, 2025 14:56:55
Сообщений: 700
Рейтинг сообщения: 0
Уош, там слесарить еще надо, что б нормально энкодер сделать

у нас всё продумано: чпу-станочек :wink:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Опрос кнопок микроконтроллером
СообщениеДобавлено: Сб май 03, 2025 14:57:04 
Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Пн сен 23, 2024 07:37:53
Сообщений: 169
Рейтинг сообщения: 0
Тогда об чем плач Ярославны по мышам шариковым, невинно убиенным?
Вот за 150 рублей электронно-оптическая часть, без механики и даже приардуиненая: https://www.chipdip.ru/product0/8753510820

И даже за 80р https://www.chipdip.ru/product0/8010797720


Вернуться наверх
 
Распродажа паяльного оборудования ATTEN!
Паяльные станции, паяльники и аксессуары по самой выгодной цене.

По промокоду radiokot скидка 10%
Не в сети
 Заголовок сообщения: Re: Опрос кнопок микроконтроллером
СообщениеДобавлено: Сб май 03, 2025 15:43:55 
Мучитель микросхем
Аватар пользователя

Карма: 10
Рейтинг сообщений: 155
Зарегистрирован: Ср июн 29, 2022 16:25:45
Сообщений: 469
Рейтинг сообщения: 0
BorMot, так в основном механика - самое геморойное в таких штуках.

_________________
Белая и Пушистая


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Опрос кнопок микроконтроллером
СообщениеДобавлено: Сб май 03, 2025 16:00:04 
Опытный кот

Зарегистрирован: Вс мар 23, 2025 14:56:55
Сообщений: 700
Рейтинг сообщения: 0
BorMot, мыши были бесплатно )
а так-то всё можно купить. Есть и неубиваемые оптические энкодеры в продаже, промышленные, неардуинные и нечипдипные


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Опрос кнопок микроконтроллером
СообщениеДобавлено: Сб май 03, 2025 16:12:16 
Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Пн сен 23, 2024 07:37:53
Сообщений: 169
Рейтинг сообщения: 0
Что до механики в тех мышах, так это просто слёзы. Диск дырчатый пластиковый, одно целое с валом, и это всё вставлялось в пластиковые же "подшипники" путём вдавливания за счёт упругости материала. Диск в любом случае пришлось бы переделывать по числу дырок или собачить редуктор, а это уже действительно механика. При наличии же станка ЧПУ не стоит об этом и говорить.
А что до бесплатности, я свои мыши покупал а не расхищал на рабочем месте. Расхищал я шаговые двигатели :))) , вернее спасал от вторчермета. Итого, имеем 2 оптодатчика на одну мышь, эквивалент 160 рублей. Стоит ли оно сожаления?


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 509 ]     ... , , , , 26

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y