buenas a todos amigos tengo un problema estoy usando un sensor de ultrasonito y uno de peso con los cuales estoy capturando el tamaño y el peso de una persona. ahora quiero tomar estos datos y enviarlos a un programa es c# el cual ya tengo bastante adelantado. he realizado la conexion con el puerto serial en Visual Studio, pero a la hora de morar los datos en mi programa (en unos Labels) melos muestra juntos y quisiera separarlos es decir que la altura me la muestre en un label, y el peso en otro paso los codigos que estoy usando actualmente.
// Hx711.DOUT - pin #A2
// Hx711.SCK - pin #A3
#include <hx711.h>
Hx711 scale(A2, A3);
const int EchoPin = 4;
const int TriggerPin = 5;
const int LedPin = 13;
void setup() {
Serial.begin(9600);
pinMode(LedPin, OUTPUT);
pinMode(TriggerPin, OUTPUT);
pinMode(EchoPin, INPUT);
}
void loop() {
Serial.print(scale.getGram()*0.0098, 3);
Serial.println(" Kg");
delay(1000);
int cm = ping(TriggerPin, EchoPin);
Serial.print("Distancia: ");
Serial.println(cm);
delay(1000);
}
int ping(int TriggerPin, int EchoPin) {
long duration, distanceCm;
digitalWrite(TriggerPin, LOW); //para generar un pulso limpio ponemos a LOW 4us
delayMicroseconds(4);
digitalWrite(TriggerPin, HIGH); //generamos Trigger (disparo) de 10us
delayMicroseconds(10);
digitalWrite(TriggerPin, LOW);
duration = pulseIn(EchoPin, HIGH); //medimos el tiempo entre pulsos, en microsegundos
distanceCm = duration * 10 / 292/ 2; //convertimos a distancia, en cm
return distanceCm;
}
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 CapaPresentacion
{
public partial class Control : Form
{
private SerialPort serialPort1;
public Control()
{
InitializeComponent();
serialPort1 = new SerialPort();
serialPort1.PortName = "COM3";
serialPort1.BaudRate = 9600;
serialPort1.DtrEnable = true;
serialPort1.Open();
serialPort1.DataReceived += serialport1_DataReceived;
}
private void Control_Load(object sender, EventArgs e)
{
}
private void serialport1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
string line = serialPort1.ReadLine();
this.BeginInvoke(new LineReceivedEvent(LineReceived), line);
}
private delegate void LineReceivedEvent(string line);
private void LineReceived(string Line)
{
label7.Text = Line;
label8.Text = Line;
label9.Text = Line;
}
}
}