Ciao a tutti, ho un problema con il mio intervaluino. Cerco di caricare questo codice
// Intervaluino
// this code programs the Arduino as an intervalometer for a Canon EOS camera, using two relays and a push button
// this enables you to create time-lapse movies with your camera.
// change the variables “full_time” and “short_time” to automatically calculate the right time interval (based on 25 frames per second)
// upload the code via USB, fire up the Arduino, plug it into your camera’s remote shutter release, and press the Intervaluino push button.
// press the button another time to stop the sequence (doesn’t work that well if your interval is long)
// make sure to turn on single shoot
// (c) Lord Yo 2008 (intervaluino a_t sporez do:t com)
// Licensed under a Creative Commons (Attribution Non-Commercial Share-Alike) license
/////////// Change these variables according to your needs
long full_time = 14400; //full length time to cover (in seconds)
long short_time = 120; //length of time-lapse movie (in seconds)
int shutter_on = 200; //time to press shutter, set between 100 and 300
int shutter_wait = 5000; //initial time to wait to begin sequence
int wakeup = 300; //time to activate wakeup (focus)
int wakewait =200; //time between wake and shutter
/////////// Further Variables ////////////
long shutter_off = (40 * full_time / short_time) – shutter_on – wakeup – wakewait; //time to wait between shutter releases;
int outpin = 11; //output for shutter relay from pin 11
int wakepin = 8; //output for focus relay from pin 8
int switchpin = 2; //input from button from pin 2
int val; //value of button press
int buttonState; //check variable for change of button press
int on_off = 0; //state of sequence (turned on, turned off)
/////////// Setup ////////////
void setup() {
pinMode(outpin, OUTPUT); //outpin gives output
pinMode(switchpin, INPUT); //switchpin receives input
pinMode(wakepin, OUTPUT); //wakepin gives output
buttonState = digitalRead(switchpin); //read value of the button
}
/////////// Loop ////////////
void loop(){
val = digitalRead(switchpin); // read button value and store it in val
if (val != buttonState) { // if the button state has changed…
if (val == LOW) { // check if the button is pressed…
if (on_off == 0) { // if the sequence is currently off…
on_off = 1; // turn the sequence on
delay(shutter_wait); // wait the initial period
} else {
on_off = 0; // turn the sequence off
}
}
}
buttonState = val; //switch the button state
if (on_off == 1) { //while the sequence is turned on…
digitalWrite(wakepin, HIGH); //turn wakeup/focus on
delay(wakeup); //keep focus
digitalWrite(wakepin, LOW); //turn wakeup off
delay(wakewait); //wait
digitalWrite(outpin, HIGH); //press the shutter
delay(shutter_on); //wait the shutter release time
digitalWrite(outpin, LOW); //release shutter
delay(shutter_off); //wait for next round
}
}
Ma mi riporta l'errore
intervaluino:22: error: stray '\' in program
intervaluino:22: error: stray '\' in program
intervaluino:22: error: stray '\' in program
intervaluino:22: error: expected ',' or ';' before 'u2013'
non so cosa voglia dire. In più in non riesco a caricare lo sketch e mi da l'errore
Binary sketch size: 1728 bytes (of a 30720 byte maximum)
avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51
long full_time = 14400; //full length time to cover (in seconds)
long short_time = 120; //length of time-lapse movie (in seconds)
int shutter_on = 200; //time to press shutter, set between 100 and 300
int shutter_wait = 5000; //initial time to wait to begin sequence
int wakeup = 300; //time to activate wakeup (focus)
int wakewait =200; //time between wake and shutter
long shutter_off; //time to wait between shutter releases;
int outpin = 11; //output for shutter relay from pin 11
int wakepin = 8; //output for focus relay from pin 8
int switchpin = 2; //input from button from pin 2
int val; //value of button press
int buttonState; //check variable for change of button press
int on_off = 0; //state of sequence (turned on, turned off)
prova a sostituire la riga incriminata con questo:
long shutter_off = (40 * full_time / short_time) - shutter_on - wakeup - wakewait; //time to wait between shutter releases;
Anche se all'apparenza è identico, ho riscritto i meno !! praticamente il carattere ascii (forse unicode) non era quello del meno standard, ma il compilatore non lo interpretava come meno, andando ad incasinare tutto !!
uffa, dai, già nel post invece di beccarmi gente interessata mi sono beccato solo criticoni solo perchè ho pasticciato con l'attiny..
almeno lasciami fare dello spam mirato con chi potrebbe essere interessato !!
Già visto quell'intervallometro e il mio si avvicina parecchio.
Ho controllato tutto 10 volte ed è tutto ok. Potrebbe essere un problema sulla componentistica? Per non saper ne leggere ne scrivere ho cambiato anche il micro alla scheda ma niente. E' alimetato ma quando riceve i dati il led rosso non si accende
Ehm... riformula la domanda: stai programmando un chip standalone o un Arduino?
Nel primo caso, quale chip? Non è che hai impostato dei fuse sul micro? Hai programmato altre volte quel micro prima di ora?
Rispondo ad entrambi, programmo direttamente su arduino e l'ho fatto un sacco di volte così ed ha sempre funzionato. Tutti i pin sono liberi. Che cosa sono dei fuse sul micro?
hai provato a caricarci altri sketch?
hai altri arduino per fare altre prove?
hai provato a programmare da un'altro pc?
hai provato a cambiare la porta usb?
quando le cose non vanno bisogna sempre andare un po' a tentativi ...