Passionnement
Bonjour et bienvenu,

Bonjour et bienvenu sur le forum. Ici tu verra, la bonne humeur et l'entraide sont de mise.
Pas de reproche ni de prise de tête. Respect et Amitié sont de rigueur.
Pour la convivialité, nous te demandons de prendre 5mn pour te présenter a tout le monde et de renseigner ton profil le plus précisément possible.

Pour cela, ==> clique ici <== et tu créer un nouveaux sujet (une petite explication est en haut de la page).

Si tu ne fait pas de présentation, ton compte sera supprimé automatiquement après 48H.

Sans présentation, tu n'aura pas accès a la totalité du forum (qui comporte plus de 30.000 messages). Quand tu aura fait ta présentation, un modérateur ou administrateur te donnera les droits pour le forum dans sa totalité dans les 24 h.

Le Staff

Bienvenu sur ton Forum 
Invité  
Septembre 2017
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 

Calendrier Calendrier

Rechercher
 
 

Résultats par :
 

 


Rechercher Recherche avancée

Derniers sujets
» CS3 ... Découverte et utilisation
Hier à 21:51 par Vince Belgium

» Littérature ferroviaire hors revues
Hier à 21:44 par Vince Belgium

» Clés pour le train miniature.
Hier à 21:35 par likiki

» Annonce Märklin SNCF
Hier à 18:38 par likiki

» Test de décors .....
Lun 18 Sep 2017 - 14:57 par Vince Belgium

» La soudure??????
Lun 11 Sep 2017 - 19:14 par Cousin Hub

» Adieu aux automotrices postales de la SNCB
Dim 3 Sep 2017 - 13:44 par likiki

» Mini World Lyon Un projet fou ..................
Dim 3 Sep 2017 - 10:26 par dany-om

» Construction d'un pont
Sam 2 Sep 2017 - 18:45 par dany-om

» le train des Cévennes
Sam 2 Sep 2017 - 10:33 par Fred Glmt

» Petit message de Forumacitf
Mer 30 Aoû 2017 - 21:40 par Vince Belgium

» Grassinator
Dim 13 Aoû 2017 - 19:21 par dany-om

» Magasins préférés des modélistes.
Dim 13 Aoû 2017 - 9:21 par dany-om

» Digitalisation des aiguillages en voie C
Dim 6 Aoû 2017 - 9:52 par Vince Belgium

» Expo à Londres.
Dim 6 Aoû 2017 - 9:43 par lherve54

» Festival vapeur en septembre
Mer 26 Juil 2017 - 23:31 par Vince Belgium

» Fête nationale
Dim 23 Juil 2017 - 17:43 par Vince Belgium

» arduino easy plug
Dim 23 Juil 2017 - 17:09 par Vince Belgium

» Arduino et les servomoteur.
Dim 16 Juil 2017 - 11:12 par dany-om

» Les trains autour du monde
Dim 16 Juil 2017 - 11:10 par dany-om


COURSERA

Voir le sujet précédent Voir le sujet suivant Aller en bas

COURSERA

Message par likiki le Lun 1 Déc 2014 - 18:25

Ici vous pouvez disserter sur les Cours sur les micro-controleurs dispensé par l'Ecole Polytechnique de Lausanne.

Accessible => ICI <==

Very Happy
avatar
likiki
Administrateur
Administrateur

Localisation : Saintry Sur Seine
Humeur : De tout coeur avec les victimes des attentats en France.
Messages : 10738
Age : 50
Emploi/loisirs : Gérant de son BET Ascenseurs

http://Webacappelliens.fr

Revenir en haut Aller en bas

Re: COURSERA

Message par fan2vape le Lun 1 Déc 2014 - 19:25

Bonjour à tous,

C'est noté !

avatar
fan2vape
Petit nouveau
Petit nouveau

Localisation : France
Messages : 13
Age : 55
Emploi/loisirs : Informatique

Revenir en haut Aller en bas

Re: COURSERA

Message par Gwadavel le Lun 1 Déc 2014 - 22:12

Bonsoir,

La cette semaine j'ai du mal.
Je vais essayer de résoudre le problème n°2.
J'en ai marre du floue des instructions, "On appuie sur P1" Ok, met ça peut mettre combien de temps, quelques secondes ou plusieurs minutes.
Je vais essayer de voir la fonction pulseIn(), je ne l'ai jamais utilisée.
avatar
Gwadavel
Petit posteur
Petit posteur

Localisation : Antony (92)
Messages : 107
Emploi/loisirs : Administrateur Réseaux/Modélisme Moto Arduino

Revenir en haut Aller en bas

Re: COURSERA

Message par fan2vape le Lun 1 Déc 2014 - 23:13

Bonsoir,

c'est un peu pareil de mon côté, c'est vraiment lassant et les réponses que fait PY sur le forum COURSERA le sont aussi ... du coup j'ai passé la soirée à regarder LUCY de Besson !! Les devoirs seront pour un autre soir Smile
avatar
fan2vape
Petit nouveau
Petit nouveau

Localisation : France
Messages : 13
Age : 55
Emploi/loisirs : Informatique

Revenir en haut Aller en bas

Re: COURSERA

Message par Gwadavel le Mar 2 Déc 2014 - 0:01

Tu as bien raison.
J'aurai du faire pareil.
avatar
Gwadavel
Petit posteur
Petit posteur

Localisation : Antony (92)
Messages : 107
Emploi/loisirs : Administrateur Réseaux/Modélisme Moto Arduino

Revenir en haut Aller en bas

Re: COURSERA

Message par likiki le Mar 2 Déc 2014 - 5:22

Perso j'ai tout téléchargé (vidéos et documents) et j'essaye de comprendre a mon rythme.
Je n'ai pas fait les exercices (par manque de temps) mais arrivé au cour 4 dur dur quand même.

Very Happy
avatar
likiki
Administrateur
Administrateur

Localisation : Saintry Sur Seine
Humeur : De tout coeur avec les victimes des attentats en France.
Messages : 10738
Age : 50
Emploi/loisirs : Gérant de son BET Ascenseurs

http://Webacappelliens.fr

Revenir en haut Aller en bas

Re: COURSERA

Message par Gwadavel le Mer 3 Déc 2014 - 22:33

Bonsoir François,

Devoir n°2 fait pour le Launchpad

Bouteille:

#include "LcMspDef.h"

