Show Posts
Pages: 1 ... 102 103 [104] 105 106 ... 203
1546  International / Français / Re: Probleme i2c : blockage pendant un endTransmission on: December 19, 2012, 03:15:25 pm
Ton code fonctionne. Je viens de l'essayer. Regarde le câblage de ton bus.

Un code que j'ai fait et qui réalise la même fonction. Avec une présentation du résultat plus pratique.

Code:
// Wire Scanner
//
//
// Demonstrates use of the Wire library
// Ping all valid adresses on the I²C bus
// and the answer to see if there is a slave
// Print an 8 x 16 array with the results

// Created by fdufnews 2012 december 14th

// This example code is in the public domain.


#include <Wire.h>

void setup()
{
  Wire.begin();         // join i2c bus (address optional for master)
  Serial.begin(9600);   // start serial for output
  Serial.println();     // Print a banner
  Serial.println();
  Serial.println("I2C slave scanner");
  Serial.println("   reserved adress");
  Serial.println(".  no slave detected");
  Serial.println("X  slave detected");
  Serial.println();
  Serial.println();
  int result;
  Serial.println("   0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F");
  // Scan only valid addresses (8 to 0x7B)
  // 0-7 and 7C-7F are reserved ones
  unsigned char devices=0;                  // holds how many devices found
  for (unsigned char ad=0; ad<0x7C;ad++){
    if(ad%16==0){                           // If at start of a row
      Serial.print(ad>>4,HEX);              // Display high order bit address
      Serial.print(" ");
    }
    if (ad>7){                              // skip address from 0 to 7
      Wire.beginTransmission(ad);           // start transmission
      result = Wire.endTransmission();      // end transmission and store answer
      if (!result) devices++;               // add a device to the count if ACK
      Serial.print(" ");
      Serial.print(result==0?"X ":". ");    // If ACK there is a guy at this address
    }
    else{
      Serial.print("   ");                  // Sorry nobody here
    }
    if(ad%16==15) Serial.println();         // end of the row add a new line
  }
  Serial.println();
  Serial.println();
  Serial.println();
  Serial.print(devices, DEC);
  Serial.print(" device");
  Serial.print(devices>1?"s":"");
  Serial.println(" found on the bus");
}

void loop()
{

}
1547  International / Français / Re: escalier qui s'eclaire on: December 19, 2012, 04:59:11 am
Quote
comment tu veux mettre la résistance pour avoir plusieurs mosfet en parallèle

Attention la mise en parallèle de plusieurs mosFET peut être problématique. La capacité Grille-Source de l'IRF520 est donnée pour 360pF, avec un temps de monté l'ordre de 100ns (ce qui est sans doute sous estimé) en appliquant I=C*dU/dT pour un échelon de 5V donne déjà un courant de l'ordre de 18mA. Si on en met plusieurs en parallèle ce courant va rapidement devenir prohibitif.
1548  International / Français / Re: Pin 13 - tension ? on: December 18, 2012, 06:52:09 am
Toutes les IO de l'Arduino Mega sont en 5V
1549  International / Français / Re: Uno Chrono Interupt on: December 18, 2012, 02:24:33 am
delayMicrosecond ne bloque peut être pas les interruptions mais comme tu es déjà dans une routine de traitement d'interruption elles sont masquées.
Il serait largement préférable de lever un drapeau et de le traiter le comportement de la LED dans loop.
Même chose pour le write2i2c qui est exécuté sous interruption
De manière générale sous interruption on positionne des drapeaux, on initialise des variables. Les traitements plus long, les communications sont gérées à temps perdu dans la boucle principale lorsqu'un drapeau particulier est détecté.
Penser à déclarer volatile les variables modifiées dans les routines de traitement d'interruption
1550  International / Français / Re: Peut-on utiliser Telnet pour communiquer à une carte Arduino ? on: December 17, 2012, 04:41:49 pm
Un exemple : http://www.panu.it/ardupower/
1551  International / Français / Re: Compteur + afficheur LCD + Bouton on: December 17, 2012, 02:52:27 pm
J'ai testé et le programme fonctionne parfaitement comme attendu.

