Estoy trabajando en un proyecto para construir un osciloscopio utilizando el Arduino Mega2560. He construido el sistema utilizando una pantalla de 128x160, y tengo dificultades para mostrar un rango de frecuencias en la pantalla.
El sistema que he desarrollado mide la señal de entrada con un retraso de 1 ms entre cada medición, haciendo esto 120 veces colocando cada lectura en una matriz. Descubrí que tengo que usar un retardo de 1 ms, ya que captura frecuencias bajas demasiado rápido y solo mostrará partes de la forma de onda. Al usar este sistema, el alcance solo mide hasta unos 400Hz antes de que Nyquist se establezca y la forma de onda se distorsione.
Mido la frecuencia (arriba a la izquierda) revisando la matriz y encontrando cuántas veces la señal cruzó 0. Para detener la señal volando por la pantalla, encuentro el primer valor cuando cruzó 0 y dibuja la señal desde allí. Solo se muestran 74 valores de la matriz 120.
¿Existe una forma matemática de la información dada de modo que si la frecuencia está por encima del 'x' cambio de demora, de manera que el sistema pueda auto-extenderse y medir hasta 100kHz y mostrar la señal en la pantalla, es posible?