Programming Editor Xbee et Picaxe 18M2

Leena

New Member
Bonjour, nous sommes des lycéenes en terminal S, avec option SI, et donc, nous avons un projet à faire avant la fin d'année.
Nous avons choisi un robot spatial, tel Curiosity envoyé sur Mars. Pour la communication Terre-Mars, il nous fallait un module de commande à distance : le module Xbee.
Seulement nous avons un problème au niveau de la programmation : l'information traité par le Picaxe est transmis au premier XBee, ce dernier doit l'envoyer au deuxième qui le transmettrait au second Picaxe. Mais c'est l'envoi ou la réception de donner qui pose problème.
Avec Programming Editor, nous avons crée nos programmes en Flochart, impossible de trouver la commande appelé "Serin" dans certaines docs qui est censée permettre au Picaxe de récupéré les données du second (ex: température ou humidité).
Il est possible de transformer le Flowchart en basic, mais là encore, le transfert ne se fait pas.

Tous les test ont été effectué entre les Picaxe et les XBee : ils fonctionnent.

Merci de nous aider, nous sommes vraiment bloquées là dessus.

Gaelle et Mylène
 

fuse

Senior Member
Bonjour Leena,
Avec Programming Editor en mode flowchart, la commande Serin est accessible en utilisant une commande BASIC (c'est un carré avec 3 points dedans menu Out ou Other).
Remarque : le fait de transformer un programme Flowchart en Basic ne provoque pas le transfert vers le Picaxe... Il est nécessaire de cliquer sur Program pour transférer le programme (qu'il soit Basic ou Flowchart...)
Je recherche un tutoriel sur la liaison sérielle que je proposerais dès que possible...
Pour plus de précisions merci de fournir le schéma du montage (Xbee + Picaxe avec les liaisons)
Cordialement
 

fuse

Senior Member
Voici le petit tuto sur la liaison série. Tutoriel

Attention :
- le dossier n'est disponible que quelques jours....
- élaboré à partir du 28X1, les commandes serin ou serout doivent être modifiées pour la série M2.
par exemple serin 6,N2400,b0 (en 28X1) doit s'écrire serin C.6,N2400,b0 (si vous utilisez la broche C.6) idem pour serout.
 

Leena

New Member
On ne peut pas mettre de "." dans les commandes donc on ne peut pas écrire "C.6" et le problème que nous rencontrons est que nous n'utilisons pas un terminal.
Nous avons essayé avec les commandes BASIC mais cela ne fonctionne pas, je peux vous envoyer les programmes si vous le souhaitez.
En tout cas merci beaucoup pour la réponse
 

fuse

Senior Member
Bonjour Leena,

Pas très pratique mais l'utilisation d'un copier-coller permet de ''forcer'' l'écriture dans Programming Editor. (Pour cela ouvrir le bloc-note et écrire la commande).
Concernant l'utilisation du terminal de Programming Editor, il permet seulement de tester l'envoi ou la réception d'une commande, cela m'a été très utile pour ''débugger'' et comprendre les commandes de liaison série.....
Bien sur, le terminal n'est pas utile pour l'envoi et la réception de données avec les modules Xbee puisque tout passe par les Picaxe....

Pour tester les modules Xbee et les Picaxes voila ce que je ferais :
Un picaxe en émission envoyant une donnée incrémentée toutes les secondes.
Un picaxe en réception avec un module LCD pour vérifier la lecture de l'information reçue
Cela permettra de vérifier la chaine d'émission/réception si tout est OK , il sera possible d'envisager un programme plus complexe.
 

PieM

Senior Member
Bonjour et bienvenue aux martiennes ... :)

Je rebondis un peu sur la demande de Fuse: Donnez le schéma de connexion (simplifié) de vos picaxes/XBee, et surtout vos deux programmes. Cela permet d'être plus précis dans nos réponses...
Faute de module LCD, sur le Picaxe en réception, il est possible de le laisser connecté sur le PC et d'utiliser l'instruction SERTXD .
 

Leena

New Member
Bonjour, merci pour vos réponses et désolées de ne pas avoir pu vous répondre plus tôt.
Pour Fuse : lorsqu'on force le point, le logiciel efface toute ce qui se trouve après ce dernier, il ne reste donc que serin C (par exemple)
Pour la vérification de l'échange de donnée, nous avons fait de picaxe à PC à l'aide d'un chronomètre (programme déjà fait), cela marche, mais comme elle ne nécessite pas de serin, cela ne nous aide pas.
Le problème étant l'envoi de picaxe à picaxe, nous le testons avec un programme simple d'allumage de LED (ci joint), mais aucun résultat malgré tous les essais.

Pour les schémas, nous avons demandé ce qu'il en était à notre professeur d'elec, en espérant qu'il ai raison, les voici.
View attachment 14116View attachment 14117

Gaelle et Mylène
 

Leena

New Member
Et ici les programmes en images, pour les avoir en .cad, demandez les avec un mail car il est impossible de les envoyer sur le forum (ou alors on a pas trouvé !).
Envoi prog LED envoi.JPG
Reçoit prog LED recoit.JPG
 

BESQUEUT

Senior Member
Pour les schémas, nous avons demandé ce qu'il en était à notre professeur d'elec, en espérant qu'il ai raison, les voici.
View attachment 14116View attachment 14117

Gaelle et Mylène
Il semble que ces attachements soient invalides.
Vous pouvez poster le code basic directement en l'entourant par des balises
Code:
 votre programme [ / CODE]
Pour l'envoi, je suggère que vous alterniez des états hauts et bas de façon à avoir quelque chose qui change à chaque envoi de message.
Par exemple : 
let b1=1-b1
 

fuse

Senior Member
Bonjour,
Le copier-coller de la commande Basic doit s'effectuer sur l'ensemble de la commande (par exemple :copier serin C.7,N2400,b0 puis coller le tout dans la fenêtre BASIC en bas du logiciel).
Sinon, il reste possible de dessiner le programme et de le convertir en BASIC puis de modifier la ligne correspondante à serin. Des manipulations mais cela permettra de tester votre réalisation.
En tout cas la commande serin ou serout 7,N2400,b0 ne fonctionnera pas.... Il faut le C.7
 

Leena

New Member
Nous allons tester très prochainement les états hauts et bas je vous envoirais le code en basics en même temps (je ne peux pas le faire immédiatement)
le problème est que le serout est pré fait dans le logiciel et on ne peut pas mettre un C devant nous avons donc essayer en l'écrivant en basic et cela ne fonctionne pas le programme ne comprends pas l'écriture
une question pourquoi C ? est-ce juste un exemple ou y a t'il une raison ?
 
Last edited:

PieM

Senior Member
Nous allons tester très prochainement les états hauts et bas je vous envoirais le code en basics en même temps (je ne peux pas le faire immédiatement)
le problème est que le serout est pré fait dans le logiciel et on ne peut pas mettre un C devant nous avons donc essayer en l'écrivant en basic et cela ne fonctionne pas le programme ne comprends pas l'écriture
une question pourquoi C ? est-ce juste un exemple ou y a t'il une raison ?
Sur un 18M2 il y a deux ports d'entrées sorties: B et C.
Les broche sont définies en entrée ou en sortie par le soft. Contrairement aux "anciens" picaxe ou entrée et sortie étaient figées. 7 ne correspondait donc qu'à une broche si c'était une sortie.

Ici sur un 18M2 in faut non seulement donner le numéro de broche mais également le port auquel elle appartient. d'où le C.7 préconisé par Fuse. ne pas oublier le point entre C et 7 !

Nota: toutefois par défaut, il semble que si on indique uniquement le numéro , sans préciser le port, le 7 en sortie est lié au port B alors que le 7 en entrée est lié au port C.

Donc la première chose à vérifier avec votre programme d'origine, est que le XBee émission est bien reliée à la broche B.7 (N° 16) et que le XBee réception est bien relié sur l'autre picaxe à la broche C.7 (N°13)
 
Last edited:
Top