PC клавиатура
- moLCHec
- Мявтор!
- Сообщения: 825
- Зарегистрирован: Вс дек 18, 2005 20:04:42
- Откуда: Свердловская обл.
- Контактная информация:
В свое время подрубал РС клаву к МК когда термостат делал там много значений нада было программировать чтобы раствор по заданному алгоритму остывал + по меню навигация. Поставил чисто из экомии пинов и удобства которое несравнимо с самодельной клавой.
Настоящий кот всегда либо голоден,
либо невыспался ...
либо невыспался ...
- Реклама
- moLCHec
- Мявтор!
- Сообщения: 825
- Зарегистрирован: Вс дек 18, 2005 20:04:42
- Откуда: Свердловская обл.
- Контактная информация:
Термостат уже на запчасти пошел остался тока корпус и исходник да и практика показала что не очень удачно был зделан опята тогда мало было, сейчас бы все гораздо компактнее и грамотнее сделал. Дело тут даже не в времени просто не нужен мне сейчас термостат
Чисто по клаве может рожу чего если спрос большой
Настоящий кот всегда либо голоден,
либо невыспался ...
либо невыспался ...
- Реклама
- snusmumric
- Родился
- Сообщения: 15
- Зарегистрирован: Сб окт 27, 2007 17:01:19
- Контактная информация:
-
Skrrmrchoh
- Нашел транзистор. Понюхал.
- Сообщения: 185
- Зарегистрирован: Чт сен 06, 2007 22:36:09
- Откуда: Санкт-Петербург
- gan
- Открыл глаза
- Сообщения: 43
- Зарегистрирован: Пн мар 24, 2008 15:36:17
- Откуда: Сургут
- Контактная информация:
Блин, внук у меня (1.5 года) неровно к клаве дышит, так и норовит побряцать по ней. Раз у него такая тяга, решил я сбацать на ней какой-нибудь девайс. Подключить к ней контроллер и пиликать что-нибудь, светодиоды включать в зависимости от клавиш. Протоколы, контроллеры, программирование- не в этом вопрос, с этим я разберусь.
Просьба только если у кого есть идеи (и опыт дошкольного воспитания) как разнообразить сей процесс, у меня кроме пищалки и светодиодов что-то и мыслей нет. Можно и механическое что-нибудь замутить, только несложное, станков под рукой не имею.
Просьба только если у кого есть идеи (и опыт дошкольного воспитания) как разнообразить сей процесс, у меня кроме пищалки и светодиодов что-то и мыслей нет. Можно и механическое что-нибудь замутить, только несложное, станков под рукой не имею.
- Pavel_1978
- Опытный кот
- Сообщения: 830
- Зарегистрирован: Пт ноя 16, 2007 11:21:37
Здесь по одключению клавиатуры к PIC есть проект для тестирования клавы нажатые клавиши на LCD отображаются: http://www.electronic-engineering.ch/mi ... jects.html
Тутже расписан протокол обмена, который можно использовать с любым контроллером: http://www.trash.net/~luethi/microchip/ ... ifications
Тутже расписан протокол обмена, который можно использовать с любым контроллером: http://www.trash.net/~luethi/microchip/ ... ifications
- Alex_EXE
- Вымогатель припоя
- Сообщения: 580
- Зарегистрирован: Сб дек 27, 2008 12:01:35
- Откуда: Россия, Екатеринбург
- Контактная информация:
PS/2 клавиатура
Можете подсказать, а то не выходит:
Программирую PIC16F628A, пытаюсь к нему подключить PS/2 клавиатуру, пишу на си, компилятор HI-TECH PICC Toolsuite. Кварц 20МГц.
Пол дела сделано: я смогу считать с клавиатуры нажатия клавиши, но с передачей данных в клавиатуру возникла заминка. Долго пытаясь решить эту проблему добился только того, что клава смогла понять что с ней хотят работать и она начала генерировать синхроимпульсы, а дальше дело встало.
Программирую PIC16F628A, пытаюсь к нему подключить PS/2 клавиатуру, пишу на си, компилятор HI-TECH PICC Toolsuite. Кварц 20МГц.
Пол дела сделано: я смогу считать с клавиатуры нажатия клавиши, но с передачей данных в клавиатуру возникла заминка. Долго пытаясь решить эту проблему добился только того, что клава смогла понять что с ней хотят работать и она начала генерировать синхроимпульсы, а дальше дело встало.
Код: Выделить всё
void WaitCLK(void)
{
while(CLK==0){}
while(CLK==1){}
}
void WaitCLK2(void)
{
while(CLK==1){}
while(CLK==0){}
}
int KBWrite(char c)
{
char b[8];
char P;
int i,j;
int const_=10;
P=0;
j=128;
for(i=7;i>=0;i--)
{
if(c%j==0)
{
b[i]=0;
}
else
{
b[i]=1;
P++;
}
j=j/2;
}
if(P%2==0)
P=0;
else
P=1;
// Начало
TRISB3 = 0;
CLK=0;
delay(2*const_);
TRISB0 = 0;
DATA=0;
CLK=0;
delay(const_);
TRISB0 = 1;
CLK=1;
DATA=0;
// цикл 8 байт
for(i=0;i<8;i++)
{
WaitCLK2();
DATA=b[i];
}
WaitCLK2();
// бит чётности
DATA=P;
while(CLK==1){}
// стоп бит
DATA=1;
TRISB3 = 1;
WaitCLK();
if(DATA==0)
{
}
while(CLK==0){}
return 0;
}
- Вложения
-
- ekran2.jpg
- И ещё как можно избавится от этого всплеска.
- (27.1 КБ) 487 скачиваний
-
- ekran.jpg
- вот что получилось вытрести из клавиатуры
- (26.68 КБ) 384 скачивания
Последний раз редактировалось Alex_EXE Чт апр 09, 2009 23:53:50, всего редактировалось 1 раз.
- Alex_EXE
- Вымогатель припоя
- Сообщения: 580
- Зарегистрирован: Сб дек 27, 2008 12:01:35
- Откуда: Россия, Екатеринбург
- Контактная информация:
PS/2 клавиатура
Кто-нибудь подключал PS/2 клавиатуру к контроллеру? Можете, опытом поделится
- Alex_EXE
- Вымогатель припоя
- Сообщения: 580
- Зарегистрирован: Сб дек 27, 2008 12:01:35
- Откуда: Россия, Екатеринбург
- Контактная информация:
PS/2 клавиатура
Вот у меня и проблема с реализацией протокола
- DiNoZawRik
- Родился
- Сообщения: 19
- Зарегистрирован: Пт янв 08, 2010 21:35:55
- Контактная информация:
Помогите разобраться. Подключил клаву к МК.
DATA, Clock тут все верно.
Подключил просто на пины.
Хочу получить код символа при нажатии.
Как я понял, при нажатии кнопки с клавы приходит
1. Старт бит
2. байт инфы
3. Пиритет бит
4. Стоп бит.
Мне нужно для начала сама инфа.
Вобщем проблема в том, что с клавы приходит не все.
Прога считает количество импульсов с Clock.
При нажатии на обычный символ клава запускае Clock но с него приходит только 3 импульса...
Хотя их должно быть 11 как тут.
http://www.gaw.ru/html.cgi/txt/app/micr ... AVR313.htm
Уважаемые коты, подскажите как быть?
Спасибо.
P.S.Прога у меня своя. Никак не связана с тем что на сайте.
DATA, Clock тут все верно.
Подключил просто на пины.
Хочу получить код символа при нажатии.
Как я понял, при нажатии кнопки с клавы приходит
1. Старт бит
2. байт инфы
3. Пиритет бит
4. Стоп бит.
Мне нужно для начала сама инфа.
Вобщем проблема в том, что с клавы приходит не все.
Прога считает количество импульсов с Clock.
При нажатии на обычный символ клава запускае Clock но с него приходит только 3 импульса...
Хотя их должно быть 11 как тут.
http://www.gaw.ru/html.cgi/txt/app/micr ... AVR313.htm
Уважаемые коты, подскажите как быть?
Спасибо.
P.S.Прога у меня своя. Никак не связана с тем что на сайте.
Re: МК + PS/2 Клавиатура
в инете ищите проект на МК типа "сканер клавы". Там всё есть. Распиновка, протоколы, схема, прошивка. Если будет время для преодоления текущего скляроза - подкину попозжееDiNoZawRik писал(а):Помогите разобраться....
удачи Вам
(круглый)
ЗЫ
1) На этом форуме уже была тема.
2) апноут от атмеля http://www.atmel.com/dyn/resources/prod ... oc1235.pdf
3) то же самое по русски http://www.gaw.ru/html.cgi/txt/app/micr ... AVR313.htm
4) тут внизу ссылка на док файл - вроде как полная версия скэн кодов клавы http://electronix.ru/forum/lofiversion/ ... 57787.html
5) но был и готовый проект сканер клавы. железо+софт мк+софт PC
6) http://keyspy.de.vu/
7) http://www.keelog.com/diy.html
9) http://www.uelectronics.info/ps2-keyboard-data-logger
Последний раз редактировалось kolobok0 Пн янв 11, 2010 11:41:29, всего редактировалось 2 раза.
Re: PC клавиатура
Я обралил внимание еще давно, когда пытался сделать хардваре кейлогер, но потом необходимость, свободноое время и интерес пропали. Интервейс до предела напоминает SPI или я не прав? Можно подключить клавиатуру к SPI (допустим tiny2313) и будет ли все это работать или есть нюансы?
- Кислый
- Поставщик валерьянки для Кота
- Сообщения: 2095
- Зарегистрирован: Чт апр 08, 2010 18:50:01
- Откуда: Краснодар
- Контактная информация:
Re: PC клавиатура
так, у меня вопрос по родственникам кейборда, о мышах :
с какой скоростью гоняются данные по ps\2 ?
с какой скоростью гоняются данные по ps\2 ?
RETI ;рети-рети интеррапт, через шины данных тракт, через память, через порт, возвращайся в главный код
@hobbyelectronics
@hobbyelectronics



