Мой импульсный металлодетектор на Arduino

высокое напряжение ВНИМАНИЕ! При настройке и эксплуатации металлодетектора следует соблюдать меры электробезопасности, так как в приборе имеется высокое, потенциально опасное для жизни напряжение – на ключевом транзисторе и на поисковой катушке.
законодательство о металлодетекторах ВНИМАНИЕ! Изучите законодательство Вашей страны, связанное с возможными последствиями поисковых действий с металлоискателем, и соблюдайте эти требования!

Информация предоставлена исключительно в образовательных целях.
Администратор сайта не несет ответственности за возможные последствия использования предоставленной информации.

Плату Arduino можно использовать в импульсном металлодетекторе (Pulse Induction Metal Detector (PI)) и как генератор импульсов, так и для обработки и отображения результатов.

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

Мой импульсный металлодетектор на Arduino - проект foxyPI

версия 1 (foxyPI v1)
Что нового: первая версия.
Лицензия исходного кода скетча: GNU General Public License v3.0, доступен на Github в репозитарии https://github.com/Dreamy16101976/foxyPIv1.
Видео испытаний прототипа: https://youtu.be/VWCA6jYK5tY

версия 2 (foxyPI v2) - в разработке

Что нового:

  • добавлено усреднение анализируемой длительности импульса катушки по алгоритму "скользящего среднего" (moving average, MA);
  • добавлена возможность настройки длительности импульсов, интервалов между ними, времени задержки и ширины окна скользящего среднего с помощью меню, а также сохранение настроек в EEPROM;
  • добавлено изменение тональности сигнала при изменении длительности импульса катушки;
  • добавление измерение напряжения батареи 3 В при старте;
  • добавлен динамический режим работы металлодетектора;
  • модифицирован драйвер MOSFET;
  • объединены переключатели "+5 В" и "+12 В", а освободившийся переключтель использован для управления подсветкой LCD-экрана.

Схема металлодетектора:
схема импульсного металлодетектора

Функции контактов и ресурсов Arduino и  совместимость:

Я использовал Arduino Nano 3.0 (на микроконтроллере ATmega328 - 32 кБайт Flash, 2 кБайт SRAM, 1 кБайт EEPROM, 3 таймера)
Arduino Nano

контакты Arduino:

вывод Arduino назначение
D07 вход ограниченного и усиленного сигнала с поисковой катушки
D06 вход опорного напряжения для компаратора
D08 выход сигнала генератора импульсов в катушке
D13 выход для подключения светодиода
D11 выход для подключения пьезодинамика
A00 вход АЦП
D02 вход подключения кнопки
REF вход опорного напряжения

ресурсы Arduino:

ресурс Arduino назначение
таймер Timer1 управление MOSFET
таймер Timer2 вывод звука
канал АЦП 0 измерение напряжения сигнала на выходе ОУ
компаратор измерение длительности сигнала с катушки

Лицензия исходного кода скетча: проприетарная.

Внешний вид электронного блока:
внутренности металлодетектора
вид внутри

электронный блок металлодетектора
вид сверху:
1 - LCD-экран
2 - светодиод
3 - пьезодинамик
4 - кнопка управления
5 - выключатель подсветки LCD-экрана
6 - выключатель питания "+5/12 В"
7 - светодиоды индикации уровня сигнала

Текущее состояние проекта:
на "полевых" испытаниях 19 марта 2016 года:
импульсный металлодетектор на Arduino

Эксплуатация металлодетектора

Включение и запуск металлодетектора

При включении питания металлодетектора (выключателя 6) сначала запускается десятисекундный отсчет:
импульсный металлодетектор на Arduino
Затем на дисплее (1) отображается сообщение с обозначением устройства ("foxyPI v2"), номером версии программного обеспечения и логотипом, а из пьезодинамика (3) звучит мелодия, а затем звуковой сигнал с изменяющейся тональностью, сопровождающийся миганием светодиодов:
импульсный металлодетектор на Arduino
Затем считываются из EEPROM текущие значения параметров:
импульсный металлодетектор на Arduino
и отображаются на дисплее:
импульсный металлодетектор на Arduino

Pulse - ширина TX-импульса (часто называется Sample Pulse Width) (us - в микросекундах)
Rate - частота следования TX-импульсов (pps - в импульсах в секунду)
Delay - задержка перед регистрацией RX-импульса (часто называется Sample Delay) (us - в микросекундах)
MA - ширина окна скользящего среднего
Protect - величина защитного интервала

