Bonjour !
Voila j'ai réalisé un programme avec une grande partie électronique
sur mon prototype ça fonctionnait très bien avec une arduino MEGA 2560
Ensuite sur le 2eme prototype on a remplacé l'arduino MEGA par une arduino micro avec un AT32U4
j'ai essayé un des morceaux du programme important mais rien ne se passe, il y a absolument que la carte qui change.
Si vous pouviez regarder si qu'il va pas ça me serai d'une aide énorme !
Voici le programme :
void loop()
{
ADCSRA = 0x87;
// turn on adc, freq = 1/128 , 125 kHz.
ADMUX = 0x61;
//Bit 5 – ADLAR: ADC Left Adjust Result
ADCSRA |= (1<<ADSC);
while(!(ADCSRA & 0x10));
for(i=0; i<N; i++ ) {
ADCSRA |= (1<<ADSC);
// while((ADCSRA&(1<<ADIF)) == 0);
while(!(ADCSRA & 0x10));
x[i] = ADCL;
x[i] += (ADCH << 8);
}
ADCSRA = 0x00;
for (i=0; i<N; i++){
x[i] -= sdvig;
if (i & 0x01)
fx[(N+i)>>1] = x[i] ;
else
fx[i>>1] = x[i] ;
}
fix_fftr( fx, log2N );
// Calculation of the magnitude:
for (i=0; i<N/2; i++)
{
fx[i] = sqrt((long)fx[i] * (long)fx[i] + (long)fx[i+N/2] * (long)fx[i+N/2]);
Serial.println(fx[i]);
}
if(fx[1]>500){
analogWrite(13,255);
}
else
analogWrite(13,0);
if(fx[2]>500){
analogWrite(13,200);
}
else
analogWrite(13,0);
if(fx[3]>500){
analogWrite(13,150);
}
else
analogWrite(13,0);
if(fx[4]>500){
analogWrite(12,250);
}
else
analogWrite(12,0);
if(fx[5]>500){
analogWrite(12,200);
}
else
analogWrite(12,0);
if(fx[6]>500){
analogWrite(12,150);
}
else
analogWrite(12,0);
if(fx[7]>500){
analogWrite(11,255);
}
else
analogWrite(11,0);
if(fx[8]>500){
analogWrite(11,200);
}
else
analogWrite(11,0);
if(fx[9]>500){
analogWrite(11,150);
}
else
analogWrite(11,0);
if(fx[10]>500){
analogWrite(11,255);
}
else
analogWrite(11,0);