Важная информация

User Tag List

Страница 6 из 26 ПерваяПервая ... 2345678910 ... ПоследняяПоследняя
Показано с 51 по 60 из 259

Тема: Универсальный контроллер PS/2 клавиатуры для компьютеров с матричными клавиатурами.

  1. #51
    Master Аватар для Xrust
    Регистрация
    12.04.2017
    Адрес
    г. Тольятти
    Сообщений
    906
    Спасибо Благодарностей отдано 
    204
    Спасибо Благодарностей получено 
    145
    Поблагодарили
    68 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от n_sonic Посмотреть сообщение
    А можно (не в напряг канэшна) для алесты прошивочку соорудить? От мс-ки клавиатура как-то не комильфо однако... Я и сам в свободное время поковыряюсь, но для спецов-кодеров оно попроще наверное будет...
    Конечно можно. Мне бы только схему клавы найти.

    - - - Добавлено - - -

    Цитата Сообщение от Arkanoid Посмотреть сообщение
    А для АТМ Турбо 4.50 нельзя дополнительные адресные линии задействовать?
    Можно, конечно. Дайте ссылочку на схему.

  2. #52
    Member
    Регистрация
    05.04.2011
    Адрес
    Прокопьевск
    Сообщений
    112
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    http://atmturbo.nedopc.com/atmshem.htm

    - - - Добавлено - - -

    Одну платку я у Вас специально для атм приобрел, она у меня ввиде платы на столе, корпуса нет к сожалению.
    А вторую для горячо любимой Дельты.

  3. #53
    Activist
    Регистрация
    24.12.2011
    Адрес
    г. Севастополь, Крым
    Сообщений
    319
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    26
    Поблагодарили
    15 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Xrust Посмотреть сообщение
    Конечно можно. Мне бы только схему клавы найти.
    Без проблем! В архиве все что нужно.

    aleste_keyboard.zip
    Нажмите на изображение для увеличения. 

