Le forum a migré vers l'adresse suivante:

Forum

Masquer ce message

Simple-Duino Index du Forum



communication entre deux cartes arduino


 
Poster un nouveau sujet   Répondre au sujet    Simple-Duino Index du Forum -> Arduino & Électronique -> Questions
Sujet précédent :: Sujet suivant  
Auteur Message
Tachro52
Débutant

Hors ligne

Inscrit le: 30 Nov 2013
Messages: 100
Masculin
Niveau d'éléctronique: Intermédiaire

MessagePosté le: Sam 25 Jan - 16:18 (2014)    Sujet du message: communication entre deux cartes arduino Répondre en citant

PublicitéSupprimer les publicités ?
Bonjour à tous !

J'arrive à un point d'un projet que je n'ai jamais essayé ..

La communication entre deux cartes.

Au début je comptais procéder de la sorte :

Envoyer depuis la carte UNO un rapport cyclique via un port PWM, et la recevoir sur une entrée Analog in sur la carte arduino MEGA.

Cependant dans le code de la carte UNO, lorsque j'introduit une écriture d'un signal PWM, ça me fait planter mon programme :
J'ai plusieurs servomoteurs qui indiquent une position selon une référence et des fonctions linéaires et affines, lorsque je passe en PWM, les calculs ne sont plus aussi souples, et les servomoteurs au lieu de monter progressivement, font des "bonds"

Je pense donc utiliser les bornes 0 et 1 des deux cartes pour faire de la communication série,

Mais je n'ai jamais mit les pieds là dedans !

J'ai une variable de type DOUBLE, qui va de 0 à 3.8, nommée référence.

j'ai UNIQUEMENT besoin d'envoyer cette valeur à la carte arduino Méga, qui devra la recevoir et l'exploiter (pour faire une décrémentation en fonction de la référence. à 0 pas de décrémentation à 3,8 Décrémentation rapide)

Merci d'avance !!!
Revenir en haut
Admin
Fondateur

Hors ligne

Inscrit le: 12 Avr 2012
Messages: 860
Masculin
Niveau d'éléctronique: Pro

MessagePosté le: Sam 25 Jan - 19:17 (2014)    Sujet du message: communication entre deux cartes arduino Répondre en citant

AHHHHHHH et voilà !!
Tu peux utiliser l'I2C, j'avais un beau tuto sur mon ancien PC mais bon...
Tu peux en retrouver un autre je pense mais l'I2C est plus pratique que la liaison série
____________________________
http://simple-duino.com
Revenir en haut
Tachro52
Débutant

Hors ligne

Inscrit le: 30 Nov 2013
Messages: 100
Masculin
Niveau d'éléctronique: Intermédiaire

MessagePosté le: Sam 25 Jan - 19:41 (2014)    Sujet du message: communication entre deux cartes arduino Répondre en citant

Google me dit que l'I2C ( que je connais absolument pas ) nécessite les pin 4 et 5 Analog...
J'ai une Arduino UNO complètement pleine... !
Les entrées analogiques ont été réquisitionnées pour augmenter le nombre d'entrées digitales !

Il me reste uniquement les pins 1 et 0 de la carte Neutral

A moins qu'on solutionne mon précédent post qui demandait comment, une bonne fois pour toutes, je pouvais utiliser les pin 0 et 1 et pin absolument normaux (entrées digitales) et non en communication, car même sans le serial.begin, le pin 1 n'écrit plus, mais le pin 0 cherche toujours à recevoir des infos !
Revenir en haut
Tachro52
Débutant

Hors ligne

Inscrit le: 30 Nov 2013
Messages: 100
Masculin
Niveau d'éléctronique: Intermédiaire

MessagePosté le: Sam 25 Jan - 23:37 (2014)    Sujet du message: communication entre deux cartes arduino Répondre en citant

EDIT :

J'ai plus ou moins réussi à communiquer via le port Série, ça fait un moment que j'éssais !

Alors, je reçoit bien ma valeur de 0 à 180 dans le moniteur série

PAR CONTRE : je dois utiliser cette valeur comme plage de régression linéaire :

La valeur lue nommée carlu de 0 à 180 (dans variable char) doit être utilisée dans le calcul suivant :

regression = ((-6,1*carlu)+1500)

Ensuite mon programme utilise régression pour faire admettons clignoter une LED à une fréquence variable : Plus la valeur lue est élevée, plus la fréquence sera élevée ..

MAIS :

Rien n'est calculé comme il se doit, je reçoit bien la bonne valeur (elle est renvoyée dans le port série et je la relis sur le moniteur sans soucis )
Par contre j'ai l'impression qu'elle n'est pas comprise par le programme et donc tous les calculs sont faux !