Обнаружение мишеней с помощью металлодетектора

Затем запускается основной цикл работы металлодетектора (металлодетектор работает в статическом режиме).

При этом сначала выполняется автобалансировка (zeroing), которая длится несколько секунд, а прогресс выполнения автобалансировки отображается на дисплее:
автобалансировка импульсного металлодетектора на Arduino

После окончания автобалансировки подается короткий звуковой сигнал и отображается "нулевое" значение длительности RX-сигнала с катушки (максимальное, в условных единицах), а также его среднее арифметическое и стандартное отклонение:
балансировка импульсного металлодетектора на Arduino

При изменении текущей минерализации грунта может происходить нарушение режима работы, из-за чего либо возникают ложные срабатывания, либо снижается чувствительность. По этой причине необходимо периодически выполнять автобалансировку. Для повторного выполнения автобалансировки необходимо кратковременно нажать кнопку (4). Необходимо выполнять автобалансировку над чистым участком грунта (не над мишенью), не содержащем минералы.

При обнаружении металлического объекта-"мишени" звучит звуковой сигнал и загорается зеленый светодиод (2).
При этом на дисплей выводится полоска, отображающая четыре градации длительности регистрируемого RX-импульса, и зажигаются зеленый либо красный светодиоды:

сигнал от мишени индикация сигнала металлодетектора нет мишени
сигнал от мишени индикация сигнала металлодетектора уровень сигнала 1
сигнал от мишени индикация сигнала металлодетектора уровень сигнала 2
сигнал металлодетектора индикация сигнала металлодетектора уровень сигнала 3
сигнал металлодетектора индикация сигнала металлодетектора уровень сигнала 4

Громкость и тональность сигнала возрастает при приближении катушки к "мишени" и, соответственно, увеличении длительности RX-импульса (VCO-режим).

Настройка параметров металлодетектора

Для настройки параметров используется меню, для входа в которое необходимо нажать и длительно (более 1 с) удерживать кнопку. После отпускания кнопки на дисплее отображается текущий пункт меню (название настраиваемого параметра): "PULSE LENGTH" (длительность TX-импульса), "PULSE PAUSE" (пауза между TX-импульсами), "DELAY TIME" (время задержки), "MA WIDTH" (ширина окна алгоритма "скользящего среднего"), "PROTECT" (ширина защитного интервала), "SOUND" (включение (ON)/выключение звука (OFF)), "EXIT" (выход из меню).
Для выбора текущего пункта меню необходимо  долгое нажатие кнопки, а для перехода к следующему пункту - короткое (менее 1 с). После выбора настраиваемого параметра отображается его текущее значение.
Для установки в качестве значения парамера текущего отображаемого значения необходимо  долгое нажатие кнопки, а для перехода к следующему значению из списка - короткое (менее 1 с). 
Для выхода из меню необходимо выбрать пункт меню "EXIT".

Рекомендации по настройке металлодетектора

Я использую следующие значения параметров:
Pulse = 150 мкс
Rate = 40 имп. в секунду
Delay = 50 мкс
MA = 10
PROTECT = 0,5

Испытания металлодетектора

Для испытаний металлодетектора я использовал различные  мишени:
испытания металлодетектора  мишени металлодетектора
мишень металлодетекторамишень для металлодетектора
1 - алюминиевая пластина из "винчестера" (жесткого диска) (толщина 1,3 мм, внешний диаметр 3,75 дюйма, диаметр отверсия 1 дюйм)
2 - алюминиевый диск с отверстиями из советского детского конструктора (диаметр 5 см)
3 - советский юбилейный рубль (изготовлен из медно-никелевого сплава, диаметр 3,1 см)

4- советские 3 копейки 1979 года из медно-цинкового сплава ЛМц 58-2 (диаметр 22 мм, толщина 1,25 мм, масса 3 грамма)
5 - советские 2 копейки 1984 года (диаметр 18 мм)
6 - советская 1 копейка 1985 года (диаметр 15 мм)

7 - пивная банка
8 - крышка от бутылки минеральной воды

Дальности обнаружения "в воздухе" "малых" мишеней:
дальность обнаружения для металлодетектора

