Drawing with arduino

Hi

I'm corrently working on a project that reads 3d coordinates (a portable coordinate measuring machine), but i don't know how to interface with a PC to use the readed coordinates.

Can someone help me on this please?

You have provided very little information.

  • What is reading the coordinates? Is it the PC?
  • When you say "interface with a PC to use the readed coordinates" do you want to send the coordinates to the PC or have the PC send them to something else? What something else?
  • What is contained in a single message with coordinate data?
  • How often does it need to be sent?

and I'm sure you can think of other information that would be useful

...R

The idea is to do a CMM. The hardware part is already almost structured, but I lack the part of software that is my weak.

Sort of like this one:

https://www.youtube.com/watch?v=ky-WAytPTbY

I was amming for 2 outputs: 1- Directly from arduino to PC 2- Store a file on a sd card

If you answer my questions I may be able to help.

And another question - what is "CMM"

...R

Sorry, my bad.

CMM is a Coordinate Measuring Machine

“What is reading the coordinates? Is it the PC?”
The CMM is reading the coordinates

“When you say “interface with a PC to use the readed coordinates” do you want to send the coordinates to the PC or have the PC send them to something else? What something else?”
I would like to create a file to use the coordinates on 3d edition program
“What is contained in a single message with coordinate data?”
I don’t know this answer
How often does it need to be sent?
I think continualy.

I have found this information:

It uses Peasycam.

Chaparro1973:
CMM is a Coordinate Measuring Machine

“What is reading the coordinates? Is it the PC?”
The CMM is reading the coordinates

Sorry, but I still don’t know what a Coordinate Measuring Machine is. How does it read coordinates? Does it store the data? Can it send the data to something else? How is the data sent? What format is the data in? etc etc etc

“When you say “interface with a PC to use the readed coordinates” do you want to send the coordinates to the PC or have the PC send them to something else? What something else?”
I would like to create a file to use the coordinates on 3d edition program

I presume you are referring to a file on your PC?
As I have no idea what the 1st and 2nd edition programs were you can guess that I have no idea what the 3rd edition program is.

“What is contained in a single message with coordinate data?”
I don’t know this answer

We will probably need that info before too long, but let’s skip it for now.

How often does it need to be sent?
I think continualy.

“continually” is not helpful. X times per second is.

I have found this information:
An Open Source, DIY Digitizer | Hackaday

It uses Peasycam.

I don’t understand how that link relates to your question.

You should realize from all my questions that there is probably a huge amount of information in your head that you are not passing on to us. Looking for advice on a web forum is a lot different from asking a question in a group of colleagues who are all working on the same project and all have the same background knowledge.

…R

Your right, and i thank you for your interest and pacience on helping.

Starting

A coordinate measuring machine is something like a "reversed" robot arm that is used to read 3d coordinates be used for creating a 3d objet.

I'm starting the project, that's why i'm not sure what i can do with the information i get from the machine.

I have the basics (hardware design and basic program) almost done. Wating to receive the sensors to beging testing my ideas.

As i said before i don't know what to do with the information. And thats what i'm asking for help.

Is there a 3d editing program that can accept the coordinates so i can use them?

Can i store those coordinates on a sd card, or send them to the computer?

Or just simply display those coordinates on a LCD an use them by hand.

This is one site were i got the idea:

http://fablab.ruc.dk/diy-digitizer/

I can’t figure out what any of this has to do with an Arduino. What role do you envisage for an Arduino?

I imagine that other Forums would be better able to advise bout 3D editing software - the RepRap Forum specializes in 3D printing.

…R

In think the essence of this is, so correct me if I'm wrong Chaparro1973, you will be

  • reading positional information in space from your 'arm'
  • sending that information to a PC
  • storing the positional information (on disc)
  • and subsequently use the positional data in a different program (on the PC)

So, I see that you need to be able to get data from the arm's position. Some sensors to allow you to do this, think about potentiometers at the joints, encoders to note rotation or even accelerometers/gyros or who knows what. The intention is to give you x, y, z data for the tip of the finger on your arm. You will have to have a way to say 'digitise this point' rather than record everything the arm is doing? You press a button or there is one on the finger. Research what the production CCM manufacturers do.

