Go Down

Topic: combiner 2 valeur (Read 2332 times) previous topic - next topic

plastoc

Bonjour

je débute et c'est la première fois que je poste sur un forum.
j'ai commencer arduino il y a un moi un j'adore ca.

je suis actuellement bloquer sur un problème je désirerai combiner 2 valeur afin d'utiliser un menu , la première viens d'un encodeur , cette parti fonctionne et me donne une valeur de 1 à 10 sans probleme que je vais appeler number

je souhaiterais obtenir une valeur égale à  menu1 ou 1 est la valeur number et une valeur val1 ou 1 est toujours la valeur number de façon à aller chercher le titre et la valeur correspondant...




j'espère que je suis clair

Merci à vous

jules

pierfrene

Si je comprend bien si ton encodeurs envois 1 tu veux effectuer une action X
Si ton encodeur envois 2 effectue action Y

Tu as deux chois conditions Avec l'instruction If ou  switch  case

http://arduino.cc/fr/Main/Switchcase

plastoc

merci pour ta reponse mais non , en faite je voudrais que quand la valeur de l'encodeur est 1 l'afficheur lcd utlisise les varaiable menu 1 et val1 et quand l'encodeur est a 2  menu2 et val3  et ainsi de suite....
j'aurtais bien sur au paravent declarer   :

int val1 = 12;
int val 2 = 54;

String menu1 = "Convertisseur 220v :";
String menu2 = "Allume Cigare : ";


mon but est donc d'assembler 2 valeurs pour en faire une (menu et 1 deviens menu1)   et utiliser cette valeur comme variable.



Christian_R

Christian

plastoc

on ne peut donc pas assembler 2 valeurs?

comment fonctionne les tableaux, du coup?

infobarquee

bonjour,
ca s'appelle concaténer
Quote

string menu = "menu";
string menu += itoa(val); // val = 12 par exemple
//ce qui doit donner menu + 12 =>menu12


AUCUNE AIDE PAR MP

fdufnews

#6
Jun 24, 2013, 01:42 pm Last Edit: Jun 24, 2013, 01:44 pm by fdufnews Reason: 1

on ne peut donc pas assembler 2 valeurs?

On peut assembler 2 valeurs mais on ne peut pas s'en servir pour accéder à une variable

comment fonctionne les tableaux, du coup?

Les éléments d'un tableau sont indexés par un entier. On ne peut pas utiliser une chaine de caractères pour faire ça.
Pour ton besoin rien ne t'empêche d'avoir un tableau val et un tableau menu et d'aller chercher dans ces tableaux les valeurs qui t'intéressent en les pointant avec le numéro retourné par ton encodeur
au lieu de ça
Code: [Select]
int val1 = 12;
int val 2 = 54;

String menu1 = "Convertisseur 220v :";
String menu2 = "Allume Cigare : ";


tu fais ça
Code: [Select]
int val[2] = {12, 54};

char *menu[2] = {"Convertisseur 220v :","Allume Cigare :"};

plastoc

Merci pour toute vos réponse. en faite le tableau peut m'aider pour des constante mais les valeurs val 1 val2.... sont des variables....
je m'explique je souhaite faire un menu sur un lcd avec  :

Nom de la Variable
valeur de la Variable

quand j'incremente avec l'encodeur cela passe à

nom de la variable 2
valeur de la variable 2
....  jusqu'a pret de 100

il y a la solution des menu avec case mais cela me fait repeter le code 100 fois   je trouvais que s'etais trop

peut ton dans un tableau lister des noms de variables?

fdufnews



quand j'incremente avec l'encodeur cela passe à

nom de la variable 2
valeur de la variable 2
.... jusqu'a pret de 100


L'arduino risque de ne pas avoir assez de mémoire pour contenir une centaine de chaînes de caractères + une centaine de valeurs.

plastoc

aie , javais pas pensser à ca

Go Up