При снижении напряжения батареи дальность обнаружения заметно снижается.
В зарубежных металлодетекторах в качестве тестовой мишени часто используется монета Великобритании 10 пенсов - 10p диаметром 24,5 мм, которая ранее (до января 2012 года) изготавливалась из медно-никелевого сплава (медь 75 %, никель 25 %). Аналог такой монеты - монета США 25 центов - 25 US cent (U.S. quarter) диаметром 24,26 мм толщиной 1,75 мм массой 5,67 грамма.
Заявленная глубина обнаружения таких монет для различных металлодетекторов (max. depth for a US quarter):
Altai Treasure Seeker 2 hobby metal detector - 15 см;
Prestige Metal Detector - 16 см;
Supereye S3000 Metal Detector - 18 см;
EE Treasure Hunter - 20 см.

Я провел тестирование дальности обнаружения "больших" мишеней - металлических ворот гаража, металлической трубы и забора с металлической сеткой:
мишень металлодетектора    мишень металлодетектора     мишень металлодетектора

ворота гаража - 130 см; труба - 80 см; сетка - 50 см.

Используя лабораторный стенд, как цифровой осциллограф, я снял ряд осциллограмм:

лабораторный стенд -

стенд для металлодетектора

напряжение на поисковой катушке -

напряжение на катушке металлодетектора

Видео испытаний прототипа:

 

https://youtu.be/ikJbqUCbyvw

 

Полевые испытания и поиск 26.03.2016:
https://youtu.be/Xk4X6O1646M

Некоторые находки:
находки с помощью металлодетектора

Устройство металлодетектора

Корпус
В качестве корпуса электронного блока металлодетектора я использовал распределительную коробку Tyco со степенью защиты IP55 (от воды и пыли) из ПВХ c десятью вводами диаметром 30 мм.

Для штанги металлодетектора я использовал ПВХ-трубу диаметром 25 мм с толщиной стенок 1,6 мм (PN16):
ПВХ труба для металлодетектора

На трубе электронный блок закрепляется посредством U-образных держателей:
закрепление блока на штанге металлодетектора

Рукоятка металлодетектора крепится к штанге с помощью компрессионного фитинга:
рукоятка металлодетектора

Микроконтроллер
Я использую приобретенную на eBay плату Arduino Nano 3.0:
Arduino Nano 3.0

Arduino Nano 3-й версии основана на 8-битном AVR микроконтроллере ATmega328P (2-й версии - на ATmega168), причем буква "P" обозначает "picoPower".
Для сопряжения с USB-портом в моей плате Arduino используется микросхема преобразователя CH340G.

Источники питания

Батарея 3 В
Я использую два никель-кадмиевых аккумулятора емкостью 900 мА·ч каждый:
аккумуляторы для металлодетектора

После полного заряда напряжение от одного такого аккумулятора на нагрузке 10 Ом составляет 1,36 В.

Напряжение батареи 3 В преобразуется в напряжение 5 В для питания платы Arduino с помощью импульсного DC-DC преобразователя (на схеме обозначен VR1):
импульсный DC-DC преобразователь 5 В

Батарея 12 В
Я использую в качестве источника питания силовой части 10 щелочных батарей размера AA (LR6).

Тип батареи Напряжение х.х., В Напряжение
под нагрузкой, В
Ток к.з., А
Camelion Plus Alkaline1
(поработавшие)
батареи Camelion
1,34 1,31 (10 Ом) 2,2
Panasonic Alkaline Power
Panasonic Alkaline Power
     
Duracell Duralock (Alkaline)2 1,54 1,47 (10 Ом) 3,2

1 - номинальная емкость составляет 2700 мА·ч (при непрерывном разряде до 0,8 В током 25 мА)
2 - технология Duralock позволяет сохранять заряд при хранении до 10 лет,
на батарейках при этом на полоске нанесена надпись "DURALOCK":
Duralock
1 - батарейки Duracell, произведенные с использованием технологии Duralock
2 - обычные батарейки Duracell

Для размещения батарей размера AA я использую батарейный отсек на 10 элементов:
батарейный отсек

Отсек питания
Для размещения элементов питания я использую распределительную коробку.
Для подключения источников питания используется четырехконтактный разъем на боковой стороне корпуса электронного блока:
разъем для питания металлодетектора
1 - "+" батареи 12 В
2 - "-" батареи 12 В
3 - "-" батареи 3 В
4 - "+" батареи 3 В

Ток потребления от батареи 3 В составляет 50 ... 90 мА, от батареи 12 В - 40 ... 50 мА.

Катушка

