Go Down

### Topic: Convert Processing code to Arduino??? (Read 2101 times)previous topic - next topic

#### bonobono

##### Nov 15, 2012, 03:41 pm
Hi.

I want to convert the code (below) from Processing into Arduino but I am getting errors with the syntax, basically what I want to do is to get a vibration motor to start, reach maximum speed and slow down again in the shape of a curve. I have it working in processing (using the Arduino Lib) but I would like to have it working also in the Arduino IDE as I want to disconnect the arduino from the computer...any help will be appreciated ...thanks in advance...

Code: [Select]
`int xspacing = 32;   // How far apart should each horizontal location be spacedint w;              // Width of entire wavefloat theta = 0.0;  // Start angle at 0float dx;  // Value for incrementing X, a function of period and xspacingfloat[] yvalues;  // Using an array to store height values for the wavevoid setup() {  w = 320;  dx = 0.40212387;  yvalues = new float[w/xspacing];}void loop() {  background(0);  Generatewave();}void Generatewave() {  // Increment theta (try different values for 'angular velocity' here  theta += 0.002;  // For every x value, calculate a y value with sine function  float x = theta;  for (int i = 0; i < yvalues.length; i++) {    yvalues[i] = sin(x)*10.0;      println(yvalues[i]);    x+=dx;  }}`

#### AWOL

#1
##### Nov 15, 2012, 03:46 pm
Quote
I want to convert the code (below) from Processing into Arduino

If instead you say "I want to convert the code (below) from Processing into C/C++", the whole thing becomes much easier.

e.g. not
Code: [Select]
`float[] yvalues;  `
but
Code: [Select]
`float yvalues [someConstantSize];  `
"Pete, it's a fool looks for logic in the chambers of the human heart." Ulysses Everett McGill.
Do not send technical questions via personal messaging - they will be ignored.
I speak for myself, not Arduino.

#### PaulS

#2
##### Nov 15, 2012, 03:46 pm
Quote
but I am getting errors with the syntax

Share them, you greedy pig!

Code: [Select]
`  background(0);`
Your Arduino has something to paint the background color on?

Code: [Select]
`     println(yvalues[i]);`
Where are you trying to print to? The Serial Monitor? That requires sending data to the serial port, using the Serial instance.

#### bonobono

#3
##### Nov 15, 2012, 05:29 pm
@AWOL I made that change but when I verify the code below I am now getting the following error: incompatible types in assignment of 'float*' to 'float [10]'

**@PaulS Sorry,I was not being greedy:) and well spotted, I did leave some remnants of Java behind:)...

Code: [Select]
`int xspacing = 32;   // How far apart should each horizontal location be spacedint w;              // Width of entire wavefloat theta = 0.0;  // Start angle at 0float dx;  // Value for incrementing X, a function of period and xspacing//float[] yvalues;  // Using an array to store height values for the wavefloat yvalues [10];  void setup() {  w = 320;  dx = 0.40212387;  yvalues = new float[10];  Serial.begin(9600);}void loop() {  Generatewave();}void Generatewave() {  // Increment theta (try different values for 'angular velocity' here  theta += 0.002;  // For every x value, calculate a y value with sine function  float x = theta;  for (int i = 0; i < yvalues.length; i++) {    yvalues[i] = sin(x)*10.0;     Serial.println(yvalues[i]);    x+=dx;  }}`

#### AWOL

#4
##### Nov 15, 2012, 06:19 pm
Code: [Select]
`yvalues = new float[10];`
If you already declared a size for the array, you don't need/want "new", so delete this line
"Pete, it's a fool looks for logic in the chambers of the human heart." Ulysses Everett McGill.
Do not send technical questions via personal messaging - they will be ignored.
I speak for myself, not Arduino.

Go Up