Étape 4: Le code de l’Arduino
Cliquez ici pour télécharger le code ou copier les lignes suivantes :
#include « < \IrRemote.h\ > » ;
IRsend ir ;
estado int = 0 ;
dato char ;
Ces codes sont pour contrôler le système Audio
unsigned int powerEquipo [32] = {300,750,300,1800,300,700,350,700,350,1750,350,700,300,1800,250,1800,350,700,300,1800,350,700,300,700,350,700,350,1750,300,750,300} ; unsigned int chEmisoraUp [32] = {300,750,300,750,300,1750,250,800,300,750,300,750,250,800,300,750,250,1800,250,1850,300,750,250,800,200,800,300,1800,300,750,300} ; unsigned int chEmisoraUp [32] = {300,750,300,750,300,1800,200,850,300,750,250,750,300,750,300,750,300,1800,300,1750,300,750,300,750,300,750,300,1800,250,750,300} ; unsigned int chEmisoraDown [32] = {350,700,400,650,300,1750,350,700,350,700,350,700,300,750,300,700,350,700,300,750,350,1750,400,650,300,700,350,1750,300,750,300} ;
unsigned int playCd [32] = {400,650,400,650,350,1750,350,700,350,650,350,1750,350,1750,300,1750,400,1700,350,1750,350,700,350,650,400,650,350,1750,450,600,350} ;
Ces codes sont pour le contrôle de la télévision
unsigned int pwrTv[68]={4600,4350,700,1550,650,1550,650,1600,650,450,650,450,650,450,650,450,700,400,700,1550,650,1550,650,1600,650,450,650,450,650,450,700,450,650,450,650,450,650,1550,700,450,650,450,650,450,650,450,650,450,700,400,650,1600,650,450,650,1550,650,1600,650,1550,650,1550,700,1550,650,1550,650}; volume up unsigned int volUpTv[68]={4600,4350,650,1550,700,1500,700,1550,700,400,700,400,700,450,650,450,700,400,700,1500,700,1550,650,1550,700,400,700,400,700,450,650,450,700,400,700,1500,700,1550,650,1550,700,400,700,450,700,400,700,400,700,400,700,450,650,450,650,450,650,1550,700,1500,700,1550,700,1500,700,1550,650}; volume down unsigned int volDownTv[68]={4600,4350,700,1550,650,1550,700,1500,700,450,650,450,700,400,700,400,700,400,700,1550,700,1500,700,1550,700,400,700,400,700,400,700,450,650,450,650,1550,700,1500,700,450,650,1550,700,400,700,400,700,450,700,400,700,400,700,400,700,1550,700,400,700,1500,700,1500,700,1550,700,1500,700}; channel up unsigned int chUpTv[68]={4600,4350,700,1500,700,1500,700,1550,700,450,650,400,700,450,650,450,700,400,700,1500,700,1550,650,1550,700,450,650,450,700,400,700,400,700,400,700,400,700,1550,700,400,700,400,700,1550,650,450,700,400,700,400,700,1550,650,450,650,1600,650,1550,650,450,700,1500,700,1500,700,1550,650}; channel down unsigned int chDownTv[68]={4650,4300,700,1550,700,1500,700,1550,700,400,700,400,700,400,700,450,650,450,650,1550,700,1500,700,1550,700,400,700,400,700,400,700,450,700,400,700,400,700,400,700,450,650,450,650,1550,700,400,700,450,650,400,700,1550,700,1500,700,1550,700,1500,700,400,700,1550,650,1550,700,1500,700};
Tv/Video unsigned int videoTv[68]={4500,4300,650,1600,650,1550,650,1600,650,500,600,500,650,500,650,500,650,500,600,1650,600,1600,650,1550,650,500,650,500,650,500,600,500,650,500,650,1600,600,500,650,500,650,500,650,500,600,550,600,500,650,500,650,500,650,1550,650,1600,650,1550,650,1600,650,1550,650,1600,650,1550,650};
void setup()
{
Serial.Begin(9600) ;
}
void loop()
{
if(Serial.available() > 0)
{dato=Serial.read() ;
commutateur (dato)
{« R » de cas :
ir.sendRaw(powerEquipo,32,38) ;
Delay(500) ;
rupture ;
affaire ' t » :
ir.sendRaw(chEmisoraUp,32,38) ;
Delay(100) ;
rupture ;
case « U » :
ir.sendRaw(chEmisoraDown,32,38) ;
Delay(100) ;
rupture ;
case « V » :
ir.sendRaw(playCd,32,38) ;
Delay(100) ;
rupture ;
case « K » :
Puissance de la TV
ir.sendRaw(pwrTv,68,38) ;
Delay(100) ;
rupture ;
case « L » :
Volume +
ir.sendRaw(volUpTv,68,38) ;
Delay(100) ;
rupture ;
cas suis ' :
Volume-
ir.sendRaw(volDownTv,68,38) ;
Delay(100) ;
rupture ;
cas ' n ' :
Canal +
ir.sendRaw(chUpTv,68,38) ;
Delay(100) ;
rupture ;
cas ' o ' :
Television-
ir.sendRaw(chDownTv,68,38) ;
Delay(100) ;
rupture ;
case « P » :
TV/vidéo
ir.sendRaw(videoTv,68,38) ;
Delay(100) ;
rupture ;
case « A » :
pour (int i = 0; i < 3; i ++)
{
ir.sendNEC (0xFF30CF, 32) ; Puissance du DVD
Delay(40) ;
}
rupture ;
case « B » :
pour (int i = 0; i < 3; i ++)
{
ir.sendNEC (0xFF00FF, 32) ; /Close ouvert
Delay(40) ;
}
rupture ;
case « C » :
pour (int i = 0; i < 3; i ++)
{
ir.sendNEC (0xFF52AD, 32) ; Jouer
Delay(40) ;
}
rupture ;
affaire aurait ":
pour (int i = 0; i < 3; i ++)
{
ir.sendNEC (0xFF728D, 32) ; Arrêter
Delay(40) ;
} break ;
} / / fin del interrupteur
} //fin del si
} //fin del boucle