Автор Тема: Мобильная клавиатура. Разработка. Рабочие материалы.  (Прочитано 62127 раз)

Оффлайн digitalman

  • DiG_Man
  • Full
  • ****
  • Сообщений: 1794
  • Репутация: +0/-0
  • DigitalMan[hi is not Cristopher Lambert]
    • http://vkontakte.ru/digital_man
    • Личное сообщение (Оффлайн)
Окончательная базовая раскладка носимой мобильной клавиатуры для крепления на руке.
Глобальный Информационный Сервис: Вся информация принадлежит нам...
[DigitalMan/CapRiuS:A1/Цифровой Человек]
(htap://crs)

Оффлайн Новичёк

  • Administrator
  • Hero
  • *****
  • Сообщений: 15347
  • Репутация: +28/-108
    • Личное сообщение (Оффлайн)
Окончательная базовая раскладка носимой мобильной клавиатуры для крепления на руке.

Ну, и дальше что?

Оффлайн Новичёк

  • Administrator
  • Hero
  • *****
  • Сообщений: 15347
  • Репутация: +28/-108
    • Личное сообщение (Оффлайн)
Опять двигаю твои ножки! Вот схема клавиатуры с учётом твоих исправлений, т.е. 32 клавиши, и, соответственно 5 светодиодов.



Если нужна клавиатура с USB - нужно поменять процессор, на имеющий встроенный USB порт, ну и ещё кое-что по мелочам. Но это в общем-то не принципиально.

Думаю, также будет уместно в этой ветке повторить упрощённую блок-схему и дать ссылку на её файл в формате Microsoft Visio (в конце поста).



Надеюсь, доработаешь её сам. Ну, или хотя бы изложи словесно необходимые доработки (с учётом того, что я не телепат!), я это смогу сделать и сам и выложить здесь.

Также считаю уместно будет повторить ссылку на даташит использованного в приведённой схеме микроконтроллера: Microchip PIC16F87XA Data Sheet.

А также на всякий случай привести даташит на микроконтроллер с встроенным USB портом: PIC18F2550 (4550/2455/4455).

Таким образом, дело осталось за тобой! Прежде всего, доработать блок-схему, сначала упрощённую, а затем сделать либо полную, либо привести блок-схемы процедур, входящих в упрощённую блок-схему. Хотя ты конечно же можешь сразу выкладывать сюда код, без создания блок-схем, хотя я не уверен, что это будет правильно. Прежде всего потому, что там наверняка будет огромное количество ошибок!

Далее, что касается выбора процессора: я не настаиваю, чтобы это был обязательно PIC. Однако поскольку я похоже единственный, кто тебе пытается хоть  в чём-то помогать, то что касается PIC'ов, то я тебе тоже обязуюсь, по мере возможности, помогать начиная от среды программирования MPLAB, внутренней структуры микроконтроллеров, и кончая созданием, а точнее контроля созданного тобой кода. Что касается AVR, то опыта разработки на нём у меня нет и здесь я тебе не помощник. Извини.
Однако, если ты захочешь перевести схему на AVR, укажи какой именно, схему изменю. Без проблем!

Так что повторюсь: теперь дело за тобой!  :)


ЧСХ: Такой Довольный как будто САМ, Сделал?
« Последнее редактирование: Января 30, 2019, 14:52:04 от digitalman »

Оффлайн Новичёк

  • Administrator
  • Hero
  • *****
  • Сообщений: 15347
  • Репутация: +28/-108
    • Личное сообщение (Оффлайн)
Окончательная базовая раскладка носимой мобильной клавиатуры для крепления на руке.

Ввиду продолжения темы (точнее двух тем), взглянул сегодня наконец-то на предлагаемую тобой окончательную раскладку. И сразу вопросы: клавиша F1 - понятно, для приложений, вызывает встроенную справку. Клавиша Shift - тоже понятно включает верхний регистр текущей раскладки. А что делает клавиша Alt? Если речь идёт о спецсимволах, которые на обычной клавиатуре набираются нажатием этой клавиши и набором цифрового кода, то для этих целей вполне можно было бы использовать ту же клавишу Shift при Альтернативной раскладке 1, поскольку для этой раскладки не существует символов верхнего регистра! Далее. Что делает клавиша Num Loсk? Ведь на обычной клавиатуре эта клавиша управляет режимом работы дополнительной, правой частью цифровой клавиатуры, которой в твоём варианте просто нет! Так зачем же эта клавиша??? Я уже молчу о том, что русских раскладки две, не введёт ли в ступор то, что одна и та же физически клавиша в одном случае кодирует, например, букву "ф", а в другом случае - букву "щ"? Как-то это не комильфо...

