Il y a quelque temps, je travaillais sur un projet Arduino et j’avais besoin de voir si le signal de sortie était en conformité avec les spécificités. Donc j’ai passé quelque temps sur internet à la recherche d’Oscilloscopes Arduino déjà mises en oeuvre, mais je n’ai pas aimé ce que j’ai trouvé. Les projets que j’ai trouvé étaient principalement composées d’une Interface utilisateur graphique de l’ordinateur écrit en traitement et un sketch arduino très simple. Les croquis ont été quelque chose comme :
void setup() {}
Serial.Begin(9600) ;
}void loop() {}
int val = analogRead(ANALOG_IN) ;
Serial.println(Val) ;
}
Cette approche n’est pas mal et je ne veux pas insulter quelqu'un, mais c’est trop lent pour moi. Le port série est lent et l’envoi de chaque résultat d’une analogRead() par son intermédiaire est un goulot d’étranglement.
J’ai étudié numériseurs de forme d’onde pendant un certain temps et je sais assez bien comment ça marche, alors j’ai eu l’inspiration de leur part. Ceux-ci étaient les points de départ de l’oscilloscope que j’ai voulu créer :
- le signal entrant doit être dissociée de l’arduino à préserver ;
- avec un décalage du signal, il est possible de voir des signaux négatifs ;
- les données devraient être mis en mémoire tampon ;
- un déclencheur de matériel est nécessaire pour capturer les signaux ;
- une mémoire tampon circulaire peut donner la forme du signal avant le déclenchement (en plus de suivre sur ce point) ;
- utilisation des fonctions de levier inférieures que le standard rend le programme plus rapide.
L’esquisse pour l’Arduino est attaché à cette étape, ainsi que le schéma du circuit que j’ai fait.
Le nom que je suis venu avec, Girino, est un jeu de mots futile en italien. Giro signifie rotation et ajoutant suffixe - ino , vous obtenez une petite rotation, mais Girino signifie aussi têtard. De cette façon, j’ai reçu un nom et une mascotte.