Arduino

Plus d'informations
il y a 2 semaines 2 jours - il y a 2 semaines 2 jours #91 par Mr_Toupie
Réponse de Mr_Toupie sur le sujet Arduino
Bon, je t'ai écrit ça ce matin. J'avoue ne pas l'avoir encore testé moi-même mais la logique me semble bonne donc ça devait fonctionner.

Pour tester, branche :
- 5v du Arduino à la pin 3 de ton encodeur
- GND du Arduino à la pin 4 de ton encodeur
- Pin 5 du Arduino à la pin 5 de ton encodeur
- Pin 6 du Arduino à la pin 6 de ton encodeur

Tu peux utiliser les pins de Arduino autres que 5 et 6 si tu veux en autant que ce soit des pins digitales et non pas analogiques. C'est selon ce qu'il y a de disponible pour toi.

Pour le moteur lui même (pins 1 et 2 de ton encodeur), je suggère fortement d'utiliser une source de voltage extérieure entre 2 et 9 volts pour ne pas tirer trop de courant de ton Arduino).

Comme c'est un moteur DC, tu pourras même inverser le + et le - (pins 1 et 2 de ton encodeur) pour renverser la direction de l'encodage.

La fenêtre "Moniteur Série" de l'environement Arduino t'affichera la direction et la valeur.
Note :  La valeur va monter ou descendre très vite car le moteur DC va tourner vite.
Note 2 : Tu peux aussi tourner la roulette de l'encodeur à la main sans applique de voltage au moteur DC pour voir mieux les changements de direction et des valeurs.


Voici le code:

//
//
// Début du code //
//
//
 // Pins pour Encodeur
 #define SignalA 5
 #define SignalB 6
  
 int compteur = 0; 
 int EtatCourantB;
 int EtatPrecedentB; 

 String dir ="";


 void setup() { 
   // Vitesse du moniteur de port série
   Serial.begin (9600);
 
   // Définir les pins A et B de l'encodeur comme étant des entrées
   pinMode (SignalB, INPUT);
   pinMode (SignalA, INPUT);
   
   // Lire l'état initial de SignalA et l'assigner à la variable EtatPrecedentB
   EtatPrecedentB = digitalRead(SignalA);
 } 

 void loop() { 
  // Lire l'état actuel de SignalB
   EtatCourantB = digitalRead(SignalB);
    
   // Si l'état précédent et l'actuel de SignalB sont différents, une pulsation s'est produite
   if (EtatCourantB != EtatPrecedentB){ 
     // Si l'état SignalA est différent de SigalB, l'encodeur a une rotation dans le sens contraire des aiguilles d'une horloge
     if (digitalRead(SignalA) != EtatCourantB) { 
       compteur --;
       dir ="CCW";  //Sens contraire des aiguilles d'une montre (Counter Clockwise)
     } else {
       // l'encodeur a une rotation dans le sens des aiguilles d'une horloge
       compteur ++;
       dir ="CW";   //Sens des aiguilles d'une montre (Clockwise)
     }
     Serial.print("Direction : ");
     Serial.print(dir);
     Serial.print(" -- Valeur : ");
     Serial.println(compteur);
   } 
   // Mettre à jour EtatPrecedentB avec l'état actuel
   EtatPrecedentB = EtatCourantB; 
 }
//
//
// Fin du code //
//
//
 
Dernière édition: il y a 2 semaines 2 jours par Mr_Toupie.
Les utilisateur(s) suivant ont remercié: Ephefrere

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 2 semaines 1 jour #92 par Mr_Toupie
Réponse de Mr_Toupie sur le sujet Arduino
Je viens de tester le code de mon dernier message et c'est fonctionnel.
Les utilisateur(s) suivant ont remercié: Ephefrere

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 1 semaine 6 jours #93 par Ephefrere
Réponse de Ephefrere sur le sujet Arduino
Un gros milles merci :)

Ce soir ou demain, je continu ma formation en autodidacte et ce sera essentiellement sur ce moteur avec l'espèce d'encodeur et toutes la bonne informations et temps que tu m'a donner, c'est très précieux pour moi :)

Merci encore :)
 

Un arbre tordu vit sa vie, un arbre droit finit en planche…

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 1 semaine 5 jours #94 par Ephefrere
Réponse de Ephefrere sur le sujet Arduino
J'ai perdu ma soirée à me faire un connecteur pour les 4 branchements mais ça pas trop marcher car trop vite fait et c'est vraiment très petit pour pas dire miniature hi hi hi mais ça devrai marcher ce soir  avec une nouvelle approche plus "brutal" pour le connecteur femelle 

Le programme c'est bien charger par contre j'essai de mieux comprendre la logique

ici un dessin de ce que j'en comprend quand on regarde l'émetteur et le récepteur
 

sans avoir fait des essais j'imagine que
Quand le récepteur reçoit la lumière la pin 5 est à 0V et la pin 6 à 5V (ou l'inverse)

et quand la trame cache la lumière alors c'est l'inverse la pin 5 est à 5V et la pin 6 à 0V


ou bedon il y a quelque choses qui m'échappe quand la compréhension de l'émetteur/récepteur

Ce soir les essais devrai m'éclairer un peut plus et me permettre aussi de mieux comprendre la logique de ton programme

on avance tranquillement mais on avance :)

Un arbre tordu vit sa vie, un arbre droit finit en planche…

Pièces jointes :

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 1 semaine 5 jours #95 par Mr_Toupie
Réponse de Mr_Toupie sur le sujet Arduino

