Meddelande från en WinForms till en TinyDuino (14 / 14 steg)

Steg 14: Avslutande tankar och källa data överför



Hela koden bakom bör se ut ungefär så här:

med hjälp av systemet.
använder System.Collections.Generic;
använder System.ComponentModel;
med hjälp av System.Data;
med hjälp av System.Drawing;
använder System.Linq;
använder System.Text;
använder System.Threading.Tasks;
använder System.Windows.Forms;
använder System.IO.Ports;

namnområdet MotorController
{
offentliga partiell klass MotorRemote: Form
{
skapa serieport singleton
SerialPort seriell;
decalre en ny klass som befolkar vår kombinationsruta
allmän klass Port
{
sträng med offentlig namn {get, uppsättning;}
Public int värdet {get, uppsättning;}
offentliga Port (sträng n, int jag)
{
Namn = n;
Värde = i.
}
}

offentliga MotorRemote()
{
InitializeComponent();
}

privata void OnWindowLoad (objekt avsändare, EventArgs e)
{
kombinationsruta med bultsats seriella portar
string [] avalablePorts = SerialPort.GetPortNames();
om (avalablePorts.Length > 0)
{
skapa en lista över objekt att fylla kombinationsrutan med
Lista < Port > portsList = ny lista < Port > ();
för (int jag = 0; jag < avalablePorts.Length; i ++)
{
portsList.Add (ny hamn (avalablePorts [i], jag));
}

kombinationsruta med portar
cbComPortChooser.DataSource = portsList;
cbComPortChooser.DisplayMember = "Namn";
cbComPortChooser.ValueMember = "Värde";
}
}

void UpdateMotors()
{
meddelande storlek constent
CONST byte messageType = 2;

Läs reglagen
motor 1
byte motorOneSpeed = (byte)tbMotorOne.Value;
motor 2
byte motorTwoSpeed = (byte)tbMotorTwo.Value;

skapa och fylla en bytematris som vårt budskap
byte [] serialMessage = {messageType, motorOneSpeed, motorTwoSpeed};

Skicka meddelande
följetong. Skriva (serialMessage, 0, serialMessage.Length);
}

privata void SliderOneChange (objekt avsändare, EventArgs e)
{
UpdateMotors();
}

privata void SliderTwoChange (objekt avsändare, EventArgs e)
{
UpdateMotors();
}

privata void OnComChange (objekt avsändare, EventArgs e)
{
om (serial! = null & & följetong. IsOpen)
{
följetong. Close();
}
Port-port = (Port)cbComPortChooser.SelectedItem;
seriella = nya SerialPort (port. Namn);
följetong. Baud = 9600;
om (! följetong. IsOpen)
{
följetong. Open();
}
}

privata void VidStängning (objekt avsändare, FormClosedEventArgs e)
{
följetong. Close();
}
}
}

Meddelande: Händelsen OnClose() krävs inte på alla datorer. Men det hindrar programmet från att lämna en föräldralösa COM-port när användaren stänger den. Utan det är det möjligt måste du starta om datorn för att få åtkomst till den porten. För att lägga till händelsen VidStängning skapar en händelsehanterare av huvudformuläret som du gjorde för händelsen OnWindowLoad denna gång med händelsen FormClosed snarare än händelsen Load. Lägga till seriella inuti hanteraren. Close(); för att stänga alla öppna seriell anslutning.

Om du av misstag skapa ytterligare händelsehanterare du inte slutar använda oroa dig inte för mycket. De påverkar inte funktionen av ansökan och kan tas bort genom att klicka på tillhörande kontrollen och ta bort händelsehanterare från menyn lightning bolt.

WinForms projektet nedladdning: https://goo.gl/rop4zl

Se Steg
Relaterade Ämnen

Hur till DIY ett bakgrundsbelyst tangentbord?

Hej killar, detta är vilja, och jag är ett stort fan av mekaniska tangentbord. Jag njuta av taktila känslan av tangentbord, det är så underbart som gör dig själv en "finger massage". Ett mekaniskt tangentbord kan också vara ett praktiskt och anv...

Android talar till Arduino

detta projekt ändrar något Google Android prov app kallas "Bluetooth Chat" så kan du skriva ett meddelande i Android app och att samma meddelande kommer att visas på en LCD-skärm bifogas en Arduino Uno.Funktioner: Android talar till Arduino1. kö...

En nybörjares guide till Arduino

Efter några år av experimentera med Arduino, beslutade jag att det är dags att dela den kunskapen har jag fått. Så jag här går, en guide till Arduino, med nakna grunderna för nybörjare och lite mer avancerade förklaringar för personer som är något me...

Hur du ansluter din Intel Edison styrelse till WiFi

detta - kompatibel innehåller stegen för att konfigurera WiFi nätverksåtkomst till din Intel Edison styrelse och en IP-adress.Steg 1: Montera din styrelse Installera Mini Breakout styrelsen storbildsformat Expansion, bifoga benet och koppla in kablar...

Blackboard instruktioner

Hey PAs, denna guide är att hjälpa dig när det gäller att få ut mesta möjliga av tavlan. Förhoppningsvis kommer det att finnas information om här för alla från rutinerade Blackboard användaren att nyaste PA. Vi kommer att täcka några av de mer vanlig...

Gitarr A / B Växla

detta instructable täcker hur man gör ett A / B switch (utformad för en gitarr).Den hela instructable är uppdelad i tre huvuddelar:Steg 1 ser på min forskning och prototyper.Steg 2-3 titt på den enkel switchen – det grundläggande konceptet som kan mo...

Anpassade Windows UI

Hej, för alla er människor som har lite för mycket för mycket fritid på du är händer, eller som arbetar på ett kontor hela dagen, detta kommer att hjälpa lätta upp du är dag.Heres hur att piffa upp din windows XP-operativsystem att imponera på dina v...

Beautiful Mind tema Prank

Detta är ett roligt tilltag att spela på vänner och familj. Roligt delen är man vet aldrig vilken reaktion du får! Njut!Steg 1: Vad du behöverPenPapersTejpDice (valfritt)Vänner (valfritt)Steg 2: Lär dig speletDet enklaste/snabbaste sättet att förbere...

3D printed MiniNes

Titta på videon för att se skrivaren och MiniNes arbete.Gör din egen Mini Nes med 3D-skrivare, Raspberry pi och RetroPie.Totalkostnaden för projektet är cirka 30-40 euro, beroende var du köper dina delar.Kan börja med de nödvändiga delarna.Steg 1: de...

Komma igång med Instructables

Hej och Välkommen till Instructables!Om du har problem med att starta din första Instructable, är detta rätt ställe för dig. Vi kommer att gå över hur till skapa 3 olika typer av Instructables: Foto instructables, steg-vid-stammen och video instructa...

5 design av Laser skurna fall för 5 populära plattformar

När först köpte min Raspberry Pi, sa - "Lägga aldrig den i väskan eller fickan utan skydd." Jag lyssna inte. Jag lägga den i min väska med några andra styrelser. Sedan, när jag tog ut, såg jag den böjda stift och repor över hela ytan av styrelse...

Arduino glas - öppen källkod Augmented Reality Headset

Har du någonsin funderat på att få en förstärkt verklighet headset? Var du också bländade på möjligheten till förstärkt verklighet och tittade på prislappen med ett brustet hjärta?Ja, mig också!Men det hindrade mig där. Jag byggt upp mitt mod och i s...

Firefly kort med ledande bläck

Detta kort gjordes på Yukonstruct's Circuit Scribe bygga natten och använder Electroninks ledande bläckpenna och en Chibitronics LED klistermärke.För detta kort behöver du:Mörkt cardstock (jag använde hälften av en 8,5 x 11 ark av svart cardstock)Chi...

Snow klockan (baserade Arduino)

dag jag ska visa dig hur man gör snö klockan. Det är en väckarklocka som bara går på när skolan är öppen. Men om skolan är stängd det går inte.Detta sker genom Arduino och vissa python kodning.Steg 1: Få delar För detta projekt behöver du:-En Arduino...

Chat Program

Detta är ingen bluff, CMD programmet som jag visar dig hur man gör ett chatt program. Du kan meddelande dina vänner eller familj i skolan eller hemma!Steg 1: Öppna NotepadTryck på windows-knappen, och sedan skriver anteckningar eller göra ett nytt te...

Mission Impossible stil chatt

Detta är en allvarlig militär stil säkrade chatt att göra alla dina vänner avundsjuka.Steg 1: Starta anteckningarÖppna Anteckningar genom att trycka på Windows-tangenten + R och skriva anteckningar eller klicka på Start och typ anteckningar.Steg 2: T...

Ändra batch paus prompt

i batch kommandot pause Pausar en fil men vill du dölja den här filen är pausat pressany keh att fortsätta eller ändra meddelandet här är hur.Steg 1: Dölja paus promptÖppna Anteckningar och typ pausa > nul och spara filen som pause.bat att dölja inma...

IKEA HACK - kamera växel låda

Hej alla! Tills för några veckor sedan jag används för att lagra min kamerautrustning i ett hörn av mitt rum, att hålla det inne i kameraväskan, men jag inte var så nöjd med detta. En dag var jag uttråkad och jag besökte Ikea: s hemsida. Jag stötte p...

Fixa din motionscykel NordicTrack

Den andra natten jag red min Nordictrack utöva cykel och alla plötsligt displayen sluta och spänningen på den peddles gick slack. Hustrun har varit på mig under ganska lång tid att börja träna som jag sitter bakom datorn större delen av dagen.Så jag...