Bonjour à tous...
je suis un peu embête et j'aurais besoin d'aide pour la réalisation de mon Menu.
Tout d’abord j'ai récupérer un programme pour lire un cd sur un drive de pc en IDE,
le fonctionnement et super mais j'aimerais créer un menu par dessus ce code,
par exemple :
j'aimerais avec un bouton sélection se balader dans le Menu qui comporte 6 titres
(1-lecteur , 2-Playstation , 3-Optique , 4-USB , 5-Coaxiale , 6-Audio Bluetooth)
pour l'instant OK j'ai réussi à le faire
l'idée serait que si je suis dans le Menu lecteur avec un délai je bascule dans le programme Du drive, si j’appuie sur sélection pour changer de Menu alors je passe au suivant en quittant le programme du drive.
et la je n'ai pas réussi, dans le programme du Drive (lecteur) j'ai renommé void setup par démarrage et void loop par chargement,
dans mon programme des qu'il se lance on se trouve dans le menu 0 et le programme du drive se lance, mais si j'appuie sur sélection alors je ne change pas de Menu. smiley-evil
sinon dans la création du menu ( UpdateLCD ) comment peut'ont aller dans un autre programme puis un autre ?
merci pour votre aide
void setup() {
// set up the LCD's number of columns and rows:
pinMode(selec,INPUT);
digitalWrite(selec,HIGH);
pinMode(ok,INPUT);
digitalWrite(selec,HIGH);
pinMode(led,OUTPUT);
digitalWrite(led,HIGH);
////////////////////////////////////////lecteur definition////////////////////////////////////////
// LCD Part
// ########
lcd.begin (16,2); // init LCD interface
// Switch on the backlight
lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);
lcd.setBacklight(HIGH);
lcd.home (); // set cursor to home position
// Arduino Part
// #############
// start I2C interface as Master
Wire.begin();
// Set all pins of all PCF8574 to high impedance inputs.
highZ();
// Start Serial Interface
// Serial.begin(9600);
// initialize the push button pins as inputs with pullup:
pinMode(NEXT, INPUT);
pinMode(PREV, INPUT);
pinMode(EJCT, INPUT);
pinMode(STOP, INPUT);
pinMode(PLAY, INPUT);
pinMode(LED, OUTPUT);
digitalWrite((byte)NEXT, HIGH);
digitalWrite((byte)PREV, HIGH);
digitalWrite((byte)EJCT, HIGH);
digitalWrite((byte)STOP, HIGH);
digitalWrite((byte)PLAY, HIGH);
digitalWrite((byte)LED, LOW);
////////////////////////////////////////////////////////////////////////////////////////////////////
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.print("audio/franck");
delay(1000);
lcd.clear();
}
void loop()
{
BSelect();
}
void BSelect()
{
etat_bouton = digitalRead(selec);
// compare the buttonState to its previous state
if (etat_bouton != lastetat_bouton) {
// if the state has changed, increment the counter
if (etat_bouton == LOW)
{
Menu++;
if (Menu > 5)
Menu = 0;
}
lastetat_bouton = etat_bouton;
UpdateLCD();
}
}
Bon.... je ne sais pas si si tu as remarqué, mais maintenant ton code est sur un fond blanc et donc plus lisible( le code html est desactivé)
Dans ta fenêtre d'édition, il y a des boutons....
Dans ta fonction UpdateLCD, test ta variable menu avec un switch, c'est plus adapté.
switch (menu) {
case 1 :
//menu1
break;
case 2 :
//menu2
break;
case 3 :
//menu3
break;
}
Ce que tu veux faire n'est pas possible de cette manière. On ne peut pas changer de programme comme ça. Il faut que tu intègre tous tes programmes à un seul, avec un seul setup, un seul loop.