Go Down

Topic: besoin d'un guide (Read 17427 times) previous topic - next topic

Carolyne

#15
Dec 11, 2013, 12:15 am Last Edit: Dec 11, 2013, 12:17 am by Carolyne Reason: 1
"bouton" n'a pas été déclaré. "boutonUp" oui.
Alors icare...On plane... :smiley-mr-green:

B@tto


Il me semble que dans le code de B@tto:
Dans la while le: (bouton) doit être: (boutonUp). Ou me trompe-je ?


Yes c'est corrigé ;)
Blog électronique : battomicro.wordpress.com
Photographie : www.interactive-celebration.fr
Fablab de Montpellier : www.labsud.org

icare

Bonjour,

"bouton" n'a pas été déclaré. "boutonUp" oui.
Alors icare...On plane... :smiley-mr-green:

C'était pour voir si tu suivais. Non, bien vue.
@+
2B OR NOT(2B) = FF
Arduino 1.0.5 à 1.8.5 + gEdit + Ubuntu 18.04 LTS

mirage2000

#18
Dec 11, 2013, 08:56 pm Last Edit: Dec 11, 2013, 09:34 pm by mirage2000 Reason: 1
alors là chapo ! 8)
L'appel du grale a été plus fort, j'ai pas pu attendre !!!
j'ai câblé les leds, les bp, et j'ai chargé le code de Ohhhh mon B@ttoOOOO, et ça clignote, on se croirait dans une boite de nuit....
je vérifie tout cela calmement, maintenant que le pic d'adrénaline est passé.

Bon je re édité mon post:
Ca  fonctionne mais par contre je ne retrouve pas l'allumage des leds dans l'ordre des sorties, ca me parrait inversé?
Ma FONCTION1  est 1 1 0 0 0 0 0 1 et ca correspond a D10 D9 D8 D7 D6 D5 D4 D3
normal ???

Question: si je voulais qu'au démarrage je vienne directement sur FONCTION1, car tout est a zero , on fait comment?
merci encore pour votre patience et devouement

@+

B@tto


Ca a l'air de fonctionner mais par contre je ne retrouve pas l'allumage des leds dans l'ordre des sorties, ca me parrait inversé?
Ma premiére sequence est 1 1 0 0 0 0 0 1 et ca correspond a D10 D9 D8 D7 D6 D5 D4 D3
normal ???


Il faut reprendre les deux tableau du début :

const byte Fonction[] ={0b00000011,0b00001100,0b001100000,0b11000000,0b10000001};

== > ce sont les séquences, comme tu n'avais pas donné toutes les fonctions j'ai fait du pifomètre la, à toi d'éditer comme ça t'ira. Le principe c'est que les 0 et les 1 sont liés avec le deuxième tableau :

const byte Pins[] = {3,4,5,6,7,8,9,10};

Mais effectivement l'ordre est "inversé" (et oui tout est affaire de relativité ;) ). Si je prend la première fonction :

00000011 ==>   0  0  0  0  0  0  1   1     
                          10 9  8   7  6  5  4  3  ==> ça donne pin 3 et 4 HIGH et tout les autres à LOW

Donc soit tu inverses l'ordre dans Pins[] soit dans Fonction[]


Blog électronique : battomicro.wordpress.com
Photographie : www.interactive-celebration.fr
Fablab de Montpellier : www.labsud.org

mirage2000

merci b@tto, tu as  répondu j'etais encore en train de modifier mon post, lol

Question: si je voulais qu'au démarrage je vienne directement sur FONCTION1, car tout est a zero , on fait comment?

B@tto

Ca se complique un peu ... En fait on pourrait faire simple et utiliser l'EEPROM du contrôleur (une mémoire morte qu'on peut utiliser dans le code). C'est très simple d'utilisation. Problème : cette mémoire a une quantité d'écriture limitée (100 000). L'idée serait de stocker la variable x puisque c'est elle qui dit où on en est dans Fonction[]. Donc à chaque changement il faudrait sauvegarder cette variable comme ça dès qu'il y a une coupure, on recharge x et on reprend donc au même endroit. Le truc c'est donc de savoir combien il va y avoir de changement de fonction approximativement  par jour, et voir si c'est compatible avec la durée de vie de l'EEPROM. Sinon il faudra une mémoire externe.