И все вот эти непонятки возникают по одной банальной причине: ты до сих пор не озаботился созданием хотя бы примитивного Технического задания, где были бы оговорены все без исключения функции клавиатуры! Вот так и рождается не пойми что и нужное не пойми кому! Точнее не нужное никому. (Это перефразировка из "Понедельник начинается в субботу" братьев Стругацких: "Вот так и рождаются нездоровые сенсации" ©).
« Последнее редактирование: Января 30, 2019, 14:53:07 от digitalman »

Оффлайн digitalman

  • DiG_Man
  • Full
  • ****
  • Сообщений: 1794
  • Репутация: +0/-0
  • DigitalMan[hi is not Cristopher Lambert]
    • http://vkontakte.ru/digital_man
    • Личное сообщение (Оффлайн)
Окончательная базовая раскладка носимой мобильной клавиатуры для крепления на руке.

Ввиду продолжения темы (точнее двух тем), взглянул сегодня наконец-то на предлагаемую тобой окончательную раскладку. И сразу вопросы: клавиша F1 - понятно, для приложений, вызывает встроенную справку. Клавиша Shift - тоже понятно включает верхний регистр текущей раскладки. А что делает клавиша Alt? Если речь идёт о спецсимволах, которые на обычной клавиатуре набираются нажатием этой клавиши и набором цифрового кода, то для этих целей вполне можно было бы использовать ту же клавишу Shift при Альтернативной раскладке 1, поскольку для этой раскладки не существует символов верхнего регистра! Далее. Что делает клавиша Num Loсk? Ведь на обычной клавиатуре эта клавиша управляет режимом работы дополнительной, правой частью цифровой клавиатуры, которой в твоём варианте просто нет! Так зачем же эта клавиша??? Я уже молчу о том, что русских раскладки две, не введёт ли в ступор то, что одна и та же физически клавиша в одном случае кодирует, например, букву "ф", а в другом случае - букву "щ"? Как-то это не комильфо...

И все вот эти непонятки возникают по одной банальной причине: ты до сих пор не озаботился созданием хотя бы примитивного Технического задания, где были бы оговорены все без исключения функции клавиатуры! Вот так и рождается не пойми что и нужное не пойми кому! Точнее не нужное никому. (Это перефразировка из "Понедельник начинается в субботу" братьев Стругацких: "Вот так и рождаются нездоровые сенсации" ©).
Цитировать
Да уж. Согласен. Чего-то я перемудрил. Добавить 4 клавиши захотелось как-то импульсивно, потому как показалось что можно значительно (до 20%) увеличить скорость набора. И как-то совершенно не обдумав скопипастил клавиши(относительно нужные) стандартной клавиатуры. Причем что характерно, меня по началу интересовала и клавиша Ctrl для комбинации Ctrl+Alt+Del.

В общем получилось не то что нужно.
Увеличивать количество клавиш не хочется, так как они превратятся просто в малогабаритные кнопки.
А ограниченный набор тоже не удобно. Нужен компромисс.

Идея то ведь в относительно быстром наборе на кириллице (Латиница менее важна, пусть англосаксы сами придумывают).

Клавиша "Shift" очевидно нужна для заглавных букв.

Клавиша Mode переключает режим ввода но режимов этих целых 5. Многовато. В худшем случае нужно по 4 раза нажимать на Mode для циклической смены режима.

Можно переключать режимы комплексно с клавишей Rus/Lat. В русской раскладке 2 режима ввода в латинской 3.

Какие функции вешать на другие две клавиши даже и не знаю. Ctrl и Alt могут пригодится в приложениях Без Tab можно обойтись, одна функциональная клавиша вместо 12 как-то несерьезно.

Не вся таблица ASCII влезла в матрицу. Нет наприме
Цитировать
р \,',_

Что касается двухрежимности русской раскладки, - а как иначе алфавит(33буквы)  загнать в матрицу 4x6 (24)? В ступор это может ввести человека, микросхеме всё равно.

