
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:05

Некоторое время назад я подумал, что было бы очень удобно иметь график для моих аналоговых выходов. Это помогло бы отладить мои выходные данные, дало бы мне общее представление о пределах датчика и еще много чего, и даже было бы просто довольно крутым интерфейсом для любого датчика. Итак, с Arduino, OLED и датчиком по вашему выбору, давайте приступим к работе.
Шаг 1. Вещи, которые вам понадобятся:




- Ардуино
- Дисплей (в моем проекте используется 0,96-дюймовый OLED-экран, и эскиз подходит для него, но вы можете свободно использовать любой дисплей, который вам нравится. Однако вам придется настроить код (объяснено в разделе кода))
- Макетная плата (я использую специальный экран для макетов, но не имеет значения, что вы используете)
- Провода перемычки
- Не много времени
Шаг 2: оборудование


Подключение OLED: (Цвета см. На изображениях выше)
- Красный провод (VCC): 5 В Arduino
- Зеленый провод (GND): Земля Arduino
- Фиолетовый провод (SCL): SCL Arduino (проверьте нижнюю часть платы для маркировки, если нет конкретного контакта SCL, обычно это A5)
- Оранжевый провод (SDA): SDA Arduino (проверьте нижнюю часть платы для маркировки, если нет конкретного вывода SDA, обычно это A4)
Подключение датчика: (Цвета см. На изображениях выше)
- Включите датчик в соответствии с его конкретной распиновкой.
- Выход датчика должен идти на A0.
Шаг 3: Код
Это простая вещь, которую делает программа - она берет аналоговый вход, сопоставляет его с координатами y графика и рисует линию к координате y от предыдущей координаты y, в то время как координата x непрерывно увеличивается.
Код совсем не сложный и хорошо прокомментирован, поэтому, если вы чувствуете, что понимаете его достаточно хорошо, чтобы настраивать его, обязательно сделайте это. Однако он был разработан таким образом, чтобы его можно было максимально настраивать с минимальными настройками. Чтобы изменить размер графика, положение графика или размер полосы чтения (размер полосы уже оптимален и настроен быстро), вам нужно только изменить
- GRAPH_HEIGHT
- GRAPH_WIDTH
- GRAPH_BOX_X
- GRAPH_BOX_Y
- BAR_WIDTH
константы в соответствии с вашими требованиями в разделе определения констант.
Кроме того, выход вашего датчика может быть инвертирован (высокий вход -> низкий выход и наоборот). В этом случае измените константу INVERTED на «true».
Код Arduino:
Шаг 4: Заключение
Вот и все для этого простого проекта. Надеюсь, это будет полезно другим людям. Если вы обнаружите ошибку в коде, какие-либо потенциальные улучшения или даже новое использование для проекта, сообщите мне об этом в комментариях. Также, если вам понравился проект, подумайте о голосовании за него в конкурсе «Build A Tool».
Рекомендуемые:
Как считывать несколько аналоговых значений с помощью одного аналогового вывода: 6 шагов (с изображениями)

Как считывать несколько аналоговых значений с помощью одного аналогового вывода: в этом уроке я покажу вам, как считывать несколько аналоговых значений, используя только один аналоговый входной вывод
Драйвер двигателя аналоговых часов: 4 шага

Драйвер двигателя аналоговых часов: даже в цифровом мире классические аналоговые часы имеют вневременной стиль, который никуда не денется. Мы можем использовать двухканальную схему GreenPAK ™ CMIC для реализации всех активных электронных функций, необходимых в аналоговых часах, включая драйвер двигателя и кварцевый генератор
7-сегментный для отображения значений АЦП #Arduino, #Arduino: 4 шага

7 сегментов для отображения значений АЦП #Arduino, #Arduino: в этой статье я сделаю проект, который все еще связан с предыдущей статьей. А именно обработка данных АЦП. Поэтому вам не нужен последовательный монитор, чтобы увидеть значение данных АЦП. В этой статье я сделаю дисплей для просмотра значений ADC. так что ты не
Считывание значений АЦП с потенциометров: 4 шага

Считывание значений АЦП с потенциометров: в этой статье я покажу вам, как считывать значения АЦП с потенциометра. Это основа программирования Arduino. который считывает аналоговые значения с помощью аналогового вывода, предоставленного Arduino. Помимо потенциометра, есть несколько датчиков, которые
Сохранение и восстановление предустановленных значений с помощью NFC (TfCD): 4 шага

Сохранение и восстановление предустановленных значений с помощью NFC (TfCD): мы хотим протестировать, как это работает, чтобы отрегулировать определенное значение или настройку, а затем вызвать эту настройку. В этом эксперименте мы использовали тег NFC для чтения и сохранения значения на нем. Позже тег можно отсканировать еще раз и отправить значение обратно для восстановления сертификата