Communication d’une WinForms à un TinyDuino (12 / 14 étapes)

Étape 12 : Envoyer le Message de série

Maintenant que nous avons le contrôle ComboBox rempli avec les ports série disponibles la prochaine étape pour obtenir notre programme parler à la Tinyduino sera d’ajouter une fonction qui envoie un message de série à la TinyDuino et met à jour les vitesses des deux moteurs. Notre protocole série est extensible, mais pour l’instant n’inclut que les trois octets. Le premier d'entre eux est un paquet d’informations sur le type de message que nous envoyons.

Première chose tout d’abord, définir une fonction vide appelée "UpdateMotors()" et d’inclure un octet constant appelé "messageType" comme ceci :

 void UpdateMotors() { //message type constant const byte messageType = 2; //read the sliders //motor 1 byte motorOneSpeed = (byte)tbMotorOne.Value; //motor 2 byte motorTwoSpeed = (byte)tbMotorTwo.Value; } 

Lorsque défini comme ce visual studio convertit le nombre int 2 implicitement à un octet.
Ensuite nous lire les valeurs de nos glisseurs et attribuez-les à leurs propres variables byte :

 void UpdateMotors() { //message type constant const byte messageType = 2; //read the sliders //motor 1 byte motorOneSpeed = (byte)tbMotorOne.Value; //motor 2 byte motorTwoSpeed = (byte)tbMotorTwo.Value; //create and fill a array of bytes as our message byte[] serialMessage = {messageType, motorOneSpeed, motorTwoSpeed}; //send Message serial.Write(serialMessage, 0, serialMessage.Length); } 

Lorsque définie comme suit cependant Visual Studio requiert un cast entre la valeur de retour de tbMotor.Value et d’un octet.
Maintenant, avec les trois octets créés nous remplir un tableau d’octets comme un tampon pour envoyer notre message et bien sûr, envoyer le message lui-même :

 private void OnComChange(object sender, EventArgs e) { if (serial != null && serial.IsOpen) { serial.Close(); } Port port = (Port)cbComPortChooser.SelectedItem; serial = new SerialPort(port.Name); serial.BaudRate = 9600; if (!serial.IsOpen) { serial.Open(); } } 

Avis de série. Write() ; prend trois arguments : le message lui-même comme un tableau d’octets et un entier représentant le premier octet à envoyer un deuxième int comme la taille de l’ensemble du message.

Articles Liés

Star Trek communicator d’une souris mis au rebut

Star Trek communicator d’une souris mis au rebut

Imaginez que vous puissiez, même comme un gamin, de construire votre propre transmetteur/récepteur Star Trek avec bip et de parler de retour fonctionnalité. Génial !Et en même temps vous recyclez le corps d'une souris d'ordinateur mis au rebut et app
Alimenté par une pile de Tinyduino LEGO GPS Logger DIY

Alimenté par une pile de Tinyduino LEGO GPS Logger DIY

Salut à tous:)Il nous est encore une fois. Et quand je veux dire « nous » - cela signifie moi et PS.Nous avons décidé de partager avec vous quelques-uns de nos projet récent qui nous y travaillons. Cela fait partie du projet que nous y travaillons, m
Communication série une particule Photon et Linkit

Communication série une particule Photon et Linkit

Le Linkit on est une grande planche et la meilleure partie de celui-ci est il est portatif et portable il, est excellent concevoir des dispositifs portables utilisant le microcontrôleur. Un autre microcontrôleur cool qui avec qui je travaille est le
TOS Klingon Communicator (accessoires en carton et papier)

TOS Klingon Communicator (accessoires en carton et papier)

Bonjour tout le monde :Dans le domaine de Cosplay, parmi les plus anciens sont membres de la communauté de Star Trek. Et nous le faisons il long avant le Cosplay était même une phrase ou une expression. Je suis membre de l'un des plus anciens groupes
Faire une planche à découper-grain d’extrémité - je l’ai fait à Techshop

Faire une planche à découper-grain d’extrémité - je l’ai fait à Techshop

Voici plusieurs planches à découper j'ai fait Techshop, San Francisco, un atelier d'appartenance en fonction avec tous les types d'outils pour rendre les choses. Je n'ai pas beaucoup d'expérience avec le travail du bois, alors j'ai utilisé ce projet
Permet de donner Linux un essai (aka permet d’obtenir ce vieux PC va encore une fois)

Permet de donner Linux un essai (aka permet d’obtenir ce vieux PC va encore une fois)

Vous êtes un de ceux qui se rétractable et cache le mot « LINUX » ? Je sais qu'il y a encore certains d'entre vous là-bas. Ne vous inquiétez pas, votre peur est traitable. Crois-moi. J'étais l'un d'entre vous !Ce Instructable est pour des gens comme
Comment faire pour créer une imprimante de parfum

Comment faire pour créer une imprimante de parfum

Olfaction - notre sens de l'odorat - est à notre sens plus primitifs et est particulièrement impliquée en formant et en mémorisant des associations émotionnelles. Odeur est un outil puissant pour communiquer des émotions. Pour l'instant, notre engage
En utilisant une LED RGB pour détecter les couleurs

En utilisant une LED RGB pour détecter les couleurs

je vais vous montrer comment vous pouvez utiliser une LED RVB et une cellule photoélectrique de CD comme un capteur de couleur pour un micro-contrôleur. Je vais illustrer la méthode pour récupérer une couleur à l'aide d'Arduino, et je vais vous montr
Une scie de Table précis d’une scie à main électrique

Une scie de Table précis d’une scie à main électrique

cette photo est de 1972.  Il me montre à l'aide d'une scie à table j'ai fait avec une scie à main électrique, également connu sous le nom d'une scie circulaire.Certains diront, « Pourquoi s'embêter? » puisque vous pouvez maintenant acheter une scie d
Faire une clôture de scie à ruban d’Extrusions d’aluminium

Faire une clôture de scie à ruban d’Extrusions d’aluminium

Je fais beaucoup de dédoublement sur ma petite scie à ruban. J'ai besoin d'une clôture qui est assez grande pour prendre en charge la planche que j'ai coupé, et qui peuvent être ajustés pour corriger la dérive --la tendance à s'éloigner de la ligne d
CatGenie : Réinitialiser une cartouche SaniSolution

CatGenie : Réinitialiser une cartouche SaniSolution

des renseignements généraux :J'ai deux CatGenies, chacune d'entre elles prenant une cartouche exclusif qui sont bonnes pour les cycles de soixante. Le CatGenie ne fonctionnera pas sans une cartouche non vide installée. Chez moi, chaque unité s'exécut
Remplacement d’une chaîne sur un violoncelle

Remplacement d’une chaîne sur un violoncelle

ce tutoriel porte sur la façon de remplacer une chaîne sur un violoncelle. Le processus est assez simple, et j'ai inclus une astuce que j'utilise pour maintenir la chaîne de glisser de la cheville. Remplacer une chaîne prend juste quelques minutes, m
Remplacement d’un corps de roue libre sur une roue arrière de bicyclette.

Remplacement d’un corps de roue libre sur une roue arrière de bicyclette.

J'apprends plus sur l'entretien de la bicyclette en pratiquant sur mon propre vélo.Hier soir mon vélo cassé, j'étais pédaler, mais la moto n'était pas émouvante !Bientôt, nous avons réalisé que le mécanisme à cliquet dans la roue arrière était cassé.
Comment faire une horloge de fonte de Style Dali

Comment faire une horloge de fonte de Style Dali

je n'écoute pas à l'un de mes vieux disques, mais je voudrais vraiment avoir autour. Heureusement, assez, donc faire mes amis. Un autre point, que nous avons en commun est une appréciation de savoir quelle heure il est. J'ai ai été déconner avec enre