Recherche des mordus d'arduino pour aide sérieuse

Bonjour à tous.

Je me présente rapidement : Fred, 40 ans, marié et 3 enfants. Je suis un très grand débutant dans la sphère Arduino. Je suis professeur de technologie collège et je souhaite utiliser autre chose que les systèmes fermés proposés par les fournisseurs de ma discipline même si ce qu'ils proposent est de bonne facture. Et j'avoue aussi je suis un peu curieux.

Mon projet qui n'est qu'au stade de l'essai pour le moment, mais je souhaite le développer avec mes élèves de 3°, consiste à réaliser un robot mobile commandé en bluetooth via un smarthphone Android.

Je recherche donc des mordus de l'Arduino pour me guider :

  • dans le câblage (Funduino Uno R3 + module L298N + une breadboard + un module HC06 + une connectique pour pile 9V +
    10 câbles M/M + 10 câbles M/F + 10 câbles F/F + 2 moteurs à courant continu avec ses roues + châssis).

  • dans la programmation du robot mobile.

  • du choix de l'application pour le smartphone Androïd et son paramétrage.

J'ai déjà monté le robot mobile et commencé le câblage. De plus, ma Funduino Uno est aussi reconnue par mon PC sous
XP. Et j'ai installé le logiciel Arduino 1.0.6.

Quelqu'un souhaite t-il me filer un coup de main ?

Voici donc le joujou.

Mes questions vont probablement vous paraître nulles et j'en suis d'avance désolé :

  • Mon module bluetooth est-il correctement positionné sur la breadbord ?

  • Mon module bluetooth est conçu pour fonctionner sous 3,3V - 5V. Je l'ai connecté à ma Funduino UNO R3 avec des câbles M/M comme suit : RX module vers TX Uno ; TX module vers RX Uno ; GND module vers GND Uno ; VCC module vers +5V Uno. Mon câblage est-il correct ?

  • Mon module de puissance L298N : J'ai raccordé mon moteur gauche sur les sorties OUT1 et OUT2. J'ai raccordé mon moteur droit sur les sorties OUT3 et OUT4. J'ai aussi raccordé le GND de l'alimentation de ce module au GND de la carte Uno. Il y a 2 cavaliers sur ENA et ENB que je n'ai pas touchés. J'ai aussi raccordé IN1 du module sur la borne 2 de la carte Uno ; IN2 du module sur la borne 3 de la carte Uno ; IN3 du module sur la borne 4 de la carte Uno ; et IN4 du module sur la borne 7 de la carte Uno. Est-ce que mes raccordements de modules de puissance sont OK ?

  • Dans cette configuration, dois-je alimenter la carte Uno et le module de puissance ? Ou bien la carte Uno est alimentée via le module de puissance ?

  • Y a t'il des cavaliers à placer sur l'une ou l'autre des cartes ?

  • J'ai cru comprendre que les bornes ENA et ENB du module de puissance servaient à gérer la vitesse des moteurs et que je pouvais les brancher sur les bornes 5 et 6 de la carte Uno si besoin (et enlever au préalable les cavaliers). Est-ce le cas ?

Voilà, je crois avoir fait le tour de mes premières interrogations. Viendront ensuite les questions liées à la programmation puis au choix de l'application sur Android. Pour le moment, je ne souhaite pas gérer la vitesse des moteurs sauf si celle-ci reste très simple à paramétrer.

Et mille excuses pour les questions bidons, mais moi ça me fait avancer et j'ai tellement lu de tutos que maintenant je cherche des confirmations.

Cordialement.

Fred

Voici les cartes mais je me doute que vous les connaissez déjà :

bonjour
je te conseille de regarder le développement de kas sur ce topic
il y a quasiment toutes les réponses à tes questions
voir ici

Merci Artouste. Je vais essayer de prendre le temps de traduire ces 30 pages de discussion mais avec 3 enfants en bas âge ça risque d'être plutôt compliqué.

prof41:
Merci Artouste. Je vais essayer de prendre le temps de traduire ces 30 pages de discussion mais avec 3 enfants en bas âge ça risque d'être plutôt compliqué.

Bonsoir
Je t'ai repondu rapidement en mode "je vais au plus simple" :wink: , mais meme si c'est noel , je n'ai pas la totalité de mes jouets :grin: sous la main avant plusieurs jours.

Pour résumer pragmatiquement (au moins en ce qui concerne le BT arduino et le joystick sous android )
ça devrait combler une tres grande partie de tes souhaits/interrogations

Entre deux enfants qui courent et crient et le 3° qui pleure, j'ai consulté les 5 premières pages du post qu'Artouste m'a donné. C'est un peu du chinois !!! Je continue cette après-midi à lire. Il faut dire aussi que la traduction n'est pas aux petits oignons...

A plus

Fred