Si ta question c'était juste comment définir la fonction de démarrage à chaque démarrage, il suffit juste de donner à x une valeur lors de sa déclaration. Exemple :

Code: [Select]
int i;
int x=1;


au lieu de

Code: [Select]
int i,x;
Blog électronique : battomicro.wordpress.com
Photographie : www.interactive-celebration.fr
Fablab de Montpellier : www.labsud.org

mirage2000

dsl, je me suis mal exprimé, en faite lorsque je fait un reset, toutes les sorties sont à o, je suis obligé de faire UP pour avoir ma premiére fonction, ce que je voudrais, c'est apres un reset, demarrer directement dur ma FONCTION1, je ne voudrais jamais avoir toutes les sorties a 0.

J'ai essayé ce que tu m'a dit:

int i;
int x=1;

ca n'a rien changé.


B@tto

Ah Ok, il suffit juste de modifier le setup :

Code: [Select]

int i,x;

void setup() {

for(i=0;i<8;i++){
pinMode(Pins[i],OUTPUT);
digitalWrite(Pins[i],(1&Fonction[x]>>i));
}

pinMode(BoutonUP,INPUT_PULLUP);
pinMode(BoutonDOWN,INPUT_PULLUP);

}
Blog électronique : battomicro.wordpress.com
Photographie : www.interactive-celebration.fr
Fablab de Montpellier : www.labsud.org

fifi82

oui mais quand tu fait :

Code: [Select]
if(x>5)x=0;
if(x<0)x=5;


tu choisi x de 0 à 5, alors que c'est de 1 à 5 je comprend pas

c'est pas plutôt ?
Code: [Select]
if(x>5)x=1;
if(x<1)x=5;

B@tto

nan l'index d'un tableau démarre à zéro mais du coup tu soulèves quand même une erreur ;) le bon code c'est :

Code: [Select]

if(x>4)x=0;
if(x<0)x=4;
Blog électronique : battomicro.wordpress.com
Photographie : www.interactive-celebration.fr
Fablab de Montpellier : www.labsud.org

mirage2000

#26
Dec 12, 2013, 07:56 pm Last Edit: Dec 12, 2013, 08:54 pm by mirage2000 Reason: 1
hello B@to.
Ca fonctionne nickel, je suis sans voix  8)  8) , quelle maitrise.

Ma dernière étape, mettre un afficheur 2 Lignes qui affichera:

1 ére ligne >>> Press UP DW to select     (affichage en permanence)
2 iéme ligne >>>  FONCTION  1, FONCTION 2...ect   (en fonction de la FONCTION choisie avec UP/DW)

j'ai vue sur le fofo qu'on pouvait cabler en 4 bits, mais il me faut  4 bits + RS + E, mais je sais pas ou brancher, sachant que j'ai D3 a D12 de pris par les BP et les leds.

ca commence à m'interresser mechant ce truc, merci encore, je te dois une fiére chandelle

B@tto

Les pins analogiques (A0 à A5 si tu as une UNO ) sont également des pins digitaux, sachant que A0 = 14, A1 =15 .... Donc tu as la place ;)
Blog électronique : battomicro.wordpress.com
Photographie : www.interactive-celebration.fr
Fablab de Montpellier : www.labsud.org

mirage2000

Aiiiii c'est un NANO V3 que j'ai, j'suis mal?




B@tto

Nan nan c'est pareil, sauf que en cadeau bonusqye tu as des pins analogiques (A6 et A7) qui ne sont pas digitaux eux (au cas ou)
Blog électronique : battomicro.wordpress.com
Photographie : www.interactive-celebration.fr
Fablab de Montpellier : www.labsud.org

Go Up