Mededeling van een WinForms aan een TinyDuino (12 / 14 stap)

Stap 12: Het seriële signaal

Nu dat we de ComboBox die is gevuld met de beschikbare seriële poorten hebben moet de volgende stap om onze programma in gesprek met de Tinyduino te krijgen toevoegen van een functie die een seriële signaal naar de TinyDuino en de snelheden van de twee motoren worden bijgewerkt. Onze serieel protocol is uitbreidbaar, maar voor nu zal alleen omvatten drie bytes. De eerste is een pakket van de info op het soort boodschap die wij.

Het eerste ding eerst definiëren een lege functie genaamd "UpdateMotors()" en een constante byte genaamd "messageType" zoals dit wordt opgenomen:

 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; } 

Wanneer gedefinieerd zoals deze visuele studio in de int-nummer 2 impliciet een byte omzetten zal.
Wij zullen vervolgens lees de waarden van onze schuifregelaars en toewijzen aan hun eigen byte variabelen:

 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); } 

Wanneer gedefinieerd als deze Visual Studio vereist echter een cast tussen de geretourneerde waarde van de tbMotor.Value en een byte.
Nu met de drie bytes gemaakt zullen we vullen een byte-matrix als een buffer om onze boodschap en natuurlijk, het verzenden van het bericht zelf:

 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(); } } 

Merken seriële. Write(); drie argumenten: het bericht zelf als een ByteArray, een int vertegenwoordigt de eerste byte te sturen, en een tweede int als de grootte van het hele bericht.

Gerelateerde Artikelen

Van een Ikea voetbank aan (Poang) 3D-printer!

Van een Ikea voetbank aan (Poang) 3D-printer!

Hallo allemaal,Dit is mijn eerste Instructable en ik wil met u delen van het bouwproces van mijn eerste 3D printer...Ja, een andere één, maar dit men gemaakt van een Ikea voetbank vinden in de prullenbak kan van mijn wijk, dus ik al: waarom niet opha
Het toevoegen van een circuit aan uw auto

Het toevoegen van een circuit aan uw auto

Misschien bent u ook in een situatie waar u één of andere extra functionaliteit in uw auto.Zij het een extra uitgang, een centrale deurvergrendeling systeem of een geïntegreerde koffie-/ theevoorzieningen.In dit instructable wil ik u laten zien hoe g
Het toevoegen van een Harbor Freight 45 Watt zonnepaneel aan mijn opslag gebouw

Het toevoegen van een Harbor Freight 45 Watt zonnepaneel aan mijn opslag gebouw

Eerder dit jaar kochten we een opslag gebouw 10' X 20" en had het geleverd aan de achtertuin. Het gebouw van de opslag is geweldig - ik ben langzaam bewegende dingen van mijn garage aan het gebouw, ik doe dit langzaam omdat aan het eind van de dag ik
5 gemakkelijke stappen aan het maken van een levende succulente krans

5 gemakkelijke stappen aan het maken van een levende succulente krans

U kunt het maken van deze prachtige krans in 5 eenvoudige stappen en minder dan een uur!Stap 1:Zoals u weet, ben ik een sappige maniak. Ik heb veel van hen in mijn tuin en in potten geplant. Ik springen op de kans om iets met behulp van deze interess
Van een eenvoudige Plastic dier aan een onderwereld suiker schedel schepsel (olifant)

Van een eenvoudige Plastic dier aan een onderwereld suiker schedel schepsel (olifant)

Stap 1: Start door het schilderen van de slurf van de olifant met gouden metalen acrylverfStap 2: Teken vervolgens de rest van het lichaam met zwart acryl verfStap 3: Breng een cirkel rond de ogen met zilveren acrylverfStap 4: Teken vervolgens de tan
Bouwen van een 'blackbox' datalogger voor het toevoegen op scherm weergave meters aan uw video's

Bouwen van een 'blackbox' datalogger voor het toevoegen op scherm weergave meters aan uw video's

Dit project bevat instructies over hoe te bouwen van het apparaat, alsmede een link naar de projectcode op github die worden geüpload voor het moeten zullen laten uitvoeren.Een Arduino gebaseerd datalogger met het oog op de synchronisatie van gegeven
Toevoegen van een batterij monitor aan bamboe lithiumbatterij

Toevoegen van een batterij monitor aan bamboe lithiumbatterij

Bamboe Lithium is een 12V 10Ah batterij bedoeld ter vervanging van de batterij van de SLA met betere gewicht machtsverhouding en langere levensduur van de cyclus.De batterij is gemaakt met 26650 3.3Ah LiFePO4 cellen. De batterij is geconfigureerd in
Hoe aan de macht van een ATX Power Supply zonder een PC!

Hoe aan de macht van een ATX Power Supply zonder een PC!

In dit instructable ik zal u tonen hoe voor het aandrijven van een ATX Power Supply zonder een PC.Misschien in sommige gevallen wilt u testen een oude cd-rom-station of iets anders.Alles wat je hebt is een PSU van een oude PC een een draad.Hier zal i
Werkbank werkset lade met een plank van de opslag aan de onderkant

Werkbank werkset lade met een plank van de opslag aan de onderkant

als u een werkbank hebben maar geen plaats voor uw toolboxen en/of hardware, kunt u een van mijn planken met zoveel laden als u nodig hebt. Daarnaast zul je altijd een opslag-plank aan de onderkant.Het idee achter dit schap is dat u snel toegang tot
Het toevoegen van een nucleaire optie aan risico (bordspel Mod)

Het toevoegen van een nucleaire optie aan risico (bordspel Mod)

Risico is een klassieke bordspel dat vaak huisregels heeft. Sommige van deze mods zijn zelfs officiële mods, zoals Starcraft, Lord van de ringen, Halo, Doctor Who, Wandelen Dead, en 2210. Omdat risico oorspronkelijk over de post-Koude Oorlog van de T
Toevoegen van een interne accu aan een elektronische speelgoedpiano

Toevoegen van een interne accu aan een elektronische speelgoedpiano

Hebt u een speelgoedpiano van old-school tegenkomen kunt u een probleem dat het moet een groot aantal AA rammeien voor opereren. Mijn Bontempi GT 509 piano vereist 6 AA cellen. Kopen van 6 alkaline AA cellen lijkt * zeer * verspilling voor mij en moe
Het toevoegen van een base aan een "derde Hand"

Het toevoegen van een base aan een "derde Hand"

Bij elektronische projecten bezig, vind ik het een "derde hand" onmisbaar. Beschikbaar van winkels zoals Harbor Freight, meestal voor onder $5.00, zijn niet een duur instrument. Helaas, de base zijn gemonteerd, is vrijwel nutteloos ter ondersteu
Toevoegen van een aan-/ uitschakelaar aan een Mixer Xenyx 1202

Toevoegen van een aan-/ uitschakelaar aan een Mixer Xenyx 1202

Voor mijn stem over werk gebruik ik een Xenyx 1202 4-kanaals mixer gemaakt door Behringer die niet over een aan-/ uitschakelaar.Stap 1: Beoordelen waar we de schakelaarVoor het aandrijven van het, moet het stroomsnoer van de transformator worden inge
Prelude aan automatisering - hacken van een Remote

Prelude aan automatisering - hacken van een Remote

Een paar weken geleden, lees ik op een Arduino project een domoticasysteem te creëren. Wordt een elektronische hobbyist, wilde ik zich bewust zijn van de grenzen van mijn vaardigheden voordat u probeert een project zoals dit.Één van mijn grote pijnpu