Forums LR PRESSE

Où il est question de trains, petits et grands

  • Advertisement

Conseil sur faisabilité de mon projet

Toutes les discussions sur l'Arduino !

Modérateur: MOD

Re: Conseil sur faisabilité de mon projet

Publié: Ven 27 Fév 2015, 16:59 
jlb a écrit:
Si j'ai bien compris l'architecture le PIC charge les valeurs des 16 PWM en série dans deux registres à décalage 8 bits puis les 16 bits sont chargés dans les buffers de sortie. Si on veut une PWM à 256 crans, il faut faire cette opération 256 fois par cycles de PWM. Soit 4096 envois de bit. À 50 Hz, ça demande 20ms/4096 soit environ 5µs par bit. En assembleur, la boucle de chargement doit faire 7 ou 8 instructions soit environ 500ns pour une instruction. Ça donne une horloge du PIC à 8MHz sans tenir compte des temps autres dans le programme. Le PIC 16F873A ayant une période d'horloge minimum de 200ns, il est fort possible que 50Hz soit le maximum possible avec cette architecture. Et effectivement le L293D ne monte pas au dessus de 5kHz.


Bonjour,

Sauf erreur de ma part, je fais un calcul différent; si on part sur une fréquence de 50 hz et 256 pas:
- un cycle de PWM, fait 20 mS
- un pas dure 20 mS/256, soit 78,125 micro secondes

Il faut donc envoyer aux registres à décalages les nouvelles valeurs toutes les 78 micro secondes.

Le temps d'envoi aux registres à décalage est fonction du type de circuit utilisé.
Personnellement j'utilise des 74HC594 connectés à la liaison SPI d'un ATMEGA à 16 MHz, il me faut 0,5 micro secondes par octet, soit 1 microseconde pour 2 octets. Il reste donc 77 micro secondes pour calculer le PWN suivant et faire d'autre opérations.
Avatar de l’utilisateur
lgperrin
Papotier
 
Messages: 171
Inscrit le: Dim 04 Mars 2012, 14:36
Localisation: Pontoise
Âge: 56
Echelle pratiquée: N-HO

Re: Conseil sur faisabilité de mon projet

Publié: Ven 27 Fév 2015, 18:39 
lgperrin a écrit:Sauf erreur de ma part, je fais un calcul différent; si on part sur une fréquence de 50 hz et 256 pas:
- un cycle de PWM, fait 20 mS
- un pas dure 20 mS/256, soit 78,125 micro secondes

Il faut donc envoyer aux registres à décalages les nouvelles valeurs toutes les 78 micro secondes.


Soit une valeur 16 bits et donc 4,88µs par bit (j'avais mis 5µs)

Nous somme donc d'accord :)

Le temps d'envoi aux registres à décalage est fonction du type de circuit utilisé.
Personnellement j'utilise des 74HC594 connectés à la liaison SPI d'un ATMEGA à 16 MHz, il me faut 0,5 micro secondes par octet, soit 1 microseconde pour 2 octets. Il reste donc 77 micro secondes pour calculer le PWN suivant et faire d'autre opérations.


Effectivement utiliser le SPI (avec un registre à décalage compatible SPI) permet d'aller plus vite. Mais la fréquence maxi de hachage sera de moins de 4kHz en ne faisant rien d'autre.

UTS charge les registres en soft, ce qui prend 12 instructions par bit (je viens de regarder le code). Donc 12 x 200 ns = 2,4µs par bit et 38,4 µs par cran de PWM / ~10ms pour 256 crans. La moitié du temps est passé à rafraichir les registres.
Avatar de l’utilisateur
jlb
Fécond
 
Messages: 667
Inscrit le: Jeu 04 Oct 2012, 16:38
Echelle pratiquée: N
Prénom: Jean-Luc

Re: Conseil sur faisabilité de mon projet

Publié: Ven 27 Fév 2015, 20:46 
J' avoue que je suis un peu perdu par vos calculs mais je m' accroche ...
J' ai compris en cherchant sur le net que l' arduino à un TIMER interne et que grâce à lui on peut avoir des fréquences au delà de 20 Khz (une vrai mine d' or cet Arduino :) ), j' ai aussi compris que le L293D ne pouvait au dessus de 5 Khz mais en est 'il de même pour le L298N.
Est ce a cause au ralentissement logiciel que votre projet ne comporte pas de liaison avec un ordi ?
SYLTRAIN80
 
Messages: 29
Inscrit le: Mar 24 Fév 2015, 10:47
Echelle pratiquée: HO - N
Prénom: Sylvain

Re: Conseil sur faisabilité de mon projet

Publié: Ven 27 Fév 2015, 21:52 
jlb a écrit:Soit une valeur 16 bits et donc 4,88µs par bit (j'avais mis 5µs)
Nous somme donc d'accord :)

Tout dépend ce qu'on veut dire ou ce qu'on comprend.

J'ai dis que les 2 registres à décalage doivent être rechargés toutes les 78µs.

J'ai compris que tu disais que chaque bit doit être envoyé toutes les 5µs

jlb a écrit:Soit 4096 envois de bit. À 50 Hz, ça demande 20ms/4096 soit environ 5µs par bit.


Tu voulais surement dire que le temps qu'on peut consacrer à chaque bit pour le calcul de la valeur suivante et l'envoi vers le registre à décalage est de 5µs maximum.
Dernière édition par lgperrin le Ven 27 Fév 2015, 22:05, édité 1 fois au total.
Avatar de l’utilisateur
lgperrin
Papotier
 
Messages: 171
Inscrit le: Dim 04 Mars 2012, 14:36
Localisation: Pontoise
Âge: 56
Echelle pratiquée: N-HO

Re: Conseil sur faisabilité de mon projet

Publié: Ven 27 Fév 2015, 22:04 
SYLTRAIN80 a écrit:Est ce a cause au ralentissement logiciel que votre projet ne comporte pas de liaison avec un ordi ?


Non c'est parce que je ne veux pas de TCO sur ordinateur ni de PC dans le système. Je n'ai ni la place ni l'envie de le faire :)
Avatar de l’utilisateur
jlb
Fécond
 
Messages: 667
Inscrit le: Jeu 04 Oct 2012, 16:38
Echelle pratiquée: N
Prénom: Jean-Luc

Re: Conseil sur faisabilité de mon projet

Publié: Lun 02 Mars 2015, 11:55 
Pas de soucis, je respecte votre choix
j' ai profité du weekend afin de lire le maximum de sujet sur l' arduino et ses capacités . J' ai découvert aussi les vôtres qui sont impressionnante. :applause:
J'en ai profité aussi pour lister les composants de j' ai en stock, manque plus que les arduino pour les premiers essais qui j' espère seront concluant
SYLTRAIN80
 
Messages: 29
Inscrit le: Mar 24 Fév 2015, 10:47
Echelle pratiquée: HO - N
Prénom: Sylvain

Re: Conseil sur faisabilité de mon projet

Publié: Mar 03 Mars 2015, 20:16 
Non c'est parce que je ne veux pas de TCO sur ordinateur ni de PC dans le système. Je n'ai ni la place ni l'envie de le faire :)

Tout à fait d'accord avec toi, Jean-Luc.
A force de regarder l'ordi, on ne voit plus le train !! :mrgreen:
J'y arriverai ... demain !
Avatar de l’utilisateur
groumfit
Papotier
 
Messages: 143
Inscrit le: Sam 25 Oct 2014, 11:25
Âge: 61
Prénom: Denis

Re: Conseil sur faisabilité de mon projet

Publié: Sam 04 Avr 2015, 15:15 
Bonjour à tous
je reviens vers vous car j' ai reçu depuis quelques jours les cartes arduino
après plusieurs essais j' arrive a commander 3 moteurs dans les 2 sens avec 3 potars et 3 L293d en attendant les L298
maintenant je bloque sur les mêmes commandes mais sans les potars et avec la commande par liaison serie
je pense que la boucle cherche a lire en permanence les indications de vitesse et ne les garde pas en mémoire
Mes notions de programmation sont balbutiantes et je pense qu' il faut utiliser la fonction "wait" ou un maintien de valeur si pas de nouvelle.
ci joint copie de mes premières ligne de programme



const int Canton1 = 3; //la PWM
const int in1 = 2; //les broches de signal
const int in2 = 4;
int VitesseCanton1;

const int Canton2 = 5; //la PWM
const int in3 = 7; //les broches de signal
const int in4 = 8;
int VitesseCanton2;

const int Canton3 = 6; //la PWM
const int in5 = 12; //les broches de signal
const int in6 = 13;
int VitesseCanton3;

void setup()
{
pinMode(Canton1, OUTPUT);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);

// moteur en avant et a 0
analogWrite(Canton1,0);
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);


pinMode(Canton2, OUTPUT);
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);

//moteur en avant et a 0
analogWrite(Canton2,0);
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);


pinMode(Canton3, OUTPUT);
pinMode(in5, OUTPUT);
pinMode(in6, OUTPUT);

//moteur en avant et a 0
analogWrite(Canton3,0);
digitalWrite(in5, LOW);
digitalWrite(in6, HIGH);



Serial.begin(115200);

}

void loop()
{
Serial.println ("Vitesse Canton n°1 entre -255 et +255 ");
int Vitessecanton1 = Serial.read();
delay(1250);
//dans le sens positif
if(VitesseCanton1 > 0)
{


//le moteur va dans un sens
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
Serial.print("+");
}
else //dans l'autre sens
{

//le moteur va dans l'autre sens
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
Serial.print("-");
}

Serial.println ("Vitesse Canton n°2 entre -255 et +255 ");
int Vitessecanton2=Serial.read();
delay(1250);
//dans le sens positif
if(VitesseCanton2 > 0)

{

//le moteur va dans un sens
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
Serial.print("+");
}
else //dans l'autre sens
{

//le moteur va dans l'autre sens
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
Serial.print("-");
}

Serial.println ("Vitesse Canton n°3 entre -255 et +255 ");
int Vitessecanton3=Serial.read();
delay(1250);
//dans le sens positif
if(VitesseCanton3 > 0)
{

//le moteur va dans un sens
digitalWrite(in5, LOW);
digitalWrite(in6, HIGH);
Serial.print("+");
}
else //dans l'autre sens

{
//le moteur va dans l'autre sens
digitalWrite(in5, HIGH);
digitalWrite(in6, LOW);
Serial.print("-");
}




analogWrite(Canton1, VitesseCanton1);

analogWrite(Canton2, VitesseCanton2);

analogWrite(Canton3, VitesseCanton3);
}



si vous pouvez me dire ou est mon problème ?
SYLTRAIN80
 
Messages: 29
Inscrit le: Mar 24 Fév 2015, 10:47
Echelle pratiquée: HO - N
Prénom: Sylvain

Re: Conseil sur faisabilité de mon projet

Publié: Sam 04 Avr 2015, 15:44 
plus une petite photo
Image
SYLTRAIN80
 
Messages: 29
Inscrit le: Mar 24 Fév 2015, 10:47
Echelle pratiquée: HO - N
Prénom: Sylvain

Re: Conseil sur faisabilité de mon projet

Publié: Dim 05 Avr 2015, 12:05 
Bonjour Syltrain80,
Effectivement, il y a quelques problèmes dans ton code.
1°) Au niveau lisibilité, pense à indenter ton programme, tu y gagneras en lisibilité.
Décale les lignes d'une tabulation après chaque accolade :

Code: Tout sélectionner
void loop ()
{
  ligne 1
  ligne 2
  if (condition)
  {
    si vrai
  }
  else
  {
    si faux
  }
  ligne 3
}


Cela ne change rien au résultat. De toutes façons, le compilateur retire tous les blancs, mais c'est beaucoup plus lisible.
C'est une bonne habitude à prendre.

2°) Sur le site de LR (comme d'autres), si tu fais un copier-coller, il te retire toutes les indentations.
C'est d'ailleurs peut-être ce qui est arrivé.
Avant de coller, tu choisis le bouton "code" et tu colles ton programme entre les 2 [code][code] et ça garde l'indentation.

3°) Vois le lien sur analogWrite :

http://playground.arduino.cc/French/AnalogWrite

Entre autres, ne pas appeler pinMode avant analogWrite.

4°) Très surpris de voir des analogWrite et digitalWrite dans le setup()
Je ne suis pas un as de l'Arduino, mais le setup() ne sert qu'à définir un certain nombre de choses (certains paramètres, certaines valeurs de variables, ...), mais pas à envoyer des tensions sur des broches.
A ma connaissance, on n'envoie des tensions vers les broches que dans le loop().

5°) Il s'ensuit qu'il faut que tu mettes tes analogWrite dans le loop(), que tu les gères depuis une vitesse nulle jusqu'à la vitesse que tu veux.
Dans ton loop(), il n'y a aucune variation de la vitesse.
Si j'ai bien compris ton programme, Vitessecanton1 (par ex.) est toujours à 0.
Il n'y a rien qui fasse évoluer la vitesse, ni dans un sens, ni dans l'autre.
Ton Serial.read () lit quoi ? D'où lui vient l'information ?

Bon courage ! :D
J'y arriverai ... demain !
Avatar de l’utilisateur
groumfit
Papotier
 
Messages: 143
Inscrit le: Sam 25 Oct 2014, 11:25
Âge: 61
Prénom: Denis

Re: Conseil sur faisabilité de mon projet

Publié: Lun 06 Avr 2015, 11:26 
groumfit a écrit:4°) Très surpris de voir des analogWrite et digitalWrite dans le setup()
Je ne suis pas un as de l'Arduino, mais le setup() ne sert qu'à définir un certain nombre de choses (certains paramètres, certaines valeurs de variables, ...), mais pas à envoyer des tensions sur des broches.
A ma connaissance, on n'envoie des tensions vers les broches que dans le loop().



Il n'y a aucune différence entre la fonction setup et la fonction loop à part le fait que setup n'est exécutée qu'une seule fois et lopp est exécutée en permanence.

En conséquence, tu peux utiliser dans setup toutes les fonctions du langage Arduino pour ne faire la tâche qu'une seule fois. Par exemple, si tu écris une petite mélodie dans loop, elle sera jouée et rejouée sans arrêt. Si tu mets le même programme dans setup et rien dans loop, la mélodie ne sera jouée qu'une seule fois.

Ce qu'a fait SYLTRAIN80 n'est donc pas forcément une erreur d'écriture de programme. Dans la plupart des programmes, le setup n'étant exécuté qu'une fois, on s'en sert pour initialiser. Mais on peut faire bien plus dans cette fonction qui est une fonction comme les autres.
Avatar de l’utilisateur
Arduino
Prolixe
 
Messages: 1616
Inscrit le: Mer 25 Sep 2013, 17:14

Re: Conseil sur faisabilité de mon projet

Publié: Lun 06 Avr 2015, 13:08 
groumfit a écrit:
4°) Très surpris de voir des analogWrite et digitalWrite dans le setup()
Je ne suis pas un as de l'Arduino, mais le setup() ne sert qu'à définir un certain nombre de choses (certains paramètres, certaines valeurs de variables, ...), mais pas à envoyer des tensions sur des broches.
A ma connaissance, on n'envoie des tensions vers les broches que dans le loop().



Lors du démarrage d'un système à processeur, on initialise les variables ainsi que les ports d'entrées-sorties : sens et valeur par défaut.

Si c'est une sortie binaire et que nous souhaitons, par exemple, qu'elle soit à 1 au démarrage, on va initialiser le port en sortie et on va mettre sa valeur à 1 dans le setup ; de même, pour une sortie analogique, il est possible de fixer sa valeur au démarrage dans le setup.

Il n'y a donc rien d'étonnant de voir des digitalwrite et des analogwrite dans le setup ; c'est le contraire qui serait étonnant.

Par contre, on doit se poser la question de la nécessité d'utiliser un digitalwrite ou un analogwrite pour forcer une sortie à 0 au démarrage ; en général, les sorties sont mises à zéro lors du reset. Pour cela, il faut consulter la notice du processeur en question. Dans le doute, il toujours possible d'utiliser ces instructions même si elles ne servent à rien.

Je peux t'assurer qu'en langage machine, on fait de même : lors d'un reset, on pointe vers le début du programme qui commence toujours par une initialisation des ports d'entrées-sorties binaires, analogiques ou séries.
Avatar de l’utilisateur
lgperrin
Papotier
 
Messages: 171
Inscrit le: Dim 04 Mars 2012, 14:36
Localisation: Pontoise
Âge: 56
Echelle pratiquée: N-HO

Re: Conseil sur faisabilité de mon projet

Publié: Lun 06 Avr 2015, 16:59 
J'avais bien dit que je n'étais pas un as de l'Arduino ... :?
Merci pour vos explications, tout à fait logiques, en fait.
Il n'empêche que le programme de Syltrain80 a un problème.
J'y arriverai ... demain !
Avatar de l’utilisateur
groumfit
Papotier
 
Messages: 143
Inscrit le: Sam 25 Oct 2014, 11:25
Âge: 61
Prénom: Denis

Re: Conseil sur faisabilité de mon projet

Publié: Lun 06 Avr 2015, 18:15 
Merci pour votre aide
j' ai réussi a corriger certaines erreurs (ex : orthographe de la variable Vitessecanton1 ou lieu de VitesseCanton1)
mais je n' arrive pas la lire le chiffre de vitesse envoyer depuis le moniteur serie
ex: 125 ou -125 car arduino lit je pense le premier chiffre en ascii


Code: Tout sélectionner
const int Canton1 = 3; //la PWM
const int in1 = 2;    //les broches de signal
const int in2 = 4;
int VitesseCanton1;

const int Canton2 = 5; //la PWM
const int in3 = 7;    //les broches de signal
const int in4 = 8;
int VitesseCanton2;

const int Canton3 = 6; //la PWM
const int in5 = 12;    //les broches de signal
const int in6 = 13;
int VitesseCanton3;

void setup()
{
   
    //on démarre moteur en avant et en roue libre
    analogWrite(Canton1,0);
    digitalWrite(in1, LOW);
    digitalWrite(in2, HIGH);
   
    //on démarre moteur en avant et en roue libre
    analogWrite(Canton2,0);
    digitalWrite(in3, LOW);
    digitalWrite(in4, HIGH);
   
    //on démarre moteur en avant et en roue libre
    analogWrite(Canton3,0);
    digitalWrite(in5, LOW);
    digitalWrite(in6, HIGH);
   
   
    pinMode(Canton1, OUTPUT);
    pinMode(in1, OUTPUT);
    pinMode(in2, OUTPUT);
   
   
    pinMode(Canton2, OUTPUT);
    pinMode(in3, OUTPUT);
    pinMode(in4, OUTPUT);
   
     
   
    pinMode(Canton3, OUTPUT);
    pinMode(in5, OUTPUT);
    pinMode(in6, OUTPUT); 
   
   
    Serial.begin(115200);

}

void loop()
{
    Serial.println ("Vitesse Canton n°1 entre -255 et +255 ");
    int VitesseCanton1 = Serial.read();
    delay(2500);
    Serial.println (VitesseCanton1);
    analogWrite(Canton1,VitesseCanton1);
    //dans le sens positif
    if(VitesseCanton1 > 0)
   
    {
     
        //le moteur va dans un sens
        digitalWrite(in1, LOW);
        digitalWrite(in2, HIGH);
     
    }
    else //dans l'autre sens
    {
       
        //le moteur va dans l'autre sens
        digitalWrite(in1, HIGH);
        digitalWrite(in2, LOW);
       
    }

   
   
    Serial.println ("Vitesse Canton n°2 entre -255 et +255 ");
    int VitesseCanton2=Serial.read();
    delay(2500);
   
   
        Serial.println (VitesseCanton2);     
        analogWrite(Canton2,VitesseCanton2);
   
   
        //dans le sens positif
        if(VitesseCanton2 > 0)
   
       {
     
           //le moteur va dans un sens
           digitalWrite(in3, LOW);
           digitalWrite(in4, HIGH);
     
       }
        else //dans l'autre sens
       {
       
           //le moteur va dans l'autre sens
           digitalWrite(in3, HIGH);
           digitalWrite(in4, LOW);
       
      }


    Serial.println ("Vitesse Canton n°3 entre -255 et +255 ");
    int VitesseCanton3=Serial.read();
    delay(2500);
    Serial.println (VitesseCanton2);   
    analogWrite(Canton3,VitesseCanton3); 

   
    //dans le sens positif
    if(VitesseCanton3 > 0)
    {
       
        //le moteur va dans un sens
        digitalWrite(in5, LOW);
        digitalWrite(in6, HIGH);
       
    }
    else //dans l'autre sens
   
    {
              //le moteur va dans l'autre sens
        digitalWrite(in5, HIGH);
        digitalWrite(in6, LOW);
       
    }
   
     
}     



effectivement avec la fonction "code" c' est plus lisible
SYLTRAIN80
 
Messages: 29
Inscrit le: Mar 24 Fév 2015, 10:47
Echelle pratiquée: HO - N
Prénom: Sylvain

Re: Conseil sur faisabilité de mon projet

Publié: Sam 11 Avr 2015, 19:46 
j ai maintenant réussi à commander mes 3 cantons sous forme d' une commande groupée " vitesse1, vitesse2, vitesse3" en même temps
je n' ai pas réussi a faire des commandes séparées avec conservation de la vitesse jusqu’à nouvelle instruction
voici le code si cela intéresse quelqu'un
Code: Tout sélectionner
const int baudrate = 9600;

int byte_read = 0; ///< The current byte
int recieved_integer [3]; ///< vitesse1,vitesse 2,vitesse3

int index = 0; ///< 0: vitesse1,vitesse 2,vitesse3
int separator = 44; ///< le separateur (44: ,)

const int Canton1 = 3; //la PWM
const int in1 = 2;    //les broches de signal
const int in2 = 4;
int VitesseCanton1 ;

const int Canton2 = 5; //la PWM
const int in3 = 7;    //les broches de signal
const int in4 = 8;
int VitesseCanton2;

const int Canton3 = 6; //la PWM
const int in5 = 12;    //les broches de signal
const int in6 = 13;
int VitesseCanton3;



void setup() {
      Serial.begin(baudrate);
}

boolean is_a_number(int n)
{
  return n >= 48 && n <= 57;
}

int ascii2int(int n, int byte_read)
{
  return n*10 + (byte_read - 48);
}

void loop() {
 
  recieved_integer [0] = 0;
  recieved_integer [1] = 0;
recieved_integer [2] = 0;
  index = 0;
 
 
  while ( Serial.available() ) {
    byte_read = Serial.read();
    if ( is_a_number(byte_read) )
    {
          recieved_integer [index] = ascii2int(recieved_integer [index], byte_read);
     }
     else if ( byte_read == separator )
        {
          ++index;

  }
  }
  Serial.println( recieved_integer [0]);
  int VitesseCanton1 = recieved_integer [0]/2 ;
  Serial.println( VitesseCanton1 );
 
  analogWrite(Canton1,VitesseCanton1);
 
      //dans le sens positif
     
    if(VitesseCanton1 > 125)
    {
       
       
        //le moteur va dans un sens
        digitalWrite(in1, LOW);
        digitalWrite(in2, HIGH);
       
    }
    else //dans l'autre sens
    {
       
        //le moteur va dans l'autre sens
        digitalWrite(in1, HIGH);
        digitalWrite(in2, LOW);
       
    }
   Serial.println( recieved_integer [1]);
   
  int VitesseCanton2 = recieved_integer [1]/2 ;
  Serial.println( VitesseCanton2 );
 
  analogWrite(Canton2,VitesseCanton2);
 
      //dans le sens positif
     
    if(VitesseCanton1 > 125)
    {
       
       
        //le moteur va dans un sens
        digitalWrite(in3, LOW);
        digitalWrite(in4, HIGH);
       
    }
    else //dans l'autre sens
    {
       
        //le moteur va dans l'autre sens
        digitalWrite(in3, HIGH);
        digitalWrite(in4, LOW);
       
    }
   
   
     
   
   Serial.println( recieved_integer [2]);
   int VitesseCanton3 = recieved_integer [2]/2 ;
  Serial.println( VitesseCanton3 );
 
  analogWrite(Canton3,VitesseCanton3);
 
      //dans le sens positif
     
    if(VitesseCanton1 > 125)
    {
       
       
        //le moteur va dans un sens
        digitalWrite(in5, LOW);
        digitalWrite(in6, HIGH);
       
    }
    else //dans l'autre sens
    {
       
        //le moteur va dans l'autre sens
        digitalWrite(in5, HIGH);
        digitalWrite(in6, LOW);
       
    } 
   
  delay(10000);
}
SYLTRAIN80
 
Messages: 29
Inscrit le: Mar 24 Fév 2015, 10:47
Echelle pratiquée: HO - N
Prénom: Sylvain

PrécédentSuivant

Retour vers Arduino

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 2 invité(s)