Hola buenas, soy nuevo con esto de arduino y tengo un problemilla que haber si vosotros que sois unos maquinas me podeis resolver o aclarar.
La cosa es que tengo mi arudino conectado al pc con el cable usb, y uso el puerto serie para mandar datos al pc, hasta aqui bien, los datos llegan y todo funciona perfectamente, pero ahora cuando programo una aplicacion en c# para que reciba los datos por el puerto serie (le pongo el puerto por el cual se conecta arduino) arduino deja de mandar datos, parece como si mi programa echara a patadas al arduino del puerto y no se como solucionarlo.
Bueno espero que alguien me pueda aclarar algo, por que me trae de cabeza, gracias
Pues tienes razon bueno aqui os dejo el codigo de arduino
// Declaramos las variables globales
int pinanalogico = 2; // Declaro variable con el pin analogico de arduino
int temperatura = 0; // Declaro la variable que guardara la temperatura
int lecturaLm35; // Declaro variable que obtendra la lectura del sensor
void setup ()
{
Serial.begin(9600); // Comienzo la comunicacion con el puerto serie a 9600
}
void loop ()
{
lecturaLm35 = analogRead(pinanalogico);
temperatura = (5.0 * lecturaLm35 *100.0)/1024.0;
Serial.print(temperatura);
// Realizo una pausa para volver a medir
delay(1000);
}
Bien y aqui os dejo el codigo del programilla en c#, esta echo en el visual studio 2008 y usa el componente serial port para usar el puerto serie
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication6
{
public partial class Form1 : Form
{
string lectura;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
serialPort1.Open();
}
private void button1_Click(object sender, EventArgs e)
{
lectura = serialPort1.ReadExisting();
textBox1.Text = lectura;
}
}
}
Para aclarar el componete serial port tiene configurado el mismo com al cual se conecta arduino y a 9600 las demas caracteristicas tambien estan bien.
El mayor problema es que arduino trasmite bien de echo se ven los leds encendiendose y apagandose, pero al ejecutar el programa echo en C# este deja de trasmitir
En realidad más que en el programa, el problema lo tenía en la configuración del puerto serie del PC. Por ejemplo, cuando se dice que para establecer la comunicación con la placa Arduino la configuración es 9600,8,N,1, la N indica sin protocolo, y es así como lo tienes que configurar en el PC, bien en el propio porgrama que hagas, bien en el panel de control.