Código Arduino
Código:
pinMode(pinLed1, OUTPUT); // Inicializa el pin del Led 1 como salida.
char caracter;
String comando;
void setup()
{
Serial.begin(115200);
}
void loop()
{
/* Voy leyendo carácter a carácter lo que se recibe por el canal
* serie (mientras llegue algún dato allí), y los voy concatenando
* uno tras otro en una cadena. En la práctica, si usamos el
* "Serial monitor" el bucle while acabará cuando pulsemos Enter.
* El delay es conveniente para no saturar el canal serie y que la
* concatenación se haga de forma ordenada.
*/
while (Serial.available() > 0)
{
caracter= Serial.read();
comando.concat(caracter);
delay(10);
}
/* Una vez ya tengo la cadena "acabada", compruebo su valor y hago
* que la placa Arduino reaccione según sea este. Aquí podríamos
* hacer lo que quiesiéramos: si el comando es "tal", enciende
* un Led, si es cual, mueve un motor... y así.
*/
if (comando.equals("Led_ON") == true)
{
digitalWrite(pinLed, HIGH); // Enciende el Led.
Serial.println("Led 13 encendido.");
}
if (comando.equals("Led_OFF") == true)
{
digitalWrite(pinLed, LOW); // Apaga el Led.
Serial.println("Led 13 apagado.");
}
// Limpiamos la cadena para volver a recibir el siguiente comando.
comando="";
}
// Fin del código.
[/FONT]
[FONT="]
[/FONT]
Probando Monitor Serie
Probaremos los comandos establecidos en el código de Arduino, encender el Led corresponde al comando Led_ON y apagar el Led corresponde al comando Led_OFF.
Conectamos Arduino con el USB al ordenador o PC y probamos el código pulsando “Control + U” o en Programa -> Subir.
Abrimos el Monitor Serie de Arduino IDE, en Herramientas -> Monitor Serie.
Cuando tengamos la ventana abierta del Monitor Serie, introducimos Led_ON para encender el Led 13 de la placa Arduino UNO.
Como puedes ver en la imagen de arriba, al introducir el comando Led_ON, a parte que dice en el Monitor Serie el mensaje “Led 13 encendido”, comprueba en la placa Arduino UNO que dicho Led realmente esté encendido. Lo mismo probar el comando Led_OFF para apagar el Led. No olvidar que se usan los 115200 baudios tanto en el programa como en el Monitor Serie.
[FONT="]
[/FONT]
Comprueba que el Led del pin 13 lo puedes encender y apagar.
[FONT="]
[/FONT]
Visual C# AWF 2015
Selecciona Entorno clásico en Visual C#, Aplicación de Windows Forms, he puesto como nombre del proyecto en este caso Arduino_Led, luego pulsar Aceptar.
[FONT="]
[/FONT]
Arrastramos dos botones en el formulario principal, en el cuadro de propiedades cambiamos los valores.
Botón Enceder:
Propiedad
Cambie a
Text
Encender
(Name)
button_Encender
Botón Apagar:
Propiedad
Cambie a
Text
Apagar
(Name)
button_Apagar
[FONT="]
[/FONT]
Revisa que puerto COM estás usando, en mi caso es el COM4, indicado en la parte de debajo de Arduino IDE.
Propiedades a cambiar del componente SerialPort.
Propiedad
Cambie a
(Name)
serialPort1
BaudRate
115200
PortName
COM4
StopBits
Two
[FONT="]
[/FONT]
Código Visual C# AWF.
Código:
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO.Ports; // No olvidar.
namespace Arduino_Led
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
// Abrir puerto mientras se ejecuta esta aplicación.
if(!serialPort1.IsOpen)
{
try
{
serialPort1.Open();
}
catch (System.Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
}
private void button_Encender_Click(object sender, EventArgs e)
{
byte[] mBuffer = Encoding.ASCII.GetBytes("Led_ON");
serialPort1.Write(mBuffer, 0, mBuffer.Length);
}
private void button_Apagar_Click(object sender, EventArgs e)
{
byte[] mBuffer = Encoding.ASCII.GetBytes("Led_OFF");
serialPort1.Write(mBuffer, 0, mBuffer.Length);
}
}
}
Sigo ampliando este documento....
Más información...
http://electronica-pic.blogspot.com.es/2015/11/encender-y-apagar-un-led-con-arduino-y.html
Saludos.