using System;
using System.IO.Ports;
using System.Text;
namespace Arduino_Consola_cs
{
class Program
{
static void Main(string[] args)
{
Console.Title = "Arduino Consola C#";
Console.WindowWidth = 55;
Console.WindowHeight = 18;
SerialPort Puerto_serie = new SerialPort("COM4");
Puerto_serie.BaudRate = 115200;
Puerto_serie.Parity = Parity.None;
Puerto_serie.StopBits = StopBits.One;
Puerto_serie.DataBits = 8;
Puerto_serie.Handshake = Handshake.None;
Puerto_serie.RtsEnable = true;
Puerto_serie.ReadTimeout = 500;
Puerto_serie.WriteTimeout = 500;
Puerto_serie.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
Puerto_serie.Open();
ConsoleKey tecla;
Console.WriteLine("Pulse tecla 1 para encender y 2 para apagar:");
do
{
tecla = Console.ReadKey(true).Key;
switch (tecla)
{
case ConsoleKey.D1:
case ConsoleKey.NumPad1:
byte[] miBuffer1 = Encoding.ASCII.GetBytes("Luz_ON");
Puerto_serie.Write(miBuffer1, 0, miBuffer1.Length);
Console.WriteLine("Comando \"Luz_ON\" enviado.");
break;
case ConsoleKey.D2:
case ConsoleKey.NumPad2:
byte[] miBuffer2 = Encoding.ASCII.GetBytes("Luz_OFF");
Puerto_serie.Write(miBuffer2, 0, miBuffer2.Length);
Console.WriteLine("Comando \"Luz_OFF\" enviado.");
break;
default:
Console.WriteLine("Tecla el 1, el 2 y Escape para salir.");
break;
}
} while (tecla != ConsoleKey.Escape);
Console.WriteLine("Presione cualquier tecla para terminar...");
Console.WriteLine();
Console.ReadKey();
Puerto_serie.Close();
}
private static void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
{
SerialPort sp = (SerialPort)sender;
string entradaDatos = sp.ReadExisting();
Console.WriteLine("Dato recibido desde Arduino: " + entradaDatos);
}
}
}