Partage
  • Partager sur Facebook
  • Partager sur Twitter

MOOC Arduino Perfectionnement

Perfectionnez-vous dans la programmation Arduino

7 juin 2017 à 16:41:01

Bonjour, 

Pour ce cours, j'ai commandé mes pièces chez adafruit, puisque le lien donné pour le shield moteur sur la home page y menait. 

Hélas, le fournisseur est américain et toute ma commande est bloquée depuis une semaine à la douane. 
Je vais donc devoir payer la TVA, en plus d'une livraison déjà très chère (30$ UPS).
Et bien sur ne pas pouvoir commencer le cours :(

J'ignore si certain ont déjà rencontré ce problème mais je pense que vous devriez recommander un autre shield moteur ou un autre fournisseur pour ce shield (je n'en ai pas trouvé)

Henry

  • Partager sur Facebook
  • Partager sur Twitter
5 août 2017 à 4:42:42

Bonjour,

Donc j'aurais moi aussi besoin de votre aide concernant la fabrication d'un robot éviteur d'obstacle controlé par Arduino.  Je veux faire un robot à 2 roues ( vu que je n'ai que 2 roues motorisées et pas de servo :D) mais mon problème reste comment faire la roue libre à l'avant et aussi la partie electronique (branchements :().

Mes composants sont les suivants :

_Une Arduino UNO

_Des fils connecteurs (obviously :D)

_Deux roues-moteurs

_Une L293D

_Un capteur ultrason (HY-SRF05)

_Une pile 9V

_Une petite breadboard

_Des résistances ( je ne pense pas que ça servira )

_Des LEDs ( pour la décoration peut -être)

  • Partager sur Facebook
  • Partager sur Twitter
3 septembre 2017 à 23:45:46

Bonjour,

J'utilise le shield Adafruit Dadalogger qui inclus un lecteur de carte SD et une RTC (ou HTR = horloge en temps rééel).

Je commence à maîtriser la carte SD ainsi que l'horloge. Dans mon projet (je vous en dirai plus + tard) je serai amené à créer de nombreux fichiers sur la carte SD (j'utilise une 16 Go en FAT32), dans le but de les utiliser sur mon PC pour traitement ultérieur. Le problème, c'est que ces fichiers ne sont pas datés : il sont tous au 01/01/2000 00:00 ! Est-il possible, sous Arduino, de dater les fichiers afin de pouvoir les trier ?

Merci d'avance pour votre aide et/ou vos conseils.

  • Partager sur Facebook
  • Partager sur Twitter
17 octobre 2017 à 0:32:10

J'ai acheté une carte Arduino etherten avec un port ethernet POE.... Malheureusement après essai et recherche sur le net, je découvre que ce port POE ne fonctionne pas avec mon réseau avec un switch Cisco de la série 500, car il n'est pas compatible avec la norme POE en 1 Gigabits.... existe-t-il des shields Ethernet compatible avec les dernières normes POE????

Par avance merci de la réponse...

Cordialement JLR

  • Partager sur Facebook
  • Partager sur Twitter
23 octobre 2017 à 12:40:34

Bonjour, je rencontre des problèmes avec mon robot autonome. J'utilise une construction en lego, un servo moteur dirige les des roues a l'avant et un seul moteur fait tourner les deux roues arrières.

Lorsque mon robot fonctionne le servo moteur se met à tourner sur lui même sans s'arreter, je ne comprends pas pourquoi. Il s'agit d'un Tower Pro SG90. Je n'arrive pas à le stabiliser.

Je ne pense pas que ce soit lié au montage. Mon moteur est alimenté par une pile 9V, mon Arduino est alimentée par une autre pile 9V et mon servo est alimenté par l'Arduino UNO R3.

Je vous poste mon code :

#include <Servo.h>
#define TRIG 8 // TRIGGER du module de détection à ultrasons
#define ECHO 9 // ECHO du module de détection a ultrasons
#define SERVO 3 // pin servomoteur
#define MOTEUR 10 //pin moteur 
#define MOT1 11 // pin 1 du moteur
#define MOT2 12 // pin 2 moteur

Servo servo;


void setup() { // SETUP du servo et positionnement des roues droites (34°)
  servo.attach(3);
  servo.write(34);
  Serial.begin(9600);
  pinMode(TRIG,OUTPUT);
  pinMode(ECHO,INPUT);
  pinMode(MOTEUR,OUTPUT);
  pinMode(MOT1,OUTPUT);
  pinMode(MOT2,OUTPUT);
  
  digitalWrite(MOTEUR,HIGH);
  
}

