Conexión arduino + SharpDevelop!!!

Hace algún tiempo había publicado como conectar arduino con visual studio, ahora le toca el turno a SharpDevelop. Una opción libre para el desarrollo en C# y otros lenguajes.

1. Descarga el SharpDevelop.

2. Luego de tenerlo instalado vamos a crear una nueva solución, del tipo: Aplicación WPF, a la cual se le asigna un nombre en mi caso SerialPort.

3. Creamos una interfaz para este caso, se tienen cuatro botones: buttonOpen, buttonOn, buttonOff, buttonClose. Cada uno permite realizar respectivamente(conexión, encender led, apagar led y cerrar la conexión).

4. Cuando se presione un botón ocurre un evento el cual se ejecuta. Por ejemplo si se quiere abrir la conexión:

void Button1Click(object sender, EventArgs e)
{
//configuring the serial port COM7
serialPort1.PortName="COM7";
serialPort1.BaudRate=9600;
serialPort1.DataBits=8;
serialPort1.Parity=Parity.None;
serialPort1.StopBits= StopBits.One;
//opening the serial port
serialPort1.Open();
}

O para enviar la orden de prender y apagar enviamos un carácter: p (Prender), a(apagar).

void Button2Click(object sender, EventArgs e)
{
serialPort1.Write("p");
}

void Button3Click(object sender, EventArgs e)
{
serialPort1.Write("a");
}

El programa desarrollado en Arduino, lee el byte enviado y lo interpreta en código ASCII.

//Arduino SharpDevelop
int ledPin = 13; // LED connected to digital pin 13
int incomingByte = 0; // for incoming serial data

// The setup() method runs once, when the sketch starts

void setup() {
// initialize the digital pin as an output:
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop()
{
// read the incoming byte:
incomingByte = Serial.read();

if(incomingByte != -1)
{
Serial.println(incomingByte);
if(incomingByte == 112)//p
{
digitalWrite(ledPin, HIGH);
}
else if(incomingByte == 97)//a
{
digitalWrite(ledPin, LOW);
}
}
}

El código es el siguiente:

https://sites.google.com/site/prgramsvarius/


1 comentarios:

reynaldo dijo...

Lo intentare esta muy bueno :)