J’ai eu du mal à recevoir des messages entre le Basic Stamp 2(BS2) et le 1(BS1) Basic Stamp. La BS2 est environ quatre fois plus rapide que le BS1. Le BS1 enferme attend le message de BS2. Le BS1 ne voit pas le message de BS2 dans la fenêtre de millisecond(ms) 200, qu'il doit vérifier pour un message. C’est exactement pourquoi il y a tant de lignes de contrôle de flux laissé dans un connecteurs série standard. Machines plus lentes ne peut pas voir ceux plus rapide. J’ai eu besoin de contrôle de flux, mais je ne voulais pas utiliser un autre port pour elle. J’ai une formation électronique alors j’ai regardé à la Rx et Tx comme ports non seulement comme ports série.
Contrôle de flux de Steve utilise le port de Tx dans le contrôle de flux. Vous détenez vos ports Tx élevés avec une résistance de 47K à la DMV et dans votre code. Vous surveiller votre port Rx pour détecter quand quelqu'un plus bas son port Tx. Lorsque vous souhaitez envoyer un message, que vous apportez votre Tx, port bas et puis vous attendez jusqu'à ce que le récepteur inférieur son port Tx et ensuite vous envoyez votre message. Le récepteur doit rester dans une boucle serrée, attend le message. Après le message, les deux systèmes soulèvent leur port Tx haute et retour à l’attente.
Pour les systèmes plus lents et les BS1 j’ai abaisser port Tx de mon BS2 (Master) et pause environ 80 ms et ensuite de transmettre mon message. Le BS1 cherche un peu sur son port Rx et fait une pause de 1 ms et ouvre SerIn pour un message de deux octets. Le premier octet correspond à l’adresse et le deuxième octet est les lumières. Si l’adresse n’est pas correcte le BS1 ignore le message et remonte à l’attente. Le BS1 est trop lent pour la poignée de main pleine. Il fonctionne parfaitement avec le bon timing.
Je peux envoyer un message à la BS1 dans chaque dix boucles du code de mon BS2. Je suis sous EasyLights dans mon BS2 et envoie l’octet de lumières à la BS1 qui n’a que doLights et checkLights et une boucle de message. Voir mon article EasyLights.
Je ne pouvais pas le BS1 pour envoyer un message correct de deux octets. Le premier octet est brouillé et je ne sais pas pourquoi. Le BS1 impossible d’utiliser mes deux octets standard de messagerie (adresse, données) alors j’utilise un canal série distinct de traiter ce type d’esclave. Le BS1 abaisser son port Tx et attend jusqu'à ce que le capitaine abaisser son esclave port Tx et le BS1 envoie alors un message d’un octet contenant les indicateurs de touche au maître. Ils ont tous deux soulèvent leurs ports Tx hautes et retour vers l’attente.
Travail avec le BS1 j’ai décidé de les rendre sondés esclaves. J’ai simplement maintenir en vie en leur envoyant constamment des messages. Ils font tous leur travaux à l’intérieur de la boucle de leurs messages. Il n’y a pas de place pour beaucoup d’autres choses. Ils ont juste rester là et attendent un message donc leurs boutons et voyants sont en effet morts. Les sondages entretient leurs boutons et voyants.
Comme j’ai faire bouger les choses je vais télécharger une autre partie de cet article interactif.
La planification est la première chose que vous devez faire pour créer une machine interactive. J’ai écrit ce document en premier et il utilisé pour programmer mon processeurs. Étant donné que nous avons besoin de communication série, nous voyons que chaque processeur dispose pour ses fonctions séries SerIn et SerOut.
Arduino Uno série complet qualificatifs 9600
Série complète PicAxe 28 x 2 qualificatifs 9600
Basic Stamp 2(BS2) qualificatifs complet série 9600
Basic Stamp 1(BS1) série partielle en éliminatoires seulement de 2400
Série complète signifie Serial dans et hors norme. Je n’utilise pas quoi que ce soit compliqué.
Qualificatifs permettent de traiter des processeurs. Des appareils comme la série e-proms ont des adresses physiques. Qualificateurs attendent la clé correcte avant de continuer avec le message et sur certains systèmes, cela peut déclencher une erreur qui donne le coup dans le message. Qualificatifs vous permettent d’avoir plusieurs maîtres et des centaines d’esclaves. Sur les systèmes comme le BS1 sont trop lents pour autre chose que de l’adresse de base de deux octets, message de données. Vous pouvez toujours faire beaucoup avec ce simple formulaire de messagerie.
Rate(9600) Baud est la vitesse du flux de données entre les périphériques. Processeurs comme le Basic Stamp 1 ne peuvent aller à 2400, vous devez utiliser cette vitesse avec eux.
Celui qui transmet tout d’abord est le maître, les autres sont reçoit. Un seul maître est le meilleur, mais plus les maîtres sont mieux. Qualificatifs et adresses vous permettent de faire cela.
Dans mon système mon Arduino Uno est Master 1 et mon Picaxe 28 x 2 est le Master 2. Le BS2s peut être de bons maîtres pour les lumières et les boutons, mais ils sont maître/esclaves ici.
J’ai mon Arduino Uno relié par le câble de programmation pour mon PC. J’utilise le terminal de débogage pour surveiller et contrôler les autres processeurs via juste Rx et Tx et le sol. Un moyen très simple de créer une machine interactive.
Cet article est de plus en plus.
L’adresse est un number(qualifier) que vous avez configuré pour chaque processeur et le périphérique que vous avez. Mon adresse est qu'un octet formaté comme ce Type (Bits 7-6), nombre de Bits (5-0). Qualificatif ou adresse est le premier octet vous envoyez vers un autre processeur ou dispositif pour ouvrir un message avec elle. Tous les messages de résilier totalement après l’envoi du dernier octet. Pour envoyer plusieurs octets à un récepteur vous envoyer une commande qui lui indique que plus d’octets sont à venir. Timbres de base proviennent de Parallax.com.
Tapez Master(128), Master/Slave(64), Device(192), Slave(0)
Numéro 0 – 63 Bits 5-0
Arduino Uno 128 Master(128) + 0 Makezine.com/Store
PicAxe 28 x 65 2 Master/Slave(64) + 1 LetsMakeRobots.com
BS2 PJ1 Master/Slave(64) 66 + 2 Basic Stamp 2 projet Conseil
BS2 SC1 Master/Slave(64) 67 + 3 Basic Stamp 2 Super transporteur
BS1 PJ1 Slave(0) 4 + 4 Basic Stamp 1 projet plateau
BS1 5 Slave(0) + 5 Basic Stamp 1
Les connexions sont TX(transmit data), RX(receive data) et au sol. Si vous mettez votre esclave de votre processeur que vous avez besoin de puissance trop. La plupart des connexions série besoin également tirer vers le haut de résistances sur TX et RX d’au moins 20K. Habituellement ses 40K. Consultez votre manuel pour votre processeur. Tous mes tableaux sont de 5 volts. Dans mon système maître/esclaves comme la BS2 a utiliser un autre canal série pour exécuter BS1 esclaves. Cela permet de maintenir le principal canal série propre.
Vos câbles doivent être torsadées environ deux vrilles par pouce. Si vous allez plus que d’environ dix pieds utilisation blindé câbles en paire torsadée. Évitez de puissance/rallonges électriques, transformateurs, moteurs et autres choses électriques. Les données sont asynchrones c'est-à-dire il a une horloge interne et qui le rend plus sensible au bruit d’aucune sorte. Ayant une bonne alimentation et beaucoup de gros condensateurs aide beaucoup.
RX(SerIn) et Tx(SerOut) sont les ports que vous choisissez sur votre cartes processeurs :
Master Flow Slave * PC mon câble
RX <<< résistance Tx 22k TD noir
TX >>> résistance Rx 22k RD blanc
Ground G G Green
Power V+ X Brown
J’ai garder la plupart de mes câbles droites Tx---Tx selon mon maître. Cela empêche toute confusion breadboards et cartes processeurs. Pour les connexions aux ordinateurs et les choses, vous vous connectez Rx et Tx pour le bon code pin/connecteur et fil qu’ils appartiennent à ce système.
* Utilisations de série PC inversé protocole dans la plupart des cas.
Démarrer et arrêter bits se référer à leur position de bit dans le flux de série comme indicateurs de message et le contrôle.
Une clé à une machine est un octet d’État ou un mot qui obtient tout le monde parle sur la même page. J’utilise un octet. Statut peut être le premier octet envoyé après l’adresse. Statut peut être également des commandes de base dans l’autre processeur ou périphérique. Cela facilite les messages standard deux octets.
Statut sur dos envoyés
Bit0 OK Busy D1
Message de Bit1 fait D2
BIT2 attente exécutant D3
Bit3 Mode Stay D4
Bit4 Data none D5
Bit5 Reset D6
Bit6 Cmd1 More
Bit7 Cmd2 Done
Organisation est la première étape vers une machine de travail. Travail avec des morceaux est quels processeurs font tout le temps. Nous avons besoin d’aide avec des morceaux. Vous utilisez les opérateurs logiques et, ou et Maj pour travailler avec des morceaux. Tout ce qui dépasse 63 est un maître. Tout d’abord enregistrer l’octet, puis le quart-droite 6 bits pour le Type. Enregistrer l’adresse par adresse = Anding il % 00111111.
Type = adresse >> 6 adresse = adresse et % 00111111
Tout laïc de ces constantes au début de chaque programme. Maintenir le tout mis à jour et vous obtiendrez une machine de travail. Mauvaise programmation série vous ne montre rien. Tout ce que l’étiquette afin que vous sachiez ce qu’il fait.