void loop() {
  
  if (mesureDistance()>=10) { // Appel de la fonction mesureDistance qui renvoie une distance en cm grace au module de detection
    avancer(); // si plus de 10cm avant le mur on avance
    Serial.println("AVANCER");
  }
  else {
    arreter(); // si moins de 10cm on arrete
    Serial.println("STOP");
    delay(1000);
    reculer(); // on le fait reculer sur le meme axe
    delay(2000);
    servo.write(54); // on tourne les roues a droite
    avancer(); // on avance en tournant a droite donc
    delay(2000);
    servo.write(34); // on remet les roues droites 
  } // fin de la boucle
  delay(25); // delai
  
}

void arreter() { // fonction d'arret
  digitalWrite(MOT1,HIGH);
  digitalWrite(MOT2,HIGH);
}
void reculer() { // fonction de recul
  digitalWrite(MOTEUR,HIGH);
  digitalWrite(MOT1,HIGH);
  digitalWrite(MOT2,LOW);
}

void avancer() { // fonction pour avancer
  digitalWrite(MOTEUR,HIGH);
  digitalWrite(MOT1,LOW);
  digitalWrite(MOT2,HIGH);
}

int mesureDistance() { // fonction qui mesure la distance avec les ultrasons

  unsigned long mesure = 0; 
  unsigned long cumul = 0; 

  for (int t = 0; t < 15; t++) { 
    digitalWrite(TRIG, HIGH);
    delayMicroseconds(10); 
    digitalWrite(TRIG, LOW);
    mesure = pulseIn(ECHO, HIGH);
    cumul+=mesure; 
    delayMicroseconds(40); 
  }
  mesure=cumul/15; 
  mesure=mesure/59;

  return mesure; 
}

Merci d'avance pour vos réponses :)

Cordialement

  • Partager sur Facebook
  • Partager sur Twitter
1 novembre 2017 à 17:27:30

Bonjour,

Je suis actuellement ce mooc et je rencontre un problème avec la partie sur le shield ethernet. Une fois tout connecté comme il faut, quand j'envoie le code ci-dessous, le moniteur-série me renvoie 0.178.178.178 ou 0.242.242.242 comme adresse IP. Pourtant, j'ai des serveurs web sur des PC ordinaires sous Linux et je peux m'y connecter sans soucis. Pourquoi est-ce que ce la de fonctionne pas avec l'arduino ?

#include <SPI.h> //bibliothèqe pour SPI
#include <Ethernet.h> //bibliothèque pour Ethernet
byte mac[] = {0x90, 0xA2, 0xDA, 0x0F, 0xDF, 0xAB}; //adresse mac de votre carte
byte ip[] = {192, 168, 1, 123}; //adresse IP
EthernetServer serveur(80); // déclare l'objet serveur au port d'écoute 80

void setup() {
  Serial.begin (9600); //initialisation de communication série
  Ethernet.begin (mac, ip); //initialisatio de la communication Ethernet
  Serial.print("\nLe serveur est sur l'adresse : ");
  Serial.println(Ethernet.localIP()); //on affiche l'adresse IP de la connexion
  serveur.begin(); // démarre l'écoute
}

void loop() {
  if (serveur.available()){ //si client connecté
    Serial.println("Client"); //on le dit...
  }
}

Remarques : Je suis en réseau grâce à une Freebox Revolution et j'ai bien-sûr remplacer l'adresse MAC ci-dessus par celle de mon shield perso.

++ ;)

Edit Pour BambaFall : Une roue folle ou une simple roulette de petite taille fixée au centre à l'avant ou l'arrière suffit comme troisième roue. Sur un de mes robots, j'ai utilisé ça : http://www.castorama.fr/store/Roulette-fixe-a-platine-fixe--158-mm-prod21070049.html?navAction=jump&isSearchResult=true

Sinon pour les branchements des moteurs, tout est expliqué dans le cours d'initiation à la programmation de l'arduino de notre bon Nanomaître.

-
Edité par Philkat 1 novembre 2017 à 18:08:38

  • Partager sur Facebook
  • Partager sur Twitter
Agent de développement des cultures numériques (facilitateur).
4 novembre 2017 à 21:24:10

Bonjour à tous. Je viens de terminer le cours d'initiation en programmation avec Arduino. Je suis très heureux d'avoir appris des choses que je ne pensais même pas pouvoir faire un jour. Donc merci maître. 

  • Partager sur Facebook
  • Partager sur Twitter
8 novembre 2017 à 18:39:31