Le programme c'est bien charger par contre j'essai de mieux comprendre la logique

 


J'espère que tu prends pas les bouchées trop grosses pour débuter ...

Si on veux juste un compte tour dans une seule direction, alors là un seul "récepteur" suffit et le logiciel compte les "pulses" à chaque intervales de temps ce qui peux donner un "RPM" ou tours par minutes. 

Selon ce que j'ai vu de tes images, ton encodeur a deux "récepteurs"  ce qui te permet de lire les pulses légèrement décalées l'une de l'autre et ainsi déterminer la direction de la rotation (sens horaire ou sens anti-horaire) en plus de compter ces pulses.

Voici un lien vers un PDF où le fonctionnement y est expliqué (page 2) :

tsmi10.free.fr/autom1/Cours%20Les%20Code...fs%20Industriels.pdf

 

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 1 semaine 5 jours #96 par Mr_Toupie
Réponse de Mr_Toupie sur le sujet Arduino

J'ai perdu ma soirée à me faire un connecteur pour les 4 branchements mais ça pas trop marcher car trop vite fait ...


Ça serait peut-être plus simple de désouder le connecteur actuel et le remplacer par des fils ou un autre type de connecteur plus simple à utiliser...

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 1 semaine 5 jours #97 par Ephefrere
Réponse de Ephefrere sur le sujet Arduino
J'avais vraiment pas saisi qu'il y avait deux récepteur dans le même capteur ... alors ça fait bien du sens ton programme :)

Du coté programmation ça vas assez relativement bien  j'essai de finaliser un petit programme qui permet de vérifier les reflex et le jugement

Deux lumières "led" cote à cote  dont la luminosité est varier inversement et quand elle deviennent de même intensité selon notre perception visuel on appuis sur un bouton et on affiche si on a appuyé avant ou après la coïncidence lumineuse etc.

Pour souder les fils pour le moment le fer à souder est beaucoup trop gros en puissance mais d'ici quelque jours un nouveau vas faire son entré dans l'espace de travail :)

Merci encore Mr Toupie c'est apprécier vos commentaires et connaissances :)

 

Un arbre tordu vit sa vie, un arbre droit finit en planche…

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 4 jours 20 heures #98 par Ephefrere
Réponse de Ephefrere sur le sujet Arduino
Reçu mon petit fer à souder ainsi qu'une pompe a vide et me suis amuser cette après midi a défaire et a remonter sur un vieux circuite électronique d'une impriment défectueuse

La chu pas mal prêt pour attaquer le petit moteur ha ha ha

Petite vidéo qui m'a fortement aider dans la compréhension pour dessouder et souder sur un bord électronique 
Souder des composants électroniques


Et le truc du nettoyage avec le doigt ça marche et sa brule aussi 

Un arbre tordu vit sa vie, un arbre droit finit en planche…

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 4 jours 17 heures #99 par Bricoleur22
Réponse de Bricoleur22 sur le sujet Arduino
Te sachant débrouillard ça ne m'inquiète pas... je suis certains que tu vas y arriver !

Chez moi j'ai une caisse de vieux Board de toute sorte ... quand je suis mal pris j'y récupère des composantes... ça m'évite de faire 35km allé et 35 km retour en voiture pour aller acheter un gugus a 1$.

Le problème a propos de ces Boards est que souvent les soudures sont fait d'un alliage qui nécessite plus de chaleur.

Pour les composantes les plus fréquemment utilisées, tu peux acheter des KIT de 400 résistances ou de 100 condensateurs de différentes valeurs, ça coute moins de 5$ et ça dépanne très souvent...

Pour la soudure, je me suis procuré un poste de soudure à température ajustable pour 35$ dont le thermocouple et l'élément chauffant sont situés dans le bout de la pointe (et non pas dans le manche)... Alors aussitôt que la pointe touche a une composante froide, le thermocouple détecte immédiatement la baisse de température de la pointe et se ré-ajuste aussitôt la température de la pointe. Ainsi quand tu ajuste ton fer a 300, la pointe sera toujours a 300. Ce que j'aime bien aussi pour ce genre de fer, c'est qu'en 30 secondes le fer peut atteindre 450C

Comme ce genre de pointe qui nécéssite un poste prévu pour ce genre de pointe:



Bonne chance !


 
Les utilisateur(s) suivant ont remercié: Ephefrere

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 4 jours 8 heures #100 par Ephefrere
Réponse de Ephefrere sur le sujet Arduino
Pour le moment la récup de composante électronique n'est pas encore devenu un besoin, chu encore dans le bas de la courbe d'apprentissage mais j'avance  et j'essai de comprendre ce que je rencontre dans mon cheminement

Vraiment intéressant ton fer à souder :) 

Un arbre tordu vit sa vie, un arbre droit finit en planche…

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 4 jours 5 heures - il y a 4 jours 5 heures #101 par Bricoleur22
Réponse de Bricoleur22 sur le sujet Arduino

Vraiment intéressant ton fer à souder :)


 

J'ai acheté celui-ci il y a 4 ans a 30$, il y a beaucoup d'équivalent et mieux que le mien  :
www.amazon.ca/gp/product/B01DSB2A96
 

 
Pièces jointes :
Dernière édition: il y a 4 jours 5 heures par Bricoleur22.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 4 jours 5 heures #102 par Bricoleur22
Réponse de Bricoleur22 sur le sujet Arduino
Le voici en déballage en vidéo :

Connexion ou Créer un compte pour participer à la conversation.