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é)
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 ) 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 )
_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 )
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.
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????
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;
}
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.
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.
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
Agent de développement des cultures numériques (facilitateur).
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.
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.
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.
j'ai un problème avec le programme de mon projet. je dois faire fonctionner un moteur pas a pas et un capteur de poids.j'ai fait independamment les programme des deux mais lorsque je rejoint les deux programmes la balance affiche que des zeros (initialisation en 0) et le moteur pas à pas ne marche pas.
je pense que c'est un pb au niveau de l'alimentation, il n'a peut etre pas assez d'intensité pour les 2 ?
J'ai une question concernant la partie "shield ethernet en local".
J'ai réalisé le TP demandé (allumer les 5 leds via la page html), mais cela ne marche bien que sur Edge.
Sur chrome, le client envoie une deuxième connexion demandant un favicon, et cela perturbe tout.
J'ai testé ton programme, et il souffre du même problème : impeccable sous Edge, mais perturbé sous chrome.
Dans ta solution, sous crhome, modifier l'état d'une led modifie aussi l'état d'une autre des 4... Je pense que c'est dû à cette deuxième connexion, dont la href contient aussi un "=".
Comment faire ? Y a-t-il une solution simple ?
Merci !
J'ai exactement le même problème que MarcMillon et je ne trouve pas la solution.
J'ai essayer de modifier le décodeur et de rajouter des temporisation (delay), mais rien n'y fait.
Ca m’énééééééééerve beaucoup, beaucoup, beaucoup...
s'il vous paît je rencontre un problème au niveau de la compréhension du cours pus précisément sur le paragraphe concernant la génération d'un son par la piezzo ou un haut parleur.
mon problème se trouve au niveau du Rythme d'une note.en effet comment manipuler la durée d'une note?? c'est la ma difficulte.
le cous explique cela avec ces quelques lignes mais je ne les comprends pas:
Si on imagine que le temps (c'est ce qui est mesuré quand vos tapez du pied en écoutant de la musique) est le code 2, on a :
code 1 : la note dure la moitié d'un temps (croche en musique)
code 2 : la note dure 1 temps (noire en musique) donc 2 croches
code 4 : la note dure 2 temps (blanche en musique) donc 4 croches
code 8 : la note dure 4 temps (ronde en musique) donc 8 croches
je souhaite sincèrement que vous m'aidiez à mieux comprendre cette partie s'il vous plaît ou ces lignes du cours.merci de me repondre
Est ce qu'il y a du monde qui s'est amusé à faire les exercices du projet MOTUS à la fin du module sur codez et décodez des informations ? Je serais intéressé à échanger sur le code
Même question que LudovicRaubert. Est-il encore possible de suivre le cours "Perfectionnez vous dans la programmation Arduino"? J'ai fini l'initiation et cela me laisse un peu sur ma faim ;-).
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Agent de développement des cultures numériques (facilitateur).
Agent de développement des cultures numériques (facilitateur).