arduino ( échantillonnage d'un signal )
bonsoir tous ,j'ai un petit probléme. je veux mesurer les valeur d'un signal analogique et la stoquer dans un vecteur bien sur, on peux dire un échantillonnage de signal . condition de utilisé les timer s et analogread , parceque je veux exploité les resultats pour faire le fft de se signal ( alors avec des hauts fréquances) !!
aidez moi svp ?! et merci
j'ai proposé le programme suivant:
int brocheled = 13;
int dureepause = 1000;
int timer1_counter;
void setup()
{
pinmode(brocheled, output);
// initialize timer1
nointerrupts(); // disable interrupts
tccr1a = 0;
tccr1b = 0;
tcnt0 = 0;
// set timer1_counter correct value our interrupt interval
//timer1_counter = 64886; // preload timer 65536-16mhz/256/100hz
//timer1_counter = 64286; // preload timer 65536-16mhz/256/50hz
timer1_counter = 34286; // preload timer 65536-16mhz/256/2hz
tcnt1 = timer1_counter; // preload timer
tccr1b |= (1 << cs12); // 256 prescaler
timsk1 |= (1 << toie1); // enable timer overflow interrupt
interrupts(); // enable interrupts
}
isr(timer1_ovf_vect) // interrupt service routine
{
tcnt1 = timer1_counter; // preload timer
digitalwrite(brocheled, analogread(brocheled) ^ 1);
}
void loop()
{
digitalwrite(brocheled, high);
delay(dureepause);
digitalwrite(brocheled, low);
delay(dureepause);
}
aidez moi svp ?! et merci
j'ai proposé le programme suivant:
int brocheled = 13;
int dureepause = 1000;
int timer1_counter;
void setup()
{
pinmode(brocheled, output);
// initialize timer1
nointerrupts(); // disable interrupts
tccr1a = 0;
tccr1b = 0;
tcnt0 = 0;
// set timer1_counter correct value our interrupt interval
//timer1_counter = 64886; // preload timer 65536-16mhz/256/100hz
//timer1_counter = 64286; // preload timer 65536-16mhz/256/50hz
timer1_counter = 34286; // preload timer 65536-16mhz/256/2hz
tcnt1 = timer1_counter; // preload timer
tccr1b |= (1 << cs12); // 256 prescaler
timsk1 |= (1 << toie1); // enable timer overflow interrupt
interrupts(); // enable interrupts
}
isr(timer1_ovf_vect) // interrupt service routine
{
tcnt1 = timer1_counter; // preload timer
digitalwrite(brocheled, analogread(brocheled) ^ 1);
}
void loop()
{
digitalwrite(brocheled, high);
delay(dureepause);
digitalwrite(brocheled, low);
delay(dureepause);
}
mouais ... http://forum.arduino.cc/index.php?topic=227866.0
Arduino Forum > International > Français (Moderators: jfs, Snootlab) > arduino ( échantillonnage d'un signal )
arduino
Comments
Post a Comment