Осциллограф 10 Гц – 50 кГц на Arduino Nano


В этой статье мы рассмотрим создание самодельного (DIY) осциллографа на основе платы Arduino и ЖК графического дисплея 128x64, способного работать в диапазоне от 10 Гц до 50 кГц. Это достаточно широкий диапазон, причем наш осциллограф не будет использовать внешний АЦП (аналогово-цифровой преобразователь), только плату Arduino.

Внешний вид осциллографа 10 Гц – 50 кГц на Arduino Nano

Результаты работы осциллографа будут отображаться на сравнительно большом ЖК дисплее (ST7920) с разрешением 128x64 пикселов. Область для вывода результатов измерений будет иметь размер 96x64, а размер информационной области будет составлять 32x64 пикселов.

Также на нашем сайте вы можете посмотреть проект осциллографа на основе платы Arduino с выводом изображения на экран компьютера.

Необходимые компоненты

  1. Плата Arduino Nano R3 (купить на AliExpress).
  2. Конденсатор 100 мкФ (купить на AliExpress).
  3. ST7920 LCD 128x64 (графический ЖК дисплей) (купить на AliExpress).
  4. Потенциометр (2 шт.) (купить на AliExpress).
  5. Кнопочный переключатель, мгновенный (Momentary) (3 шт.).

Стоимость комплектующих для сборки данного осциллографа, как вы можете видеть, сравнительно небольшая. Если вы раньше не работали с графическим дисплеем, используемом в данном проекте, то на нашем сайте вы можете прочитать статью про подключение графического ЖК дисплея ST7920 к плате Arduino.

Работа схемы

Схема осциллографа 10 Гц – 50 кГц на основе платы Arduino Nano и ЖК дисплея ST7920 представлена на следующем рисунке.

Схема осциллографа 10 Гц – 50 кГц на основе платы Arduino Nano и ЖК дисплея ST7920Данный осциллограф будет обладать следующими особенностями:

  • автоспуск (дисплей очень стабильный);
  • скорость сканирования: 0.02ms/div~10ms/div, 9 уровней отображения;
  • функция удержания (Hold function): "замораживает" изображение на экране дисплея.

Первоначально подобный осциллограф был описан в блоге Wu Hanqing, но автор этого проекта внес в него небольшие изменения. Как можно видеть из представленного в конце статьи видео, осциилограф обеспечивает достаточно четкую картинку на сравнительно большом экране, хорошо работает автопуск. Вертикальная позиция изображения регулируется с помощью потенциометра 50 кОм, для управления контрастностью дисплея используется потенциометр 10 кОм. Нами осциллограф протестирован с помощью генератора синусоидальных и прямоугольных импульсов.

Данный осциллограф не является профессиональным инструментом, однако он хорошо подойдет для образовательных целей, а также для тестирования несложных устройств.

Исходный код программы (скетча)

Видео, демонстрирующее работу осциллографа

Источник статьи

(1 голосов, оценка: 5,00 из 5)
Загрузка...
12 948 просмотров

Комментарии

Осциллограф 10 Гц – 50 кГц на Arduino Nano — 10 комментариев

  1. Здравствуйте,а как данные с микроконтроллера будут передаваться на жк дисплей 128х64, если шины данных не задействованы у жк дисплея, и для чего сам конденсатор в схеме?

    • Нет, не пробовал. Просто в последнее время я так много перевожу проектов с англоязычных источников что мы просто не успеваем их все попробовать

    • И почему вы так думаете? 50кгц - не такая уж большая частота, на мой взгляд

  2. Собрал я схему. В ней есть ошибки.
    Нужно переставить ножки с D9, D8, D7 на D10, D9, D8.
    На экране пин CS1 подключить на корпус.
    RST подключить на D3 и в коде изменить U8GLIB_ST7920_128X64_4X u8g (6, 5, 4);
    на U8GLIB_ST7920_128X64_4X u8g (6, 5, 4, 3);

    • Спасибо за полезный комментарий к статье. А с вашими доработками проекта у вас все нормально заработало? У данного проекта большое число просмотров и хороший рейтинг на англоязычном источнике, странно, что в нем могли быть такие ошибки. Хотя, может быть, вам попалась плата Arduino с дефектной ножкой D7

      • Да, но к сожалению мой источник сигналов уехал на некоторое время - потому проверить работу полностью не смог. Как проверю - отпишусь. А ошибки как раз были на англоязычном сайте. Вот оригинал комментария:
        Hello Mirko. Your design is very interesting and I made it and when put together, it didn't work.
        I had to add a connection to the LCD. RST (reset on LCD) and D3 (on NANO), in the code I added U8GLIB_ST7920_128X64_4X u8g (6, 5, 4);
        on U8GLIB_ST7920_128X64_4X u8g (6, 5, 4, 3);
        and key are wrongly assigned, in the diagram: D9, D8, D7 in code 10,9,8.
        After these changes, the oscilloscope works. Great project and I'm getting on with the next one. Thanks.

        И там еще другой про корпус на ЖКИ - но я его не сохранил.

        • Хорошо, спасибо вам еще раз. Такие комментарии, как ваши, помогают лучше разобраться в нюансах того или иного проекта. К сожалению, я со студентами не успеваю пробовать все проекты, которые я перевожу. Поэтому помощь таких людей как вы, очень ценна для нашего сайта

Добавить комментарий

Ваш адрес email не будет опубликован.