ТЗ нужно сделать, согласен.
Я параллельно программирую проект, о котором упоминал, это база данных html документов для локального хранения. Вот туда тоже буду материалы о клавиатуре заводить. Делаю алгоритмы индексации и выборки... Гипертекст у меня уже давно работает в локальном приложении на дельфях. И перекрестные гиперссылки что нужно открывают. Но работы мнооого ещё. И когда моё приложение (CAPRIUS) перейдет из альфа версии в бета версию (нескоро :( ), то будет нечто вроде самописного wiki-движка, с возможностью обмена документами (инфоблоками) через сеть. Причем доступ к информации можно будет ограничивать.

Приоритет разработки CAPRIUSа для меня выше чем по мобильной клавиатуре, но с началом лета я всё же планирую паять уже реальную схему на PIC.

Принципиальная схема и блок схема получились хорошие. Обязательно ими займусь, когда начну разбираться. Что касается программы-прошивки, думаю что сделаю, но не скоро ещё. На ВОЛНУ нужно настроится.

У меня есть распечатка методики GTD [url=https://ru.wikipedia.org/wiki/Getting_Things_Done приколотая к стене. Sometimes даже помогает, поскольку идеи здравые. (Кстати мозговой штурм там тоже имеется).



« Последнее редактирование: Сентября 11, 2019, 06:48:18 от digitalman »
Глобальный Информационный Сервис: Вся информация принадлежит нам...
[DigitalMan/CapRiuS:A1/Цифровой Человек]
(htap://crs)

Оффлайн Новичёк

  • Administrator
  • Hero
  • *****
  • Сообщений: 15347
  • Репутация: +28/-108
    • Личное сообщение (Оффлайн)
Да уж. Согласен. Чего-то я перемудрил. Добавить 4 клавиши захотелось как-то импульсивно, потому как показалось что можно значительно (до 20%) увеличить скорость набора. И как-то совершенно не обдумав скопипастил клавиши(относительно нужные) стандартной клавиатуры. Причем что характерно, меня по началу интересовала и клавиша Ctrl для комбинации Ctrl+Alt+Del.

И часто ты этой комбинацией пользуешься? Я, например, только в процессе модификации системы! А так она просто не нужна. К тому же, как правило, на всех маленьких материнских платах есть кнопка Reset!  :)

В общем получилось не то что нужно.

Ну точно, как я и писáл - получилось не пойми что и нужное не пойми кому, точнее не нужное никому!

Клавиша "Shift" очевидно нужна для заглавных букв.

Да.

Клавиша Mode переключает режим ввода но режимов этих целых 5. Многовато. В худшем случае нужно по 4 раза нажимать на Mode для циклической смены режима.

Можно переключать режимы комплексно с клавишей Rus/Lat. В русской раскладке 2 режима ввода в латинской 3.

А ведь можно Mode ещё и Shift да и какие-нибудь ещё клавиши скомбинировать для быстрого переключения режима. Просто Mode - переключает режимы поочерёдно, Mode и Shift - через два режима, а например Mode и Ctrl - через четыре режима. Таким образом, выбор пяти раскладок производится максимум двумя нажатиями.  :)

Какие функции вешать на другие две клавиши даже и не знаю. Ctrl и Alt могут пригодится в приложениях Без Tab можно обойтись, одна функциональная клавиша вместо 12 как-то несерьезно.

Вот опять вернулись к тому, что нужно прежде всего разработать Техническое задание! Хотя бы самое примитивное. Ведь без этого нормальный продукт не получить! Вспоминаю, как в одной из контор, где я работал техническим экспертом, сколько я сил убил и сломал копий для того, чтобы в этой конторе любую разработку начинали с Технического задания. А то ведь как получалось: технологи на фигушках объяснят разработчикам что же они хотят, те родят какое-то железо и объясняют программистам, как это железо должно работать. Те пишут программу, как они её поняли, при этом оказывается, что всё то, что наваяли, работает совершенно не так, как нужно было. Ну прямо так, как это изображено на следующей картинке, которую в конце концов повесили у разработчиков:



После чего начинаются многочисленные доработки... Как много раз тогда говорили: на создание ТЗ времени не хватает, зато находится время на многочисленные доработки! В конце концов кончилось тем, что был разработан и внедрён стандарт предприятия о порядке разработки и запуска продукции в производство. Ведь ТЗ на самом деле имеет двоякую цель:
1. Чётко сформулировано что же именно нужно сделать.
2. Все причастные понимают совершенно одинаково цель создания изделия, и вносят коррективы с учётом своей специфики.

Ведь там участвуют и представители Заказчика, и технологи, и конструктора, и программисты, и метрологи, и служба ОТК, и т.д. У каждой службы своя специфика и свои требования. И всё это должно быть изложено в одном документе! Ведь только в этом случае получится ожидаемый продукт! И то подчас требуется та или иная доработка, подчас через несколько лет, поскольку недостатки выясняются в процессе эксплуатации.
Однако, поскольку в данном случае, с клавиатурой, ты один во всех лицах, то ТЗ нужно для того, чтобы хотя бы внятно сформулировать, что же ты в конце концов хочешь!

Что касается двухрежимности русской раскладки, - а как иначе алфавит(33буквы)  загнать в матрицу 4x6 (24)? 

 :o Так у тебя же целых 32 клавиши! Если же ты хочешь использовать только 24, то раздели весь алфавит на две части, по частоте использования букв. В первой половине - наиболее часто встречающиеся, во второй - достаточно редко. В начале первой темы, посвящённой твоей клавиатуре, я давал соответствующую ссылку.

В ступор это может ввести человека, микросхеме всё равно.

Так именно человек и будет работать с этой твоей клавиатурой! И поскольку он периодически будет впадать в ступор, то скорость набора на такой клавиатуре у него будет никакая! Это я всё к тому, зачем же всё таки она нужна? Я уже говорил, что такая клавиатура имеет право на жизнь только в виде хобби, чтобы заодно освоить микропроцессоры, среду программирования и т.д. Больше - ни для чего! Поскольку аналогичные клавиатуры уже существуют на рынке. Более того, как я уже писáл, зачем изобретать велосипед? И если говорить о дополненной реальности, то там всё это решается элементарно и никакого железа изобретать вообще не нужно!

ТЗ нужно сделать, согласен.

Вот, наконец-то здравая мысль! Когда оно родится?

Я параллельно программирую проект, о котором упоминал, это база данных html документов для локального хранения. ...  И когда моё приложение (CAPRIUS)

Опять CAPRIUS! А ведь ты так и не ответил на вопрос: зачем всё это нужно? Какова цель этого проекта? Чем твой CAPRIUS будет лучше уже существующих систем управления гипертекстовыми документами? Извини за прямоту, но в процессе общения я совершенно чётко уяснил, что как программист ты весьма и весьма слаб. Более того, ты не знаешь и не понимаешь многих вещей, которые просто обязан знать любой мало-мальский программист! Отсюда можно сделать совершенно однозначный вывод, что создать что-то лучшее, чем уже существующие системы управления гипертекстовыми документами ты просто не в состоянии! Ещё раз извини за прямоту. Тем более, что я уверен на 100%, что ТЗ для CAPRIUS у тебя также нет! А это значит, что ты опять родишь непонятно что, нужное непонятно кому, точнее не нужное никому! Живой пример - твоя примитивная процедура кодирования 36-ричных цифр. Ну ведь она же ни для чего не нужна! Так сказать вещь в себе.

У меня есть распечатка методики GTD https://ru.wikipedia.org/wiki/Getting_Things_Done приколотая к стене. Иногда даже помогает, поскольку идеи здравые. (Кстати мозговой штурм там тоже имеется).

Странно... Если она у тебя на стене, так почему же ты не следуешь её положениям?
Цитировать
GTD основана на принципе, гласящем, что человек должен освободить свой разум от запоминания текущих задач (бывают исключения в случаях, когда несколько задач по разным проектам взаимосвязаны), перенеся сами задачи и напоминания о них на внешний носитель. Таким образом, разум человека, освобождённый от запоминания того, что должно быть сделано, может сконцентрироваться на выполнении самих задач, которые должны быть чётко определены и сформулированы заранее («какое следующее действие нужно совершить?»).

Это ведь прямо говорит о том, что начинать нужно прежде всего с ТЗ! Причём здесь имеется ввиду не только ТЗ как таковое, но и план-график подлежащих выполнению работ.

Напомню: какие-либо другие подходы попросту не эффективны!

Что касается мозгового штурма, то он был в самом начале первой темы по поводу клавиатуры. Однако как я уже писáл, ты принял к разработке самый примитивный, ничем не обоснованный (кроме желания сделать самому эту клавиатуру), и к тому же бесперспективный в плане бизнеса вариант!
« Последнее редактирование: Апреля 27, 2017, 01:28:54 от Новичёк »

Оффлайн digitalman

  • DiG_Man
  • Full
  • ****
  • Сообщений: 1794
  • Репутация: +0/-0
  • DigitalMan[hi is not Cristopher Lambert]
    • http://vkontakte.ru/digital_man
    • Личное сообщение (Оффлайн)
Потом отвечу на остальное...

Цитировать
Так у тебя же целых 32 клавиши! Если же ты хочешь использовать только 24, то раздели весь алфавит на две части, по частоте использования букв. В первой половине - наиболее часто встречающиеся, во второй - достаточно редко. В начале первой темы, посвящённой твоей клавиатуре, я давал соответствующую ссылку.

Так русская раскладка и придумана с учетом статистики частотности, писал же об этом, давно уже.
4 пальца исходно стоят на буквах [О] [Л] [Д] [Ш]. (Можно впрочем ш заменить на ж и получается классический олдж для правой руки.)

Раскладка 1 покрывает около 80% вариантов набора букв, вторая раскладка около 20%. Грубо говоря на вторую раскладку нужно переключатся при каждой 5 букве набора.

Это неточная оценка можно при желании и точнее посчитать.

Вообще раскладку лучше не трогать иначе весь проект начнет "перезагружаться" что и приведет к карикатурному комиксу. :(

Постоянно убеждаюсь что "лучшее" - враг хорошего!

« Последнее редактирование: Января 30, 2019, 14:56:33 от digitalman »
Глобальный Информационный Сервис: Вся информация принадлежит нам...
[DigitalMan/CapRiuS:A1/Цифровой Человек]
(htap://crs)

Оффлайн Новичёк

  • Administrator
  • Hero
  • *****
  • Сообщений: 15347
  • Репутация: +28/-108
    • Личное сообщение (Оффлайн)
Потом отвечу на остальное...

Ждём-с... Хотя лучше бы не ответы, а внятное техническое задание! Я вспоминаю, как много лет назад делал электронные часы с цифровой индикацией (ну кто из радиолюбителей их не делал!), Так вот, даже для такой сравнительно простой вещи, хотя конечно же посложней, чем предлагаемая тобой клавиатура, и то пришлось создать кратенькое ТЗ, хотя бы для того, чтобы описать выполняемые ими функции и структуру меню, навигация по которым осуществлялась всего лишь тремя кнопками. Правда часики были не совсем простые: во-первых, они измеряли температуру за бортом (на улице) и в комнате. Во-вторых, они обладают высокой точностью: уход на 1 секунду - примерно за 30 лет! Для этого был применён высокостабильный кварцевый генератор с двойным термостатированием MXODE производства нашей Омской фирмы Magic Xtal. Плюс программная коррекция ухода частоты, вызванного старением. В-третьих, тройное резервирование по питанию - нормально питание от сети, при пропадании - от аккумулятора на 9...15 В, причём без потери точности, при отказе аккумулятора - от встроенной батареи, но с ухудшением точности по уходу времени до 1 минуты в год и длительностью работы от автономного встроенного источника CR2032 до трёх лет. Так что повторюсь, начинать нужно всё с Технического задания!

Цитировать
Так у тебя же целых 32 клавиши! Если же ты хочешь использовать только 24, то раздели весь алфавит на две части, по частоте использования букв. В первой половине - наиболее часто встречающиеся, во второй - достаточно редко. В начале первой темы, посвящённой твоей клавиатуре, я давал соответствующую ссылку.


Так русская раскладка и придумана с учетом статистики частотности, писал же об этом, давно уже.

Увы, писать мало, нужно ещё и делать! А твоя раскладка и близко не стояла с частотностью! Я же тебе вот здесь приводил частотность букв русского алфавита и дал ссылку соответствующую. Обрати внимание, что если буквы "о", "е", "а", действительно часто встречающиеся, и вполне по праву находятся у тебя в первой русской раскладке, то буквы "ш", "ф", а уж тем более "ё", вообще находятся в конце списка частотности! И после этого ты заявляешь, что у  тебя раскладки сделаны в соответствии с частотностью? Извини, это даже не смешно!

Вообще раскладку лучше не трогать иначе весь проект начнет "перезагружаться" что и приведет к карикатурному комиксу. :(

Опять же извини за прямоту, в общем-то и так этот твой проект - не более, чем комикс! А как ещё назвать сиё действо, если идею ты выдвинул ещё в начале декабря прошлого года. Прошло уже почти пять месяцев, а не сделано ничего! Хотя сама идея и её техническая реализация крайне примитивны.

Постоянно убеждаюсь что "лучшее" - враг хорошего!

А где ты здесь увидел хорошее? Пока что все твои предложения - это детский лепет, извини за прямоту. Поскольку какого вопроса не коснись, он не проработан! Это, кстати, о техническом задании. Ну, и самое главное, это вопрос для чего всё это нужно? Ведь если подходить с коммерческой точки зрения, успешность этого проекта (даже если он будет осуществлён) нулевая! Если же ты всё это делаешь как хобби и для собственного развития, скажи мне - какова цель этого? Ведь если я, или кто другой создаёт те, или иные поделки, что называется для дома, для семьи, то они имеют вполне конкретную цель - тем или иным образом повысить качество жизни! Т.е. то, что делается, всегда будет использовано. Допустим, ты всё же создашь эту клавиатуру. Что ты будешь с ней делать? Пойдёшь в поход и будешь там программировать? А ты вообще пытался программировать на ходу, например для смартфона? Уверяю тебя, крайне неблагодарное и не эффективное занятие! Обрати внимание на современную молодёжь - фанатов смартфонов: ведь они общаются в соцсетях  преимущественно сидя, в транспорте и т.д. Но отнюдь не на ходу! Причём обрати внимание - те пустые по большей части сообщения, которыми они обмениваются, не требуют какого-либо существенного привлечения внимания. А программирование, в отличие от этого, требует, причём не малого! Доходит до того, что программируя, сидя за компьютером, я (да и другие тоже, не раз замечал) могу просто не обратить внимание на прямое обращение ко мне! А на ходу, особенно если это происходит в экстремальных условиях, внимание постоянно занято оценкой окружающей обстановки, и его просто не хватит на то, чтобы ещё и программировать в этих условиях. Физиология, знаете ли...

P.S. Меня всё же поражает, я стараюсь тебе так или иначе помочь, подсказать как нужно всё это делать правильно, основываясь на моём довольно богатом опыте ведения разработок, даю ссылки, чтобы немного просветить тебя, однако ты всё это полностью игнорируешь! И пытаешься всё делать по-своему - изобретая велосипед, причём с квадратными колёсами. Ну почему так?

Оффлайн digitalman

  • DiG_Man
  • Full
  • ****
  • Сообщений: 1794
  • Репутация: +0/-0
  • DigitalMan[hi is not Cristopher Lambert]
    • http://vkontakte.ru/digital_man
    • Личное сообщение (Оффлайн)
Техническое Задание. [тчк]

Разработать клавиатуру со следующими характеристиками:


1. Матрица клавиш 8 колонок на 5 рядов. (Всего 35 клавиш).
2. Форма клавиш трех типов: Квадрат с скругленными краями [7 клавиш], Прямоугольник [75% по высоте от квадрата ] с скругленными краями [14 клавиш], Уменьшенный прямоугольник [50%] с скругленными краями [14 клавиш].
3. Клавиатура должна работать на микроконтроллере семейства PIC.
4. Клавиатура должна крепится на руку двумя эластичными ремешками.
5. Клавиатура должна иметь два варианта ввода-вывода кодов, ps/2 и (мини)USB.
6. Прошивка микрокода программы должна осуществляться автоматически.
7. Клавиатура должна содержать таблицу ASCII [Латинский алфавит от A до Z исключая W], включая 33 кода русских букв [Так съешь же ещё этих французских булок и выпей же чаю.].

7. Клавиатура должна содержать знаки:"+","-","*","/","=","!","@","#","$","%","^".
8. И наконец, клавиатура должна отвечать основным требованиям промышленного дизайна и организации мелкосерийного [порядка 3000-5000 штук в заданный период] производства.
 


Форма клавиш во вложении.

« Последнее редактирование: Ноября 25, 2019, 15:53:52 от digitalman »
Глобальный Информационный Сервис: Вся информация принадлежит нам...
[DigitalMan/CapRiuS:A1/Цифровой Человек]
(htap://crs)

Оффлайн Новичёк

  • Administrator
  • Hero
  • *****
  • Сообщений: 15347
  • Репутация: +28/-108
    • Личное сообщение (Оффлайн)
Техническое Задание. [тчк]
 

Это - не техническое задание!

Это всего лишь некие благие пожелания. Начиная с мелочи -  у тебя не указано, как будет переключаться контекст клавиатуры, какие символы и на каких клавишах расположены. И кончая до гораздо более серьёзных вещей, например, как должно обрабатываться одновременное нажатие/отжатие нескольких клавиш. А это напрямую определяет алгоритм работы микроконтроллера и схемотехнику в том числе.

А вот это, вообще шедевр: 6. Прошивка микрокода программы должна осуществляться автоматически.

Во-первых, микрокод - это обычно некая внутренняя программа процессора, определяющая внутреннюю логику его работы, в том числе и набор выполняемых им команд, и которая, как правило, вообще недоступна ни для чтения, ни для изменения. Во-вторых, если же ты имел ввиду именно программу микроконтроллера, то это должно быть сформулировано примерно таким образом:
"6. микроконтроллер должен иметь программу-загрузчик, которая позволяет изменять основную программу при подключении к компьютеру по интерфейсу USB. Для этого должно быть разработано приложение для PC, позволяющее загружать выходной HEX файл MPLAB в микроконтроллер по указанному интерфейсу."
А что такое "автоматически"? Ведь вообще говоря, автоматически, - это значит совершение каких-либо действий, без участия человека, в ответ на какое-либо событие. Так на какое-же событие у тебя должна производиться перезапись программного обеспечения микроконтроллера?

И это - лишь мелкая часть непоняток в твоём "техническом задании"!

Оффлайн digitalman

  • DiG_Man
  • Full
  • ****
  • Сообщений: 1794
  • Репутация: +0/-0
  • DigitalMan[hi is not Cristopher Lambert]
    • http://vkontakte.ru/digital_man
    • Личное сообщение (Оффлайн)
А вот это, вообще шедевр: 6. Прошивка микрокода программы должна осуществляться автоматически.

Хорошо, заменим термин "автоматически", на по "По системному импульсу RESET(Сброс)".

Ок?
Глобальный Информационный Сервис: Вся информация принадлежит нам...
[DigitalMan/CapRiuS:A1/Цифровой Человек]
(htap://crs)

Оффлайн Новичёк

  • Administrator
  • Hero
  • *****
  • Сообщений: 15347
  • Репутация: +28/-108
    • Личное сообщение (Оффлайн)
А вот это, вообще шедевр: 6. Прошивка микрокода программы должна осуществляться автоматически.

Хорошо, заменим термин "автоматически", на по "По системному импульсу RESET(Сброс)".

Ок?

Не-а. Не пойдёт! Дело в том, что работа ЛЮБОЙ системы с микропроцессором да и не только, после включения питания начинается с выдачи импульса "Сброс"!  :)

Оффлайн digitalman

  • DiG_Man
  • Full
  • ****
  • Сообщений: 1794
  • Репутация: +0/-0
  • DigitalMan[hi is not Cristopher Lambert]
    • http://vkontakte.ru/digital_man
    • Личное сообщение (Оффлайн)
А вот это, вообще шедевр: 6. Прошивка микрокода программы должна осуществляться автоматически.

Хорошо, заменим термин "автоматически", на по "По системному импульсу RESET(Сброс)".

Ок?

Не-а. Не пойдёт! Дело в том, что работа ЛЮБОЙ системы с микропроцессором да и не только, после включения питания начинается с выдачи импульса "Сброс"!  :)

Ладно, понял. Прошивать ПЗУ нужно на фабрике, а по RESETу должна происходить лишь процедура инициализации устройства.
Глобальный Информационный Сервис: Вся информация принадлежит нам...
[DigitalMan/CapRiuS:A1/Цифровой Человек]
(htap://crs)

Оффлайн Новичёк

  • Administrator
  • Hero
  • *****
  • Сообщений: 15347
  • Репутация: +28/-108
    • Личное сообщение (Оффлайн)
А вот это, вообще шедевр: 6. Прошивка микрокода программы должна осуществляться автоматически.

Хорошо, заменим термин "автоматически", на по "По системному импульсу RESET(Сброс)".

Ок?

Не-а. Не пойдёт! Дело в том, что работа ЛЮБОЙ системы с микропроцессором да и не только, после включения питания начинается с выдачи импульса "Сброс"!  :)

Ладно, понял.

Извини, но ты так ничего и не понял!

Прошивать ПЗУ нужно на фабрике,

Если речь идёт о микропроцессорах семейства PIC, то они могут программироваться непосредственно в схеме, где они установлены. Кстати, отладка с помощью стандартных средств отладки, например ICD-3, заключается именно в том, что в микропроцессор, который установлен в схему, зашивается рабочая программа, а в точках останова просто подменяется код. И на фабрике тебе никто не будет программировать микросхемы указанной серии, просто на смех подымут. Они программируются у пользователя либо программатором, либо отладчиком, который также имеет функции программирования.
Хочу обратить внимание, что отладчик ICD-3 поддерживается непосредственно MPLAB и не требует установки какого-либо ещё программного обеспечения.

а по RESETу должна происходить лишь процедура инициализации устройства.

Совершенно верно, и вот здесь, в блок-схеме, блок названный "Начало" и является точкой входа в программу микропроцессора по сбросу! После которого выполняются блоки, помеченные цифрами 1 и 2. Причём эти блоки выполняются лишь один раз, и именно по сбросу.

Оффлайн digitalman

  • DiG_Man
  • Full
  • ****
  • Сообщений: 1794
  • Репутация: +0/-0
  • DigitalMan[hi is not Cristopher Lambert]
    • http://vkontakte.ru/digital_man
    • Личное сообщение (Оффлайн)
Цитировать
Совершенно верно, и вот здесь, в блок-схеме, блок названный "Начало" и является точкой входа в программу микропроцессора по сбросу! После которого выполняются блоки, помеченные цифрами 1 и 2. Причём эти блоки выполняются лишь один раз, и именно по сбросу.

"Начало" ассоциируется у меня с кинофильмом "Начало" с Леонардо-ди-Каприо. Переводил видимо "надмозг", в оригинале название кинокартины называлось вроде бы "Inception" - "Внедрение". Хотя кто его знает. У нас вообще с переводом фильмов много проблем... Но это конечно Оффтопик.

Что касается алгоритма клавиатуры - я его конечно разрабатываю (неспешно), но в ближайшие сутки поработаю над подписями к клавишам клавиатуры, переключением контекста [остается 5 режимов, больше ни к чему]. Когда нарисую подписи ко всем клавишам, загружу сюда картинку в формате gif или png или в обоих форматах сразу.
 
Глобальный Информационный Сервис: Вся информация принадлежит нам...
[DigitalMan/CapRiuS:A1/Цифровой Человек]
(htap://crs)

Оффлайн digitalman

  • DiG_Man
  • Full
  • ****
  • Сообщений: 1794
  • Репутация: +0/-0
  • DigitalMan[hi is not Cristopher Lambert]
    • http://vkontakte.ru/digital_man
    • Личное сообщение (Оффлайн)
Публикую клавиатурную матрицу (Подписи на клавишах и дизайн их формы).
Глобальный Информационный Сервис: Вся информация принадлежит нам...
[DigitalMan/CapRiuS:A1/Цифровой Человек]
(htap://crs)

Оффлайн john

  • Administrator
  • Hero
  • *****
  • Сообщений: 11751
  • Репутация: +26/-16
    • http://r9al.ru
    • E-mail
    • Личное сообщение (Оффлайн)
Вот честно, не понимаю зачем это нужно. Есть уже де факто обкатанные клавиатуры (мобильные гаджеты), есть стандартные раскладки, которые привычны, а потому удобны.

Но самое главное, где конкретно это можно применять?


Оффлайн digitalman

  • DiG_Man
  • Full
  • ****
  • Сообщений: 1794
  • Репутация: +0/-0
  • DigitalMan[hi is not Cristopher Lambert]
    • http://vkontakte.ru/digital_man
    • Личное сообщение (Оффлайн)
Вот честно, не понимаю зачем это нужно. Есть уже де факто обкатанные клавиатуры (мобильные гаджеты), есть стандартные раскладки, которые привычны, а потому удобны.
Но самое главное, где конкретно это можно применять?

Я хотел выложить кадр из фильма Кубрика "Одиссея 2001" (этот кадр на 1:17:14 режиссерской версии), но к сожалению на смог сделать снимок экрана, и перевести его в картинку. (Многие видеоплееры намерено отключают возможность копирования кадров из кино, что в общем то логично.) На этом кадре астронавт/космонавт использует наручную (примитивную) клавиатуру.

Так что вместо того кадра выкладываю только кадр с водолазом. Но кроме космоса и подводного мира как я уже ПИСАЛ подобной клавиатурой можно будет в ЛЮБЫХ ПОЛЕВЫХ условиях. И в лесу и в степи и в горах и в тундре и в пустыне везде в общем. И клавиатура эта всегда с собой. Я не хочу возвращаться к вопросу ЗАЧЕМ? Теперь стоит вопрос КАК СДЕЛАТЬ?
Глобальный Информационный Сервис: Вся информация принадлежит нам...
[DigitalMan/CapRiuS:A1/Цифровой Человек]
(htap://crs)

Оффлайн john

  • Administrator
  • Hero
  • *****
  • Сообщений: 11751
  • Репутация: +26/-16
    • http://r9al.ru
    • E-mail
    • Личное сообщение (Оффлайн)
Но кроме космоса

Для космоса, если имеется ввиду открытый космос (если имеется ввиду пространство корабля, то любая подойдет), то тут, учитывая размеры пальцев скафандра космонавта и точности позиционирования - я думаю придется что-то другое придумывать, и лучше без функциональных клавиш.

и подводного мира как я уже ПИСАЛ подобной клавиатурой можно будет в ЛЮБЫХ ПОЛЕВЫХ условиях. И в лесу и в степи и в горах и в тундре и в пустыне везде в общем. И клавиатура эта всегда с собой.

Есть полно различных силиконовых клавиатур, хоть под воду бери ее, мягкая, гибкая, хочешь не рукав пришей, хочешь на штаны, хочешь прилепи к корпусу батискафа или налепи на стенку бассейна, есть разные конфигурации от стандартной 102 кнопочной, до урезанной или наоборот с кучей дополнительных кнопок. Цена от 200 рублей.

Я не хочу возвращаться к вопросу ЗАЧЕМ? Теперь стоит вопрос КАК СДЕЛАТЬ?

Вопроса как сделать - я вообще здесь не вижу, технологии давно отработаны, матрица кнопок + контроллер. Хочешь бери готовый контроллер клавиатуры, хочешь бери любой микроконтроллер и программируй его сам, просто готовый usb-контроллер применить гораздо проще и дешевле. Задача вполне типовая, конкретное решение зависит от конкретных технических условий. Я пока тех.условий объективно не вижу, впрочем как и объяснения зачем.  Я правда подумал, а нужна ли мне такая клавиатура? Пришел к выводу - не нужна. Возможно она мне бы понадобилась, если бы у меня был некий девайс, обладающий примерно такими же свойствами (легкий, мобильный, не боится воды, ну и т.д.), но все известные мне девайсы либо изначально уже имеют некую клавиатуру, вполне сносную, либо не нуждаются в таковой вовсе, используя в качестве оной собственный дисплей или вообще голосовое управление. Ну вот не вижу я необходимости в этом проекте, и рынка сбыта не вижу. Конечно я могу ошибаться, но и тебе не удалось меня убедить в необходимости этой клавиатуры.   

Оффлайн Новичёк

  • Administrator
  • Hero
  • *****
  • Сообщений: 15347
  • Репутация: +28/-108
    • Личное сообщение (Оффлайн)
Вот честно, не понимаю зачем это нужно.

Увы, я тоже не понимаю, зачем всё это?

Но самое главное, где конкретно это можно применять?

Непонятно...

 

Последние сообщения на форуме: