Aller au contenu


Photo
- - - - -

PPE recharge autonome


194 réponses à ce sujet

#61 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 10 165 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 23 avril 2012 - 02:32

@mike118: j'ai édité le schéma (même lien normalement), mais il y a un problème je crois: le 0 qui correspond à la sortie d'une monostable n'est peut-être pas la même que la masse du crcuit (celle de l'arduino normalement). est-ce que ça marchera si j'utilise la même masse pour alimenter le monostable et le circuit?

Finalement c'est peut-être un peu trop se casser la tête à force de vouloir optimiser au max; il vaut peut-être mieux que je le code à la barbare!


il n'y a pas de problème il faut juste que le 0 soit le plus possible en dessous de de la tension que j'ai représenté 5V d'au moins 1V voir plus et que le 1 soit supérieur ou égale à la tension 5V

mais si tu as 2 diode chez toi essaye le schémas (directement sans le connecter à l'entrée de ta arduino) et arme toi d'un voltmètre pour observer la sortie ;)

bon après en général* c'est mieux que toutes les masses soient relier dans un montage

Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#62 hmnrobots

hmnrobots

    Habitué

  • Membres
  • PipPip
  • 316 messages
  • Gender:Male
  • Location:Périphérie Nantes

Posté 24 avril 2012 - 10:19

@hmnrobots:
Avec un PIC je pourrais mais je ne sais pas si on peut faire ça avec une arduino... (lire tout un port)
Je ne comprends pas vraiment... quel switch? tu pourrais m'expliquer stp :-S


Le switch c'est un choix multiple disponible avec Arduino (extrait du Reference)adapté à ce genre de situation :
Example

switch (var) {
case 1:
//do something when var equals 1
break;
case 2:
//do something when var equals 2
break;
default:
// if nothing else matches, do the default
// default is optional
}


La variable (ici var) calculée à partir des 2 entrées de l'arduino (var= 2*I1+I0) vaut 0,1,2ou 3, le programme est alors orienté en fonction du case, c'est pratique non ?
Faire simple, c'est déjà bien assez compliqué!
http://hmnrobots.blogspot.fr/

#63 swolf

swolf

    Membre passionné

  • Membres
  • PipPipPip
  • 626 messages
  • Gender:Male

Posté 24 avril 2012 - 12:14

Aaah ouais d'accord, je ne comprenais plus ce qui était analogique ou numérique :P
Bon ben parfait, j'ai deux solution soit analogique soit numérique, voila qui va enrichir mon compte-rendu ;)
Je vais faire mes test, peser le pour et le compte et faire mon choix :) je vous tiendrais au courant
Merci beaucoup pour votre interet, vous m'avez vraiment aidé!
Notre blog, à FJprod et moi: http://2froblog.wordpress.com/

#64 swolf

swolf

    Membre passionné

  • Membres
  • PipPipPip
  • 626 messages
  • Gender:Male

Posté 25 avril 2012 - 03:20

Salut!
J'ai fait les test avec R1=220O, R2=1,8kO et R3=470O. tout marche bien sauf la tension pour 00: je devrais avoir une tension de (2,07+4,10)/2=6,17/2=3,085V et au lieu de ça j'ai 1,95V... :/
Voici les captures d'écran de la simu (sous Proteus):

00:
00.JPG

01:
01.JPG

10:
10.JPG

11:
11.JPG
Notre blog, à FJprod et moi: http://2froblog.wordpress.com/

#65 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 10 165 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 25 avril 2012 - 03:29

Salut!
J'ai fait les test avec R1=220O, R2=1,8kO et R3=470O. tout marche bien sauf la tension pour 00: je devrais avoir une tension de (2,07+4,10)/2=6,17/2=3,085V et au lieu de ça j'ai 1,95V... :/
Voici les captures d'écran de la simu (sous Proteus):

00:
00.JPG

01:
01.JPG

10:
10.JPG

11:
11.JPG


non c'est moi qui me suis planté sur le calcul ! -__-' c'est normal ^^

mais la vrais question c'est : avec mon erreur de calcul tu as quand même trois état différents ? cas 11 => ? cas 10 => ? cas 01=> ?


j'ai rien dis ! je viens de voir que je pouvais voir les 4 sorties !

Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#66 swolf

swolf

    Membre passionné

  • Membres
  • PipPipPip
  • 626 messages
  • Gender:Male

Posté 25 avril 2012 - 03:33

Oui, ça marche bien :) il faut juste que je change les valeurs de mes résistances pour avoir une tension pour l'état 00 plus éloignée de X1

Pour l'instant j'ai:
11: 5V (normal)
01: 4,10V
10: 2,07V
00: 1,96V
Notre blog, à FJprod et moi: http://2froblog.wordpress.com/

#67 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 10 165 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 25 avril 2012 - 03:37

il faut juste changer un peu la valeur des résistance ^^ je te donne dans mon prochain post la bonne formule ;)

Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#68 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 10 165 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 25 avril 2012 - 03:51

tu as Req = R1*R2/(R1+R2)

et pour 00 la tension de sortie est environ égale à 5v * Req/ ( Req+R3) (calcul sans prendre en compte les diode ^^ ) donc attend toi à ne pas avoir exactement la même chose !

Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#69 swolf

swolf

    Membre passionné

  • Membres
  • PipPipPip
  • 626 messages
  • Gender:Male

Posté 25 avril 2012 - 03:52

J'ai pris empiriquement les valeurs suivantes:

R1=390O
R2=1.8kO
R3=470O

00: 2.4V <==> 124 (valeur numérique pour une précision de CAN de 255)
01: 2.65V <==>135
10: 4.10V <==> 209
11: 5V <==> 255

Mais je veux quand même bien la formule pour mon compte rendu stp :) (sinon je la retrouve moi même...)
Notre blog, à FJprod et moi: http://2froblog.wordpress.com/

#70 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 10 165 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 25 avril 2012 - 04:06

J'ai pris empiriquement les valeurs suivantes:

R1=390O
R2=1.8kO
R3=470O

00: 2.4V <==> 124 (valeur numérique pour une précision de CAN de 255)
01: 2.65V <==>135
10: 4.10V <==> 209
11: 5V <==> 255

Mais je veux quand même bien la formule pour mon compte rendu stp :) (sinon je la retrouve moi même...)


tu devrais encore espacer les résultats pour 00 et 01 enfin ... c'est mon avis ^^

Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#71 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 10 165 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 25 avril 2012 - 04:10

au fait ta version de protéus c'est une version complète ? tu l'as eu gratuitement ? tu l'as eu où ?

Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#72 swolf

swolf

    Membre passionné

  • Membres
  • PipPipPip
  • 626 messages
  • Gender:Male

Posté 25 avril 2012 - 10:15

au fait ta version de protéus c'est une version complète ? tu l'as eu gratuitement ? tu l'as eu où ?


C'est une version pas très légale... Mais chuuut ;)

On voit ça par MP
Notre blog, à FJprod et moi: http://2froblog.wordpress.com/

#73 swolf

swolf

    Membre passionné

  • Membres
  • PipPipPip
  • 626 messages
  • Gender:Male

Posté 27 avril 2012 - 06:07

Salut!
J'ai fait un premier jet du code pour la recharge côté robot que voici:
int pinCapteurT1 = 5;
int etatCapteurT1 = 0;
int pinCapteurT2 = 6;
int etatCapteurT2 = 0;
int dirBalise = 0;
int pinCapteurCone = 7;
int pinLDR = A0;
int LDR = 0;
int limiteLDR = 100;
int pinLectureChargeBatterie = A1;
int etatBatterie = 0;
int limiteBatterie = 200;
int xLimiteBatterie = 150;
int pinCapteurDistance = A2;
int dist = 0;
int pinMicrorupteur1 = 8;
int pinMicrorupteur2 = 9;
int E1 = 1;
int E2 = 2;
int M1 = 3;
int M2 = 4;
boolean T1=false;
boolean T2=false;
boolean charge = false;

void setup() {
  pinCapteurT1 = INPUT;
  pinCapteurT2 = INPUT;
  pinCapteurCone = INPUT;
  pinLDR = INPUT;
  pinLectureChargeBatterie = INPUT;
  pinMicrorupteur1 = INPUT;
  pinMicrorupteur2 = INPUT;
  pinCapteurDistance = INPUT;
  E1 = OUTPUT;
  E2 = OUTPUT;
  M1 = OUTPUT;
  M2 = OUTPUT;
}

void loop() {
  etatBatterie = analogRead(pinLectureChargeBatterie);
  if (etatBatterie <= limiteBatterie && etatBatterie > xLimiteBatterie) {
	LDR = analogRead(pinLDR);
	if (LDR > limiteLDR) {
  	if (digitalRead(pinCapteurCone) == HIGH) {
    	etatCapteurT1 = bitRead(PORTD, pinCapteurT1);
    	etatCapteurT2 = bitRead(PORTD, pinCapteurT2);
    	dirBalise = 2*etatCapteurT1+etatCapteurT2;
    	switch (dirBalise) { //aucun: 0 centre: 3; droite: 1; gauche: 2
      	case 0:
        	droite(255);//on tourne sur soi-même jusqu'à ce que le "T" capte qqch
        	break;
      	case 1:
        	droite(255);
        	break;
      	case 2:
        	gauche(255);
        	break;
      	case 3:
        	avancer(255);
        	break;
      	default:
        	break;
    	}
  	}
  	else if (digitalRead(pinCapteurCone) == LOW) {
    	modeRecherche();
  	}
	}
	else if (LDR < limiteLDR) {
  	modeVeille(0);
	}
  }
  else if (etatBatterie <= xLimiteBatterie) {
	modeVeille(1);
  }
}

void modeRecherche() {
  avancer(255);
  droite(255);
  avancer(255);
  gauche(255);
}

void modeVeille(int mode) {
  if (mode == 0) {
	E1 = LOW;
	E2 = LOW;
  }
  else if (mode == 1) {
	sytemeOff();
  }
}
void systemeOff() {
  //extinction du système
}


remarques:
  • ce code est uniquement une ébauche, il a été fait sans arduino: les pin sont mise au pif, les fonctions avancer() gauche() droite() et systemeArret() ne sont pas détaillées...
  • il n'est pas non plus commenté mais si vous avez des questions n'hésitez pas
  • je me suis arrêté avant le partie docking parce que pour cette partie j'utiliserai des capteurs de ligne et je préfère faire ça plus tard
  • j'ai utilisé dans ce code la méthode de hmnrobots concernant la variable dirBalise mais je ne sais pas encore si c'est celle que vais utiliser, notamment pour la raison suivante:
  • dans
    etatCapteurT1 = digitalRead(pinCapteurT1);
            etatCapteurT2 = digitalRead(pinCapteurT2);
            dirBalise = 2*etatCapteurT1+etatCapteurT2;
    Je suis pas sur que ça marche parce que je fais une opération sur des booléens... La conversion de ceux-ci me prendrait plus de code que le traitement au cas par cas et enlèverait donc l'intérêt du switch...case. ça m'a également fait réfléchir à quelque chose: comment
    int buttonState = digitalRead(buttonPin);
    est-il possible alors qu'on attribue un int la valeur de constantes booléennes (HIGH et LOW)?
  • le code concernant le déplacement en évitant les obstacles et également fait, je le posterai quand je l'aurai sous la main (c-à-d dimanche normalement). Il faudra que je fusionne les deux en installant des priorités (ce qui risque d'être un grosse galère... :/). Les fonction avancer, reculer, droite et gauche y sont déjà faites, c'est pour ça que je ne les ai pas réécrites dans celui-ci...
Voilà dites moi ce que vous en pensez :)

EDIT: correction du code

Modifié par swolf, 28 avril 2012 - 05:59 .

Notre blog, à FJprod et moi: http://2froblog.wordpress.com/

#74 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 10 165 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 27 avril 2012 - 06:45

Salut!
J'ai fait un premier jet du code pour la recharge côté robot que voici:

int pinCapteurT1 = 5;
int etatCapteurT1 = 0;
int pinCapteurT2 = 6;
int etatCapteurT1 = 0;
int dirBalise = 0;
int pinCapteurCone = 7;
int pinLDR = A0;
int LDR = 0;
int limiteLDR = 100;
int pinLectureChargeBatterie = A1;
int etatBatterie = 0;
int limiteBatterie = 200;
int xLimiteBatterie = 150;
int pinCapteurDistance = A2;
int dist = 0;
int pinMicrorupteur1 = 8;
int pinMicrorupteur2 = 9;
int E1 = 1;
int E2 = 2;
int M1 = 3;
int M2 = 4;
boolean T1=false;
boolean T2=false;
boolean charge = false;

void setup() {
  pinCapteurT1 = INPUT;
  pinCapteurT2 = INPUT;
  pinCapteurCone = INPUT;
  pinLDR = INPUT;
  pinLectureChargeBatterie = INPUT;
  pinMicrorupteur1 = INPUT;
  pinMicrorupteur2 = INPUT;
  pinCapteurDistance = INPUT;
  E1 = OUTPUT;
  E2 = OUTPUT;
  M1 = OUTPUT;
  M2 = OUTPUT;
}

void loop() {
  etatBatterie = analogRead(pinLectureChargeBatterie);
  if (etatBatterie <= limiteBatterie && etatBatterie > xLimiteBatterie) {
    LDR = analogRead(pinLDR);
    if (LDR > limiteLDR) {
      if (digitalRead(pinCapteurCone) = HIGH) {
        etatCapteurT1 = digitalRead(pinCapteurT1);
        etatCapteurT2 = digitalRead(pinCapteurT2);
        dirBalise = 2*etatCapteurT1+etatCapteurT2;
        if (dirBalise != 0 && dirBalise <= 3) {
          switch (dirBalise) { //centre: 3; droite: 1; gauche: 2
          case 1:
            droite(255);
            break;
          case 2:
            gauche(255);
            break;
          case 3:
            avancer(255);
            break;
          }
        }
        else if (dirBalise == 0) {
          droite(255);
        }
      }
      else if (digitalRead(pinCapteurCone) = LOW) {
        modeRecherche()
      }
    }
    else if (LDR < limiteLDR) {
      modeVeille(0)
    }
  }
  else if (etatBatterie <= xLimiteBatterie) {
    modeVeille(1);
  }
}

void modeRecherche() {
  avancer(255);
  droite(255);
  avancer(255);
  gauche(255);
}

void modeVeille(int mode) {
  if (mode == 0) {
    E1 = LOW;
    E2 = LOW;
  }
  else if (mode == 1) {
    sytemeOff();
  }
}
void systemeOff() {
  //extinction du système
}


remarques:
  • ce code est uniquement une ébauche, il a été fait sans arduino: les pin sont mise au pif, les fonctions avancer() gauche() droite() et systemeArret() ne sont pas détaillées...
  • il n'est pas non plus commenté mais si vous avez des questions n'hésitez pas
  • je me suis arrêté avant le partie docking parce que pour cette partie j'utiliserai des capteurs de ligne et je préfère faire ça plus tard
  • j'ai utilisé dans ce code la méthode de hmnrobots concernant la variable dirBalise mais je ne sais pas encore si c'est celle que vais utiliser, notamment pour la raison suivante:
  • dans
    etatCapteurT1 = digitalRead(pinCapteurT1);
            etatCapteurT2 = digitalRead(pinCapteurT2);
            dirBalise = 2*etatCapteurT1+etatCapteurT2;
    Je suis pas sur que ça marche parce que je fais une opération sur des booléens... La conversion de ceux-ci me prendrait plus de code que le traitement au cas par cas et enlèverait donc l'intérêt du switch...case. ça m'a également fait réfléchir à quelque chose: comment
    int buttonState = digitalRead(buttonPin);
    est-il possible alors qu'on attribue un int la valeur de constantes booléennes (HIGH et LOW)?
  • le code concernant le déplacement en évitant les obstacles et également fait, je le posterai quand je l'aurai sous la main (c-à-d dimanche normalement). Il faudra que je fusionne les deux en installant des priorités (ce qui risque d'être un grosse galère... :/). Les fonction avancer, reculer, droite et gauche y sont déjà faites, c'est pour ça que je ne les ai pas réécrites dans celui-ci...
Voilà dites moi ce que vous en pensez :)


un petit message juste pour t'encourager :P bon je ne fais que m'initier à la prog mais j'ai compris grosso modo ta prog ça me semble aller ( la logique ^^ ) du moins l'écriture je serais incapable de te dire si il manque un "; " par ci par là donc bon ! x)

Par contre : dans le site du zéro ils disent de toujours mettre un "défault " avec les case pour éviter un possible bug ... idem de rajouter des else après des if ... Enfin moi je dis ça je dis rien ! rar je ne fais que commencer la prog :P !!!

en tout cas bonne continuation ^^

Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#75 swolf

swolf

    Membre passionné

  • Membres
  • PipPipPip
  • 626 messages
  • Gender:Male

Posté 27 avril 2012 - 07:03

