Суббота, 18.05.2024
Мой сайт
Меню сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Главная » 2019 » Ноябрь » 15 » «Клавиатура» (аналоговые порты)
19:51
«Клавиатура» (аналоговые порты)

«Клавиатура» (аналоговые порты)

Вот такое устройство подключено:

Идея описана тут:
https://akostina76.ucoz.ru/blog/2019-05-30-5872

Как ни странно, работает. Но только на А-портах (A0, A1 и т.д). Наверное, такие порты аналоговые, а цифровые -… цифровые в смысле 0 и 1 (больше можно, но надо постараться).
То, что считывается такой аналоговый сигнал, означает, что у меня уже есть осциллограф. С пятью входящими каналами (два порта нужны на часы) и с записью информации в файл. Если такое продаётся, то стоит каких-нибудь диких денег. 
С клавиатурой не без проблем, конечно. Скорее всего, подобные проблемы и вызвали переход к числовой информации. Аналоговое чтение с порта возвращает цифру от 0 до 1000 в зависимости от поданного на порт напряжения (от 0 до 5 вольт).
Клавиатура у меня очень специфическая. Странно ждать от такого устройства стабильности. Скорее, для него естественно, что одна и та же буква считывается разными цифрами;
Вот такое он считал (цифры сверху):

таким чтением:
if (kbd1<980)
  { 
    delay(20);
    kbd2 = analogRead(PIN_KBD1);
    delay(20);
    kbd3 = analogRead(PIN_KBD1);
    delay(20);
    kbd4 = analogRead(PIN_KBD1);
… т.е если зафиксировано нажатие, то он ещё три раза пытается читать информацию через 20 миллисекунд. Получилось 485, 501, 504, 503. Теоретически не страшно, но я решила не цеплять 50 кнопок к одному устройству, а сделать два по 25 (чтобы диапазоны были шире).
Скорее всего, это будет первая ситуация, которая потребует проверки корректности полученной информации. Здесь, скорее всего, подойдёт ограничение на допустимый разброс или Z-оценку:
https://drive.google.com/open?id=1FIqWcRqvW7mFT5-4aI8mnfVpje6aXW1h

Т.е если при чтении, например 10 раз вылезло 500, 499,501 … 1000, то 1000 – это явная ошибка чтения и либо её надо удалить из набора, либо повторить все чтение.
Полезли мелкие бяки видимо, всё-таки, кустарного компилятора. Без претензий. Работает и прекрасно что работает. Но уже раньше он что-то странное творил при встрече с двухмерными массивами. А сейчас отказался компилировать если кроме I2C монитора есть строки с выводом отладочной информации на экран компьютера (Serial):
http://akostina76.ucoz.ru/blog/2019-01-12-5616

Если бы я предусмотрительно ни купила дисплей, писать было бы не о чем (не посмотреть, что происходит).
Прямо сейчас потребуется и вторая обязательная для компьютера компонента – SD-карта (жесткий диск для постоянного хранений информации). Не руками же мне переписывать разбросы значений при нажатии кнопки. Пусть сразу в файл записывает, а я его потом а Excel-е открою.
Но вначале надо нормальную клавиатуры распечатать и всё к ней прицепить, а то очень неудобно, кроме всего прочего.
p/s
Такие аналоговые порты означают, что ловить прямой радиосигнал тоже, скорее всего, можно. А возможность программирования означает, что чистить его можно математическими методами (рады Фурье, вроде, для этого используют):
http://www.cqham.ru/qrss.htm

Просмотров: 115 | Добавил: akostina76 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Форма входа
Поиск
Календарь
«  Ноябрь 2019  »
ПнВтСрЧтПтСбВс
    123
45678910
11121314151617
18192021222324
252627282930
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Copyright MyCorp © 2024
    Бесплатный конструктор сайтов - uCoz