Arduino schéma - arduino.sk

Arduino ovladanie klavesnice cez ir senzor

Programovanie arduina
Príspevky: 8
Registrovaný: Pia 20. Feb 2015 20:08:34

Arduino ovladanie klavesnice cez ir senzor

Poslaťod benedikt999 » Ned 01. Mar 2015 13:39:26

Zdravim. Neviete niekto o 100% funkcnom projekte ovladania klavesnice cez dialkove ovladanie? Tie co som nasiel tak mi pri overovani sketchu vihodi chyby. Mam leonardo.

Príspevky: 174
Registrovaný: Ned 16. Mar 2014 23:22:00

Re: Arduino ovladanie klavesnice cez ir senzor

Poslaťod posjirka » Pon 02. Mar 2015 21:03:12

O ir klavesnici nevim ale treba ti pomuzeme rozjet to cos nasel. Dej sem kod cos pouzil a napis co ti ukazuje za chyby

Príspevky: 8
Registrovaný: Pia 20. Feb 2015 20:08:34

Re: Arduino ovladanie klavesnice cez ir senzor

Poslaťod benedikt999 » Pon 02. Mar 2015 22:54:35

#include

// Kódy kláves CTRL a SHIFT
#define KEY_LEFT_CTRL 0x01
#define KEY_LEFT_SHIFT 0x02
#define KEY_RIGHT_CTRL 0x10
#define KEY_RIGHT_SHIFT 0x20
// Pro počítače Mac pak ještě klávesa Command
#define KEY_COMMAND 0x08

// Instance třídy IRrecv.
// Přijímač je připojen k pinu 11.
IRrecv irrecv(11);

// Přijatá data se budou ukládat do proměnné 'results'.
decode_results results;

// Toto pole slouží jako buffer, který se vyplní
// kódy stisknutých kláves a odešle skrz Serial
// do USB.
uint8_t buf[8] = { 0 };

// Nastavíme sériové rozhraní a IR přijímač.
void setup() {
Serial.begin(9600);
irrecv.enableIRIn();
}

// V nekonečné smyčce budeme čekat na příjem
// kódu z DO. Pokud se nám kód povede rozpoznat,
// odešleme stisknutou klávesu.
void loop() {
if (irrecv.decode(&results)) {
if(results.decode_type != UNKNOWN)
send_key(results.value);
irrecv.resume(); // Začni přijímat další data.
}
}

/**
* Tato funkce odesílá stisknuté klávesy.
* Jediný parametr funkce je přijatý kód z DO.
* Podle toho, jaký kód byl přijat, vyplníme
* buffer 'buf' a odešleme jej do PC.
*/
void send_key(unsigned long value) {
switch(value) {
// Tlačítko PLAY
case 0x4CB92:
buf[2] = 0x2C; // Klávesa mezerník
break;
// Tlačítko QUIT
case 0xA90:
buf[0] = KEY_COMMAND; // Klávesa Command
buf[2] = 0x1A; // Klávesa W
break;
// Tlačítko FULLSCREEN
case 0x2AB92:
buf[2] = 0x09; // Klávesa F
break;
// Tlačíto VOLUME DOWN
case 0xC90:
buf[2] = 0x2D; // Klávesa -
break;
// Tlačítko SUBTITLES
case 0x8CB92:
buf[2] = 0x16; // Klávesa S
break;
default:
return;
}

// Nejdříve odešleme stisk klávesy
Serial.write(buf, 8);

// Smažeme buffer a odešleme,
// že klávesa byla uvolněna.
buf[0] = 0;
buf[2] = 0;
Serial.write(buf, 8);

delay(100);

Príspevky: 8
Registrovaný: Pia 20. Feb 2015 20:08:34

Re: Arduino ovladanie klavesnice cez ir senzor

Poslaťod benedikt999 » Pon 02. Mar 2015 22:58:40

sketch_mar02a.ino:1:9: error: #include expects "FILENAME" or <FILENAME>
sketch_mar02a:13: error: 'IRrecv' does not name a type
sketch_mar02a:16: error: 'decode_results' does not name a type
sketch_mar02a.ino: In function 'void setup()':
sketch_mar02a:26: error: 'irrecv' was not declared in this scope
sketch_mar02a.ino: In function 'void loop()':
sketch_mar02a:33: error: 'irrecv' was not declared in this scope
sketch_mar02a:33: error: 'results' was not declared in this scope
sketch_mar02a:34: error: 'UNKNOWN' was not declared in this scope
sketch_mar02a.ino: In function 'void send_key(long unsigned int)':
sketch_mar02a:82: error: expected `}' at end of input

Príspevky: 78
Registrovaný: Štv 04. Dec 2014 22:15:58
Bydlisko: Banská Bystrica

Re: Arduino ovladanie klavesnice cez ir senzor

Poslaťod Robo Ulbricht » Uto 03. Mar 2015 8:25:46

Píše ti, že máš zle napísaný prvý riadok. Asi si tam chcel napísať toto.

Kód: Vybrať všetko
#include <IRremote.h>

Príspevky: 8
Registrovaný: Pia 20. Feb 2015 20:08:34

Re: Arduino ovladanie klavesnice cez ir senzor

Poslaťod benedikt999 » Uto 03. Mar 2015 17:50:13

Uz som nato prisiel. Nemal som zavedenu kniznicu IRremote. Aj tak dik za pomoc. Teraz by som skor potreboval zistit ake kody maju jednotlive tlacidla na klavesnici. hlavne ma zaujimaju tlacitko hore, dole, enter, ESC.

Príspevky: 78
Registrovaný: Štv 04. Dec 2014 22:15:58
Bydlisko: Banská Bystrica

Re: Arduino ovladanie klavesnice cez ir senzor

Poslaťod Robo Ulbricht » Uto 03. Mar 2015 20:20:28

Kódy pre Windows? Otvor si súbor /hardware/arduino/cores/arduino/usbapi.h.

Kód: Vybrať všetko
#define KEY_UP_ARROW      0xDA
#define KEY_DOWN_ARROW      0xD9
#define KEY_LEFT_ARROW      0xD8
#define KEY_RIGHT_ARROW      0xD7
#define KEY_BACKSPACE      0xB2
#define KEY_TAB            0xB3
#define KEY_RETURN         0xB0
#define KEY_ESC            0xB1

Príspevky: 174
Registrovaný: Ned 16. Mar 2014 23:22:00

Re: Arduino ovladanie klavesnice cez ir senzor

Poslaťod posjirka » Uto 03. Mar 2015 21:27:17

No vidis staci male nakopnuti a uz to funguje. Ty kody klavesnice ti asi moc neporadim ale vim ze je jeste potreba davat bacha zda pouzivas windows nebo linux. Pamatuju si ze jsem kdysi delal rozhrani pro program puvodne kompilovany pro unix dnes v ramci modernizace nejak preklopeny pro windows a resil jsem blbosti jako enter. Ve windows se enter sklada ze 2 znaku v unixu z 1 a tak mi pak nadstavba delala prazdne meziradky. Co to ale bylo za znaky uz si nepamatuju. Spis se zkus podivat po nejakem projektu virtualni klavesnice ...

Príspevky: 8
Registrovaný: Pia 20. Feb 2015 20:08:34

Re: Arduino ovladanie klavesnice cez ir senzor

Poslaťod benedikt999 » Uto 03. Mar 2015 21:29:49

Dik za kody. Nakoniec som ich ani nepotreboval lebo mi stacilo zadat iba nazvy tlacidiel a arduino to vedelo spracovat. :)))

Späť na Software