Поисковая катушка диаметром $D$ = 25 см содержит $w$ = 27 витков эмалированного медного (удельное сопротивление $\rho$ = 0,0175 Ом·мм2/м) провода диаметром $d$ = 0,7 мм (площадь сечения $S$ = 0,385 мм2):
катушка металлоискателя

 

Предполагаемое сопротивление катушки $R = {\rho {{\pi D w} \over {S}}}$ = 0,964 Ом, а измеренное составило $R$ = 1,3 Ом:
измерение сопротивления катушки металлодетектора

Индуктивность катушки определяется по формуле:
$L = {{{\mu}_0} \over {4 \pi}} {w^2} D \Phi $, где $\Phi$ - вспомогательный коэффициент:
$\Phi = {2 \pi  [{(1 +  {{{\gamma}^2} \over 2} )} {ln ({4 \over \gamma})} - 1,75 + {{{\gamma} ^2} \over 6} ] } $, где $\gamma = {d \over {2 D}}$

Для моей катушки ($w$ = 27; $D$ = 0,25 м; $d$ = 0,0007 м):
$\gamma$ = 0,0014;
$\Phi$ = 39;
$L$ = 710 мкГн.

Для защиты катушки можно использовать гофрированный шланг для электропроводки (обычно серого цвета) который разрезается вдоль:
защита катушки металлодетектора
В него вставляется катушка, а затем он скрепляется изоляционной лентой. Катушка закрепляется в монтажной коробке с помощью термоклея и нейлоновых стяжек.
Катушка закрепляется на штанге с помощью компрессионного фитинга, резьбовая часть которого вкручена в полипропиленовую трубку диаметром 26 мм, закрепленную на крышке монтажной коробки с помощью нейлоновой стяжки и термоклея:
узел поисковой катушки

Для подключения катушки используется двухконтактный разъем на боковой стороне корпуса:
разъем для поисковой катушки

Генератор
Для выдачи импульсов я использую цифровой вывод D08, установив его как "выход" (цифровой вывод D08 соответствует выводу PB0 микроконтроллера ATmega) .
Для ускорения я использую не команду digitalWrite, а прямую запись в порт, что быстрее примерно в 10 раз!

Соответствие цифровых выводов Arduino и выводов портов ATmega

цифровой вывод Arduino вывод порта ATmega
D00 PD0
D01 PD1
D02 PD2
D03 PD3
D04 PD4
D05 PD5
D06 PD6
D07 PD7
D08 PB0
D09 PB1
D10 PB2
D11 PB3
D12 PB4
D13 PB5

Силовая часть

Так как напряжение на MOSFET-е при его выключении резко возрастает (из-за индуктивности катушки), то транзистор может перейти в режим лавинного пробоя ("avalanche breakdown"). Это происходит, если напряжение "сток-исток" $V_{DS}$ на MOSFET-е превышает его напряжение пробоя $V_{DS (BR)}$.
Для современных транзисторов работа в этом режиме является штатной (они маркируются как "Repetitive Avalanche Rated" или "100% AVALANCHE TESTED"). При этом важно учитывать такие лавинные характеристики транзистора как максимальный повторяющийся лавинный ток $I_{AR}$ и максимальная энергия повторяющегося лавинного пробоя $E_{AR}$.
Необходимо, чтобы максимальный ток в катушке перед выключением не превышал значения $I_{AR}$, а максимальная энергия, запасенная в катушке, не превышала значения $E_{AR}$. Энергия магнитного поля катушки определяется как ${E_M} = {{{L {I^2}} \over {2}}}$ (например, для катушки индуктивностью $L$ = 300 мкГн с током $I$ = 3 А энергия составит 1,35 мДж).

Параметры некоторых MOSFET:

Наименование $V_{DS (BR)}$, В $I_{AR}$, А $E_{AR}$, мДж
IRF540 100 28 15
IRF740 400 10 13
IRF840 500 8 13
FQP12N60C 600 12 22,5

Я использую MOSFET IRF840.

драйвер MOSFET

Управление MOSFET осуществляется с помощью оптопары PC817C (обладает быстродействием 3...4 мкс, выдерживает выходной ток 50 мА и напряжение в закрытом состоянии до 35 В) и дискретной транзисторной схемы:

драйвер MOSFET

Подобный драйвер описан в статье http://radiohlam.ru/raznoe/driver_polevikov.htm.

