Arduino Uno serial monitor gegevens via usb op pc.
17 berichten
• Pagina 1 van 2 • 1, 2
Arduino Uno serial monitor gegevens via usb op pc.
Beste forumers,
Ik heb even de volgende vraag.
Ik heb een projectje afgemaakt en dit werkt.
Ik zie de informatie op een o-led schermpje en ook bij/op de serial monitor.
Echter zou ik de serial monitor gegevens ook in een apart scherm op de pc willen weergeven.
Ik ben bezig ook deels voor dit project met visual studio om het geheel mogelijk samen te voegen in een scherm afbeelding.
Mijn vraag is nu hoe kan ik de serial monitor gegevens in een schermpje te zien krijgen op het beeld scherm van me pc.
Heeft de arduini uno daar een standaard libary voor om de gegevens bijvoorbeeld weer te geven op een pc beeldscherm?
Graag hoor ik van jullie zodat ik de juiste weg op ga.
Bij voorbaat mijn dnak.
Mvg,
Frans36
Ik heb even de volgende vraag.
Ik heb een projectje afgemaakt en dit werkt.
Ik zie de informatie op een o-led schermpje en ook bij/op de serial monitor.
Echter zou ik de serial monitor gegevens ook in een apart scherm op de pc willen weergeven.
Ik ben bezig ook deels voor dit project met visual studio om het geheel mogelijk samen te voegen in een scherm afbeelding.
Mijn vraag is nu hoe kan ik de serial monitor gegevens in een schermpje te zien krijgen op het beeld scherm van me pc.
Heeft de arduini uno daar een standaard libary voor om de gegevens bijvoorbeeld weer te geven op een pc beeldscherm?
Graag hoor ik van jullie zodat ik de juiste weg op ga.
Bij voorbaat mijn dnak.
Mvg,
Frans36
Advertisement
Re: Arduino Uno serial monitor gegevens via usb op pc.
of standaard via de monitor of als je meer ermee wilt zul je naar processing moeten kijken bijv.
paul deelen
shooter@home.nl
shooter@home.nl
Re: Arduino Uno serial monitor gegevens via usb op pc.
Beste shooter,
Bedankt voor uw reactie.
IK kom graag even terug op uw antwoordt.
Standaard via monitor of toch naar processing.
Ik heb zeg maar het project draaien.
het zijn 2 temperatuur sensor en een pomp functie die aan of uit gaat dit zie ik allemaal perfect terug
in de serial monitor als ik deze heb opgestart.
Echter zou ik graag zien dat deze info ook op mijn eigen gemaakte screen op de pc wordt weer gegeven.
Ik gebruik visual studio om zeg maar het scherm te maken.
Nu zou ik verwachten dat ik de serial data die de arduino uno er uitgooit dt ik die moet onderscheppen
met een progje en deze weer laat in lezen in visual studio.
maar dan komt het hoe?
is daar serialTransfer uit de libary voor te gebruiken?
Mvg,
Frans36
Bedankt voor uw reactie.
IK kom graag even terug op uw antwoordt.
Standaard via monitor of toch naar processing.
Ik heb zeg maar het project draaien.
het zijn 2 temperatuur sensor en een pomp functie die aan of uit gaat dit zie ik allemaal perfect terug
in de serial monitor als ik deze heb opgestart.
Echter zou ik graag zien dat deze info ook op mijn eigen gemaakte screen op de pc wordt weer gegeven.
Ik gebruik visual studio om zeg maar het scherm te maken.
Nu zou ik verwachten dat ik de serial data die de arduino uno er uitgooit dt ik die moet onderscheppen
met een progje en deze weer laat in lezen in visual studio.
maar dan komt het hoe?
is daar serialTransfer uit de libary voor te gebruiken?
Mvg,
Frans36
- FonzieBonzo
- Berichten: 118
- Geregistreerd: 01 Okt 2015, 11:54
- Woonplaats: Castricum
Re: Arduino Uno serial monitor gegevens via usb op pc.
Hi
Gebruik je C# aan de windows VS kant?
Dan kan je met IO.Port de comport van je arduino uitlezen.
(code met een beetje hulp van ChatGPT)
csharp code
Gebruik je C# aan de windows VS kant?
Dan kan je met IO.Port de comport van je arduino uitlezen.
(code met een beetje hulp van ChatGPT)
csharp code
using System;
using System.IO.Ports;
namespace ArduinoSerialCommunication
{
class Program
{
static SerialPort serialPort;
static void Main(string[] args)
{
// Verander deze poortnaam naar de juiste poortnaam van je Arduino
string portName = "COM3";
// Baud rate (snelheid) moet overeenkomen met de Arduino instelling
int baudRate = 9600;
// Maak een nieuw SerialPort object
serialPort = new SerialPort(portName, baudRate);
try
{
// Open de verbinding met de Arduino
serialPort.Open();
// Eventhandler voor het ontvangen van data
serialPort.DataReceived += SerialPort_DataReceived;
Console.WriteLine("Druk op Enter om het programma te stoppen.");
Console.ReadLine();
// Sluit de verbinding met de Arduino
serialPort.Close();
}
catch (Exception ex)
{
Console.WriteLine("Er is een fout opgetreden: " + ex.Message);
}
}
private static void SerialPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
// Lees de data van de Arduino en toon het in de console
string data = serialPort.ReadLine();
Console.WriteLine("Ontvangen data: " + data);
}
}
}
Re: Arduino Uno serial monitor gegevens via usb op pc.
Huh?????
Kan de arduino IDE met Csharp overweg?
Kan de arduino IDE met Csharp overweg?
- FonzieBonzo
- Berichten: 118
- Geregistreerd: 01 Okt 2015, 11:54
- Woonplaats: Castricum
Re: Arduino Uno serial monitor gegevens via usb op pc.
Hi,
Of ik begrijp je verkeerd maar volgens mij wil je de seriele port van de Arduino met jou Visual Studio project uitlezen.
De Arduino meld zich als seriele comport aan op jou pc dus je kun je de betreffende comport met ieder programma in de gaten houden zonder dat jou VS project weet dat het om een Arduino gaat.
Je benaderd dus niet de Arduino IDE maar de Arduino zelf.
Gr,
Fonzie
Of ik begrijp je verkeerd maar volgens mij wil je de seriele port van de Arduino met jou Visual Studio project uitlezen.
De Arduino meld zich als seriele comport aan op jou pc dus je kun je de betreffende comport met ieder programma in de gaten houden zonder dat jou VS project weet dat het om een Arduino gaat.
Je benaderd dus niet de Arduino IDE maar de Arduino zelf.
Gr,
Fonzie
Re: Arduino Uno serial monitor gegevens via usb op pc.
Beste FonzieBonzo,
Bedankt als eerste voor uw reactie.
Ik zag dat u een antwoordt aan Frits1956 had gegeven.
Inderdaad is dat de wijze zo wil ik dus de serial port gebruiken en uitlezen met VS.
Ik heb echter uw code geprobeert Bedankt nogmaals hier voor.
Echter komen daar bij mij is VS 11 fouten uit.
IK ben zelf bezig geweest via het internet en heb het nu voor elkaar dat de code om de 1 seconden de waarde's uit
de seriale port weer geeft in een textbox echter als deze vol is komt er geen nieuwe regel dan wel waarde binnen.
Dit is de code voor VS.
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 Serial_ArduinoUno
{
public partial class Form1 : Form
{
SerialPort serialPort;
public Form1()
{
InitializeComponent();
timer1.Interval = 1000;
timer1.Start();
serialPort = new SerialPort("COM5", 115200);
try
{
serialPort.Open();
}
catch
{
Console.WriteLine("Unable to open COM port - Check it's not in use.");
}
}
private void timer1_Tick(object sender, EventArgs e)
{
bool haveInformation = false;
string Information = string.Empty;
while (!haveInformation)
{
Information = serialPort.ReadLine();
if (!string.IsNullOrEmpty(Information))
{
haveInformation = true;
}
}
if (haveInformation)
{
textBox1.Text += "Special:" + Information + Environment.NewLine;
}
}
}
}
Nu is mijn vraag?
Hoe krijg ik het hiervoor elkaar met een aanpassing in deze code.
Dat de waarde's die van de seriele port afkomen zeg gewoon ververst worden maar
dan op de zelfde tekstregel en niet er onder.
zodat eigenlijk de textbox niet vol loopt.
Graag hoor ik van de gene die de tip weet.
bij voorbaat mijn dank.
Mvg,
Frans36
Bedankt als eerste voor uw reactie.
Ik zag dat u een antwoordt aan Frits1956 had gegeven.
Inderdaad is dat de wijze zo wil ik dus de serial port gebruiken en uitlezen met VS.
Ik heb echter uw code geprobeert Bedankt nogmaals hier voor.
Echter komen daar bij mij is VS 11 fouten uit.
IK ben zelf bezig geweest via het internet en heb het nu voor elkaar dat de code om de 1 seconden de waarde's uit
de seriale port weer geeft in een textbox echter als deze vol is komt er geen nieuwe regel dan wel waarde binnen.
Dit is de code voor VS.
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 Serial_ArduinoUno
{
public partial class Form1 : Form
{
SerialPort serialPort;
public Form1()
{
InitializeComponent();
timer1.Interval = 1000;
timer1.Start();
serialPort = new SerialPort("COM5", 115200);
try
{
serialPort.Open();
}
catch
{
Console.WriteLine("Unable to open COM port - Check it's not in use.");
}
}
private void timer1_Tick(object sender, EventArgs e)
{
bool haveInformation = false;
string Information = string.Empty;
while (!haveInformation)
{
Information = serialPort.ReadLine();
if (!string.IsNullOrEmpty(Information))
{
haveInformation = true;
}
}
if (haveInformation)
{
textBox1.Text += "Special:" + Information + Environment.NewLine;
}
}
}
}
Nu is mijn vraag?
Hoe krijg ik het hiervoor elkaar met een aanpassing in deze code.
Dat de waarde's die van de seriele port afkomen zeg gewoon ververst worden maar
dan op de zelfde tekstregel en niet er onder.
zodat eigenlijk de textbox niet vol loopt.
Graag hoor ik van de gene die de tip weet.
bij voorbaat mijn dank.
Mvg,
Frans36
- Gij Kieken
- Berichten: 636
- Geregistreerd: 15 Nov 2015, 11:54
Re: Arduino Uno serial monitor gegevens via usb op pc.
Ik ben niet echt vertrouwd met de syntax van VS.
Laat gewoon die + Environment.NewLine weg en schrijf enkel je string met write.
Ook zal je waarschijnlijk een clear moeten schrijven om de eventueel resten in textbox uit te gommen zeg maar.
Laat gewoon die + Environment.NewLine weg en schrijf enkel je string met write.
Ook zal je waarschijnlijk een clear moeten schrijven om de eventueel resten in textbox uit te gommen zeg maar.
- FonzieBonzo
- Berichten: 118
- Geregistreerd: 01 Okt 2015, 11:54
- Woonplaats: Castricum
Re: Arduino Uno serial monitor gegevens via usb op pc.
Hi Frans,
Ik zie dat ik jullie twee namen door elkaar heb gehaald
@Frits: Met de zelfde code zou je ook met de serial monitor van de Arduino IDE kunnen praten. Veel zin zal het niet hebben of misschien wel om je C# project te kunnen debuggen.
Jouw code is geen goede basis omdat je geen on_DataReceived crieerd. Dan zou je data kunnen verliezen omdat er geen controle is of/en de Arduino blijft niet wachten totdat de data goed is ontvangen.
Onderstaande code blijft de comport monitoren op data en wacht tot deze een LF heeft ontvangen en plaats dan de gebufferde string (receivedData) in de textbox.
csharp code
Ik zie dat ik jullie twee namen door elkaar heb gehaald
@Frits: Met de zelfde code zou je ook met de serial monitor van de Arduino IDE kunnen praten. Veel zin zal het niet hebben of misschien wel om je C# project te kunnen debuggen.
Jouw code is geen goede basis omdat je geen on_DataReceived crieerd. Dan zou je data kunnen verliezen omdat er geen controle is of/en de Arduino blijft niet wachten totdat de data goed is ontvangen.
Onderstaande code blijft de comport monitoren op data en wacht tot deze een LF heeft ontvangen en plaats dan de gebufferde string (receivedData) in de textbox.
csharp code
using System.IO.Ports;
namespace WinFormsApp1
{
public partial class Form1 : Form
{
private SerialPort serialPort;
private string receivedData = "";
private event EventHandler DataReceivedEvent;
public Form1()
{
InitializeComponent();
// Initialiseer het SerialPort object
serialPort = new SerialPort("COM5", 9600);
serialPort.DataReceived += SerialPort_DataReceived;
// Abonneer op het DataReceivedEvent
DataReceivedEvent += MainForm_DataReceivedEvent;
try
{
// Open de verbinding met de Arduino
serialPort.Open();
}
catch (Exception ex)
{
MessageBox.Show("Fout bij het openen van de seriële poort: " + ex.Message);
}
}
private void SerialPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
// Lees de data van de Arduino
string data = serialPort.ReadExisting();
// Voeg de data toe aan de globale string
receivedData += data;
// Controleer of het "return" teken is gedetecteerd
if (receivedData.Contains("\r\n"))
{
// Verhoog het DataReceivedEvent
OnDataReceived(EventArgs.Empty);
// Maak de globale string leeg na het verwerken van het event
receivedData = "";
}
}
protected virtual void OnDataReceived(EventArgs e)
{
DataReceivedEvent?.Invoke(this, e);
}
private void MainForm_DataReceivedEvent(object sender, EventArgs e)
{
// Behandel de ontvangen data hier
// Toon de ontvangen data in het tekstvak textBox1
this.Invoke((MethodInvoker)(() => textBox1.Text = receivedData));
}
protected override void OnFormClosing(FormClosingEventArgs e)
{
// Sluit de seriële poort wanneer het formulier wordt gesloten
if (serialPort.IsOpen)
serialPort.Close();
base.OnFormClosing(e);
}
}
}
Re: Arduino Uno serial monitor gegevens via usb op pc.
Beste FonzieBonzo,
bedankt voor uw bericht en uw nieuwe code.
echter heb ik even de vraag met welke versie u werkt qua VS.
aangezien ik een 4 tal meldingen qua foutjes krijg.
Ik werk met VS 2022 versie Version 17.6.5
de melding die ik krijg is dat:
The type name 'SerialPort' could not be found in the namespace System.IO.Ports
IK ben nog niet zo heel ver met VS maar ik denk dat er een foutje zit in de versies qua gebruik
dan wel dat het bij mij nog niet compleet is qua System bestand van VS.
Ik hoor graag even van U mocht dat schikken.
Bij voorbaat mijn dank.
Mvg,
Frans36
bedankt voor uw bericht en uw nieuwe code.
echter heb ik even de vraag met welke versie u werkt qua VS.
aangezien ik een 4 tal meldingen qua foutjes krijg.
Ik werk met VS 2022 versie Version 17.6.5
de melding die ik krijg is dat:
The type name 'SerialPort' could not be found in the namespace System.IO.Ports
IK ben nog niet zo heel ver met VS maar ik denk dat er een foutje zit in de versies qua gebruik
dan wel dat het bij mij nog niet compleet is qua System bestand van VS.
Ik hoor graag even van U mocht dat schikken.
Bij voorbaat mijn dank.
Mvg,
Frans36
17 berichten
• Pagina 1 van 2 • 1, 2
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 4 gasten