Название:	ALESTE_Keyboard.jpg 
Просмотров:	108 
Размер:	41.8 Кб 
ID:	75561
    Не можешь поступить разумно - поступай правильно!

  4. #54
    Master Аватар для Xrust
    Регистрация
    12.04.2017
    Адрес
    г. Тольятти
    Сообщений
    906
    Спасибо Благодарностей отдано 
    204
    Спасибо Благодарностей получено 
    145
    Поблагодарили
    68 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    n_sonic, попробуйте, альфа версия для Алесты, сам не проверял. Пока поддержка только JCUKEN.

    Скрытый текст

    Код:
    #include <PS2KeyRaw.h>
    #define AX0 4
    #define AX1 5
    #define AX2 6
    #define AX3 7
    #define AY0 8
    #define AY1 9
    #define AY2 10
    #define RSTMT 14
    #define CSMT  15
    #define DATMT 16
    #define STBMT 17
    #define DATAPIN 2
    #define IRQPIN  3
    
    volatile boolean d = HIGH;
    uint8_t table[128] = {127,101,127,8,5,3,4,11,127,100,117,127,7,17,118,127,127,65,64,127,33,18,19,127,127,127,50,51,34,35,20,49,127,68,67,52,36,6,21,74,127,70,69,53,22,37,23,127,127,71,54,55,38,39,24,127,127,127,72,56,40,9,10,127,127,57,41,25,26,121,122,127,127,58,88,42,90,106,120,127,127,127,89,127,119,16,127,127,66,64,102,119,127,89,127,127,127,127,127,127,127,127,73,127,127,82,127,83,80,127,127,127,81,97,98,99,115,96,1,127,116,127,114,16,84,112,127,127};
    
    PS2KeyRaw keyboard;
    void setup() {
      //Инициализация портов
      pinMode(19, OUTPUT);
      pinMode(AX0, OUTPUT);   //AX0
      pinMode(AX1, OUTPUT);   //AX1
      pinMode(AX2, OUTPUT);   //AX2
      pinMode(AX3, OUTPUT);   //AX3
      pinMode(AY0, OUTPUT);   //AY0
      pinMode(AY1, OUTPUT);   //AY1
      pinMode(AY2, OUTPUT);   //AY2
      pinMode(RSTMT, OUTPUT); //RES
      pinMode(CSMT, OUTPUT);  //CS
      pinMode(DATMT, OUTPUT); //DAT
      pinMode(STBMT, OUTPUT); //STB
      //Инициализация клавиатуры
      keyboard.begin( DATAPIN, IRQPIN );
      //Инициализация MT8816
      SetAddr(0);
      digitalWrite(RSTMT, LOW);
      digitalWrite(CSMT, LOW);
      digitalWrite(DATMT, LOW);
      digitalWrite(STBMT, LOW); //инициализация
      digitalWrite(CSMT, HIGH); //выбор чипа
      digitalWrite(RSTMT, HIGH);
      digitalWrite(RSTMT, LOW);  //сброс
      digitalWrite(CSMT, LOW);
    }
    void SetAddr(uint8_t addr) {
      digitalWrite(AX0,bitRead(addr,0));
      digitalWrite(AX1,bitRead(addr,1));
      digitalWrite(AX2,bitRead(addr,2));
      digitalWrite(AX3,bitRead(addr,3));
      digitalWrite(AY0,bitRead(addr,4));
      digitalWrite(AY1,bitRead(addr,5));
      digitalWrite(AY2,bitRead(addr,6));
    }
    void SetKey(boolean data){
       digitalWrite(CSMT, HIGH); //выбор чипа
       digitalWrite(STBMT, HIGH); //строб on
       digitalWrite(DATMT, data); //данные
       digitalWrite(STBMT, LOW); //строб off    
       digitalWrite(CSMT, LOW);   
    }
    void loop()
    {
      if( keyboard.available() ){
        int c = keyboard.read(); //чтение кода
        switch (c) {
          case 0xE0:              //если считался префикс 0xE0
            break;
          case 0xF0:              //если считался префикс 0xF0 (отпускание клавиши)
            d = LOW;
            break;
          default:
            SetAddr(table[c]);
            SetKey(d);
            d = HIGH;
        }
      }
    }
    [свернуть]

  5. #55
    Activist
    Регистрация
    24.12.2011
    Адрес
    г. Севастополь, Крым
    Сообщений
    319
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    26
    Поблагодарили
    15 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ок! На днях доберусь до мастерской и обязательно отпишусь. Спасибо огромное!
    Не можешь поступить разумно - поступай правильно!

  6. #56
    Master Аватар для Xrust
    Регистрация
    12.04.2017
    Адрес
    г. Тольятти
    Сообщений
    906
    Спасибо Благодарностей отдано 
    204
    Спасибо Благодарностей получено 
    145
    Поблагодарили
    68 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    n_sonic, если заработает нормально, попробую переделать латиницу на qwerty. Раскладка переключается клавишами Алф? Жаль, нет доступа к реальному железу.

  7. #57
    Master Аватар для Xrust
    Регистрация
    12.04.2017
    Адрес
    г. Тольятти
    Сообщений
    906
    Спасибо Благодарностей отдано 
    204
    Спасибо Благодарностей получено 
    145
    Поблагодарили
    68 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Arkanoid Посмотреть сообщение
    http://atmturbo.nedopc.com/atmshem.htm

    - - - Добавлено - - -

    Одну платку я у Вас специально для атм приобрел, она у меня ввиде платы на столе, корпуса нет к сожалению.
    А вторую для горячо любимой Дельты.
    Если есть соображения по раскладке клавиатуры, напишите. Можно картинкой, как это для Алесты сделано.

  8. #58
    Member
    Регистрация
    05.04.2011
    Адрес
    Прокопьевск
    Сообщений
    112
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    https://zxpress.ru/book_articles.php?id=2357
    Тут про клавиатуру есть, но дело в том что дополнительные адресные линии нужны. Я стандартную спековскую о 40ка кнопках подключал. А для сипиэм там еще клавишы нужны.

  9. #59
    Master Аватар для Xrust
    Регистрация
    12.04.2017
    Адрес
    г. Тольятти
    Сообщений
    906
    Спасибо Благодарностей отдано 
    204
    Спасибо Благодарностей получено 
    145
    Поблагодарили
    68 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Arkanoid Посмотреть сообщение
    https://zxpress.ru/book_articles.php?id=2357
    Тут про клавиатуру есть, но дело в том что дополнительные адресные линии нужны. Я стандартную спековскую о 40ка кнопках подключал. А для сипиэм там еще клавишы нужны.
    Да это все понятно, я про другое. Тут дело личных предпочтений - какая кнопка какой будет соответствовать на PS/2 клавиатуре, кроме буквенных, разумеется.
    Вот вам тестовая версия:

    Скрытый текст

    Код:
    #include <PS2KeyRaw.h>
    #define AX0 4
    #define AX1 5
    #define AX2 6
    #define AX3 7
    #define AY0 8
    #define AY1 9
    #define AY2 10
    #define RSTMT 14
    #define CSMT  15
    #define DATMT 16
    #define STBMT 17
    #define DATAPIN 2
    #define IRQPIN  3
    
    volatile boolean d = HIGH;
    uint8_t table[128] = {127,127,127,127,127,127,127,127,127,127,127,127,127,40,77,127,127,56,0,127,23,2,3,127,127,127,16,17,1,18,19,127,
    127,48,32,33,34,51,35,127,127,7,64,49,66,50,67,127,127,55,71,70,65,69,68,127,127,127,39,54,53,52,36,127,
    127,110,38,37,21,4,20,127,127,94,58,22,26,5,11,127,127,127,12,127,43,29,127,127,24,10,6,27,127,74,127,127,
    127,127,127,127,127,127,9,127,127,127,127,72,127,127,127,127,127,127,73,127,41,57,8,127,127,45,127,61,126,127,127,127};
    
    PS2KeyRaw keyboard;
    void setup() {
      //Инициализация портов
      pinMode(AX0, OUTPUT);   //AX0
      pinMode(AX1, OUTPUT);   //AX1
      pinMode(AX2, OUTPUT);   //AX2
      pinMode(AX3, OUTPUT);   //AX3
      pinMode(AY0, OUTPUT);   //AY0
      pinMode(AY1, OUTPUT);   //AY1
      pinMode(AY2, OUTPUT);   //AY2
      pinMode(RSTMT, OUTPUT); //RES
      pinMode(CSMT, OUTPUT);  //CS
      pinMode(DATMT, OUTPUT); //DAT
      pinMode(STBMT, OUTPUT); //STB
      //Инициализация клавиатуры
      keyboard.begin( DATAPIN, IRQPIN );
      //Инициализация MT8816
      SetAddr(0);
      digitalWrite(RSTMT, LOW);
      digitalWrite(CSMT, LOW);
      digitalWrite(DATMT, LOW);
      digitalWrite(STBMT, LOW); //инициализация
      digitalWrite(CSMT, HIGH); //выбор чипа
      digitalWrite(RSTMT, HIGH);
      digitalWrite(RSTMT, LOW);  //сброс
      digitalWrite(CSMT, LOW);
    }
    void SetAddr(uint8_t addr) {
      digitalWrite(AX0,bitRead(addr,0));
      digitalWrite(AX1,bitRead(addr,1));
      digitalWrite(AX2,bitRead(addr,2));
      digitalWrite(AX3,bitRead(addr,3));
      digitalWrite(AY0,bitRead(addr,4));
      digitalWrite(AY1,bitRead(addr,5));
      digitalWrite(AY2,bitRead(addr,6));
    }
    void SetKey(boolean data){
       digitalWrite(CSMT, HIGH); //выбор чипа
       digitalWrite(STBMT, HIGH); //строб on
       digitalWrite(DATMT, data); //данные
       digitalWrite(STBMT, LOW); //строб off    
       digitalWrite(CSMT, LOW);   
    }
    void loop()
    {
      if( keyboard.available() ){
        int c = keyboard.read(); //чтение кода
        switch (c) {
          case 0xE0:              //если считался префикс 0xE0
            break;
          case 0xF0:              //если считался префикс 0xF0 (отпускание клавиши)
            d = LOW;
            break;
          default:  
            SetAddr(table[c]);
            SetKey(d);
            d = HIGH;
        }
      }
    }
    [свернуть]

    Подключать так: R0-R7 к J2, С0-С14 к J3

    Нажмите на изображение для увеличения. 

Название:	atm450kb.jpg 
Просмотров:	176 
Размер:	30.1 Кб 
ID:	75571

  10. #60
    Member
    Регистрация
    05.04.2011
    Адрес
    Прокопьевск
    Сообщений
    112
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Благодарю Вас Уважаемый Сэр.
    С ночи приду буду тестировать.

Страница 6 из 26 ПерваяПервая ... 2345678910 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 34
    Последнее: 24.11.2022, 16:05
  2. Ответов: 40
    Последнее: 27.06.2021, 15:41
  3. Ответов: 146
    Последнее: 31.05.2020, 19:00
  4. Ответов: 29
    Последнее: 24.03.2019, 18:11

Ваши права

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