Я исследовал характеристики такого драйвера (при подаче на светодиод оптодрайвера напряжения 5 В через резистор 470 Ом):
ток потребления во "включенном" состоянии (MOSFET открыт) очень мал, в "выключенном" (MOSFET закрыт) - меняется от 5,8 до 12 мА при росте напряжения питания от 7 до 15 В; напряжение на выходе драйвера составляет 12,15 / 1,83 В ("вкл"/"выкл") при напряжении питания 13 В.

Детектор

В основе работы импульсного металлодетектора лежит принцип электромагнитной индукции - Electromagnetic Pulse Induction (EMI), о котором Вы может прочитать здесь.

Схема детектора моего металлоискателя:
детектор металлоискателя на Arduino

Сигнал с поисковой катушки $L1$ через токоограничивающий резистор $R2$ поступает на включенные встречно-параллельно диоды $VD1$ и $VD2$, ограничивающие величину сигнала до ~ 1 В. Это ограничение не вносит заметной погрешности, так как для детектирования "мишени" имееет значение "хвостик" сигнала, напряжение на котором составляет малые доли вольта (вплоть до милливольт). Такой слабый сигнал для надежного детектирования необходимо усилить, для чего я использовал операционный усилитель $OP1$ LM358N, включенный по традиционной схеме неинвертирующего усилителя. Коэффициент усиления определяется выражением $1+ {R3 \over R4}$, при указанных номиналах элементов (я уменьшил сопротивления резистора $R3$ до 10 кОм) он составляет 11.

Напряжение на катушке металлодетектора имеет следующий вид:

напряжение на катушке металлодетектора

напряжение на поисковой катушке металлодетектора

Я разработал демонстрационный скетч для отображения сигнала на выходе операционного усилителя:
кривые сигнала металлодетектора
1 - нет мишени, 2 - пивная банка, 3 - гантеля:
мишени металлодетектора
(мишени располагались в центре поисковой катушки)

1 шаг измерения АЦП длится около 6 микросекунд (я добился этого, изменив множитель АЦП со стандартного значения 128 на 4 - биты ADPS0 и ADPS2 регистра ADCSRA сброшены, бит ADPS1 установлен) - из них 3,25 микросекунды на собственно измерение (функция analogRead блокирует выполнение до окончания измерения), а остальное время - накладные расходы на цикл. Таким образом весь интервал измерения занимает 6 × 84 ≈ 500 микросекунд.

Опорное напряжение для АЦП (REF), равное 1,235 В, берется с эталонного источника LM385Z-1.2 (используется режим EXTERNAL).

Принимая, что сигнал изменяется по экспоненциальному закону, возможно определить постоянную времени с той или иной мишенью:
постоянная времени сигнала от мишени
Постоянная времени определяется как $\tau = {{{\Delta} t} \over {ln 2}}$, где ${\Delta} t$ - интервал времени, за который сигнал уменьшается в два раза.
Например, для мишени - гантели:
сигнал металлодетектора
Отсюда получаем, что постоянная времени для этого случая $\tau = {{{100 \over 860} 500} \over {ln 2}} \approx 84 мкс$.

Временные парамеры:
ton - PULSE WIDTH - ширина импульса -
длительность передаваемого (TX) импульса; может варьироваться в пределах 50 ... 1000 мкс (50 - 150 мкс при поиске объектов размерами с кольцо или монету, более широкие импульсы применяются при поисках крупных объектов).
PULSE FREQUENCY (PULSE REPETITION RATE) - частота следования импульсов.
tdelay - PULSE DELAY (DELAY TIME, DEAD TIME) - время задержки
- интервал между окончанием TX-импульса и началом анализа принимаемого (RX) импульса. Сокращение этого интервала повышает чувствительность к маленьким и/или слабопроводящим объектам. Удлинение наоборот позволяет игнорировать такие "мишени" как кусочки фольги. Детекторы, рассчитанные на поиск крупных объектов, наряду с повышенной длительностью TX-импульса используют и увеличенное время задержки для минимизации сигналов от маленьких кусочков металла.
tsample - SAMPLE WINDOW (SAMPLE PULSE, RECEIVE TIME) - окно выборки - интервал, в течение которого выполняется анализ RX-импульса.

