Подключаем компьютерную клавиатуру PS/2 к Freeduino KosachenkoSV's blog / 04.07.2011 Прочел на сайте статью про подключение стандартной компьютерной клавиатуры с разъемом PS/2 к Arduino/Freeduino и решил попробовать проделать то же самое, чтобы потом на кружке микроэлектроники и робототехники предложить это же проделать ребятам в качестве проекта.Подключать клавиатуру оказалось несложно, главное подобрать "разъем-мама" PS/2, в который будем подсоединять клавиатуру, и который легко потом подсоединить к Freeduino. У меня такой "выносной" разъем нашелся: ...но можно выпаять из сгоревшей материнской платы (обычно спарка из двух разъемов для подключения клавиатуры и мышки) и использовать его.Схема подключения PS/2 разъема:Вооружившись проводком и тестером, включенным в режим омметра для замера сопротивления, выясняем - какие провода соответствуют 1, 3, 4 и 5 контактам, аккуратно записывая номер контакта в PS/2-разъеме, номер соответствующего контакта в колодке или цвет провода (так даже удобнее и проще) и название контакта (GND "земля", VCC "питание +5 Вольт", CLK "часы-управляющий импульс", DATA "данные"). Используя эту таблицу, подсоединяем Freeduino и клавиатуру через имеющийся разъем и четыре провода. К цифровому порту 3 подсоединяем провод от CLK, а к порту 4 провод от DATA, на фото видно как подключены "земля" и "+5В". Схема готова, теперь займемся программой.Далее, нужно добавить в среду программирования Arduino-IDE программную библиотеку. Скачаем ее отсюда www.arduino.cc/playground/uploads/Main/PS2Keyboard_014A.zip распакуем и в папке с Arduino-IDE создадим новую arduino-0021\libraries\PS2Keyboard\ и в нее перенсем все распакованные файлы. Теперь в скетчах можно подключать бибилиотеку Ps2Keyboard и работать с ней. Скетч с примером работы с PS/2-клавиатурой взял отсюда http://github.com/practicalarduino/Ps2Keyboard. Загружаем его в Arduino-IDE и компилируем. Если ошибок нет - значит, все нормально, и можно "заливать/прошивать" его во Freeduino. После прошивки нужно открыть монитор серийного порта (Serial Monitor) и настроить его на скорость обмена на 38400 baud, если этого не проделать, то при нажатии кнопок вместо сканкодов можно увидеть "крякозяблы" . После настройки при нажатии кнопок на клавиатуре в окне монитора серийного порта можно наблюдать их сканкоды в шестнадцатиричном представлении и названия некоторых кнопок, прописанных в скетче: [ESC], [BACKSPACE], [NUMLOCK] и др.Для чего же можно использовать клавиатуру с Freeduino? Навскидку придумал проект самотренажера: при подключении к Freeduino LCD-дисплейчика (например, 2 строки по 16 символов) и PS/2-клавиатуры можно запрограммировать возможность тренировки при решении арифметических примеров на сложение, вычитание, умножение и деление. Причем, уровень сложности (однозначные, двузначные числа) можно задавать при включении устройства или по нажатии заданной кнопки (например, F2). Прочитав задание, тестируемый решает его, и записывает свой ответ в нижней строке. В случае верного ответа происходит переход к следующему примеру, в случае неверного - предлагается решить пример еще раз. По окончании примеров выводится затраченное время и количество сделанных попыток.Также можно будет в самотренажере использовать вопросы для любого учебного предмета, предполагающие ввод ответа в виде слова, например:Столица России?МоскваДумаю, такое устройство можно предложить собрать ребятам на кружке микроэлектроники и робототехники, а потом предложить его практически использовать начальным классам. arduino freeduino компьютер микроэлектроника проект робототехника