Go Down

Topic: I know little about programming, and have a specific question. (Read 1 time)previous topic - next topic

Beatz1337

Mar 19, 2013, 01:17 amLast Edit: Mar 19, 2013, 01:25 am by Beatz1337 Reason: 1
My code is receiving an error, and I am using a tutorial.
The tutorial is located at this webpage: http://blog.tinyenormous.com/2009/09/30/17-arduino-nikon-ir-intervalometer-code/

The code that I need help with is as follows:
Code: [Select]
`void snap(){ int i; digitalWrite(PIN_STATUS,  1);            for(i=0;i");          sequence[i] = (sequence[i] * FREQ) / (intervalle * 1000);          Serial.println(sequence[i]);      }}`

The error:
Code: [Select]
`stray '/' in program`

mistergreen

Code: [Select]
`    for(i=0;i");`

Beatz1337

Thank you, now how can I fix it? I am not familiar with this syntax, however, I know lua, and sometimes it gets confusing.

mistergreen

I thought you're going off a tutorial.
Here's instructions on for loop
http://arduino.cc/en/Reference/For

Beatz1337

I am, but the tutorial code is incorrect, so could you help me fix this one line of code?

mixania

#5
Mar 19, 2013, 01:52 amLast Edit: Mar 19, 2013, 01:55 am by mixania Reason: 1
Here is exactly how to do it:

Code: [Select]
`for(i=0; i<100; i++){     sequence[i] = (sequence[i] * FREQ) / (intervalle * 1000);     Serial.println(sequence[i]);}`

The i<100 means it would repeat 100 times. Which is repeat until i is no longer smaller than 100. i++ means add one every time the for() function runs.

http://arduino.cc/en/Reference/For

Beatz1337

Thank you, but now I get the error intervalle was not declared in this scope.
If needed, here is the full code:

Code: [Select]
`// ----- C -------/** * arduino Nikon IR remote * @license Creative commons: Attribution-Noncommercial-Share Alike 3.0 (http://creativecommons.org/licenses/by-nc-sa/3.0/) * @author Aurelien ANTOINE * version 1 * date 20081217 * found by ross here http://ilpleut.be/doku.php/code:nikonremote:start**/ #define PIN_STATUS 13#define PIN_IR_LED 12#define FREQ 38400  // IR frequenceint hyst=20;int PotVal = 0;int count = 0;int oldVal=0; //shutter sequence (on,off,on,off ... in microsecond)unsigned long sequence[] = {2000,27830,390,1580,410,3580,400,63200,2000,27830,390,1580,410,3580,400,0};int seq_l; //oscd is a delay in microsecond used at each oscillation.int oscd; void oscillate(int pin, unsigned long n, int shine){ int ir_status=0; while(n>0){ n--; delayMicroseconds(oscd); ir_status  =  !ir_status; digitalWrite(pin,  ir_status && shine);  }} void snap(){ int i; digitalWrite(PIN_STATUS,  1);              for(i=0; i<100; i++){           sequence[i] = (sequence[i] * FREQ) / (intervalle * 1000);           Serial.println(sequence[i]);    }} void setup() { int min=1, max=100, i; int last_oscd=0; unsigned long before, intervalle; oscd=max; seq_l = sizeof(sequence)/sizeof(unsigned long); pinMode(PIN_STATUS, OUTPUT); pinMode(PIN_IR_LED, OUTPUT); Serial.begin(28800); //this "while" will process the best "oscd" Serial.println("Ready"); while(last_oscd!=oscd){ last_oscd=oscd; oscd=(min+max)>>1; before=millis(); oscillate(PIN_STATUS, FREQ, 1); intervalle=millis()-before; if(intervalle >= 1000) max=oscd; else min=oscd; Serial.print(intervalle); Serial.print(" : "); Serial.print(min); Serial.print("<->"); Serial.println(max); } Serial.print("oscd: "); Serial.println(oscd); //rewrite the sequence array, we replace all values in microsecond by the number of oscillation for(i=0;i<seq_l;i++){ Serial.print(sequence[i]); Serial.print("->"); sequence[i] = (sequence[i] * FREQ) / (intervalle * 1000); Serial.println(sequence[i]); }} void loop() { //make a photo, wait 10 secondsPotVal=0;  for (count = 0; count < 10; count++) { //loops 10 times    PotVal = (PotVal + analogRead(1))/100; //adds the pot readings together  }  //PotVal = (PotVal / 100); // finds average of readings   Serial.print("Interval is ");    Serial.print(PotVal);    Serial.println(" seconds.");    snap();delay(PotVal*1000); }`

Arrch

intervelle is declare in loop(), but you are trying to use it in snap(). It should be made global.

Beatz1337

Like I said, I have no coding experience besides lua, and so I will need help making this global. What do I need to change?

Arrch

Like I said, I have no coding experience besides lua

But you have Google, don't you?

Try googling C++ global scope to see some simple examples.

Beatz1337

Ok, and if it gets moved to become a global variable, will it still be able to change as the pot changes?

Arrch

will it still be able to change as the pot changes?

It doesn't do that now.

Go Up

Please enter a valid email to subscribe