Go Down

Topic: Problema con arduino y C# (Read 2 times) previous topic - next topic

Cispy

Nov 30, 2010, 07:38 pm Last Edit: Nov 30, 2010, 07:39 pm by Cispy Reason: 1
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

complubot

Igual si pones los programas te podemos orientar un poco
Centro de Robótica Educativa
www.complubot.com

Cispy

Pues tienes razon bueno aqui os dejo el codigo de arduino
Code: [Select]

// 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
Code: [Select]

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

Gracias

complubot

¿Seguro que no tienes ninún protocolo, XON/XOFF ni Hardware en el puerto serie?
Centro de Robótica Educativa
www.complubot.com

Cispy

Gracias complubot efectivamente eran los protocolos despues de un ratillo buscandolos he dado con ellos xD

Milgracias tio

complubot

¡Cómo que gracias!, serán unás cañas ¿no?  ;)
Centro de Robótica Educativa
www.complubot.com

chico_del_maiz

Puedes poner los programas una vez resuletos???
Asi cuando alguien le pase lo mismo puede ver tu ejemplo y resolver su problema.

Gracias.

complubot

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.
Centro de Robótica Educativa
www.complubot.com

Cispy

Si ese era el problema el protocolo xD, si quereis los programas cuando los tenga mas depurados los subire a si le seran de utilidad a todo el mundo.

complubot si estubieras por malaga si que serian unas cañas xD

Go Up