Для обработки сигнала с поисковой катушки я использую встроенный в микроконтроллер ATmega аналоговый компаратор с двумя входами - неинвертирующим AIN0 и инвертирующим AIN1.
На неинвертирующий вход компаратора AIN0 подается опорное напряжение uthres, которое может регулироваться делителем напряжения с источника опорного напряжения из постоянного резистора R5 и переменного резистора R6 (дл уменьшения влияния шума и повышения стабильности работы я установил это напряжение равным 20 мВ).
На инвертирующий вход AIN1 подается усиленное операционным усилителем напряжение сигнала с поисковой катушки, ограниченное диодами VD1 и VD2.
Если сигнал на инвертирующем входе превышает сигнал на неинвертирующем, то бит в специальном регистре Arduino устанавливается в "0". Этот факт означает наличие затухающего напряжения на катушке. Подсчет в цикле N - длительности интервала tsample, в течение которого  этот бит установлен в "0, (в условных единицах) позволяет определить наличие "мишени" по удлинению этого интервала.  При этом подсчет начинается не сразу после прерывания тока в катушке, а через некоторый интервал - время задержки tdelay.
подсчет длительности импульса в металлодетекторе

Для усреднения результатов и снижения влияния шумов используется метод "скользящего среднего":
алгоритм металлодетектора

Ширина окна "скользящего среднего" (параметр MA в настройках) аналогична постоянной времени интегрирования в аналоговом импульсном металлодетекторе. Я использую MA=10, что при частоте 40 импульсов в секунду соответствует интервалу времени $\tau = 0,25 с$.

Звуковая индикация

Я использую для звуковой индикации пьезоэлемент от автономного пожарного извещателя. Громкость звучания пьезоэлемента весьма причудливым образом зависит от частоты сигнала. Я смог найти набор частот 800 - 900 - 1000 - 1100 Гц, для которых громкость звучания увеличивается (в том числе, по данным Android-приложения от 54 до 69 дБ).

Для управления звучанием пьезоэлемента, подключенного к контакту 11 платы, я используют таймер 2 Arduino.

Дискриминация

О возможности дискриминации в импульсном металлодетекторе Вы может прочитать здесь.

    Помехи

    О мешающем влиянии грунта на импульсный металлодетектор Вы можете прочитать здесь.

    EFE

    В импульсном металлодетекторе на катушке будет наводиться некоторое очень маленькое напряжение даже просто при перемещении катушки над землей. Это связано с тем, что витки катушки при этом пересекают линии магнитного поля. Наводимое при этом напряжение часто называется EFE-(earth field effect) сигнал.

    Индикация
    Для индикации я использую LCD-дисплей от мобильного телефона Nokia 5110, выпущенного в 1998 году:
    Nokia 5110
    Дисплей для этого телефона - монохромный c разрешением 84×48. Я приобрел его на eBay:
    дисплей Nokia 5110
    Контроллер дисплея - Philips PCD8544.
    Подключение дисплея:

    Вывод дисплея Вывод Arduino Назначение вывода дисплея
    RST D07 сброс контроллера дисплея
    CE (или CS) D06 разрешение ввода данных в контроллер дисплея
    DC D05 режим ввода - данные/команды
    Din D04 данные шины SPI
    CLK (или SCLK) D03 команды шины SPI
    VCC * напряжение питания (2,7 ... 3,3 В)
    BL ** подсветка
    GND GND "земля"

    Существует два варианта дисплея LCD 5110 - с синим (дешевле) или красным текстолитом:
    дисплей Nokia 5110  дисплей Nokia 5110

    * напряжения питания контроллера -
    синий - строго 3,3 В (можно подключить к выводу 3V3 Arduino)
    красный - по некоторым непроверенным сведениям выдерживает напряжение питания 5 В (можно питать от выводов 5V или 3V3 Arduino)
    ** напряжение питания подсветки -
    синий - на вывод подсветки можно подать напряжение 3,3 или 5 В
    красный - на вывод подсветки подключается "земля" (?)
    Подсветку дисплея можно не использовать, так как она потребляет заметную мощность.
    Проблемой такого дисплея является ненадежный контакт ЖК-панели с печатной платой посредством соединителя ZEBRA, который устраняется, например, припаиванием проводника, прижимающего панель к плате - как рекомендовано здесь:
    экран LCD 5110
    Если эту проблему не устранить, то она приводит к "почернению" экрана, требующей повторной инициализации.

    Для работы с таким дисплеем в Arduino я подключаю библиотеку Adafruit-PCD8544 от Adafruit Industries.

    Яндекс.Метрика