unsigned long debut = 0;
unsigned long duree = 0;
void setup()
{
  // put your setup code here, to run once:
  LcSetup ();
}
void Apprentissage(){
  debut = millis();
  Led1On;
  while(Pous1On){}
  duree = millis() - debut;
  Led1Off;
}
void Copie(){
  Led1On;
  delay(duree);
  Led1Off;
  while(Pous2On){}

 
void loop()
{
  // put your main code here, to run repeatedly:
  if(Pous1On) Apprentissage();
  if(Pous2On) Copie();
}
avatar
Gwadavel
Petit posteur
Petit posteur

Localisation : Antony (92)
Messages : 107
Emploi/loisirs : Administrateur Réseaux/Modélisme Moto Arduino

Revenir en haut Aller en bas

Re: COURSERA

Message par fan2vape le Mer 3 Déc 2014 - 23:32

Bonsoir , 

je bloquais sur un truc que je ne suis pas sûr de bien comprendre. J'ai la même logique que ton programme dans le mien pour Arduino. La seule différence est que dans le bloc de remplissage automatique (ton copie()) j'attendais que l'on relache P2 au début du bloc et pas à la fin.
void Remplissage(){
  while(Pous2On){}
  Led1On;
  delay(duree);
  Led1Off;
}  
du coup le correcteur me disait que je ne tenais pas compte de la durée.

Grâce à ton programme j'ai déplacé cette ligne et c'est OK ===> Merci !!!
avatar
fan2vape
Petit nouveau
Petit nouveau

Localisation : France
Messages : 13
Age : 55
Emploi/loisirs : Informatique

Revenir en haut Aller en bas

Re: COURSERA

Message par Gwadavel le Jeu 4 Déc 2014 - 0:04

Le coup du relâché du poussoir, c'est parce que j'ai galéré à l'époque du programme sur moteur pas à pas, je ne testais pas que si on maintenait le poussoir le moteur ne devait avancer que d'un pas, heureusement sur le forum quelqu'un m'a demandé si je testais ce cas la.

Voila le devoir n°1 programmé comme un cochon mais le correcteur automatique est contant Very Happy


Rapport Cyclique:


#include "LcMspDef.h"

byte cmptHaut = 0;
byte cmptBas = 0;
byte rapport = 0;

void setup()
{
  // put your setup code here, to run once:
  LcSetup ();
}
void Eteindre(){
  Led1Off;
  Led2Off;
}
void Sortie1(){
  Led2Off;
  Led1On;
}
void Sortie2(){
  Led1Off;
  Led2On;
}
void loop()
{
  /* Je decoupe le temps en tranche de 10 millisecondes
  Le cmptHaut < 110 permet de tester la duree < 110 * 10 millisecondes
  Pour verifier si le signal est valide il faut tester si le signal
  est inférieur a 1000 microsecondes frequence 1Hz */
 
  while(!Pous1On && (cmptHaut < 110)){ // Etat Haut
    delay(10);
    cmptHaut++;
  }
  while(Pous1On && (cmptBas < 110)){ // Etat Bas
    delay(10);
    cmptBas++;
  }
  if((cmptHaut < 101) && (cmptBas < 101)){
    rapport = (cmptHaut * 100) / (cmptHaut + cmptBas); // % rapport cyclique
    if(rapport < 40) Sortie1();
    else if(rapport > 60) Sortie2();
    else Eteindre(); // signal carre
  }
  else Eteindre();
  cmptHaut = 0;
  cmptBas = 0;
}
avatar
Gwadavel
Petit posteur
Petit posteur

Localisation : Antony (92)
Messages : 107
Emploi/loisirs : Administrateur Réseaux/Modélisme Moto Arduino

Revenir en haut Aller en bas

Re: COURSERA

Message par fan2vape le Jeu 4 Déc 2014 - 6:40

De mon côté j'ai essayé pulseIn(pin,valeur,timeout) ... ça a l'air de fonctionner :
void loop () {
  dOff = pulseIn(Pous1,HIGH,1000010);
  dOn = pulseIn(Pous1,LOW,1000010);
  if((dOff != 0) && (dOn != 0)){ // s'il y a un signal
    rapport = (dOff * 100) / (dOff + dOn); // % rapport cyclique
    if(rapport < 40){
      Led1On;
      Led2Off;
    }
    else if(rapport > 60) {
      Led1Off;
      Led2On;
    }
    else {
      Led1Off;
      Led2Off;
    }
  }
  else {
    Led1Off;
    Led2Off;
  }
  dOff = 0;
  dOn = 0;
}
avatar
fan2vape
Petit nouveau
Petit nouveau

Localisation : France
Messages : 13
Age : 55
Emploi/loisirs : Informatique

Revenir en haut Aller en bas

Re: COURSERA

Message par Gwadavel le Jeu 4 Déc 2014 - 8:26

C'est ce que j'avais fait en premier, mais ça ne plaisait pas au correcteur automatique mais je n'utilisais un timeout si grand pour pulseIn
Car pour moi, il faut utiliser pulseIn et surtout ne pas faire comme j'ai fait
avatar
Gwadavel
Petit posteur
Petit posteur

Localisation : Antony (92)
Messages : 107
Emploi/loisirs : Administrateur Réseaux/Modélisme Moto Arduino

Revenir en haut Aller en bas

Re: COURSERA

Message par fan2vape le Lun 8 Déc 2014 - 21:39

Encore une fois l'énoncé du problème 7.1 est léger ... il faut faire attention au sens de rotation du robot ... ça veut dire qu'il tourne de manière horaire s'il a détecté un obstacle avec sa moustache gauche, et anti-horaire dans le cas de la moustache droite ! C'est du moins ce que j'ai finalement dû faire pour contenter le correcteur  Smile
avatar
fan2vape
Petit nouveau
Petit nouveau

Localisation : France
Messages : 13
Age : 55
Emploi/loisirs : Informatique

Revenir en haut Aller en bas

Re: COURSERA

Message par likiki le Mar 9 Déc 2014 - 5:15

Pas facile à contenter une carte électronique.

Laughing
avatar
likiki
Administrateur
Administrateur

Localisation : Saintry Sur Seine
Humeur : De tout coeur avec les victimes des attentats en France.
Messages : 10738
Age : 50
Emploi/loisirs : Gérant de son BET Ascenseurs

http://Webacappelliens.fr

Revenir en haut Aller en bas

Re: COURSERA

Message par Gwadavel le Mar 9 Déc 2014 - 19:56

Sur le premier devoir, pas de problème, j'avais trouvé le sens de rotation tout de suite, il faut dire que j'avais déjà programmé un petit robot.

Mais la, sur le deuxième, je galère à fond.
avatar
Gwadavel
Petit posteur
Petit posteur

Localisation : Antony (92)
Messages : 107
Emploi/loisirs : Administrateur Réseaux/Modélisme Moto Arduino

Revenir en haut Aller en bas

Re: COURSERA

Message par fan2vape le Mar 9 Déc 2014 - 21:51

Bonsoir Eric,

Pour le faire avancer lentement je ne pense pas utiliser la bonne méthode mais sinon ça marche (10/10 Very Happy )

//Avance et recule
#include "LcDef.h"
#define PwmR(vv) analogWrite(5,vv)
int val = 0;           // variable to store the value read
void setup () {
  LcSetup ();
}
void loop () {
  val = analogRead(A1);    // read the input pin
  while (val>512){ // on avance doucement
    Led1On;
    Led2Off;
    delay(10);
    Led1Off;
    delay(100);
    val = analogRead(A1);    // read the input pin
  }
    Led1Off;
    PwmR(255 -val/2);
}





avatar
fan2vape
Petit nouveau
Petit nouveau

Localisation : France
Messages : 13
Age : 55
Emploi/loisirs : Informatique

Revenir en haut Aller en bas

Re: COURSERA

Message par Gwadavel le Mar 9 Déc 2014 - 22:34

Merci François,

Je crois que vraiment le plus simple est le mieux pour ce correcteur.

Je galère avec le PFM bidirectionnel qu'on a vu dans la vidéo.
avatar
Gwadavel
Petit posteur
Petit posteur

Localisation : Antony (92)
Messages : 107
Emploi/loisirs : Administrateur Réseaux/Modélisme Moto Arduino

Revenir en haut Aller en bas

Re: COURSERA

Message par Gwadavel le Mer 10 Déc 2014 - 0:39

J'ai adapté ton programme pour le Launchpad car pas de possibilité de analogWrite sur la Led2, ça marche 10/10 Very Happy

Robot Peureux:


#include "LcMspDef.h"
#define Av   Led1On; Led2Off
#define Rec  Led1Off; Led2On
#define Stop Led2Off; Led1Off

const byte maxPwm = 255; // Pas max pour le PWM
int lum; // Lumiere

void setup () {
  LcSetup ();
}
void Pwm(byte pas) {
  static byte i; // Pas de reinitialisation de i à chaque appel de la fonction
  i++;
  if(i==maxPwm) {i=0;}
  if(i < pas) {Led2On;} // i <  au pas ==> 5v
  else {Led2Off;}

 
void loop () {
  lum = analogRead(P1_7); // Mettre A1 pour les AVR
  if(lum > 512) { // Pas de lumiere le robot avance doucement
    Av;
    delay(10);
    Stop;
    delay(100);
  }
  delayMicroseconds(100); // Appel de la fonction toutes les 100µs
  Pwm(255 - (lum / 2));
}

avatar
Gwadavel
Petit posteur
Petit posteur

Localisation : Antony (92)
Messages : 107
Emploi/loisirs : Administrateur Réseaux/Modélisme Moto Arduino

Revenir en haut Aller en bas

Re: COURSERA

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum