Bonjour,
Je suis arrivé à la conclusion que je dois utiliser mon module GPS et mon module OpenLog sur mon Hardware Serial, soit les pin 0 et 1 de mon Arduino Mini Pro.
J'ai plusieurs jours chercher à comprendre mon problème et après des testes, OpenLog fonctionne correctement sur le port Hardware.
Le GPS que j'utilise présentera la meme problématique.
L'idée serait d'utiliser un IC qui fait office de switch. Quand je mets un pin à HIGH il connect le GPS au Arduino, quand je mets cette meme pin à LOW, il connect mon OpenLOg.
Quand pensez-vous?
Comment feriez-vous?
J'aimerais encore préciser un truc. Si mon SIM900 n'a pas de réseau GSM, les positions GPS ne pourrons pas etre envoyées au server. C'est là qu'intervient la carte SD de l'OpenLog.
Le "IC swicth" va souvent permuter. Quand le GPS a une coordonée, il va la sauver dans un buffer, le "IC switch" va permuter, et les données du buffer vont être sauvées sur la carte SD, et le "IC switch" va repermuter pour que la prochaine coordonée puisse être traiter
Y a t-il une limitation a NE PAS utiliser le SOFTWARE SERIAL ?
Tu pourrais utiliser le HARDWARE et le SOFTWARE simultanément...
Sinon, pour commuter, si tu n'as pas de problèmes de consommation, un simple relais à 2 inverseurs fera l'affaire.
4 transistors MOSFET ou un circuit spécialisé le ferons aussi.
@Yan_duino
Alors parlons d'électronique :o), si tu veux bien un momenet. Je ne connais pas cet IC.
J'ai rapidement regardé la doc et si je comprend bien je dois faire comme ceci?
J'ai fait un petit dessin. Pourrais-tu me corriger? Schema du cd9066
On est aussi d'accord qu'il peut etre alimenter avec une batterie de 3.7V?
@Batto
Tu vuex dire SIM908? Le SIM908 n'est plus construit. Je travaillais avec celui-cui jusqu'a ce que j'aprenne ceci. Donc je suis revenu avec le SIM900 qui est en fait la base. Maintenant, si tu parle du SIM808. Je ne le connaissais pas. Mais ca me demanderait beaucoup de travailler de passer au SIm808 alors que je suis presqu'au bout, mais c'est intéressant de savoir qu'il y a le SIM808, au cas ou. Connais-tu la différence entre ls SIM908 et le SIM808?
Es-ce que le cd4053 ou le cd4052 ne pourrais pas aussi faire l'affaire?
Je ne suis pas sure de mon cablage, c'est la premiere fois que je vois ceci. http://www.hello-web.net/temp/cd4053.jpg (en haut c'est cd4052 et en bas c'est cd4053, si je ne me trompe pas)
Aussi selon le cd4052 (si c'est le bon)
si je me trompe pas, le controle se fait selon le tableau de la page 18, n'es-ce pas? http://www.ti.com/lit/ds/symlink/cd4051b.pdf
Je met un 0 et 0 sur A et B pour avoir le GPS et un 0 et 1 sur le A et B pour avoir l'OpenLog.
Salut tk5ep,
Ben ca fait deux jour que je troune sur ce probleme. C'est comme ceci que je le faisait initialement et je suis arrivé à la conviction qu'OpenLog fonctionne bien sur Hardware Serial. En revanche sur le Software il déconne après la lecture d'env 70 caracteres. En effet, je n'ai toujours pas compris pourquoi mais après avoir essayé sur une une platine d'essai spécialement pour comparer le comportement de l'OpenLog sur Hardware et le Soft.
De plus le GPS me retourne aussi plus de 200 caracteres, donc j'aurais le meme probleme quand il passera par le Software. En revanche il fonctionne très bien sur l'Hardware. Donc je prefere tourner sur une solution avec un cd4052/53 sur l'UART (0,1). Aussi l'avantage, c'est que le SIM900 sera toujours en communication avec le controller. En effet, il n'aura pas t'interruption, en passant d'un port Serie à un autre avec la fonction monport.listen();. Ainsi le controlleur pourra toujours gérer l'arriver des SMS et eventuellement un call.
Dans ce cas, tu peux utiliser un 4053 ou 4066. Il te faudra soit un inverseur logique externe ou pour l'éviter tu peux utiliser 2 pins de l'Arduino, un étant à 1 et l'autre à 0.
Pour le 4053 tu mets TX Arduino sur 4 , RX sur 15.
TX GPS sur 5, TX Openlog sur 3
RX GPS sur 2, RX Openlog sur 1
Tes 2 pins de commande sur 9 et 10. Un étant à 0 et l'autre à 1.
Je pense que ton problème en SOFT est un problème de vidage du buffer.. Il y a eu un post il a peu à ce sujet...
Je te remercie pour tes précisions.
Mais quel est la difference avec le 4052. Il ne peux pas faire l'affaire? J'ai l'impression qu'il est plus petit et suffisant
Alors mon dessin n'était pas si faut
et le INH, je le met à 0 aussi, non?
Excuse moi pour ma question stupide, mais le VDD c'est le 3,7V, le le Vss c'est la masse et qu'es-ce que je fais avec le Vee? Je le laisse ouvert?
Milles milles mercis pour tes lumières
Je pense que ton problème en SOFT est un problème de vidage du buffer.. Il y a eu un post il a peu à ce sujet...
Super!!
MERCI pour ces précisions. Je vais commander le 4053 demais je suis impatient d'essayer ceci.
Je vais rester sur le 4053 et peut etre que j'aurais une ou deux petites questions. Mais là, je pense que le prochaine étape c'est de mettre ceci en application
PS mon circuit fonction avec une Batterie Li 3.7V et il me semble avoir vu que va ne cause pas de problème au 4053
Hello,
Alors j'ai recu et j'ai fais les connections. Je me demande si je controlle bien le CD4053.
Voici mes connections http://www.hello-web.net/temp/cd4053.jpg
Ce que je n'arrive pas comprendre c'est comment je dois mettre B et C pour avoir soir l'Openlog ou le GPS connecté au Tx et Rx de L'arduino.
J'ai essayé de mettre
la sortie (pin de 8 de l'arduino => pin 9 de 4053) à LOW et
la sortie (pin de 9 de l'arduino => pin 10 de 4053) à LOW
en espérant avoir l'Openlog en action
puis
la sortie (pin de 8 de l'arduino => pin 9 de 4053) à LOW et
la sortie (pin de 9 de l'arduino => pin 10 de 4053) à HIGH
pour avoir le GPS
A la page 4 de la Datasheet, il ne mettre que deux possiblités.
Alors je doute.
Mais il me semble l'avoir fait?
Le seul truc que je n'ai pas fait c'est d'avoir mis la pin 11 du 4053 à la masse. Chose faite maintenant.
Mais es-ce que les pin 14, 12 , 13 doivent aussi être à la masse?
Avant même que tu me réponde, si 12, 13 sont des entrées, ben oui, mais la 14, dois-je la considérée aussi comme une entrée?
Sont considérés comme entrées, les pins d'entrée des inverseurs 4, 15, 14.
les pins de commandes de ces switchs, respectivement 9, 10, 11.
Les sorties de ces switchs sont respectivement 3, 5 et 2, 1 et 12, 13.
Si tu n'utilises pas le switch 14, 12, 13 il te faut alors mettre les pins 14 et 11 à la masse (ou au +)
12 et 13 sont des sorties à ne pas mettre à la masse !
Si la tension de commande sur la pin 9 est à 0, alors le switch laisse passer entre 4 et 5. Si la commande est à 1, alors le switch laisse passer entre 4 et 3.
Ca ne passera jamais entre les sorties 3 et 5.
Merci pour tes explications très clairs, mais ça ne marche toujours pas. J'ai pourtant vérifier mon câblage et mon code. Je vais encore regarder ça aujourd'hui hui a tête reposée.
Petite question, es-ce que je devrais utiliser une Zener et une résistance sur les Tx de mes deux module et mettre un pull up sur les Rx?
Regarde s'il n'y a pas d'inversion de fils... Les TX vont vers les RX, et inversement.
As-tu bien positionné les tensions de commande ? A savoir 1 (HIGH) sur une des 2 commande et 0 (LOW) sur l'autre. Il ne doit pas y avoir le même niveau sur les 2 sous peine de conflits !
Comment as-tu géré ça ?
Non, pas besoin de protection si toutes tes alimentations sont en 5V
Il te faut d'abord lever le doute sur la connexion DIRECTE entre ton Arduino et ton GPS seul par exemple. Repère bien les connexions TX Uno RX GPS, et RX Uno TX GPS.
Si tout fonctionne, tu passes à la phase suivante en testant le 4053. Pour cela il te faut un voltmètre. As-tu ça ?