4

So, I am an Engineer working on a very time tight project.

I want to create a system capable of collecting data from a Photodiode and compiling it in a way that will separate data into four columns which correspond to colours (red, green, blue, yellow) the columns will have rows of data corresponding to a number.

I have elected to use Arduino for this project but need some help on what to get and whether this is possible or not... I have an intermediate knowledge of C, C++ and previous Arduino experience, but have never undertaken something like this.

The project is envisaged to look like this.

Hardware:

  • Photodiode with RS232-C connection
  • An Arduino (Which sort is best? now I have Uno and Mega but can purchase others should these not be sufficient for the project)
  • Touchscreen Interface
  • Storage capacity (SD card or email/Bluetooth capability or something alike to collect the data to edit on PC).

The Process should is like this: Input = User interacting with GUI on Touchscreen - First page will have Four Colours Available (Once one of these inputs selected let’s say Red, jump to next page) -> Page two will have a Touch Number Pad Input (User selects number, let's say 2 in this case and hits enter), For less complexity this could be on one page correct? -> The Data will then be read off a Photodiode communicating via RS232-C to Arduino and stored in a .csv or something similar under its previously selected values (Red, 2, Photodiode Value)

Output: A compiled list of all the data collected under their relative user inputs.

I currently have these items but am happy to purchase others.

  • S130C Thorlabs Photodiode Sensor
  • Null Modem Cable (Pins are swapped on S130C)
  • RS232 Shield (DFRobot RS232 Shield V0.1)
  • Arduino Uno, Arduino Mega
  • TouchScreen (Duinotech 2.8” TFT LCD)

After re-reading what I wrote I suppose there are a few:

  1. Could I complete this project using Uno and Mega?
  2. Is there a method for compiling data and storing/sending using Arduino?
  3. What are the capabilities of Arduino? Could a project of this complexity be done using Arduino components or is there another microprocessor or microcomputer which would be a better choice for this project?
  • What is the actual question? – KC Tucker Apr 11 '17 at 22:34
  • After re-reading what I wrote I suppose there are a couple: Could I complete this project using Uno and Mega? Is there a method for compiling data and storing/sending using Arduino? What are the capabilities of Arduino? Could a project of this complexity be done using Arduino components or is there another microprocessor or microcomputer which would be a better choice for this project? – ANT1 Apr 11 '17 at 22:38
  • Ant1, Please edit your post to include the questions, rather than leaving them in comments. More likely to be upvoted if question is unitary. – James Waldby - jwpat7 Apr 11 '17 at 22:55
1

Your question is incredibly broad. However:

1. Could I complete this project using Uno and Mega?

Yes, almost certainly

2. Is there a method for compiling data and storing/sending using Arduino?

What? Yes, you can store data onto an SD card using a simple level-shifting piece of hardware like this:

SD card interface

3. What are the capabilities of Arduino?

This isn't a reasonable question (it's too broad). I suggest Googling for things people have done. For myself, I made a humidity and temperature sensor using the same processor as in a Uno. It also runs from batteries.


... a very time tight project ...

Time is going to be your enemy here. Learning how to drive a touchscreen, save files to an SD card, interpret RS232 data from your sensor, and make it all work reliably is not the sort of thing you will do in 3 days.

Even if you dumped all your hardware on my desk (and I know how to program Arduinos) I would estimate two or three weeks to calmly get each part going individually and then interface them all together.


Would you suggest using breakout boards over shields?

Shields are well and good if they do what you want them to do. A breakout board will have more flexibility.

because of pin availability would you suggest trying to use the Mega rather than Uno?

Depends how many pins you need. If you use SPI or I2C you can (probably) drive your display with only a handful of pins.

The Uno will probably have enough, and it has the flexibility that you can easily replace the processor chip if you damage it. You can't do that to the Mega. Plus, more code is written for the Uno so you are more likely to find libraries that work "out of the box" for a Uno.

I wouldn't be getting the "more powerful" device unless you have identified a specific reason to have it. For example, some of the faster and more powerful Arduinos (and other boards) with ARM processors may well do more under certain circumstances, but be somewhat harder to use.

  • Hi Nick Gammon, Thanks very much for your answer! I understand the questions are so broad it's difficult to nail down exactly what I am asking and I apologise for that. I am definitely intimidated by the time line, for that reason I have asked for help from people such as yourself and future questions will likely be more specific. Would you suggest using breakout boards over shields? and because of pin availability would you suggest trying to use the Mega rather than Uno? – ANT1 Apr 11 '17 at 23:56
  • See modified answer. – Nick Gammon Apr 12 '17 at 0:09
  • Thanks for all your help Nick, do you mind if I contacted you in the future? Say if I run into any further issues. – ANT1 Apr 12 '17 at 0:12
  • You are welcome to post further questions. I am unable to answer questions personally. – Nick Gammon Apr 12 '17 at 3:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.