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
Connexion

Récupérer mon mot de passe

Novembre 2017
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
27282930   

Calendrier Calendrier

Rechercher
 
 

Résultats par :
 

 


Rechercher Recherche avancée

Derniers sujets
» L'informatisation d'un réseau.
Aujourd'hui à 10:31 par lherve54

» T E R " Toul Expo Rail" 2018
Hier à 17:15 par lherve54

» Ballast, décor et réalisme facile selon Vince
Dim 12 Nov 2017 - 16:46 par Vince Belgium

» Littérature ferroviaire hors revues
Dim 5 Nov 2017 - 21:38 par dany-om

» Annonce Märklin SNCF
Dim 5 Nov 2017 - 20:26 par dany-om

» Mini World Lyon Un projet fou ..................
Dim 5 Nov 2017 - 11:07 par dany-om

» VOL d'objets du Musée du train de Nimes
Mer 1 Nov 2017 - 9:11 par lherve54

» CS3 ... Découverte et utilisation
Mer 25 Oct 2017 - 21:34 par Vince Belgium

» Changement d'adresse sur décodeur Marklin
Sam 14 Oct 2017 - 18:08 par dany-om

» La SNCF, une sacré entreprise.
Jeu 12 Oct 2017 - 1:05 par Cousin Hub

» Le train des alpes de Altaya par Aiguillage
Mar 10 Oct 2017 - 21:32 par likiki

» La photo Mystère ........
Mar 3 Oct 2017 - 21:09 par dany-om

» Information Märklin 7286
Dim 1 Oct 2017 - 10:13 par likiki

» Clés pour le train miniature.
Dim 1 Oct 2017 - 9:20 par dany-om

» La chaine Aiguillages
Jeu 28 Sep 2017 - 18:41 par dany-om

» Nouveaux articles sur Locoduino !
Mer 27 Sep 2017 - 20:36 par dany-om

» Pose du ballast sur voie C
Mer 27 Sep 2017 - 10:43 par Fred Glmt

» 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


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 : 11067
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 : 11067
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 : 11067
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