Иногда бывают случаи, когда вам нужно посмотреть на форму аналоговых сигналов, с которыми вы работаете, а под рукой нет осциллографа. В этом случае можно взять Arduino и задействовать один из его каналов АЦП. При этом вам не нужно будет писать какую-либо большую и сложную программу. На самом деле код такого простейшего осциллографа может уместиться всего в 10 строчек и несколько дополнительных вкладок заголовочных файлов.

Для начала вам нужно написать следующий код.

Далее подключите источник сигнала к контакту A0 (и GND, конечно). Убедитесь, что сигнал находится в известных пределах. Как можете видеть на изображении выше, у нас есть четыре каскадных include-файла, первый из них, "a.h", выглядит так:
#include "b.h"
#include "b.h"
#include "b.h"
#include "b.h"
#include "b.h"
#include "b.h"
#include "b.h"
#include "b.h"
Следующий файл, "b.h", состоит из восьми строк, содержащих
#include "c.h"Следующий, "c.h", состоит из восьми строк, содержащих
#include "z.h"Последний файл под названием "z.h" имеет реальный код (только одну строку).
analogRead(A0),Делая это таким образом, AnalogRead вызывается 8 * 8 * 8 = 512 раз при инициализации массива. Это делается настолько быстро, насколько может процессор, повторные инструкции не требуются.
Вы можете подумать, что это можно сделать проще, используя макрос, но проблема возникает из-за запятой после вызова функции.
© digitrode.ru