Show Posts
Pages: 1 ... 108 109 [110] 111 112 ... 201
1636  International / Français / Re: Code erreur incompréhensible on: November 04, 2012, 01:26:51 pm
Sur cette ligne ce sont des O (lettre O) au lieu de 0 (zéro)
Code:
  lcd.setCursor(O, O);
Code:
  lcd.setCursor(0, 0);

Il manque les parenthèse à la méthode clear
Code:
  lcd.clear;
Code:
  lcd.clear();

il manque un if après le else
Code:
  if (etatBouton==HIGH){
    digitalWrite(contacteur, LOW);}
  else (etatBouton==LOW)
    digitalWrite(contacteur, HIGH);
Code:
  if (etatBouton==HIGH){
    digitalWrite(contacteur, LOW);}
  else if(etatBouton==LOW)
    digitalWrite(contacteur, HIGH);
1637  International / Français / Re: [RESOLU] Arduino ecriture base Access ou SQL on: November 04, 2012, 12:50:02 pm
Quote
par contre aucune des données demandées n'est écrite sur la carte SD alors que cela fonctionnait bien avant mon ptit coup de ménage
Et les Serial.print() disent que tu déroules bien toute la fonction?
La carte SD ne serait pas protégée en écriture?
1638  International / Français / Re: Chargement partiel d'un code compilé on: November 04, 2012, 07:50:24 am
Quote
Sinon coté interpreté, j'ai vue passer sur HackADay recemment un article a propos d'une machine java pour micro 8 bit
Oui enfin si les scénarios c'est du genre exécuter telle fonction et puis et puis telle autre, attendre tant de temps, faire changer telle sortie, on reste dans des trucs assez simple. Pour autant que la taille des dits scénarios ne soit pas trop importante. Et encore s'il sont volumineux on peut toujours imaginer de les stocker dans une EEPROM ou une carte SD
1639  International / Français / Re: Chargement partiel d'un code compilé on: November 04, 2012, 06:58:55 am
Ils consistent en quoi ces scénarios?
1640  International / Français / Re: [RESOLU] Arduino ecriture base Access ou SQL on: November 04, 2012, 06:45:31 am
Dans ce code, le println est au mauvais endroit:
Code:
    client.println("GET /solaire/txp2.php?nom_inst=Dupont&date_prod=");
    client.print(date);

il faudrait faire ça:
Code:
    client.print("GET /solaire/txp2.php?nom_inst=Dupont&date_prod=");
    client.println(date);

Le premier cas coupe la requête en deux et ne termine pas le seconde partie.
1641  International / Français / Re: Chargement partiel d'un code compilé on: November 04, 2012, 06:05:00 am
Il n'y a rien de prévu pour faire ça simplement.
Par contre rien ne t'empêche de coder les fonctions dans le code principal et d'envoyer les scénarios sous forme de texte. Le texte sera interprété à la réception par ton logiciel qui le traduira pour construire des tableaux décrivant l’enchaînement de tâches c-à-d contenant entre autres choses des pointeurs de fonctions.
1642  International / Français / Re: Encodeur rotatif Com-10982, un petit peu de code... on: November 04, 2012, 05:54:29 am
Bon Artouste vient de me prendre de vitesse.
Quote
-1 : incrementer/decrementer dans la routine d'interruption seulement si le poussoir est aussi enfoncé, ce n'est pas le plus ergonomique, mais c'est le plus secure
Oui mais si les IT sont toujours attachées on appelle donc toujours la routine d'interruption donc bénéfice faible

Quote
-2 : attacher l'interruption par un appui et la detacher par un autre appui = contrainte savoir/indiquer qq part dans quelle situation l'on se trouve

Là ce n'est pas très compliqué. Un booléen qui bascule à chaque appui sur le poussoir et qui va autoriser ou non l'activation/désactivation des interruptions et qui va signaler par un voyant l'état du système.
1643  International / Français / Re: problème de pointeurs on: November 03, 2012, 04:01:15 pm
Un code possible

Code:
// Un tableau à deux dimensions
char Liste[10][20];

