Le forum a migré vers l'adresse suivante:

Forum

Masquer ce message

Simple-Duino Forum Index



communication entre deux cartes arduino


 
Post new topic   Reply to topic    Simple-Duino Forum Index -> Arduino & Électronique -> Questions
Previous topic :: Next topic  
Author Message
Tachro52
Débutant

Offline

Joined: 30 Nov 2013
Posts: 100
Masculin
Niveau d'éléctronique: Intermédiaire

PostPosted: Sat 25 Jan - 16:18 (2014)    Post subject: communication entre deux cartes arduino Reply with quote

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 !!!
Back to top
Admin
Fondateur

Offline

Joined: 12 Apr 2012
Posts: 860
Masculin
Niveau d'éléctronique: Pro

PostPosted: Sat 25 Jan - 19:17 (2014)    Post subject: communication entre deux cartes arduino Reply with quote

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
Back to top
Tachro52
Débutant

Offline

Joined: 30 Nov 2013
Posts: 100
Masculin
Niveau d'éléctronique: Intermédiaire

PostPosted: Sat 25 Jan - 19:41 (2014)    Post subject: communication entre deux cartes arduino Reply with quote

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 !
Back to top
Tachro52
Débutant

Offline

Joined: 30 Nov 2013
Posts: 100
Masculin
Niveau d'éléctronique: Intermédiaire

PostPosted: Sat 25 Jan - 23:37 (2014)    Post subject: communication entre deux cartes arduino Reply with quote

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();
 }
 
}
Back to top
Admin
Fondateur

Offline

Joined: 12 Apr 2012
Posts: 860
Masculin
Niveau d'éléctronique: Pro

PostPosted: Sun 26 Jan - 09:32 (2014)    Post subject: communication entre deux cartes arduino Reply with quote

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
Back to top
Tachro52
Débutant

Offline

Joined: 30 Nov 2013
Posts: 100
Masculin
Niveau d'éléctronique: Intermédiaire

PostPosted: Sun 26 Jan - 10:29 (2014)    Post subject: communication entre deux cartes arduino Reply with quote

é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
Back to top
Admin
Fondateur

Offline

Joined: 12 Apr 2012
Posts: 860
Masculin
Niveau d'éléctronique: Pro

PostPosted: Sun 26 Jan - 11:30 (2014)    Post subject: communication entre deux cartes arduino Reply with quote

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

Offline

Joined: 30 Nov 2013
Posts: 100
Masculin
Niveau d'éléctronique: Intermédiaire

PostPosted: Sun 26 Jan - 12:32 (2014)    Post subject: communication entre deux cartes arduino Reply with quote

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
Back to top
Admin
Fondateur

Offline

Joined: 12 Apr 2012
Posts: 860
Masculin
Niveau d'éléctronique: Pro

PostPosted: Sun 26 Jan - 13:34 (2014)    Post subject: communication entre deux cartes arduino Reply with quote

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
Back to top
Display posts from previous:   
Post new topic   Reply to topic    Simple-Duino Forum Index -> Arduino & Électronique -> Questions All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  

Index | Xooit.com free forum | Free support forum | Free forums directory | Report a violation | Cookies | Charte | Conditions générales d'utilisation
Powered by phpBB
Propulsé par Simple-Duino