Arduino Terminal (5 / 16 steg)
Steg 5: PS/2 tangentbord - testning Stifttilldelningar
Nu är det dags för insatsen metod: en PS/2 tangentbord. Du kunde verkligen göra detta med en USB host shield, men de är mycket dyrare än en PS/2 kontakt och ett PS/2 tangentbord kanske du redan har.
Vad ska du göra först, skärs kabeln från PS/2-kontakten. Min jag hittade längst ner i kabel-TV, och det konverterade en PS/2-enhet till USB.
Du bör nu se 4 trådar, brukar variera i färger. Färgerna i min råkar vara grön, svart, röd och vit. Koppla in din Arduino (inte med svansen kopplade till det vi gjorde i föregående steg) och ta tag i din tråd. Jag bifogade några fördjupande kablar för att göra dem längre, och så jag kunde plugin dem i din Arduino lättare. Sätta den svarta kabeln i GND-port för din Arduino (någon som kommer att göra), eftersom detta är mest sannolikt att vara marken. Ta din röda tråd och ut det i 5v port. Anslut tangentbordet, och lamporna bör blinka en gång, sedan blir tom igen. Detta innebär makt fungerar. Om detta inte fungerar, prova att göra olika kombinationer tills tangentbordet drivs. Nu är det upp till att hitta data stift och IRQ-PIN-koden. Koppla in ena sladden till stift 20, och den andra till 21. Om detta inte fungerar när du laddar upp koden, sedan byta kablar.
Nu, installera biblioteket och ladda upp koden nedan till din Arduino. vad som ska hända är när du börjar att skriva på tangentbordet, de tecken som du skriver kommer att visas i den Serial monitorn. Kom ihåg, om det inte fungerar, men tangentbordet fortfarande driver på, prova att byta data och IRQ-pins.
Koden:
< p > / * PS2Keyboard bibliotek exempel < br >
PS2Keyboard nu requries både stift anges för begin() < /p >< p > keyboard.begin (data_pin, irq_pin);
Giltigt IRQ-stift:
Arduino Uno: 2, 3
Arduino Due: Alla stift, utom 13 (LED)
Arduino Mega: 2, 3, 18, 19, 20, 21
Teensy 2.0: Alla stift, utom 13 (LED)
Teensy 2.0: 5, 6, 7, 8
Teensy 1.0: 0, 1, 2, 3, 4, 6, 7, 16
Teensy ++ 2.0: 0, 1, 2, 3, 18, 19, 36, 37
Teensy ++ 1.0: 0, 1, 2, 3, 18, 19, 36, 37
Sanguino: 2, 10, 11
för mer information kan du läsa den ursprungliga wikin i arduino.cc
på http://www.arduino.cc/playground/Main/PS2Keyboard
eller http://www.pjrc.com/teensy/td_libs_PS2Keyboard.html
Som den ursprungliga bibliotek och exempel är detta under LGPL-licens.
Ändrat av Cuninganreset 2010-03-22
Ändrat av Paul Stoffregen
Juni 2010
*/
#include
< /p >< p > const int DataPin = 8;
CONST int IRQpin = 5; < /p >< p > PS2Keyboard tangentbord; < /p >< p > void setup() {
Delay(1000);
Keyboard.BEGIN (DataPin, IRQpin);
Serial.BEGIN(9600);
Serial.println ("tangentbord Test:");
} < /p >< p > void loop() {
om (keyboard.available()) {
Läs nästa nyckeln
char c = keyboard.read();
Kontrollera om några av specialtangenter
om (c == PS2_ENTER) {
Serial.println();
} else om (c == PS2_TAB) {
Serial.Print("[tab]");
} else om (c == PS2_ESC) {
Serial.Print("[Esc]");
} else om (c == PS2_PAGEDOWN) {
Serial.Print("[PGDN]");
} else om (c == PS2_PAGEUP) {
Serial.Print("[PGUP]");
} else om (c == PS2_LEFTARROW) {
Serial.Print("[left]");
} else om (c == PS2_RIGHTARROW) {
Serial.Print("[Right]");
} else om (c == PS2_UPARROW) {
Serial.Print("[up]");
} else om (c == PS2_DOWNARROW) {
Serial.Print("[Down]");
} else om (c == PS2_DELETE) {
Serial.Print("[del]");
} annat {
annars bara skriva ut alla vanliga tecken
Serial.Print(c);
}
}
} < /p >
Bibliotek: