Идентификатор типа и выводов биполярных транзисторов на PIC

Проект представляет из себя простой идентификатор выводов, а также определяет тип транзистора (PNP или NPN) с отображением при помощи светодиодов. Текущая прошивка поддерживает только биполярные транзисторы, но я думаю что возможно реализовать и идентификацию полевых транзисторов.

В качестве микроконтроллера используется 14-ти выводной PIC16LF1503. Вся плата питается от одного элемента питания CR2032.

Схема идентификатора

Для определения типа транзистора я использовал 6 резисторов номиналом 1 кОм и 300 кОм, которые подключены к каждому пину транзистора и к микроконтроллеру. На резисторы подается напряжение 0 или 3В, которое затем поступает на АЦП и анализируется программой. Т.о. происходит опознание типа транзистора (PNP или NPN), а также его выводы.

Программа написана на Си. Используется 1.3 КБайт памяти из доступной 2КБайт.

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

Проект на GitHub

Список радиоэлементов

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
U1 МК PIC 8-бит PIC16F1503 1
R1-R4 Резистор 220 Ом 4
R5, R7, R9 Резистор 300 кОм 3
R6, R8, R10 Резистор 1 кОм 3
D1-D9 Светодиод 3мм 9
Элемент питания 3В CR2032 1