Show Posts
Pages: 1 ... 100 101 [102] 103 104 ... 235
1516  International / Français / Re: uno vs nano on: August 16, 2013, 08:51:47 am
Celles qui n'ont pas l'USB c'est des arduino mini ou arduino pro mini. L'avantage c'est que comme elles n'ont pas le circuit d'interface USB, elles consomment moins.
En contre partie pour les programmer, il faut un câble de programmation (type câble FTDI 232 http://www.ftdichip.com/Products/Cables/USBTTLSerial.htm) On en trouve un peu partout pour pas très cher. L'autre solution c'est d'utiliser une carte arduino comme programmateur.
Les arduino mini existent en 2 versions:
   - une version 5V, 16MHz
   - une version 3V, 8MHz. Pratique pour faire des engins portables qui fonctionnent sur batterie ou piles. Au détriment des performances évidemment puisqu'elle tourne 2 fois moins vite.

L'arduino namo, ce n'est ni plus ni moins qu'une arduino classique mais de plus petite taille

Pour la nano comme pour la mini, les sorties se font sur des barrettes de picots sur les cotés. A noter que sur la mini les entrées analogiques A4 et A5 sont souvent (mais pas systématiquement) non pas sur le bord mais  l'intérieur de la carte et les points ne sont pas alignés sur la grille au pas de 2,54mm ce qui fait qu'on ne peut pas les raccorder directement sur une plaque d'essai par exemple. On voit d'ailleurs très bien ces broches décalées sur la photo que tu as mise en pièce jointe dans ton post.

Quote
Les compatibilités HS, S9, TR, tout ca c'est du chinois.
?????????
1517  International / Français / Re: envoyer variable float sur xbee on: August 15, 2013, 04:08:12 pm
Quote
Savez-vous sous quelle forme on reçois les données sur le port série une fois passé l'OS? Char? Hex? bits ?
On les reçoit comme on les a envoyées. Le support utilisé pour le transfert est transparent pour l'utilisateur et il ne modifie pas les données. Si tu envoies des char tu reçois des char.
De toutes les façons char hex et bits c'est la même chose.
C'est juste la manière de les afficher qui les présente différemment.
65d= 0x41 = 0b01000001 = 'A'
1518  International / Français / Re: envoyer variable float sur xbee on: August 15, 2013, 11:42:52 am
Quote
J'ai essayé avec un union ( http://streylab.com/blog/2012/10/14/sending-humidity-and-temperature-data-with-zigbee.html ) mais il semble mal convertir les données. Par exemple quand j'envoie 19.4 il me le convertie en  33 33 B3 41 se qui correspond pas du tous à la data de départ d'après la table ASCII.
La valeur qui te semble bizarre c'est ton float qui est codé. La valeur d'un flottant n’apparaît pas en clair lorsqu'on regarde les octets qui le composent.

Quote
Bon, je suis arrivé à mes fin mais avec un code sale ... si vous avez mieux à proposer je suis ouvert :
L'union fonctionne dans les 2 sens.
A l'émission, tu mets un float dans l'union et tu ressors 4 uint8_t que tu émets.
A la réception, tu entres 4 uint8_t dans l'union et tu ressors un float.

En théorie c'est bon. En pratique si les 2 équipements ne codent pas les float de la même manière cela pourrait ne pas fonctionner.
1519  International / Français / Re: Compréhension code on: August 15, 2013, 11:35:26 am
On dirait bien une erreur et elle se répète 2 fois
Code:
void PCF8574::pullUp(int pin){
if((pin >= 0) && (pin < 8)){
PCFPULL[pin] == 1;
i2cRead();
bitWrite(PCFPORTA,pin,1);
i2cSend(PCFPORTA);
}
}

void PCF8574::pullDown(int pin){
if((pin >= 0) && (pin < 8)){
PCFPULL[pin] == 2;
i2cRead();
bitWrite(PCFPORTA,pin,0);
i2cSend(PCFPORTA);
}
}

D'ailleurs plus loin ce tableau est utilisé dans un test (pour de vrai cette fois)
Code:
void PCF8574::i2cSend(){
PCFBUFFER = i2cRead(0x00);
for(int i=0;i<8;i++){
if(bitRead(PCFTRISA,i) == INPUT)
bitWrite(PCFPORTA,i,bitRead(PCFBUFFER,i));
if(PCFPULL[i] == 1) bitWrite(PCFPORTA,i,1); // Required for unblock pull level
if(PCFPULL[i] == 2) bitWrite(PCFPORTA,i,0); // Required for unblock pull level
}
Wire.beginTransmission(PCFaddress);
Wire.write(PCFPORTA);
Wire.endTransmission();
}


Quand on voit cette dernière fonction on s'aperçoit que le tableau sert à mémoriser l'état des pullup en sortie. Donc il faut bien renseigner le tableau lorsque leur état change.
A mon sens les 2 premières fonctions devraient être écrite comme ça:
Code:
void PCF8574::pullUp(int pin){
if((pin >= 0) && (pin < 8)){
PCFPULL[pin] = 1;
i2cRead();
bitWrite(PCFPORTA,pin,1);
i2cSend(PCFPORTA);
}
}

void PCF8574::pullDown(int pin){
if((pin >= 0) && (pin < 8)){
PCFPULL[pin] = 2;
i2cRead();
bitWrite(PCFPORTA,pin,0);
i2cSend(PCFPORTA);
}
}

1520  International / Français / Re: Compréhension code on: August 15, 2013, 10:01:17 am
En l'état cette ligne ne fait rien.
Il faudrait quand même savoir ce qu'est ce PCFPULL pour mieux comprendre
1521  Using Arduino / Project Guidance / Re: Strange behavior on: August 14, 2013, 01:41:02 pm

Produces a correct diode connection, jumps into capactance measurement, C=, then jumps to Menu and into PWM 100 Hz and cycles until 0% is displayed.  Double-press does not return to Menu.
Edit: After a minute or so, double-press will return to Menu!


I have no small signal diode but made the test with the emitter-base jonction of a transistor
I have not that behavior with a duemilanove. But sometime the capacitance measurement returns a very high value 76µF for example. But as my assembly is made on a testboard and the contacts are not very reliable I can't make any assumption concerning the software. I really must do a good board for a usable tool.
1522  International / Français / Re: Moniteur Série on: August 14, 2013, 11:35:01 am
Non mais il existe des moniteurs séries qui ne font que ça et qui le font bien
Windows
    Realterm
    Putty
    Hyperterminal

Linux
   Minicom
   Screen
   Putty

pour n'en citer que quelques uns.
1523  International / Français / Re: nfc et écran lcd on: August 14, 2013, 07:52:02 am
Quote
Ton script fonctionne nickel, juste un petit bémol, il indique au début la valeur lengh
C'est pas un bémol, c'est voulu.
Par contre j'ai oublié un saut de ligne
Pour le 0 manquant c'est lié au print. Volà une correction.
Code:
Serial.print("Longueur :");
Serial.println(buf[0],DEC);
for (int i=1; i<=buf[0];i++){
    if (buf[i]<0x10){
        Serial.print("0");
    }
    Serial.print(buf[i],HEX);
}
Serial.println();
1524  International / Français / Re: Codage morse pour trasmission GPIO sans fil "sans bavures" on: August 14, 2013, 05:53:44 am
SPI et I²C nécessitent plusieurs fils horloge + données
Mais la liaison UART ne demande qu'un fil si elle est unidirectionnelle.
1525  International / Le bar / Re: MINITEL MAGIS DEBUT D'INVESTIGATION on: August 14, 2013, 05:52:15 am
Quote
Je sent que ça va être coton cette affaire, j'ai vue que les autres minitel avait directement une prise série pour être piloté, la c'est pas le cas on à l'alim et ethernet et c'est tout..
Là, tu me vois surpris.
Parce que à l'époque du Minitel l'Ethernet n'était pas très répandu. Ce que tu prends pour de l'Ethernet ne serait pas plutôt la sortie Modem?
Tiens regarde par là: http://assistance.orange.fr/telechargement/notices_fixe/magis.pdf
1526  International / Français / Re: nfc et écran lcd on: August 14, 2013, 01:33:09 am
C'est écrit dans les commentaires du programme que tu donnes
buf[0] contient la longueur de l'UID
et l'UID est disponible à partir de buf[1] et sur longueur octets

Par exemple pour afficher les valeurs
Code:
Serial.print("Longueur :");
Serial.print(buf[0],DEC);
for (int i=1; i<=buf[0];i++){
    Serial.print(buf[i],HEX);
}
Serial.println();

Pour mettre la donnée dans une variable je ne suis pas certain que ce soit facile si la longueur est variable.
Par contre rien ne t'empêche de stocker des UID dans un tableau à 2 dimensions.
1527  International / Français / Re: Codage morse pour trasmission GPIO sans fil "sans bavures" on: August 14, 2013, 01:13:47 am
Quote
Étant donné que je ne peux utiliser de connexion série,
Le fait que la liaison soit unidirectionnelle n'empêche pas d'utiliser la liaison série.
La sortie RX de ton Raspi peut entrer dans l'émetteur et le sortie du récepteur entrer dans l'arduino.
C'est plus simple à gérer mais cela ne dispense pas de mettre un contrôle de validité de la liaison.

Quote
Dans une transmission de données, oui. Mais là c'est une transmission d'état 1/0,
Une donnée n'est jamais qu'une suite d'états.
1528  International / Français / Re: Stepper motor controlé par opto sensor on: August 14, 2013, 01:08:09 am
Il suffit d'attendre que la coupure cesse avznt de continuer

Code:
void loop() {
 if (digitalRead(OPTO) == NOT_CUT) digitalWrite(ledPin, LOW); else digitalWrite(ledPin, HIGH);
 if (digitalRead(OPTO) == CUT) {    // Opto test
   count = count + 1;                      // Increment the count variable
   if (count == 3) count = 0;            // Resetting the variable count 2=>0
   if (count == 0){
      // motor stopped
      digitalWrite(EN1, LOW);
      digitalWrite(EN2, LOW);
   }
   if (count == 1){
     // Motor forward
     digitalWrite(EN1, HIGH);
     digitalWrite(EN2, HIGH);
     myStepper.step(stepsPerRevolution);
   }
   if (count == 2){
    // Motor backward
    digitalWrite(EN1, HIGH);
    digitalWrite(EN2, HIGH);
    myStepper.step(-stepsPerRevolution);
  }
  while(digitalRead(OPTO) == CUT);  // On attends que la coupure disparaisse
 }
}
1529  International / Français / Re: [Mise sur rails] Laser distance + Arduino UNO on: August 13, 2013, 12:12:52 pm
Le plus simple c'est d'utiliser un shield de prototypage que tu pourras monter sur ta carte arduino.
Tu pourras ainsi souder les petits composants sur la zone de prototypage et faire les connexions vers les entrées de l'arduino. L'ensemble devrait être assez robuste.
http://www.lextronic.fr/P4130-kit-shield-prototypage.html

Il y a aussi une version avec des borniers qui pourrait être pratique pour raccorder ton capteur
http://www.lextronic.fr/P19666-platine-bornier-v15-pour-arduino.html

J'ai pris des exemples chez Lextronic mais il y a d'autres sources bien évidemment.
1530  International / Français / Re: Compteur double DS2423 on: August 13, 2013, 05:56:21 am
Je ne comprends pas très bien pourquoi tu veux te compliquer la vie avec un système de comptage en one wire alors que d'après ton synoptique tu as un arduino dévolu au traitement de ces 2 capteurs.
Le comptage d'impulsion en utilisant les 2 entrées d'interruption ne devrait pas consommer beaucoup de ressources.
Pages: 1 ... 100 101 [102] 103 104 ... 235