Il semblerait que notre bon Nanomaître, qui n'a pas communiquer ici depuis septembre 2016, ait disparu et que nous n'aurons jamais de réponses à nos question :(

ça risque donc d'être difficile de continuer ce cours, en tout cas, pour moi.

-
Edité par Philkat 8 novembre 2017 à 18:41:00

  • Partager sur Facebook
  • Partager sur Twitter
Agent de développement des cultures numériques (facilitateur).
9 novembre 2017 à 6:32:11

C'est triste !  J'espère qu'il va refaire surface. Sinon qui ça nous apprendre à faire un drone avec Arduino.
  • Partager sur Facebook
  • Partager sur Twitter
5 mai 2018 à 21:05:37

Bonjour, je suis en Terminale S SI et je dois programmer un capteur de pression MPX2200DP en Arduino pour avoir une mesure continue de la pression en BAR ainsi que retranscrire ces données sur un écran LCD. Malheureusement, je n'ai jamais utilisé Arduino et je suis complétement paumé. En effet il n'y a pas de programme déjà fait comme l'on trouve sur différents capteur de temps en temps et ducoup je me retrouve avec un soucis ! Si quelqu'un pourrait m'aider ce serait fort sympathique de sa part.

Merci d'avance

Valentin

  • Partager sur Facebook
  • Partager sur Twitter
18 mai 2018 à 13:50:18

Je n'ai pas testé ton code mais un coup d'oeil sur la documentation me dit que si tu utilise un serveur DHCP (comme par défaut sur la Freebox), alors seule l'adresse MAC lors de l'appel de Ethernet.begin() est nécessaire. Je n'ai pas de shield Ethernet pour tester, malheureusement.

Philkat a écrit:

Bonjour,

Je suis actuellement ce mooc et je rencontre un problème avec la partie sur le shield ethernet. Une fois tout connecté comme il faut, quand j'envoie le code ci-dessous, le moniteur-série me renvoie 0.178.178.178 ou 0.242.242.242 comme adresse IP. Pourtant, j'ai des serveurs web sur des PC ordinaires sous Linux et je peux m'y connecter sans soucis. Pourquoi est-ce que ce la de fonctionne pas avec l'arduino ?

#include <SPI.h> //bibliothèqe pour SPI
#include <Ethernet.h> //bibliothèque pour Ethernet
byte mac[] = {0x90, 0xA2, 0xDA, 0x0F, 0xDF, 0xAB}; //adresse mac de votre carte
byte ip[] = {192, 168, 1, 123}; //adresse IP
EthernetServer serveur(80); // déclare l'objet serveur au port d'écoute 80

void setup() {
  Serial.begin (9600); //initialisation de communication série
  Ethernet.begin (mac, ip); //initialisatio de la communication Ethernet
  Serial.print("\nLe serveur est sur l'adresse : ");
  Serial.println(Ethernet.localIP()); //on affiche l'adresse IP de la connexion
  serveur.begin(); // démarre l'écoute
}

void loop() {
  if (serveur.available()){ //si client connecté
    Serial.println("Client"); //on le dit...
  }
}

Remarques : Je suis en réseau grâce à une Freebox Revolution et j'ai bien-sûr remplacer l'adresse MAC ci-dessus par celle de mon shield perso.

++ ;)

Edit Pour BambaFall : Une roue folle ou une simple roulette de petite taille fixée au centre à l'avant ou l'arrière suffit comme troisième roue. Sur un de mes robots, j'ai utilisé ça : http://www.castorama.fr/store/Roulette-fixe-a-platine-fixe--158-mm-prod21070049.html?navAction=jump&isSearchResult=true

Sinon pour les branchements des moteurs, tout est expliqué dans le cours d'initiation à la programmation de l'arduino de notre bon Nanomaître.

-
Edité par Philkat 1 novembre 2017 à 18:08:38



  • Partager sur Facebook
  • Partager sur Twitter
20 novembre 2018 à 18:59:27

bonsoir,

j'ai réalisé le montage qui permet de faire clignoter 5 leds via le shield ethernet.

tout fonctionne SAUF que le code semble se dérouler 2 fois à chaque clic de souris sur le mot change. Cela semble se passer dans la fonction gestionClient(). donc on ne passe pas de OFF à ON puis à CLI mais de OFF à CLI puis ON....

je ne vois pas ce qui se passe surtout que j'ai utilisé le code proposé en fin de module.

Qui à une idée

  • Partager sur Facebook
  • Partager sur Twitter
Spocyl

MOOC Arduino Perfectionnement

× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
  • Editeur
  • Markdown