[Info] Encender y apagar un Led con ARduino y Visual Studio 2015

Iniciado por Meta, 10 Noviembre 2015, 11:40 AM

0 Miembros y 1 Visitante están viendo este tema.

Meta

Encender y apagar un Led con Arduino y Visual Studio 2015

   
 

 
Código Arduino

  Código Arduino IDE, encender y apagar el Led 13 que viene integrado en la placa Arduino UNO.
 

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=&quot]
[/FONT] 


 

[FONT=&quot]
[/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=&quot]
[/FONT]   
   
  Comprueba que el Led del pin 13 lo puedes encender y apagar.
 

[FONT=&quot]

[/FONT] 


 

Visual C# AWF 2015

   Creamos un proyecto nuevo con Visual C#.


  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=&quot]
[/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=&quot]
[/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=&quot]
[/FONT] 
Código Visual C# AWF.

     
   
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);
        }
    }
}
¿Cualquier sugerencia es bienvenida?

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.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

kondrag_X1

Buen tuto Meta básico pero me ha gustado sobre todo para los que empiezan con Arduino y usar C# facilita en gran medida la comunicación cosa que con otros lenguajes como java o c es mas tedioso.

un saludo.

Meta

Hola:

Si, Java es tedioso, mira en la página 337 de este PDF que estoy haciendo también. Este si que es un tutorial.

https://www.dropbox.com/s/ha07f67zieee7v6/Interfaz%20control%20reles%20Arduino.pdf?dl=0

Saludos.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

kondrag_X1

Si si muy cerrado el tuto, desde luego. En el tuto la cosa es muy sencilla pero cuando quieres hacer algo mas currado hay que implementar una trama en RS232 por ejemplo:
#cabecera$datos$crc# y una maquina de estados en el pics pero para iniciarse esta al pelo.

me a gustado tienes muchas ideas del estilo en mente? YO quiero hacerme mi dron propio pero tranquilamente y con tiempo.

Meta

#4
Hola:

El tuto es muy cerrado porque se dedica a una cosa específica, ejjejeje. El mejor tutorial que he hecho ya par aun PIC16F84A en la época es este.

http://electronica-pic.blogspot.com.es/2008/11/electrnica-pic.html

Poco a poco iré haciendo documentación con Arduino con diferentes lenguajes y tecnologías. Visual C#/C++/VB .net y con WPF incluido. Así la gente usará el qmás que le guste o necesite para sus proyectos.

Como puedes ver, este es el primer documento directo y sencillo llamado:

1) Encender y apagar un Led con Arduino y Visual Studio 2015.

Luego se hará más tutoriales que yo crea conveniente o lo que me pida la gente. El segundo se trata de recibir entradas digitales, por ejemplo, 4 interruptores como entradas digitales a Arduino y lo muestre en un label o etiqueta. Se llamará.

2) Lectura de entradas digitales con Arduino y Visual Studio 2015.

Algunos más que haré.

3) Salida analógica con Arduino y Visual Studio 2015. (Control iluminosidad de un Led y un servo motor).
4) Entrada analógica con Arduino y Visual Studio 2015. (Con potenciómetro o sensores de temperatura y humedad como ejemplos).
5) Enviar comandos y mensajes al LCD con Arduino y Visual Studio 2015.
6) Recibir mensajes con Arduino y Visual Studio 2015. (Recibir mensajes de textos).
7) Control LCD hitachi hd44780 con Arduino. (Como funciona por dentro toda sus funciones y creando menús en ella).

Estos tutoriales lo tengo en mente, cuando los acabe, ya que requiere tiempo porque usa mucho lenguaje de programación diferentes que será publicada en PDF y XPS, haré tutoriales ya no tan cerrados como crees, así que, les dejo que me pidan qué tutoriales quieren que haga haciendo referencia con Visual Studio.

¿Alguna sugerencia? :)

Un cordial saludo.

PD: Un amigo hizo el dron, tienes que aprender muchas cosas sobre el vuelo de los drones antes de programar algo, es más complicado de lo que parece.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

kondrag_X1

tienen buena pinta.
ya me imagino que no solo es la electrónica además hay todavia no se si hacer con una FPGA. tirando de micro.

Meta

Cita de: kondrag_X1 en 13 Noviembre 2015, 12:23 PM
tienen buena pinta.
ya me imagino que no solo es la electrónica además hay todavia no se si hacer con una FPGA. tirando de micro.


PAra lo que quieres hacer, hasta co un simnple PIC te funciona, lo que no me he metido en ese mundo. No necesitas un FPGA ni loco.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/


controlado

Tambien como opcion podria ser labview su pogramacion es por diagrama de bloques por lo tano es muy facil, compañero ideal de aduino que integra compilacion en exe modulo de rs232(para el arduino) tengo 2012 sp1

Meta

Cita de: controlado en 17 Noviembre 2015, 21:05 PM
Tambien como opcion podria ser labview su pogramacion es por diagrama de bloques por lo tano es muy facil, compañero ideal de aduino que integra compilacion en exe modulo de rs232(para el arduino) tengo 2012 sp1

Cuando acabe todo lo que tenga que acabar, le meteré mano. Hace un tiempo ya acabé la parte de leer entradas digitales.

https://foro.elhacker.net/electronica/tutorial_lecturas_de_entradas_digitales_con_arduino_y_visual_studio_net_2015-t448563.0.html

Saludos.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/