CONTROLAR ARDUINO DESDE C# A TRAVES DEL PUERTO SERIAL
Enviado por Helena • 5 de Enero de 2019 • 1.229 Palabras (5 Páginas) • 373 Visitas
...
namespace encenderLed
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();[pic 22]
puertoCOM.Open();
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e){[pic 23]
if (puertoCOM.IsOpen) puertoCOM.Close();
}
private void btnEncenderLed_Click(object sender, EventArgs e)
{
puertoCOM.Write("a");
}
private void btnApagar_Click(object sender, EventArgs e)[pic 24]
{
puertoCOM.Write("b");
}
}
}[pic 25]
Práctica 2: HACER PARPADEAR UN LED
La siguiente práctica consiste en hacer parpadear el led una cantidad de veces de acuerdo a un número que se envíe a través de una caja de texto. Se utilizará un rango de 0 a 9 para enviarlo a Arduino. Luego Arduino recibirá ese número, y hará parpadear el LED integrado el número de veces recibido.
Para ello comenzamos modificando el formulario del ejemplo anterior. Agregando un nuevo botón y un nuevo componente Textbox.
Usamos la paleta de propiedades para modificar las propiedades del Textbox y el nuevo botón . Dejamos los valores según la siguiente tabla.
Elemento
(name)
text
Boton Enviar
btnEnviar
Enviar
Textbox
txtNumero
[pic 26]
Código C# - Hacer parpadear el led
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO.Ports;
namespace encenderLed
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
puertoCOM.Open();
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e){
if (puertoCOM.IsOpen) puertoCOM.Close();
}
private void btnEncenderLed_Click(object sender, EventArgs e)
{
puertoCOM.Write("a");
}
private void btnApagar_Click(object sender, EventArgs e)
{
puertoCOM.Write("b");
}
private void btnEnviar_Click(object sender, EventArgs e)
{
puertoCOM.Write(txtNumero.text);
}
}
}
Código Arduino – Hacer parpadear el led
int pinLed = 13; //Se definen las variables
int n = 0;
void setup() {
Serial.begin(9600); // Arranca la comunicación serial
Serial.setTimeout(50); // Ajusta el timeout del puerto Serie (por defecto 1000 ms)
pinMode(pinLed, OUTPUT); // Esteblece el pin 13 como salida
}
void loop() {
while (Serial.available()) {
n = Serial.parseInt(); // Se utiliza Serial.parseInt para convertirlo a entero.
Serial.println(n); // Se manda a imprimir el valor capturado
// Este bloque de código hará parpadear el led la cantidad de veces que tiene la variable “n”, y para realizarlo se utiliza el ciclo for.
for (int i = 0;i
{
digitalWrite(pinLed, HIGH);
delay(100);
digitalWrite(pinLed, LOW);
delay(200);
}
}
}
Práctica 3: Sensor de distancia.
El envío y recepción de datos será a través del puerto
...