Étape 2: Programmer votre teensy
Projet : Le clavier IR Teensy
1 Mar - Mar 12 2
-Shawn McCombs
*/
#include
#include
int RECV_PIN = 10 ;
int ledPin = 11 ;
todo int ;
int a ouvert ;
étapes d’int = 1 ;
int direct ;
lieu de l’int ;
int mode ;
int écran ;
long previousMillis ;
intervalle long = 100 ;
IRrecv irrecv(RECV_PIN) ;
résultats de la decode_results ;
Chiffres de la chaîne, doneit ;
Canaux de chaîne [] = {}
« zéro »,
« http://www.youtube.com/watch?v=G17x99Sh424 »,
« http://www.youtube.com/watch?v=EZbrSm5psT4 »,
« http://www.youtube.com/watch?v=jUkoL9RE72o »,
« http://www.youtube.com/watch?v=7q2bNqe0Xyk »,
« http://www.youtube.com/watch?v=pMPrxg1bSPE »,
« http://www.youtube.com/watch?v=J4Mb5Yt_ylk »,
« http://www.youtube.com/watch?v=Zcps2fJKuAI »,
« http://www.youtube.com/watch?v=-SIgu2j4Nzs »,
« http://www.youtube.com/watch?v=mdJDPepGOAM »,
"http://www.shoutcast.com/shoutcast_popup_player?station_id=1254140 & play_status = 1 & succ = Chillout % 20Dreams % 20-% 20DIGITALLY % 20IMPORTED % 20-% 20relax...",
« http://www.youtube.com/watch?v=bX5uSguogQM »
};
void setup()
{
irrecv.enableIRIn() ;
pinMode (ledPin, sortie) ;
digitalWrite (ledPin, HIGH) ;
chiffres = String("") ;
Doneit = String("") ;
}
void loop() {}
Si (irrecv.decode (et résultats)) {}
if(Results.Value == 0x210700FF) {}
chiffres & = 0 ;
} ElseIf (results.value == 0x2107807F) {}
chiffres += 1 ;
} ElseIf (results.value == 0x210740BF) {}
+= digit 2 ;
} ElseIf (results.value == 0x2107C03F) {}
chiffres = 3 ;
} ElseIf (results.value == 0x210720DF) {}
chiffres = 4 ;
} ElseIf (results.value == 0x2107A05F) {}
chiffres += 5 ;
} ElseIf (results.value == 0x2107609F) {}
chiffres = 6 ;
} ElseIf (results.value == 0x2107E01F) {}
chiffres = 7 ;
} ElseIf (results.value == 0x210710EF) {}
chiffres = 8 ;
} ElseIf (results.value == 0x2107906F) {}
+= chiffre 9 ;
} ElseIf (results.value == 0x2107EA15) {}
TODO = digit.toInt() ;
Si (todo > 0 & & todo < 12) {}
lieu = todo ;
Doneit = canaux [todo] ;
doit() ;
chiffres = "" ;
TODO = 0 ;
} else {}
Error() ;
}
} ElseIf (results.value == 0x210706F9) {}
VOLUP() ;
direct = 5 ;
} ElseIf (results.value == 0x21078679) {}
voldown() ;
direct = 6 ;
} ElseIf (results.value == 0x210726D9) {}
MUTE() ;
direct = 0 ;
} ElseIf (results.value == 0x21071EE1) {}
Refresh() ;
direct = 0 ;
} ElseIf (results.value == 0x2107D926) {}
closewin() ;
ouvert = 0 ;
direct = 0 ;
} ElseIf (results.value == 0x210709F6) {}
if(Screen == 0) {}
écran = 1 ;
}
screenswitch() ;
direct = 0 ;
} ElseIf (results.value == 0x2107CE31) {}
mesures = 1 ;
Up() ;
direct = 1 ;
} ElseIf (results.value == 0x21076E91) {}
if(Screen == 1) {}
Keyboard.set_key1(KEY_LEFT) ;
Keyboard.send_now() ;
Keyboard.set_key1(0) ;
Keyboard.send_now() ;
} else {}
mesures = 1 ;
Left() ;
direct = 2 ;
}
} ElseIf (results.value == 0x21072ED1) {}
mesures = 1 ;
Down() ;
direct = 3 ;
} ElseIf (results.value == 0x2107AE51) {}
if(Screen == 1) {}
Keyboard.set_key1(KEY_RIGHT) ;
Keyboard.send_now() ;
Keyboard.set_key1(0) ;
Keyboard.send_now() ;
} else {}
mesures = 1 ;
Right() ;
direct = 4 ;
}
} ElseIf (results.value == 0x2107EE11) {}
if(Screen == 1) {}
écran = 0 ;
screenswitch() ;
} else {}
direct = 0 ;
leftmouse() ;
}
} ElseIf (results.value == 0x21070EF1) {}
direct = 0 ;
rightmouse() ;
} ElseIf (results.value == 0x21070AF5) {}
lieu ++ ;
Si {(lieu > 11)
place = 11 ;
Error() ;
} else {}
Doneit = canaux [lieu] ;
doit() ;
}
} ElseIf (results.value == 0x21078A75) {}
lieu = lieu - 1 ;
Si (lieu < 0) {}
place = 0 ;
Error() ;
} ElseIf (lieu > 0) {}
Doneit = canaux [lieu] ;
doit() ;
} else {}
Si (ouvert == 1) {}
closewin() ;
}
}
}
Si (direct > 0 & & results.value == 0xFFFFFFFF) {}
if(direct == 1) {}
Up() ;
} ElseIf (direct == 2) {}
Left() ;
} ElseIf (direct == 3) {}
Down() ;
} ElseIf (direct == 4) {}
Right() ;
} ElseIf (direct == 5) {}
VOLUP() ;
} ElseIf (direct == 6) {}
voldown() ;
}
unsigned long currentMillis = millis() ;
Si (currentMillis - previousMillis > intervalle) {}
previousMillis = currentMillis ;
mesures ++ ;
Si {(étapes > 19)
mesures = 20 ;
}
}
}
irrecv.Resume() ;
}
}
doit() Sub {}
Si (ouvert == 0) {}
ouvert = 1 ;
} else {}
closewin() ;
}
Keyboard.set_modifier(MODIFIERKEY_GUI) ;
Keyboard.set_key1(KEY_R) ;
Keyboard.send_now() ;
Keyboard.set_modifier(0) ;
Keyboard.set_key1(0) ;
Keyboard.send_now() ;
Delay(100) ;
Delay(100) ;
Keyboard.Print(Doneit) ;
Delay(100) ;
Keyboard.set_key1(KEY_ENTER) ;
Keyboard.send_now() ;
Keyboard.set_key1(0) ;
Keyboard.send_now() ;
Doneit = "" ;
}
error() Sub {}
digitalWrite (ledPin, basse) ;
Delay(400) ;
digitalWrite (ledPin, HIGH) ;
Delay(400) ;
digitalWrite (ledPin, basse) ;
Delay(400) ;
digitalWrite (ledPin, HIGH) ;
Delay(400) ;
digitalWrite (ledPin, basse) ;
Delay(400) ;
digitalWrite (ledPin, HIGH) ;
Delay(400) ;
digitalWrite (ledPin, basse) ;
Delay(400) ;
digitalWrite (ledPin, HIGH) ;
}
refresh() Sub {}
Keyboard.set_key1(KEY_F5) ;
Keyboard.send_now() ;
Keyboard.set_key1(0) ;
Keyboard.send_now() ;
}
void closewin() {}
Keyboard.set_modifier(MODIFIERKEY_ALT) ;
Keyboard.set_key1(KEY_F4) ;
Keyboard.send_now() ;
Keyboard.set_modifier(0) ;
Keyboard.set_key1(0) ;
Keyboard.send_now() ;
}
void volup() {}
Keyboard.set_modifier(MODIFIERKEY_CTRL | MODIFIERKEY_ALT) ;
Keyboard.set_key1(KEY_UP) ;
Keyboard.send_now() ;
Keyboard.set_modifier(0) ;
Keyboard.set_key1(0) ;
Keyboard.send_now() ;
}
void voldown() {}
Keyboard.set_modifier(MODIFIERKEY_CTRL | MODIFIERKEY_ALT) ;
Keyboard.set_key1(KEY_DOWN) ;
Keyboard.send_now() ;
Keyboard.set_modifier(0) ;
Keyboard.set_key1(0) ;
Keyboard.send_now() ;
}
mute() Sub {}
Keyboard.set_modifier(MODIFIERKEY_CTRL | MODIFIERKEY_ALT) ;
Keyboard.set_key1(KEY_PERIOD) ;
Keyboard.send_now() ;
Keyboard.set_modifier(0) ;
Keyboard.set_key1(0) ;
Keyboard.send_now() ;
}
void up() {}
Mouse.Move (0,-étapes) ;
}
left() Sub {}
Mouse.Move (-étapes, 0) ;
}
void down() {}
Mouse.Move (0, étapes) ;
}
right() Sub {}
Mouse.Move (marches, 0) ;
}
void leftmouse() {}
Mouse.Click() ;
}
void rightmouse() {}
Mouse.set_buttons (0, 0, 1) ;
Mouse.set_buttons (0, 0, 0) ;
}
void screenswitch() {}
Si (écran == 1) {}
Keyboard.set_modifier(MODIFIERKEY_ALT) ;
Keyboard.set_key1(KEY_TAB) ;
Keyboard.send_now() ;
Keyboard.set_key1(0) ;
Keyboard.send_now() ;
} else {}
Keyboard.set_modifier(0) ;
Keyboard.send_now() ;
}
}