Помогите разобраться с подключение считывателя магнитных карт к Arduino.
Считыватель эмулирует работу клавиатуры по PS/2.
Прочитал несколько статей по подключению клавиатуры к ардуино.
Пытаюсь теперь по аналогии сделать.
CLK подключил к пину 2 и повесил на него прерывание по заднему фронту (1->0).
После этого начал считать импульсы в момент прокатки карты, чтоб убедиться что хоть что то с ридера идет.
Затем DATA подключил к пину 3, переписал программу чтоб по каждому прерыванию устанавливался бит соответствующий номеру импульса CLK.
И вот тут то и возникает проблема, данные идут но не те которые я ожидал увидеть.
Помогите разобраться.
Раздел: Arduino и Raspberry Pi
Считыватель эмулирует работу клавиатуры по PS/2.
Прочитал несколько статей по подключению клавиатуры к ардуино.
Пытаюсь теперь по аналогии сделать.
CLK подключил к пину 2 и повесил на него прерывание по заднему фронту (1->0).
После этого начал считать импульсы в момент прокатки карты, чтоб убедиться что хоть что то с ридера идет.
Затем DATA подключил к пину 3, переписал программу чтоб по каждому прерыванию устанавливался бит соответствующий номеру импульса CLK.
И вот тут то и возникает проблема, данные идут но не те которые я ожидал увидеть.
int BitCnt = 0;
int DataReader = 3;
int val = 0;
int KeyCode = 0;
void setup() {
Serial.begin(9600);
attachInterrupt(0, readerint, FALLING);
pinMode(DataReader, INPUT);
}
void loop() {
// put your main code here, to run repeatedly:
if (BitCnt >= 10)
{
Serial.println(KeyCode);
BitCnt = 0;
}
}
void readerint()
{
val = digitalRead(DataReader);
if(BitCnt > 0 && BitCnt < 9)
{
bitWrite(KeyCode, BitCnt -1, val);
}
BitCnt++;
}
Помогите разобраться.
Раздел: Arduino и Raspberry Pi