prof41:
Entre deux enfants qui courent et crient et le 3° qui pleure, j'ai consulté les 5 premières pages du post qu'Artouste m'a donné. C'est un peu du chinois !!! Je continue cette après-midi à lire. Il faut dire aussi que la traduction n'est pas aux petits oignons...

A plus

Fred

bonjour
entre deux biberons :grin:
un bon debut pour au moins déjà valider la
comm entre Arduino et androïd

Merci Artouste. Après le dépôt de mon post sur ce forum puis l'attente de réponses de gentilshommes tels que toi, j'ai consulté de nombreux sites dont celui-ci pour tenter de valider certaines de mes réponses. Donc je savais déjà que mon module bluetooth était correctement connecté.

Hors, ma carte Funduino Uno est repartie chez le vendeur pour échange standard. En effet, je n'étais pas certain mais il me semblait que le raccordement USB au PC suffisait pour alimenter ET communiquer avec la carte Funduino. Mais quenini, il fallait que j'ajoute une alimentation externe +9V pour que ma carte soit détectée par le PC. Après un échange de messages avec le vendeur, il m'a demandé de lui retourner pour un échange standard.

Pour le moment j'attends donc !!!

En revanche, mes interrogations concernant le module de puissance restent toujours sans réponses : câblage, dois-je utiliser la variation de vitesse (compliqué ou pas), dois-je ajouter ou retirer des cavaliers, dois-je placer une alimentation en plus pour le module de puissance (en plus de celle prévue pour la carte funduino ou pui-je utiliser la même), ...

En tous les cas, un grand merci.

Je continue à lire, car les deux plus chiants sont à la sieste !!!

Fred

prof41:
...

En revanche, mes interrogations concernant le module de puissance restent toujours sans réponses : câblage, dois-je utiliser la variation de vitesse (compliqué ou pas), dois-je ajouter ou retirer des cavaliers, dois-je placer une alimentation en plus pour le module de puissance (en plus de celle prévue pour la carte funduino ou pui-je utiliser la même), ...

rapide
la gestion de vitesse se fait par pwm
tu peux utiliser la meme alim pour le module l298, perso je n'aime pas , il est plus sain d'avoir une alim puissance moteur dediée, mais en theorie et/ou pour test une est suffisante.
l'affectation des cavaliers est expliquée en français ici

Re

J'ai reçu ma nouvelle carte Uno ce matin. J'ai donc tout réinstallé conformément après la consultation de nombreux posts et tutos.

Quelqu'un pourrait-il me confirmer ou valider par oui ou non mes étapes suivantes svp :

ETAPE 1 : Connexion du module bluetooth.
Module bluetooth conçu pour fonctionner sous 3,3V - 5V :

  • RX module vers TX Uno
  • TX module vers RX Uno
  • GND module vers GND Uno
  • VCC module vers +5V Uno.

ETAPE 2 : Connexion du module de puissance L298N.

  • sorties OUT1 et OUT2 sur moteur gauche

  • sorties OUT3 et OUT4 sur moteur droit

  • GND sur GND de la carte Uno et Borne - de l'alimentation électrique

  • VCC sur Borne + de l'alimentation électrique
    (Alimentation du module de puissance par pile 9V embarquée)

  • IN1 sur borne 2 de la carte Uno

  • IN2 sur borne 3 de la carte Uno

  • IN3 sur borne 4 de la carte Uno

  • IN4 sur borne 7 de la carte Uno

  • ENA sur borne 5 de la carte Uno

  • ENB sur borne 6 de la carte Uno

ETAPE 3 : Connexion de l'alimentation de la carte Uno.

  • Carte Uno branchée via prise jack sur pile 9V embarquée

Cordialement.

Fred

prof41:
Re

J'ai reçu ma nouvelle carte Uno ce matin. J'ai donc tout réinstallé conformément après la consultation de nombreux posts et tutos.

Quelqu'un pourrait-il me confirmer ou valider par oui ou non mes étapes suivantes svp :

bonjour
ça semble correct
perso je verifierais la fonctionnalité du pont moteur seul, la fonctionnalité BT seule
et seulement ensuite le mix des 2

Cool.
Merci pour la validation.
Je reviens vers vous plus tard pour la suite et je pense effectivement que je vais tenter de vérifier comme tu me l'as dit d'abord les moteurs. Ensuite le bluetooth.
Merci.
Fred

Alors...

Je vais me lancer maintenant dans la programmation de l'arduino pour uniquement faire fonctionner les deux moteurs.

Mais avant toute chose, j'ai observé un cavalier sur la connectique nommée JP1. Dois-je laisser ce cavalier ou dois-je le retirer ?

Ensuite, avez-vous en stock ce genre de programme ?

Je vais chercher sur internet en attendant vos réponses.

Est-ce que le cavalier sur JP1 permet d'alimenter le module L298N jusqu'à 12V ?
Si on souhaite alimenter avec une tension supérieure à 12V il faut retirer ce cavalier ?

Et hop, me revoilà.

