Ogni oscilloscopio fornisce un segnale rettangolare per calibrare la sonda. Misurando quel segnale Ti da anche quei picchi o hai un segnale pulito?
E' la prima cosa che faccio ogni volta quando collego la sonda.
Guarda facciamo così, pubblica lo sketch o quelle poche righe che utilizzi per generare il treno di onde quadre, lo faccio girare anch'io sul mio arduino e ti mando una schermata del mio oscilloscopio. Se fosse un problema di campionamento è più probabile che non vedresti il picco o comunque non tutta la sua dinamica.
Saresti molto gentile e ti ringrazio anticipatamente.
Prima lanci questo sketch (programmi la ROM)
/*
* EEPROM Write
*
* Stores values read from analog input 0 into the EEPROM.
* These values will stay in the EEPROM when the board is
* turned off and may be retrieved later by another sketch.
*/
#include <EEPROM.h>
void setup()
{
}
int write = 1;
void loop()
{
if (write == 1)
{
EEPROM.write( 0 , B10000000 );
EEPROM.write( 1 , B10000000 );
EEPROM.write( 2 , B10001010 );
EEPROM.write( 3 , B10001010 );
EEPROM.write( 4 , B10101000 );
EEPROM.write( 5 , B10101000 );
EEPROM.write( 6 , B10100010 );
EEPROM.write( 7 , B10100010 );
EEPROM.write( 8 , B10100010 );
EEPROM.write( 9 , B10100010 );
EEPROM.write( 10 , B10101000 );
EEPROM.write( 11 , B10101000 );
EEPROM.write( 12 , B10001010 );
EEPROM.write( 13 , B10001010 );
EEPROM.write( 14 , B10000000 );
EEPROM.write( 15 , B10000000 );
EEPROM.write( 16 , B00101010 );
EEPROM.write( 17 , B00101010 );
EEPROM.write( 18 , B00100000 );
EEPROM.write( 19 , B00100000 );
EEPROM.write( 20 , B00000010 );
EEPROM.write( 21 , B00000010 );
EEPROM.write( 22 , B00001000 );
EEPROM.write( 23 , B00001000 );
EEPROM.write( 24 , B00001000 );
EEPROM.write( 25 , B00001000 );
EEPROM.write( 26 , B00000010 );
EEPROM.write( 27 , B00000010 );
EEPROM.write( 28 , B00100000 );
EEPROM.write( 29 , B00100000 );
EEPROM.write( 30 , B00101010 );
EEPROM.write( 31 , B00101010 );
}
write = 0;
}
poi carichi questo
#include <EEPROM.h>
int addr = 0;
int k=0;
void setup()
{
DDRD = B11111111; //tutti i pin sono uscite
}
void loop()
{
while (k<100)
{
PORTD = EEPROM.read(addr);
++ addr;
if (addr > 31)
{addr = 0;}
}
}
Poi colleghi la sonda tra digital 7 e gnd come vedi nella foto.
Dovresti avere l'onda quadra di circa 10 kHz che sfarfalla (lo sfarfallamento è dovuto al codice, che devo riscrivere, però adesso ho altre priorità ...).
Il mio sospetto è che le commutazioni di Arduino sono troppo rapide, la sonda che uso introduce un carico induttivo ( il cavetto di massa a banana) e quindi si crea il picco.
Grazie ancora.
Giorgio.