Bonjours à tous,
voilà quelque temps que je vous embêtes avec mes questions farfelue et mon manque de connaissance mais sans vous dire pourquoi.
Je suis en train de préparer une petit cockpit d'avion pour FSX et P3D.
Un truc dans ce genre là
Un système de maître esclave devait être mis en place, mais n'a pas aboutis suite à plusieurs problème de com.
Mais aujourd'hui le sujet de ma question et beaucoup plus léger
j'utilise des platines LKM1638 dont en voici une en pleine action sur mon bureau
16 digits, 16 leds 16 boutons, le tous en SPI.
J'ai trouvé comment gérer les digit led et les boutons.
Voici d'ailleurs une super librairie avec en plus un wiki
Donc voici comment je récupère les infos des boutons.
byte keys=module1_1.getButtons();
for (byte i = 0; i < 8; i++)
{
bp1_1[i]=keys & (1 << (i)) ? 1 : 0;
}
L'état de mes boutons est stocké dans un tableau et si je veux vérifier un bouton je fait
if(bp1_1[3]==1){module1_1.setLED(TM1638_COLOR_RED, 3);}
else{module1_1.setLED(TM1638_COLOR_NONE, 3);}
j'ai mes boutons, je peux les utiliser, mais maintenant là ou je n'ai pas encore d'idée c'est sur les différent mod d'appui.
Déjà éviter de prendre en compte les rebonds du contact lors de l'appui, ensuite pouvoir détecter un appuie court et un appui long.
Je n'utilise pas de système de delay mais ça
unsigned long time=0;//mémoire du temps passé, capacité 50 jours grossiérement
unsigned long time_S=0;//mémoire du temps passé pour les secondes
unsigned long time_S2=0;//mémoire du temps passé pour les secondes
unsigned long time_S4=0;//mémoire du temps passé pour les secondes
void loop()
{
time = millis();//mise en mémoire du temps
if((time-time_S)>1000)
{
time_S=time;
//action
}
}
le but pour moi est le suivant, si j'appuie brièvement sur le bouton, il ajoute +1 à un compteur, si j'appuie sur le bouton plusieurs seconde, dans un premier temps il va ajouté +1 au compteur tous les 500 ms, et au bout de 3 seconde, il ajoute +1 toutes les 100ms. Et si je relâche il arrête bien entendu.
pour le moment je n'ai pas l'idée de la chose.
pourriez vous me guider.
Merci d'avance Flo