Sur le site constructeur de mon module L298N (http://tronixlabs.com/news/tutorial-l298n-dual-motor-controller-module-2a-and-arduino/), ils proposent ça :

// connect motor controller pins to Arduino digital pins
// motor one
int enA = 10;
int in1 = 9;
int in2 = 8;
// motor two
int enB = 5;
int in3 = 7;
int in4 = 6;
void setup()
{
// set all the motor control pins to outputs
pinMode(enA, OUTPUT);
pinMode(enB, OUTPUT);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);
}
void demoOne()
{
// this function will run the motors in both directions at a fixed speed
// turn on motor A
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
// set speed to 200 out of possible range 0~255
analogWrite(enA, 200);
// turn on motor B
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
// set speed to 200 out of possible range 0~255
analogWrite(enB, 200);
delay(2000);
// now change motor directions
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
delay(2000);
// now turn off motors
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
digitalWrite(in3, LOW);
digitalWrite(in4, LOW);
}
void demoTwo()
{
// this function will run the motors across the range of possible speeds
// note that maximum speed is determined by the motor itself and the operating voltage
// the PWM values sent by analogWrite() are fractions of the maximum speed possible
// by your hardware
// turn on motors
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
// accelerate from zero to maximum speed
for (int i = 0; i < 256; i++)
{
analogWrite(enA, i);
analogWrite(enB, i);
delay(20);
}
// decelerate from maximum speed to zero
for (int i = 255; i >= 0; --i)
{
analogWrite(enA, i);
analogWrite(enB, i);
delay(20);
}
// now turn off motors
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
digitalWrite(in3, LOW);
digitalWrite(in4, LOW);
}
void loop()
{
demoOne();
delay(1000);
demoTwo();
delay(1000);
}

Mais il me semble devoir refaire le câblage du module L298N sur la carte Arduino car j'ai le sentiment que le programme et le tuto me parlent d'un brochage différent :

Si Artouste est encore là peux-tu valider stp le nouveau câblage en fonction du programme ci-dessus ?

Connexion du module de puissance L298N.

  • sorties OUT1 et OUT2 sur moteur gauche

  • sorties OUT3 et OUT4 sur moteur droit

  • GND sur GND de la carte Uno et Borne - de l'alimentation électrique

  • VCC sur Borne + de l'alimentation électrique
    (Alimentation du module de puissance par pile 9V embarquée)

  • IN1 sur borne 9 de la carte Uno

  • IN2 sur borne 8 de la carte Uno

  • IN3 sur borne 7 de la carte Uno

  • IN4 sur borne 6 de la carte Uno

  • ENA sur borne 10 de la carte Uno

  • ENB sur borne 5 de la carte Uno

Je ne pouvais pas attendre votre validation. Vraiment désolé.

J'ai donc recâblé comme ci-dessus.
Puis fait un copier-coller du programme ci-dessus dans le logiciel Arduino 1.0.6
J'ai ensuite cliqué sur l'onglet vérifier du logiciel Arduino. La compilation s'est avérée juste.
J'ai ensuite téléversé ce programme dans mon robot mobile.
J'ai ensuite débranché l'USB et alimenter via la pile 9V le robot mobile.

Et là, miracle de la technologie, le robot mobile s'est mis à tourner sur lui-même, d'abord à gauche, puis à droite, tout en gérant la variation de vitesse.

Conclusion :
Mon câblage est fonctionnel
Le module de puissance est fonctionnel.

Je me lance maintenant dans le bluetooth !!!

A l'aide.

J'arrive à apparier mon module HC06 à ma tablette sous windows8 et Android kitkat.

J'ai installé sur la tablette android plusieurs applications permettant de piloter en bluetooth un robot mobile arduino.

J'ai testé toutes les applications android et j'arrive avec chacune d'entre elles à me connecter en bluetooth.

Hors partout je vois que le module clignote rouge lorsqu'il cherche une connexion et la led devient ensuite verte fixe quand il est connecté. Mais moi ma LED devient fixe mais reste rouge.

Vos idées svp ?

A oui, j'ai aussi testé Putty selon un tuto trouvé sur internet.

prof41:
...

J'ai testé toutes les applications android et j'arrive avec chacune d'entre elles à me connecter en bluetooth.

Hors partout je vois que le module clignote rouge lorsqu'il cherche une connexion et la led devient ensuite verte fixe quand il est connecté. Mais moi ma LED devient fixe mais reste rouge.

bonsoir
jamais vu de module HC06 avec led rouge et verte
de memoire , je n'en ai pas sous la main là mais c'est seulement une led rouge
au reset : clignotement rapide , une fois appairé led rouge fixe

Merci Artouste.

Ca confirme donc que mon module HC06 fonctionne puisque j'ai pu l'apparier sur 2 tablettes et deux smartphones.

Maintenant, il ne me reste plus que la programmation à faire et là ... C'est pour moi compliqué.

Un site à me proposer svp car je surf sur la toile depuis 14h sans succès.

D'avance Merci.

Fred