That is a lot of engineering which it sounds like you may have done.

Next decide how much data processing you want to do on the Arduino. All that is needed, some or none. Your decision.

Then send the data to the PC, I'll assume via Serial. Text formatted data sounds like it will be fine and it will you allow you to look at the data and check it.

If your sensor reading or Arduino data processing is faulty in some way you will never be able to get your 3D shape from that data. Consequently you will need to analyse that data.

Have a look at https://forum.arduino.cc/index.php?topic=500805.0 which you can use to trace multiple data items and check every thing is working as you intend and make adjustments as required. 5 plots on the SWP visualiser should show you x, y and z plus something else useful all at the same time. The LCD output would display your other data (parameters used in the algorithms?) and the ability to send data back to the Arduino will allow you to tune those algorithm(s). You can send the data received to a log file (another feature of ESM) and then use it in your subsequent processing.

This information will give you the 3D shape you have pointed to which is a program that understands 3D data and there are a lot of things out there that do that from SketchUp (which is free) to Autodesk and SolidWorks (which cost an arm and a leg). 3D data viewers are free.

Your job will be to convert the data to be compliant with the data format(s) .... such as STL. Your job is to go and research that and work out what that is.

acboother: Next decide how much data processing you want to do on the Arduino. All that is needed, some or none. Your decision.

Then send the data to the PC, I'll assume via Serial. Text formatted data sounds like it will be fine and it will you allow you to look at the data and check it.

If your sensor reading or Arduino data processing is faulty in some way you will never be able to get your 3D shape from that data. Consequently you will need to analyse that data.

This all sounds as if the the thing the OP has called "a Coordinate Measuring Machine" is what he is trying to build with an Arduino.

I had understood the OP's posts to mean that he already has that machine and it can produce the necessary data. However your interpretation probably makes more sense of this Thread.

I don't think the OP is going to get far with such a complex project unless he can express his ideas clearly - for his own benefit as much as for any other reason.

...R

acboother: In think the essence of this is, so correct me if I'm wrong Chaparro1973, you will be

  • reading positional information in space from your 'arm'
  • sending that information to a PC
  • storing the positional information (on disc)
  • and subsequently use the positional data in a different program (on the PC)

That's exactly what i intend. For now the project is on it's early starts, done the following. Draw the structure of the machine, for 3dprint the parts (with sketchup) Figure out the math's needed to determine the arm position,and tested them Started working on the main program for arduino, i will be using a arduino 2560 board.

For now i think it's best simply to prove the concept and see the data adquired on a LCD, after that i think what to do with it

Robin2: I don't think the OP is going to get far with such a complex project unless he can express his ideas clearly - for his own benefit as much as for any other reason.

...R

First i would like to express my gratitude for the efforts made trying to understand and help me.

It's quite hard to express mi ideas mainly becouse i'm portuguese an some things are 'lost in translation'. And also becouse i'm new with arduino and it's all the first to me.

When i'm at the point off using the data adquired by the machine, i wil ask again for your help (hope to get it). In the meantime i will try to get more information.

Thank you

Chaparro1973: becouse i'm portuguese an some things are 'lost in translation'.

There is a Portuguese language section of the Forum

When i'm at the point off using the data adquired by the machine,

This reinforces my earlier assumption that you have "a Coordinate Measuring Machine" which is quite separate from any Arduino. So I am still at a loss to understand what is the role, if any, for an Arduino.

...R

Robin2: There is a Portuguese language section of the Forum

This reinforces my earlier assumption that you have "a Coordinate Measuring Machine" which is quite separate from any Arduino. So I am still at a loss to understand what is the role, if any, for an Arduino.

...R

The machine is built with a arduino mega 2560.

Chaparro1973: The machine is built with a arduino mega 2560.

Now he tells us - in Reply #12 and after 4 days.

But you have still given us no useful information about the machine or about what you really need help with. In your Original Post you said "but i don't know how to interface with a PC to use the readed coordinates." Now that I know you have a Mega I presume you want to send data to the PC. The usual way to do that is with Serial.print(). What have you tried? What happened when you tried it?

Help us to help you. We can't read your mind.

...R