Note: please see picture attachment below. I sketched out what I'm talking about. It's very high resolution, so you can zoom in to see the details
So another beginner question here. I've built an I2C slave board for collecting hardware sensor data. I've also built the prelimary GUI in C# and used simulated data in place of the real hardware sensor data. (See picture below)
Now I want to start using the real data in place of the simulated data. I've been told I will need a chip to act as intermediary interface between the master and the PC. (This is the orange box in the picture attachment)
I have two questions:
1). Is this something like an FTDI chip? That's the first hit that comes up for "PC interface module." I don't think this is correct. Can someone educate me on this?
2). Just to confirm, I should just be using the Arduino IDE to prototype the lower level C code on the Arduinos, and not to transfer data? I am right that the IDE would not be ideal for this sort of thing? It can serial print data of the screen but I don't think that can be passed through easily my GUI/data logger
many thanks in advance
let me know if I left any info out
I've built an I2C slave board for collecting hardware sensor data.
I assume with an Arduino therefore it already has the means of getting the data into the PC through the serial print output, the PC reads the data through the com port that the Arduino presents to it.
I've been told I will need a chip to act as intermediary interface between the master and the PC.
It looks like you are being told rubbish, unless that is you are not describing what you have correctly. Your descriptions are rather vague.
Working from your title "What Kind of Chip Can Be Used to Send Data from I2C Arduino Master to PC in C#?" two things spring to mind.
If you have an Arduino as the master on an I2C system why not just use a serial interface to pass data to the PC - either through the Arduino's USB cable or through an USB-TTL cable (aka FTDI cable).
If you are hoping to receive the data in the same "real time" way on the PC as it is received by the Arduino master you may be disappointed by the intrusion of the USB system and AFAIK alternatives to USB are thin on the ground. This FTDI paper explaining USB may be of interest.
The Arduinos that use the 32U4 MCU (Leonardo, Micro) transmit data to the PC at full USB speed ignoring the baud rate and may help if you want faster communication.
Have you considered not using an Arduino? Just use a USB to I2C adaptor?
(I have not used one)
What is that master in your picture?
If that is an Arduino, no need for extra hardware. If it's a bare micro, you indeed need some additional hardware.
^ It's a Pro Mini master, which I believe has no USB communication module
I have been using this Sparkfun FTDI to program my boards and get the data through the serial monitor
Can I use this same FTDI to get the data to the C# program?
Yes, you need to get your C# program to open the serial port and read text from it as though it was a file. Google!
And don't forget to close the serial monitor for another program being able to access the COM port.