Lol !
En effet, bel exemple...
Bon, ceci dit, chu pas encore totalement à l'aise avec tout le système Arduino. C'est que ça me manquerais presque l'ASM XD
(Je déconne)...
Bon, voila, donc pour le moment, prends pas peut mais ça ressemble à ça ma déclaration sur ma télécommande.
/*
Télécommande sur 433 Mhz bi-directionnelle
Auteur : Alexandre LAB
Aide DVP : Ragmaxone, sevyc64, Winjerome, Bousk
Aide Arduino.cc : barbudor, SesechXP, skywodd
Création : le 30 octobre 2012
Dernière modification : le 16 janvier 2013
Version 1.0
Pins utilisés
TX1 -> Modem 433Mhz
RX1 <- Modem 433Mhz
SDA <-> Data I2C
SCL <-> Horloge I2C
SPI <-> Carte Ethernet / SD Card
04 (PWM) -> Ethernet CS
10 (PWM) -> Ethernet Librairie
50 (Digit) -> Ethernet Librairie
51 (Digit) -> Ethernet Librairie
52 (Digit) -> Ethernet Librairie
53 (Digit) -> Ethernet Librairie
AN0 -> Voie 1
AN1 -> Voie 2
AN2 -> Voie 3
AN3 -> Voie 4
22 (Digit) -> Voie 5 = Btn On/Off/On 1
23 (Digit) -> Voie 5 = Btn On/Off/On 1
24 (Digit) -> Voie 6 = Btn On/Off/On 2
25 (Digit) -> Voie 6 = Btn On/Off/On 2
Pour infos:
-
Les voies analogiques sont reliée chacune à leur potar.
-
22 et 23 Corresponde à un potar à 3 positions.
-
00 = Milieu
-
10 = Haut
-
01 = Bas
-
24 et 25 Corresponde à un potar à 3 positions.
-
00 = Milieu
-
10 = Haut
-
01 = Bas
*/
/* INC */
#include <Wire.h>
#include <SD.h>
/* DEFINITIONS CARTES I2C */
#define adresseLcd 0x63 //Ecran LCD
#define carteBtn B0111000 //Carte boutons
/* DEFINITIONS AUTRES */
#define SIZE_VOIES 10 //Nombre de voies
#define SIZE_BUFFER 32 //Nombre de case du buffer
#define SIZE_CMDE 10 //Nombre de commandes
#define potarVoie1 0 //Manche gauche haut/bas
#define potarVoie2 1 //Manche gauche droite/gauche
#define potarVoie3 2 //Manche droite haut/bas
#define potarVoie4 3 //Manche droite droite/gauche
int btnVoie5Up = 22; //Bouton voie 5 Haut
int btnVoie5Do = 23; //Bouton voie 5 Bas
int btnVoie6Up = 24; //Bouton voie 6 Haut
int btnVoie6Do = 25; //Bouton voie 6 Bas
/* VARIABLES GLOBALES */
int tensionVoie1, tensionVoie2, tensionVoie3, tensionVoie4; //Tensions aux bornes des entrées analogiques
byte voies[SIZE_VOIES]; //Initialise le tableau des voies
int mixVoie1, mixVoie2; //Valeur de mixage
String trame; //Trame d'émission
//char bufferRx[SIZE_BUFFER];
File myFile; //Fichier
String tblFicMdle[SIZE_CMDE]; //Le tableau des noms des fichiers modèles
String tblFicSvg[SIZE_CMDE]; //Le tableau des noms des fichiers de sauvegardes
int nbFichierMdle; //Nombre de fichier
char tblConfSvg[SIZE_CMDE][SIZE_BUFFER]; //Le tableau des configuration du fichier de sauvegarde
char tblConfMdle[SIZE_CMDE][SIZE_BUFFER]; //Le tableau des configurations du fichier de modèle
//Configuration pour un modèle
String confNom, confType;
boolean confMix_V1V2, confMix_V3V4;
boolean etatVoie07, etatVoie08, etatVoie09, etatVoie10;
byte etatBtnI2c;
int ecran = 1;
int cmptPassage = 0, passageMax = 5;
Et en dessous, ben, il y a le setup()...
On notera quand même que je prends soint dès le début de commenter mes pin(s). Normal si c'est une sortie "->" c'est pas pour y recevoir un signal, sauf si c'est bi-directionnel "<->". Enfin, bon, vous m'aurez, ou pas, compris