// Une Fonction sensée convertir le paramètre en Flottant (float)  :
//      le paramètre est de la forme "ABC123.456"
//      La sortie doit être le float 123.456
float Str2F (char* chaine )
{
      float f;      char c[20];
      strcpy(c,chaine+3);
      f = atof ( c );
      return f;
}


void Appelant()
{
  strcpy(Liste [1],"AZE123.45678");
  float NombreFlottant = Str2F ( Liste[1] );
  Serial.print(NombreFlottant);
}


void setup(void){
  Serial.begin(9600);
  Appelant();
}


void loop(void){
}
1644  International / Français / Re: problème de pointeurs on: November 03, 2012, 11:15:25 am
Code:
float Str2F (char chaine )
{
      float f;      char c;
      c = chaine.substring ( 3 , chaine.length - 3 );
      f = float ( c );
      return f;
}

Là il y a mélange des genres plus erreur de type.
D'abord:
char chaine définit une variable de type char, c-à-d un caractère uniquement.
Pour définir une chaîne de caractère, il faut déclarer un tableau de char (donc il faut définir une taille de chaîne) char chaine[20]. Définition d'une chaîne de 20 caractères (terminateur de chaîne inclus)
Alternative au tableau de char il y a les objets String définis dans les librairies arduino qui permettent de manipuler des chaînes de caractères. Tu trouveras les explications dans l'aide de l'IDE arduino ou sur le site arduino (je ne te mets pas le lien, je n'arrive pas à accéder au site arduino aujourd'hui)

Ensuite quand je parle de mélange des genre c'est que justement tu mélanges les méthode de la classe String (.substring) avec le type char
Code:
c = chaine.substring ( 3 , chaine.length - 3 );

1645  International / Français / Re: Lire niveau batterie LiPo 3S et 2S on: November 03, 2012, 08:15:01 am
Quote
Je suppose que tu ne t'interesse pas au détail de chaque cellule ?
je me demande bien a quoi servent ces point intermédiaire d'ailleurs.
Pour ton info Barbudor ces points servent à donner des informations sur l'état de chaque élément de batterie au circuit d'équilibrage de charge. Lorsque plusieurs éléments sont montés en série, un élément peut atteindre sa tension maximale avant les autres et dans ce cas le circuit d'équilibrage dérive le courant aux bornes de l'élément en question pour continuer de charger les autres.
1646  International / Français / Re: Arduino & rasberry pi on: November 03, 2012, 07:40:50 am
Quote
Un peu moins complet et generique que la gertboard
La généricité vient de l'accès aux shields Arduino. Encore qu'ils ne soient pas très clair sur les broches utilisées entre l'ATmega et la RasPi. RX/TX et le SPI au moins si j'ai bien compris, mais pour le reste mystère. Et je n'ai trouvé aucun schéma alors que la carte est présentée comme Open Source Hardware
1647  International / Français / Re: Arduino nano WebServer (serveur Web) on: November 03, 2012, 07:22:15 am
Quote
Ce code par exemple : http://arduino.cc/forum/index.php/topic,114436.0.html et  http://www.halfluck.com/source/webserver/TempControllerWebServer.ino m'indique une erreur à la compilation à ces niveaux :
byte Ethernet::buffer[1000]; //        if you increase the size of the HTML code you may need to increase the buffer size (or it will stop working) //TODO
--> Ethernet not declare.

BufferFiller bfill;
--> does not name a type
Idem pour OneWire ds(PinTemp);

 if (ether.begin(sizeof Ethernet::buffer, mymac, 10) == 0);
--> Either was not declare in the scope

Il te manque sans doute ces librairies:
Code:
#include <EtherCard.h>
#include <OneWire.h>
qui sont appelées au début de ton code
1648  International / Français / Re: Encodeur rotatif Com-10982, un petit peu de code... on: November 03, 2012, 07:19:20 am

