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/
Comentarios