Merci! ^^
pour les "default:" et les "else", c'est vrai il vaut mieux les mettre mais j'ai déjà géré les exceptions de dirBalise en dehors du switch() (si les valeurs sont >= 4, on ne les prends pas en compte) et pour les autres conditions il n'y à aucun comportement à adopter lors d'une exception donc je me contente de les ignorer royalement ;) (sinon ça donnerai du else { //on ne fait rien... } ce qui est inutile)
Notre blog, à FJprod et moi: http://2froblog.wordpress.com/

#76 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 10 165 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 27 avril 2012 - 07:09

Merci! ^^
pour les "default:" et les "else", c'est vrai il vaut mieux les mettre mais j'ai déjà géré les exceptions de dirBalise en dehors du switch() (si les valeurs sont >= 4, on ne les prends pas en compte) et pour les autres conditions il n'y à aucun comportement à adopter lors d'une exception donc je me contente de les ignorer royalement ;) (sinon ça donnerai du else { //on ne fait rien... } ce qui est inutile)


moi dans mon premier programme ( un simple truc avec du texte des question des boucles avec des réponses à taper des conditions un peu de calcul ) que je suis toujours en train de bidouiller pour apprendre , j'avais oublier de rajouter un else et mon prog s'est lancé en boucle infini écrivant toujours la même chose ^^ obliger de le fermer avec la petite croix rouge pour l'arrêter ( j'ai fais mon barbare ! :ph34r: ) c'est juste pour ça que je précisait ça ^^

Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#77 hmnrobots

hmnrobots

    Habitué

  • Membres
  • PipPip
  • 316 messages
  • Gender:Male
  • Location:Périphérie Nantes

Posté 27 avril 2012 - 07:25

Va vraiment falloir que je me mette à Arduino!alors je commence :(un listing avec numéro de ligne serait peut être mieux)

if (digitalRead(pinCapteurCone) = HIGH) {

signe == à la place je pense

Bon faut que j'assume ce que j'ai proposé à savoir le switch qui exploite directement l'état des 2 entrées:

dirBalise = 2*etatCapteurT1+etatCapteurT2;

tout part donc de cette valeur.
sur les PIC, en C CCS une entrée au niveau haut renvoie un 1 ou 0 c'est pourquoi j'avais proposé cette formule.Dans la référence Arduino je n'arrive pas à trouver la preuve (même si je le crois) que HIGH = 1 et que LOW = 0

si effectivement HIGH=1 alors la formule doit fonctionner, la conversion de type boolean 2 vers byte étant (pour moi) automatique

sinon plusieurs méthodes simples:
-conversion de type avec la fonction byte
-modif de la formule par ex : dirBalise =2*(etatCapteurT1==HIGH) + (etatCapteurT2==HIGH) ça marche en C l'opérateur == renvoie 1 ou 0
-création d'une fonction car je ne crois pas qu'elle existe dans la Lib Arduino iif : iif(test,valeur si vrai,valeur si faux) la formule devient alors :dirBalise= 2*iif(etatCapteurT1==HIGH,1,0) + iif(etatCapteurT2==HIGH,1,0)
on peut certainement faire plus compliqué!


A quoi sert le pinCapteurCone ?

Le switch peut gérer les 4 cas :
0:mode recherche
1:droite
2:gauche
3:devant

manque quelques ; aussi
Bonne continuation
Faire simple, c'est déjà bien assez compliqué!
http://hmnrobots.blogspot.fr/

#78 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 10 165 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 27 avril 2012 - 07:40

signe == à la place je pense



je confirme aussi ^^ mais pour ce que ça vaut x) ^^

Non mais c'est juste pour montrer que je suis ton projet ;) :P

bon sinon tu déclare deux fois etatcapteurT1 je suppose que le deuxième c'est T2 ^^

ensuite A0 c'est quoi ? idem pour A1 et A2 ...ensuite c'est quoi boolean ? bon après void loop je suis un peu perdu ( je ne sais même pas ce que ça veut dire x) )

Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#79 Francky

Francky

    Membre passionné

  • Membres
  • PipPipPip
  • 967 messages
  • Gender:Male

Posté 27 avril 2012 - 08:20

Bonsoir (mode squattage)

boolean

booléen


Bon courage pour la suite swolf ! ;)

#80 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 10 165 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 27 avril 2012 - 08:30

Bonsoir (mode squattage)

booléen


Bon courage pour la suite swolf ! ;)



pardon j'aurais du préciser : c'est une "fonction" ou une variable ?

Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 




Répondre à ce sujet



  


1 utilisateur(s) li(sen)t ce sujet

0 members, 1 guests, 0 anonymous users