Je crois qu'à la base il y a une mauvaise compréhension du fonctionnement de la routine que tu as copiée.
Code:
volatile int retard= 500;  //variable pour mémoriser le temps de retardement appeler à évoluer
volatile long encodeurValue = 0;  //je sais pas ce que c’est mais ça doit être important

...................

void updateEncodeur(){
  int MSB = digitalRead(encodeurB); //MSB = most significant bit, bit le plus significatif
  int LSB = digitalRead(encodeurA); //LSB = least significant bit, bit le moins significatif

  int encodeur = (MSB << 1) |LSB; // conversion de la valeur des 2 broches en une valeur unique
  int sum  = (retard << 2) | encodeur; // ajouter à la valeur précédente d’encodeur

  if(sum == 0b1101 || sum == 0b0100 || sum == 0b0010 || sum == 0b1011) encodeurValue ++;
  if(sum == 0b1110 || sum == 0b0111 || sum == 0b0001 || sum == 0b1000) encodeurValue --;

  retard = encodeur; //stock la nouvelle valeur de retard
}

retard ne sert pas à mémoriser un délai mais l'état précédent de l'encodeur afin de pouvoir déterminer dans quel sens il tourne.
D'ailleurs dans la dernière version de ton code cela apparaît comme:
Code:
volatile long encodeurValue = 0;  //je sais pas ce que c’est mais ça doit être important
long lastencodeurValue = 0 ;  //je sais pas ce que c’est mais ça doit être important
En plus il y a un embrouillamini entre la variable retard que tu utilises dans loop et l'état précédent de l'encodeur que tu appelles aussi retard.

Maintenant d'un point de vue fonctionnel. Il y a quelque chose que je ne comprends pas, pourquoi prendre un encodeur rotatif si tu ne veux utiliser que le poussoir. A te lire
Quote
Or dans le code actuel, toutes actions sur l'encodeur (incrémentations ou décrémentations) prend le pas sur la rotation du programme à tout moment. Me trompe-je? Remarquez que je ne suis pas sur que cela soit gênant sauf en cas de manœuvre involontaire sur l'encodeur...
La fonction incrémentation/décrémentation semble ne pas t'intéresser. Dans ce cas le plus simple c'est de ne pas implémenter la fonction updateEncodeur() et de supprimer les attachInterrupt().
Maintenant si tu as besoin de l'encodeur, 2 possibilités:
 - tu en as besoin tout le temps. Donc tu conserves la fonction (de toute façon elle ne consomme pas beaucoup de ressource)
 - tu en as besoin ponctuellement et tu déroule des tâche très critiques d'un point de vue temporelle. Dans ce cas là tu détaches l'interruption lorsque tu crains qu'elle gène le déroulement du programme et tu l'attaches lorsque c'est nécessaire.
1649  International / Français / Re: Arduino & rasberry pi on: November 03, 2012, 06:50:57 am
Et cette carte, elle ne vous donne pas quelques idées?
http://www.seeedstudio.com/depot/alamode-arduino-compatible-raspberry-pi-plate-p-1285.html?cPath=132_133
1650  International / Français / Re: [Problème] Arduino méga 2560, TFT LCD MEGA SHIELD V1.2 on: October 30, 2012, 11:52:39 am
Il faut bien voir que le dépannage à distance ce n'est pas évident.
Ton cas ressemble fort à un problème de communication entre l'écran et la carte Arduino. Mais comme ça c'est difficile à dire.
As-tu vérifié dans les exemples s'il n'y aurait pas une erreur d'allocation des broches utilisées par l'écran. Normalement les sketches d'exemple sont testés mais on est jamais à l'abri d'une erreur.
Il n'y a pas un forum sur le site où tu as acheté ton écran?

Sur le forum, il y a une personne qui semble avoir la même carte que toi http://arduino.cc/forum/index.php/topic,124719.0.html. Lui il a un problème avec la carte SD. Peut être pourrais-tu le contacter pour voir quels fichiers d'exemple il a utilisé (il dit que son écran fonctionne) ou bien s'il n'a pas du modifier les sketches d'exemple pour les faire fonctionner.
Pages: 1 ... 108 109 [110] 111 112 ... 201