Je pense que tu dois avoir des interrupteurs fermés au repos.
Le programme devrait fonctionner si tu changes dans loop les LOW par des HIGH pour les 2 if et les 2 while
1552  International / Français / Re: [Problème] Communication arduino <-> processing via port USB on: December 17, 2012, 11:14:20 am
Quote
ce qu'il reçoit renvoi presque toujours des "ÿ" alors que je m'attendrais à voir apparaitre la lettre a, b ou c,
Problème de vitesse? en même temps personnellement, j'éviterais le 115200 bauds avec un arduino. Tu devrais commencer avec une vitesse plus faible.

Code arduino
Code:
if(Serial.available()==true)
à remplacer par ça
Code:
if(Serial.available()>0)

1553  International / Français / Re: Compteur + afficheur LCD + Bouton on: December 17, 2012, 07:31:50 am
Je ne vois pas pourquoi.
Pour moi:
 un appui sur le bouton connecté à la broche 11 avance le compte de 1
 un appui sur le bouton connecté à la broche 12 réduit le compte de 1
Il faut que le bouton soit relâché pour sortir du if. Si tu tiens le bouton enfoncé le compte ne change pas.
1554  International / Français / Re: Compteur + afficheur LCD + Bouton on: December 17, 2012, 07:00:57 am
Quote
Par ctre dans ton programme, je ne peux qu'aller de 0 à 1 et de 1 à 0 est-ce normal?
Tout me semble correct.
Il devrait avancer de 1 (ou -1) à chaque appui sur l'un des boutons.
1555  International / Français / Re: Arduino qui s'emballe ?! on: December 17, 2012, 05:29:43 am
Le pullup interne présente une résistance élevée.
Si l'environnement est perturbé, il est préférable de mettre une résistance de valeur relativement faible et un petit condensateur à la masse( ceinture et bretelles)
1556  International / Français / Re: DCF77 ? Quelqu'un utilise ? on: December 17, 2012, 05:25:40 am
Quote
Pour ce qui est de la synchronisation, j'ai constaté que ça pouvait prendre jusqu'à 1 ou 2 minutes.
Normal.
Il faut attendre d'avoir détecté l'absence de la 59ème impulsion pour connaitre le début de la trame. Ensuite il faut encore attendre une minute complète pour avoir toutes les informations heure et date.
1557  International / Français / Re: Compteur + afficheur LCD + Bouton on: December 17, 2012, 05:23:13 am
Tu fais un clear de l'afficheur après chaque écriture pas étonnant qu'il clignote.
Tu ne testes pas tes bornes de fin donc tu devrais continuer à compter/décompter lorsque tu arriveras au maximum/minimum.
Avant de sortir des if il faudrait vérifier que le bouton a été relâché sinon tu vas compter plusieurs impulsions pour un appui.
Code:

// définition des bornes
#define valeurMin 0
#define valeurMax 32767
if (digitalRead(11)==LOW)
  {
    if (j<valeurMax) j++;
    lcd.clear();
    lcd.setCursor(0,1);
    lcd.print(j);
    delay(100);
    while((digitalRead(11)==LOW));
  }
  if (digitalRead(12)==LOW)
  {
    if (j>valeurMin) j--;
    lcd.clear();
    lcd.setCursor(0,1);
    lcd.print(j);
    delay(100);
    while((digitalRead(12)==LOW));
}
1558  International / Français / Re: Photo haute vitesse on: December 17, 2012, 02:54:59 am
Quote
Pour les réglages j'ai mis mon appareil sur f/11 donc la profondeur de champ devrait être bonne je pense.
A très courte distance, la profondeur de champ est limitée (de l'ordre du centimètre je pense). Tu devrais faire quelques essais en déplaçant l'appareil en avant ou en arrière par pas de 1cm (encore que d'après ta photo je dirais qu'il faut avancer l'appareil).
1559  International / Français / Re: DCF77 ? Quelqu'un utilise ? on: December 17, 2012, 02:49:52 am
Tu es normalement dans la zone de couverture. As-tu bien orienté l'antenne? La qualité de la réception est conditionnée à une orientation correcte de celle-ci. De plus le système est long à synchroniser mais avant même d'être synchronisé tu devrais voir les impulsions à 1s.
1560  International / Français / Re: Photo haute vitesse on: December 16, 2012, 02:12:25 pm
J'ai l'impression que la mise au point n'est pas faite au bon endroit. Le bord du verre est net, je ne suis pas sûr que la profondeur de champs soit suffisante pour que la goutte soit dans le plan de netteté.

Autrement l'autre source possible de flou c'est un éclair trop long.
Pages: 1 ... 102 103 [104] 105 106 ... 203