Voici le code :

Code:
int reference;
int regression;

boolean asservissement;
boolean brigitte;

unsigned long temps666;


void setup()
{
}


void loop()
{
 char carlu = 0; //variable contenant le caractère à lire
 int cardispo = 0; //variable contenant le nombre de caractère disponibles dans le buffer
 
 cardispo = Serial.available();

 while(cardispo > 0) //tant qu'il y a des caractères à lire
 {
  carlu = Serial.read(); //on lit le caractère
  Serial.print(carlu); //puis on le renvoi à l’expéditeur tel quel
  cardispo = Serial.available(); //on relit le nombre de caractères dispo
 }
 
 reference = carlu;
 regression = ((-6.11*reference)+1500); // Fonction qui me fait une régression toutes les 400ms pour carlu = 180 et 1500ms pour carlu = 0
 
 if(reference > 30)
 {
   
 if((millis()-temps666)>regression)
 {
   asservissement = 1;
   temps666 = millis();
   brigitte = 1;
 }
 
 }
 
 else
 {
   temps666 = millis();
 }
 
}
Revenir en haut
Admin
Fondateur

Hors ligne

Inscrit le: 12 Avr 2012
Messages: 860
Masculin
Niveau d'éléctronique: Pro

MessagePosté le: Dim 26 Jan - 09:32 (2014)    Sujet du message: communication entre deux cartes arduino Répondre en citant

mais normalement si tu fais pas de Serial.begin et que tu ne fais aucun appel à des fonctions Serial mais que tu déclares Pin 1 et 0 en OUTPUT alors ça marche.
____________________________
http://simple-duino.com
Revenir en haut
Tachro52
Débutant

Hors ligne

Inscrit le: 30 Nov 2013
Messages: 100
Masculin
Niveau d'éléctronique: Intermédiaire

MessagePosté le: Dim 26 Jan - 10:29 (2014)    Sujet du message: communication entre deux cartes arduino Répondre en citant

écoute j'ai changer tout le programme, pour ne pas lancer de Serial.Begin et essayer d'utiliser les port série en tant que pin digital.
ça a plus ou moins l'air de fonctionner, le problème, c'est que au lieu de commander les entrées là en +5V comme toutes les autres, elles ont l'air de fonctionner en 0V.... Etrange.

J'ai relié les pin A4 et A5 aux pins 20 et 21 de la méga à la Uno, j'ai cherché sur google des tutos, mais y'a rien de concret.. pffff

Je souhaite juste envoyer une simple petite variable grrr

Merci Okay
Revenir en haut
Admin
Fondateur

Hors ligne

Inscrit le: 12 Avr 2012
Messages: 860
Masculin
Niveau d'éléctronique: Pro

MessagePosté le: Dim 26 Jan - 11:30 (2014)    Sujet du message: communication entre deux cartes arduino Répondre en citant

Celui là est pas mal:
http://arduino103.blogspot.fr/2013/03/connecter-des-arduino-ensembles-un.html
____________________________
http://simple-duino.com
Revenir en haut
Tachro52
Débutant

Hors ligne

Inscrit le: 30 Nov 2013
Messages: 100
Masculin
Niveau d'éléctronique: Intermédiaire

MessagePosté le: Dim 26 Jan - 12:32 (2014)    Sujet du message: communication entre deux cartes arduino Répondre en citant

Je l'avais vu celui là, il m'a bien aidé à comprendre, mais je trouve nul part comment envoyer un message depuis le maître, et comment le recevoir sur l'esclave Rolling Eyes
Revenir en haut
Admin
Fondateur

Hors ligne

Inscrit le: 12 Avr 2012
Messages: 860
Masculin
Niveau d'éléctronique: Pro

MessagePosté le: Dim 26 Jan - 13:34 (2014)    Sujet du message: communication entre deux cartes arduino Répondre en citant

Mais si:
Tu as les scripts ici: https://github.com/mchobby/I2C_Intro
Ensuite soit ton maître envoie l'info, soit il la reçois (02_Master_Writer ou 01_Master Reader)
Dans ces dossiers, tu as le scripts pour le maître et le script pour l'esclave.
____________________________
http://simple-duino.com
Revenir en haut
Contenu Sponsorisé






MessagePosté le: Aujourd’hui à 19:43 (2017)    Sujet du message: communication entre deux cartes arduino

Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Simple-Duino Index du Forum -> Arduino & Électronique -> Questions Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  

Index | creer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Powered by phpBB
Propulsé par Simple-Duino