WR88

WR88

пикабушник
пол: мужской
поставил 1313 плюсов и 174 минуса
отредактировал 0 постов
проголосовал за 0 редактирований
10К рейтинг 1730 комментариев 10 постов 7 в "горячем"
251

Найден телефон Москва, Бирюлёво Восточное [Телефон вернулся владельцу]

Найден телефон Москва, Бирюлёво Восточное [Телефон вернулся владельцу] Без рейтинга, Бюро находок, Длиннопост
Найден телефон Москва, Бирюлёво Восточное [Телефон вернулся владельцу] Без рейтинга, Бюро находок, Длиннопост
Найден телефон Москва, Бирюлёво Восточное [Телефон вернулся владельцу] Без рейтинга, Бюро находок, Длиннопост
Найден телефон Москва, Бирюлёво Восточное [Телефон вернулся владельцу] Без рейтинга, Бюро находок, Длиннопост

Собственно вот, найден телефон Xiaomi, отдам владельцу. Как зовут владельца знаю. В комплекте был чехол. Пишите какой был чехол в комменты.

Показать полностью 3
99

Индикатор разряда Li-ion на TL431

Всем привет! Давно ничего не выкладывал, да и на само радиолюбительство подзабил в последнее время. Данный проект у меня уже давно "висит", вот нашёл время поделиться им с вами.

Итак, что и зачем: в большинстве моих (и не только моих) поделок используются элементы питания li-ion номиналом 3,7в - стандартные 18650, всяческие аккумы из сотовых телефонов и китайские разнокалиберные "лепёхи". На том же алиэкспресс есть модули зарядки, повышающие модули, модули для контроля разряда и прочая полезная ерунда, которая сильно облегчает жизнь. Но я не нашёл ничего вменяемого чтобы следить за уровнем заряда батареи и в случае достижения какого-то порогового значения сообщать об этом. Можно конечно сделать слежение на мозгах мк самоделки, либо поставить вольтметр за 70р с того же али, но всегда либо ног у мк не хватает, либо решение получается чрезмерным и громоздким. Исходя из всего этого возникла цель сделать маленькое и просто устройство, которое можно было бы клепать пачками из дешевых компонентов и которое выполняло бы свою функцию - показывало бы что батарея садится и её нужно зарядить.

Началось с вот такой схемы, которую я нашёл на просторах интернета:

Индикатор разряда Li-ion на TL431 Li-Ion, Самоделки, Своими руками, Гифка, Длиннопост

Тут используются 4 резистора, R1 и R2 составляют делитель напряжения на управляющем контакте TL431, R3 подтяжка базы NPN транзистора к плюсу питания, R4 - токоограничивающий для индикаторного светодиода, уже упомянутый NPN-транзистор, а также регулируемый стабилитрон TL431, который является сердцем всей схемы.

Сначала был собран DIP-прототип, для проверки работоспособности, вот его фото, если кто захочет в таком варианте повторить:

Индикатор разряда Li-ion на TL431 Li-Ion, Самоделки, Своими руками, Гифка, Длиннопост
Индикатор разряда Li-ion на TL431 Li-Ion, Самоделки, Своими руками, Гифка, Длиннопост
Индикатор разряда Li-ion на TL431 Li-Ion, Самоделки, Своими руками, Гифка, Длиннопост

Образец тесты прошёл, после чего была разработана (слово то какое громкое) новая схема на смд компонентах, собственно к чему я и стремился:

Индикатор разряда Li-ion на TL431 Li-Ion, Самоделки, Своими руками, Гифка, Длиннопост

После ЛУТ, травления и сверловки я получил несколько таких вот малышек (часть уже где-то просрал):

Индикатор разряда Li-ion на TL431 Li-Ion, Самоделки, Своими руками, Гифка, Длиннопост

ну и собственно готовое изделие, я бы даже сказал модуль:

Индикатор разряда Li-ion на TL431 Li-Ion, Самоделки, Своими руками, Гифка, Длиннопост
Индикатор разряда Li-ion на TL431 Li-Ion, Самоделки, Своими руками, Гифка, Длиннопост

вот он же в сравнении с драйвером шаговика А4988

Индикатор разряда Li-ion на TL431 Li-Ion, Самоделки, Своими руками, Гифка, Длиннопост

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

Индикатор разряда Li-ion на TL431 Li-Ion, Самоделки, Своими руками, Гифка, Длиннопост

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

Индикатор разряда Li-ion на TL431 Li-Ion, Самоделки, Своими руками, Гифка, Длиннопост

при работе как видно потребляется аж целых 10 мА, а при заряженной батарее в 4 раза меньше - 2,3 мВ, что разрядит среднестатистический 1000 мАч аккум "очень быстро" - аж за 18 суток, но это опять же если модуль будет подключен к батарее постоянно. Поэтому при подключении необходимо предусмотреть выключатель, который размыкает цепь батареи полностью, давая ей полностью насладиться процессом саморазряда. Опять же можно заметить что я, как криворукий бабуин вместо 300 омного резистора в цепи светодиода воткнул 68 омный, что так же влияет на потребление. Пробовать с 300ом тупо обламывает, оставлю это моим покорным читателям.

И для тех, кто стойкий оловянный солдатик и дочитал до этого места, я напишу как эта ебала работает:

Вся соль заключается в особенности регулируемого стабилитрона ТЛ431 - он начинает пропускать ток через себя только при наличии на управляющей ноге напряжения равном или выше 2,6в, следовательно при правильно подобранном делителе напряжения из R1 и R2, где первый равен 1,5кОм а второй является подстроечным, на управляющую ногу ТЛ431 при заряженной батарее приходит напряжение, которое выше 2,6в, следовательно весь ток идёт через стабилитрон и светодиод не горит. Как только напряжение на батарее становится ниже порогового - на ТЛ431 приходит меньше 2,6в и он закрывается, тем самым открывая транзистор и зажигая светодиод. Просто как с балкона поссать.

Кто не хочет заморачиваться с подбором резисторов в делителе - вот вам скрин из полезной проги на андроиде:

Индикатор разряда Li-ion на TL431 Li-Ion, Самоделки, Своими руками, Гифка, Длиннопост

3,3в - напряжение срабатывания

1,5кОм - постоянный резистор

5,6кОм - значение подстроечника

2,603В - получаемое на выходе делителя, то есть на входе ТЛ431

Какие могут быть нюансы:

1) забыть отзеркалить плату при печати (как я) - тупо переворачиваем полупроводники кверху ногами и всё ок

2) не работает схема - пробуем перевернуть ТЛ431 кверху ногами, ушлые китайцы штампуют ТЛ432 под видом ТЛ431 (у них распиновка зеркальная)

3) не горит светодиод/горит тускло - шаманим с номиналом токоограничивающего резистора


Ссылка на скачивание печаток в формате *.lay:


В общем сумбурно как-то изложил, но вроде инфу донёс, пишите вопросы, пожелания, советы, буду рад почитать.

Показать полностью 11
46

Отладочная плата для ATmega8 DIP, минипост

Решил поделиться простеньким проектом, который я запилил себе для обучения AVR C.

На плате имеется разъём под кварц, 4 тактовые кнопки, выведенные штыри GPIO, разъём SPI для программирования, разъём USART, несколько дополнительных портов питания 5в (БЕЗ предохранителя), 2 подстроечника на 10Ком, ну и конечно же "кроватка" под сам мк.

Фото ниже.

В Sprint Layout

Отладочная плата для ATmega8 DIP, минипост Своими руками, Самоделки, Atmega8, Длиннопост

После травления и сверления

Отладочная плата для ATmega8 DIP, минипост Своими руками, Самоделки, Atmega8, Длиннопост

Нанёс "шелкографию" методом ЛУТ, лаком не покрывал, забил на этот раз, посмотрю как будет держаться.

Отладочная плата для ATmega8 DIP, минипост Своими руками, Самоделки, Atmega8, Длиннопост

Ну и готовый вариант:

Отладочная плата для ATmega8 DIP, минипост Своими руками, Самоделки, Atmega8, Длиннопост

Обратную сторону не показываю, там срака, флюс не смывал, хочу феном пройтись для более ровного припоя. А может и так оставлю. Что можно было сделать лучше - сделать отключаемым подстроечник на ноге C0, сделать отключаемыми кнопки, добавить больше штук всяких... Но пока и так пойдёт.

СМД компоненты:

Резистор на 10к (1002, разм. 1206) для подтяжки reset и кнопок к VCC - 5шт.

Конденсатор 0,1мкф (разм.1206) на кнопки и по питанию - 5шт.

Конденсатор 1мкф (разм.1206) по питанию - 1шт.

Конденсатор 33пф (разм.0603) на кнопки и по питанию - 2шт.

Остальное всё можно легко посчитать по фотке, там в основном штыри.

Если будут вопросы - пишите.

Показать полностью 3
133

Паяльный фен на ардуино. Часть вторая.

Паяльный фен на ардуино. Часть вторая. Паяльный фен, Arduino, Своими руками, Самоделки, Длиннопост

Итак, выкладываю вторую часть о том как я паяльный фен делал. В общем скажу сразу - фен я доделал, собрал всё в корпус и даже немного поработал им. Даже палец обжёг))

Но сейчас обо всём этом по порядку. В прошлом посте я остановился на том, что сделал главную плату фена, вкратце расскажу о передней панели. Пара фоток про ЛУТ.

Паяльный фен на ардуино. Часть вторая. Паяльный фен, Arduino, Своими руками, Самоделки, Длиннопост

Вытравлено, просверлено, приложено к передней стенке корпуса (о нём позже).

Паяльный фен на ардуино. Часть вторая. Паяльный фен, Arduino, Своими руками, Самоделки, Длиннопост

В итоге имеем такую платку, дисплей OLED 128х64, кнопки 12х12мм, разъём 10 пиновый, кондёры и тд - всё как обычно) один светодиод пустил с блока питания напрямую, он тут не впаян ещё, будет как индикатор включения в сеть. Потом подумал и вместо ядерного синего светодиода впаял другой, вообще все перепаял.

Паяльный фен на ардуино. Часть вторая. Паяльный фен, Arduino, Своими руками, Самоделки, Длиннопост

Далее я приступил к калибровке всего этого получившегося... В общем берётся фен, закрепляется, подносим к соплу термопару мультиметра и меняя температуру кнопками смотрим какая температура реально имеется на выходе из сопла. Напомню что во время калибровки на дисплее фена отображается значение, получаемое на входе А0 с термопары через ОУ.

Паяльный фен на ардуино. Часть вторая. Паяльный фен, Arduino, Своими руками, Самоделки, Длиннопост

Я использовал насадку, которая у меня самая ходовая, расстояние тоже примерно такое при работе держу, может чуть меньше. Вообще я считаю что фен, а конкретно поток воздуха - штука гораздо более изменчивая, чем жало того же паяльника, поэтому очень критично относиться к поддержанию температуры не стОит.

Паяльный фен на ардуино. Часть вторая. Паяльный фен, Arduino, Своими руками, Самоделки, Длиннопост

Далее, получившиеся значения перегоняю в экселевский файл и получаю график зависимости

Паяльный фен на ардуино. Часть вторая. Паяльный фен, Arduino, Своими руками, Самоделки, Длиннопост

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

Паяльный фен на ардуино. Часть вторая. Паяльный фен, Arduino, Своими руками, Самоделки, Длиннопост

Теперь можно заняться корпусом. Хоть он и мелькал всё это время на фотках, но названия его я не говорил (хз почему устроил тайну века). Вообще вопрос корпуса готового изделия это самая большая головная боль сейчас. Кому-то конечно сойдёт и корпус от блока питания компа, но не мне.

Я решил взять корпус Gainta G765, одна из причин в том, что у меня паяльник собран в подобном корпусе. Так же из всех представленных на рынке корпусов он довольно прочный, из нормального пластика, выглядит прилично. Цена его конечно не радует - 500р в ЧипИДипе, до этого рассмотрел кучу других продавцов этих корпусов - выяснилось что физлицу купить такой корпус проблематично, нужно либо заказ сделать на 1000р, либо ждать 30 дней, либо ещё что-то. Короче купил в Чипе, хер с ним.

Паяльный фен на ардуино. Часть вторая. Паяльный фен, Arduino, Своими руками, Самоделки, Длиннопост

Ну коротко о передней и задней панели. Задняя панель:

Паяльный фен на ардуино. Часть вторая. Паяльный фен, Arduino, Своими руками, Самоделки, Длиннопост
Паяльный фен на ардуино. Часть вторая. Паяльный фен, Arduino, Своими руками, Самоделки, Длиннопост

Что тут имеем - вход 220в как на старых магнитофонах (люблю я эти коннекторы, мало места занимают, только провода хрен достанешь по адекватной цене), предохранитель на 6А, на 5А не было, выключатель на две линии, размыкает и фазу и ноль сразу. Необходимый минимум, как считаю.

Передняя панель:

Паяльный фен на ардуино. Часть вторая. Паяльный фен, Arduino, Своими руками, Самоделки, Длиннопост

Тут дыры насверлены китайским ступенчатым сверлом, желтое такое. Под дисплей вырезал паяльником и скальпелем. Доработано по методу напильнинга. Кривовато получилось конечно, но запасной пластины не было, может доберусь до фрезерного станочка и сделаю нормально. Стойки капроновые, приклеены клеем момент и усилены горячими соплями. Пока держат, посмотрим в работе.

Паяльный фен на ардуино. Часть вторая. Паяльный фен, Arduino, Своими руками, Самоделки, Длиннопост

Распечатал на самоклейке такую "панель", получилась адовая хуетень, с отпавшим тонером и непропечатавшимися буквами. Короче пока так, буду думать как сделать лучше. В общем эта наклейка будет выполнять функции картины из Простоквашино - будет заслонять дыру и заодно держать защитную плёнку дисплея. Её я вырезал из плёнки Lomond для лазерных принтеров (тоже по сути дерьмище, прозрачности нет толком).

Вот что получилось в итоге под крышкой:

Паяльный фен на ардуино. Часть вторая. Паяльный фен, Arduino, Своими руками, Самоделки, Длиннопост

Ну и пара фоток уже собранного изделия

Паяльный фен на ардуино. Часть вторая. Паяльный фен, Arduino, Своими руками, Самоделки, Длиннопост

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

Дисплей яркий, камера на телефоне фокусируется только так:

Паяльный фен на ардуино. Часть вторая. Паяльный фен, Arduino, Своими руками, Самоделки, Длиннопост

Вид сзади.

Паяльный фен на ардуино. Часть вторая. Паяльный фен, Arduino, Своими руками, Самоделки, Длиннопост

Ну и немного в работе. Попалась мне в руки плата от каких-то часов или тонометра или весов, хз в общем. Проектировал её какой-то сумасшедший китайский мастер перемычек. На фото примерно четверть платы, остальные 3/4 такие же) Всю плату распаял примерно за 15 минут, больше времени потратил на стряхивание деталей с пинцета. Температура была 240 градусов, отлично плавится припой.

Паяльный фен на ардуино. Часть вторая. Паяльный фен, Arduino, Своими руками, Самоделки, Длиннопост
Паяльный фен на ардуино. Часть вторая. Паяльный фен, Arduino, Своими руками, Самоделки, Длиннопост

В конечном итоге на фен я потратил 750р на рукоять фена, 500р на корпус, 65р на разъём, 150р на блок питания, 166р на дисплей, 50р на лист текстолита, ну и около 250р на рассыпуху, которой у меня не было в наличии. Итого получаем около 2000р. Но это опять же примерно, если брать всё с нуля, включая бумагу для ЛУТа и раствора для травления, то выйдет наверное около 2500-3000р. Да, за эти деньги можно взять китайский фен по типу такого, но собирая этот я получил несравненно больше опыта и удовольствия.

Хотелось бы остановиться на коде и исходниках:

Итак код я брал на сайте ардуино.ру, автором является OlegK, за что огромное ему спасибо. Код я адаптировал под себя, постарался максимально в нём разобраться (но не полностью) а так же насколько возможно закомментировал. Вот кусок, для примера.

Паяльный фен на ардуино. Часть вторая. Паяльный фен, Arduino, Своими руками, Самоделки, Длиннопост

Исходники качать отсюда. В архиве скетч для ардуино, библиотека для дисплея с необходимыми шрифтами, файл Компаса с эскизом платы и передней панели, файл печатки Sprint Layout, эскиз передней панели для переноса на пластмассу, общая схема, Excel файл для калибровки термопары. Если будут вопросы - пишите :)


Если у кого-то есть идеи как сделать переднюю панель - буду рад выслушать предложения. Может кто посоветует типографию в МСК, в которой печатают на прозрачной плёнке-самоклейке. Как всегда критика приветствуется

Показать полностью 19
148

Паяльный фен на ардуино. Часть первая.

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

Опять же, поискав в интернете проекты на данную тему, не нашёл ничего такого, что бы мне подошло, всё нужно было перелопачивать под себя. Много проектов просто загибалось на полпути, забрасывалось своими авторами, как на форумах, так и на ютубе (единственный ещё давным давно прислал мне все исходники и согласился помочь на стадии изготовления. Но в итоге этот проект я не стал повторять).

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

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

Паяльный фен на ардуино. Часть первая. Паяльный фен, Arduino, Своими руками, Самоделки, Длиннопост

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

Паяльный фен на ардуино. Часть первая. Паяльный фен, Arduino, Своими руками, Самоделки, Длиннопост
Паяльный фен на ардуино. Часть первая. Паяльный фен, Arduino, Своими руками, Самоделки, Длиннопост

Слева направо: геркон с термопарой на общей земле (зеленый, чёрный, красный), вентилятор на 24в и 0,25А (синий, коричневый), заземление корпуса (жёлтый одиночный), нагреватель фена (серый, белый). На заземлении хотелось бы остановиться поподробнее - его нет, тупо на другом конце примотана (не припаяна) железочка, которая в свою очередь подоткнута под железную трубку сопла фена. В общем под всю эту вермишель заказал коннектор GX16 на 8 контактов:

Паяльный фен на ардуино. Часть первая. Паяльный фен, Arduino, Своими руками, Самоделки, Длиннопост

За мозги устройства решил взять Arduino Nano, которая у меня давно валялась без дела по причине сгоревшего CH340G. Фото не выкладываю, все видели Нано, уверен.

Далее последовала череда поисков нужных схем по управлению всем этим добром и сборка отдельных узлов на макетках. Больше всего мороки было с узлом контроля детекции перехода нуля - распространённая схема из диодного моста и оптрона не сработала как нужно, пришлось брать другую схему с бОльшим числом компонентов и пробовать с ней. Схема нашлась на форуме ардуино, в теме "Очередная паяльная станция" под авторством OlegK, не знаю есть он здесь или нет, но сразу хочу сказать ему большое спасибо, из его проекта родился мой.

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

Паяльный фен на ардуино. Часть первая. Паяльный фен, Arduino, Своими руками, Самоделки, Длиннопост

ШИМ-контроллер вентилятора на мосфете IRF44ZN на макетке:

Паяльный фен на ардуино. Часть первая. Паяльный фен, Arduino, Своими руками, Самоделки, Длиннопост

Температура измерятся встроенной термопарой рукоятки и обрабатывать ширпотребным операционным усилителем LM358. С температурой решил не заморачиваться, вернее с её точностью, +-10 градусов вполне устраивает, поэтому сойдёт и такой простой ОУ.

В конечном итоге родилась вот такая схема (вроде правильная):

Паяльный фен на ардуино. Часть первая. Паяльный фен, Arduino, Своими руками, Самоделки, Длиннопост

Раскидал всё в Sprint Layout'е, не обошлось без косяков, как всегда))

Паяльный фен на ардуино. Часть первая. Паяльный фен, Arduino, Своими руками, Самоделки, Длиннопост

Ах да, забыл показать от чего я всё это питаю! В общем изначально думал взять зарядник на 5в от телефона чтобы питать мозги схемы и блок на 24в с того же Али, но мне удачно подвернулся сдвоенный блок на 24в и 5в с раздельной землёй, по 0,5А на каждое напряжение. Этого вполне достаточно как для вентилятора (напомню 0,25А) и с лихвой для питания мозгов. Фото чудо-блока ниже, обошёлся он мне в смешные 150р:

Паяльный фен на ардуино. Часть первая. Паяльный фен, Arduino, Своими руками, Самоделки, Длиннопост

Вот кстати под него я и разметил в Спринте посадочные отверстия на плате. Про корпус будет во второй части статьи.

Далее настал черёд изготовления платы, подробно останавливаться не буду, делал ЛУТом, травил в перекиси водорода и лимонной кислоте (100мл перекиси + 30гр кислоты + 5гр соли столовой как катализатор) Вытравилось быстро и чисто, на фото плата косячная (220 на нагреватель не подаётся, полярность диодного поста на узле детекции переходя через ноль перепутал, пришлось ставить кверху ногами), на данный момент уже всё переделал.

Паяльный фен на ардуино. Часть первая. Паяльный фен, Arduino, Своими руками, Самоделки, Длиннопост

Ну пара фоток в процессе запайки компонентов:

Паяльный фен на ардуино. Часть первая. Паяльный фен, Arduino, Своими руками, Самоделки, Длиннопост
Паяльный фен на ардуино. Часть первая. Паяльный фен, Arduino, Своими руками, Самоделки, Длиннопост
Паяльный фен на ардуино. Часть первая. Паяльный фен, Arduino, Своими руками, Самоделки, Длиннопост

Думаю, для первой части хватит.

На данный момент станция работает, но нужно откалибровать температуру, так как неверно написано уравнение перевода измеряемого значения на ОУ в реальное значение температуры. Надо строить график зависимости и вписывать его в код, сейчас ставлю например температуру 300 градусов, а рука ещё относительно терпит, то есть по факту там градусов 100, не больше. Ещё только недавно придумал как присобачить кнопки к передней панели, вот вчера купил нужные стойки. Думаю на выходных займусь этими вопросами и доведу всё до ума. По будням нет времени этим заниматься.

В принципе если есть вопросы - задавайте, не стесняйтесь, но советую дождаться второй части статьи, в ней рассмотрю переднюю панель, код и настройку станции. Как всегда критика приветствуется :) С уважением, ваш WR88.

Показать полностью 12
578

Свой текст для OLED 128x64

В очередном своём проекте я решил использовать китайский OLED дисплей разрешением 128х64 точки с интерфейсом подключения I2C.

Свой текст для OLED 128x64 Arduino, OLED, Шрифт, Своими руками, Длиннопост

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

Свой текст для OLED 128x64 Arduino, OLED, Шрифт, Своими руками, Длиннопост

В общем ни один из стандартных шрифтов мне не подходил категорически. Ну чтож, подумал я, значит надо сделать свой шрифт с блекджеком и шлюхами. Дело за малым – найти гайд и бабахнуть. Но тут всплыла ещё одна проблема – гайдов по этому делу нет, только ссылки на мёртвые сайты, хождения вокруг да около, троллинг, закольцованные комментарии. Ныть на форумах я не собирался, ожидая что кто-то сделает всю работу за меня, поэтому принял решение расковырять библиотеку, а конкретнее файл DefaultFonts.c, лежащий в её папке. Итак, открываем его и видим портянку из шестнадцатеричного кода с комментами.

Свой текст для OLED 128x64 Arduino, OLED, Шрифт, Своими руками, Длиннопост

Ну думаю круто, сейчас возьму фотошоп, нарисую в монохроме шрифт, загоню его в прогу конвертер картинок в хекс-код, забью в наш DefaultFonts.c и дело в шляпе. Ок, рисую шрифт 20х40:

Свой текст для OLED 128x64 Arduino, OLED, Шрифт, Своими руками, Длиннопост

Сохраняю в картинку каждый символ, перегоняю его в хекс с помощью DotFactory (скрин наспех, делал уже потом, для данного поста, восьмёрка кривая, как видно по визуализатору, не исправлял настройки программы):

Свой текст для OLED 128x64 Arduino, OLED, Шрифт, Своими руками, Длиннопост

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

Значит не так всё просто как кажется… В конечном итоге разобрался и опишу процесс пошагово на примере одного символа.

Начну пожалуй с того, что каждый шрифт в файле DefaultFonts.c представляет собой блок с заголовком в виде:

Свой текст для OLED 128x64 Arduino, OLED, Шрифт, Своими руками, Длиннопост

Где MediumNumbers - имя шрифта, а набор из четырёх байтов - параметры. Итак по порядку:

0x0c - ширина шрифта, в данном случае 12 пикселей

0x10 - высота шрифта, тут равна 16ти пикселям

0x2d - порядковый номер первого символа согласно таблице ASCII

0x0d - общее количество символов в шрифте (блоке)

Теперь постараюсь ещё подробнее, чтобы не извращаться с дорисовкой ноликов, ширину принимаем кратной 4ке, то есть 4, 8, 12, 16 и тд. С высотой попроще, позже объясню как правильно её корректировать. Количество символов наверное можно не объяснять, в данном примере она равна 13ти и можно тупо посчитать строки - их ровно 13, справа даже комментарии есть какой символ зашифрован. По поводу кода символа согласно ASCII - ниже таблица, например если нужно чтобы шрифт начинался с двойки - пишем 0x32 (50 номер в десятичной), если например с буквы Q - пишем 0x51 (81 в десятичной).

Свой текст для OLED 128x64 Arduino, OLED, Шрифт, Своими руками, Длиннопост

В данном примере сделаем шрифт из одного символа, с размерами 24х32, который будет печататься на экран вместо цифры "0". Так как все делают метеостанции и умные дома, то решил нарисовать наспех такой символ:

Свой текст для OLED 128x64 Arduino, OLED, Шрифт, Своими руками, Длиннопост

Заметьте, картинка 24х30 пикселей, нестандартная высота для примера, цвет неважен. Хоть сине-зелёную сделайте.

Дальше валим её набок вправо, затем делим её справа налево на колонки по 8 пикселей, открываем любой текстовый редактор (или тетрадку). Я предпочитаю обычный Microsoft Word, где делаю таблицу из двух колонок - в первой у нас будут двоичные числа, во второй - перевод в 16тиричную. В принципе всё видно на картинках ниже:

Свой текст для OLED 128x64 Arduino, OLED, Шрифт, Своими руками, Длиннопост

Забиваем в таблицу числа в виде ХХХХХХХХ (8 бит или 1 байт) согласно заполненности цветом, у меня белый - 0, чёрный - 1. Занятие муторное, но нормальных программ для этого дела я не нашёл, наверное плохо искал.

В итоге получаем 4 блока, нумерация идёт справа налево, повторюсь. В фотошопе прекрасно видно - фон как раз таки состоит из клеток 8х8 пикселей.

Вы наверное заметили, что получилось 3 блока по 8 пикселей и последний на 6 пикселей. Как быть с последним? Просто допишем нули в начало:

Свой текст для OLED 128x64 Arduino, OLED, Шрифт, Своими руками, Длиннопост

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

Не забываем отделять все числа запятыми!

Свой текст для OLED 128x64 Arduino, OLED, Шрифт, Своими руками, Длиннопост

Когда мучения закончатся - вставляем полученное содержимое в файл DefaultFonts.c в новый свеженький блок:

Свой текст для OLED 128x64 Arduino, OLED, Шрифт, Своими руками, Длиннопост

Обзовём шрифт Symbol, параметры будут "0x18, 0x20, 0x30, 0x01," что равнозначно 24х32 пикселя, 48 стартовый номер (цифра "0") и всего 1 символ в шрифте.

Далее осталось дело за малым - накидать скетч и залить в ардуино:

Свой текст для OLED 128x64 Arduino, OLED, Шрифт, Своими руками, Длиннопост

В итоге получаем это:

Свой текст для OLED 128x64 Arduino, OLED, Шрифт, Своими руками, Длиннопост

Толком сфокусироваться не смог, дисплей слишком контрастный, да и поздно было) Но в принципе видно что всё у нас вышло.

Как обычно замечу что на гениальность не претендую, возможно есть способы быстрее и продуктивнее. Но этот пост позволит разобраться в принципах формирования шрифта в этой библиотеке. Гайд не исчерпывающий и для меня остались некоторые пробелы - почему например нельзя сделать шрифт произвольного размера, допустим 37х21. Если ответ на этот вопрос появится в комментариях - буду рад. Так же если имеются дополнения и вопросы - пишите, не стесняйтесь.

Показать полностью 13
17

Самодельный регулируемый БП (ещё один)

Самодельный регулируемый БП (ещё один) Своими руками, Блок питания, Длиннопост

В прошлом моём посте про печатные платы некоторые (а именно @DaemoNPro) заинтересовались моим регулируемым блоком питания. Поэтому не стану долго тянуть и выложу фото внутренностей этого самодельного устройства.

Начну с того, что какое-то время назад стал ощущать острую нехватку источника питания с возможностью регулирования тока и напряжения. Ничего нового изобретать я не стал. Так как напряжение и ток мне были нужны небольшие, то за основу взял блок питания от ноутбука, купленный на радиорынке за 300р. Параметры блока вроде 19,5в и 3,5А, вполне себе хватит для моих целей. Регулятором выступит китайский DC-DC преобразователь на 5 китайских ампер, индикатором - всем известный вольтметр-амперметр с того же али. Осталось всё впихнуть в корпус от CD-рома и готово. На первом фото как-то всё кривовато получилось, на самом деле всё ровно.

Процесс сборки я не снимал, поэтому покажу внутрянку уже готового и рабочего изделия.

Самодельный регулируемый БП (ещё один) Своими руками, Блок питания, Длиннопост

Передняя панель из родной заглушки сидюка, которая зачищена, вырезана и заклеена кусочком пластика неизвестного происхождения. Задняя часть закрыта таким же пластиком, разъём как на старых магнитофонах, кнопка включения питания тоже откуда-то выдрана.

Самодельный регулируемый БП (ещё один) Своими руками, Блок питания, Длиннопост

Собственно разъём и тумблер вид изнутри, никакого термоклея, всё на родных защёлках.

Самодельный регулируемый БП (ещё один) Своими руками, Блок питания, Длиннопост
Самодельный регулируемый БП (ещё один) Своими руками, Блок питания, Длиннопост

Модуль (а точнее нижнюю часть его главной микрухи) посадил через термопрокладку и каптоновый скотч на кусок алюминиевого уголка с помощью кабельного хомута.

Самодельный регулируемый БП (ещё один) Своими руками, Блок питания, Длиннопост

Вот и тот самый блок. Между ним и корпусом каптоновый скотч, прозрачный держатель из пластиковой бутылки, всё через шайбы на болтах к днищу.

Самодельный регулируемый БП (ещё один) Своими руками, Блок питания, Длиннопост
Самодельный регулируемый БП (ещё один) Своими руками, Блок питания, Длиннопост

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

Самодельный регулируемый БП (ещё один) Своими руками, Блок питания, Длиннопост
Самодельный регулируемый БП (ещё один) Своими руками, Блок питания, Длиннопост

Знаю что неаккуратно и вермишель, но прибор делался из того, что было и на скорую руку. Схему подключения можно найти в интернете, там под каждый вольтметр-амперметр своя. Разъём usb выводить не стал, так как он мне не нужен.

Показать полностью 9
105

Ещё один пост про печатные платы

Всем доброго времени суток! Решил написать как делаю печатные платы дома методом ЛУТ. Конечно же таких постов было уже много, но мой тоже лишним не будет. Итак, приступим.

Завалялся у меня дисплей Winstar W0802, это обычный LCD экранчик на 2 строки по 8 символов.

Ещё один пост про печатные платы ЛУТ, Печатная плата, Своими руками, Микроконтроллеры, Длиннопост

Давно руки чешутся сделать из него какое-нибудь полезное устройство. Решил что это будет таймер обратного отсчёта для всяческой нагрузки. В ходе размышлений родилась такая плата

Ещё один пост про печатные платы ЛУТ, Печатная плата, Своими руками, Микроконтроллеры, Длиннопост

Скажу сразу, на гениальное изобретение века я не претендую, опыт мой в сфере радиоэлектроники крайне мал.

Тем более умышленно выкладываю плату с косяком, даже двумя. Кто найдёт - молодец, пишите в комментариях. Схемы нет, не было изначально.

Ну, как говорится, теперь дело за малым - сделать саму плату. Первым делом печатаем шаблон на китайской бумаге для ЛУТа (на фото уже подготовленная под травление плата и запасной шаблон).

Ещё один пост про печатные платы ЛУТ, Печатная плата, Своими руками, Микроконтроллеры, Длиннопост
Ещё один пост про печатные платы ЛУТ, Печатная плата, Своими руками, Микроконтроллеры, Длиннопост

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

После этого кладу получившийся бутерброд в воду на некоторое время. Смысла смывать ЛУТ-бумагу сразу нет, надо дать её размокнуть и стать слегка раскисшей - после этого скатываем верхний слой бумаги пальцами и аккуратно сдираем оставшуюся плёнку с текстолита. Результат - полностью перенесенный рисунок, на плёнке тонера не остаётся, если всё правильно сделано.

Ещё один пост про печатные платы ЛУТ, Печатная плата, Своими руками, Микроконтроллеры, Длиннопост

Пятаки на плате умышленно кривые, перестраховался от кривой засверловки.

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

Ещё один пост про печатные платы ЛУТ, Печатная плата, Своими руками, Микроконтроллеры, Длиннопост

Дочкины игрушки на заднем плане, в пространстве я ограничен) Салфетка под моторчиком для того, чтобы он поменьше шумел по столу.

Ещё один пост про печатные платы ЛУТ, Печатная плата, Своими руками, Микроконтроллеры, Длиннопост

Раствор уже видавший виды, поэтому травление заняло почти 40 минут. В результате получили такую платку:

Ещё один пост про печатные платы ЛУТ, Печатная плата, Своими руками, Микроконтроллеры, Длиннопост

Снимаем тонер наждачкой:

Ещё один пост про печатные платы ЛУТ, Печатная плата, Своими руками, Микроконтроллеры, Длиннопост

Края меди вроде не драные, пойдёт.

Ещё один пост про печатные платы ЛУТ, Печатная плата, Своими руками, Микроконтроллеры, Длиннопост

Теперь сверлим отверстия под элементы, сверлю ручным моторчиком с твердосплавными свёрлами из того же Китая. Питается всё 9-12в от того же самого блока питания.

Ещё один пост про печатные платы ЛУТ, Печатная плата, Своими руками, Микроконтроллеры, Длиннопост
Ещё один пост про печатные платы ЛУТ, Печатная плата, Своими руками, Микроконтроллеры, Длиннопост

Процесс пайки показывать не буду, не фоткал. В конечном итоге получилось что-то такое:

Ещё один пост про печатные платы ЛУТ, Печатная плата, Своими руками, Микроконтроллеры, Длиннопост
Ещё один пост про печатные платы ЛУТ, Печатная плата, Своими руками, Микроконтроллеры, Длиннопост
Ещё один пост про печатные платы ЛУТ, Печатная плата, Своими руками, Микроконтроллеры, Длиннопост
Ещё один пост про печатные платы ЛУТ, Печатная плата, Своими руками, Микроконтроллеры, Длиннопост

В конечном итоге имеем устройство, питающееся от 5в с разъёмом usb, 3 кнопки, подключенных к одному аналоговому входу, нагрузка коммутируется через мосфет IRFR320A, сток и исток которого выведены в двухпиновый разъём, индикаторный светодиод на задней части. Всё управляется Atmega8 в DIP-корпусе, почему такие детали выбраны? Потому что они у меня были)) Код буду писать в Arduino IDE, потому что я ленивая задница и ни в чём другом не умею.

С удовольствием выслушаю критику, пожелания и советы. И хотелось бы получить ответ на один вопрос - при подключении через данное устройство светодиодной лампы, последняя слегка мерцает, с чем это может быть связано? Предположения есть, но говорить пока не буду.

Показать полностью 14
8

Осеннее обострение

Осеннее обострение Бабка, Псих

Видимо опоздал я на волну про соседей-психов, но всё же. В общем начну с самого начала.

Примерно с полгода назад стали с женой обращать внимание на странный стук, как будто кто-то херачит молотком по стене, подумали что ремонт кто-то делает, к этому мы как-то спокойно относимся. Поначалу стук был днём, в нормальное для него время. С середины, наверное, августа стали тупо просыпаться ночью от этого стука, в 3 ночи, в 4, в 5 утра, всегда по-разному, но с завидной регулярностью. Как-то не подумали начать выяснять кто и где стучит, других забот хватает.

И вот на прошлой неделе звук стал одновременно и по стенам передаваться и с улицы, позавчера в 11 вечера меня это достало, я выглянул в окно и охуел - на втором этаже (а мы живём на шестом) в окно по пояс высунулась бабка, седая как сенсей из "Убить Билла", держит в руке топор и хуярит обухом по стене дома под своими окнами. Из окон повысовывалиь соседи и тоже смотрят. Недолго думая сунул ноги в кеды и побежал на улицу пока бабка не скрылась, успел снять короткое видео с ней в главной роли. Топор она успела спрятать и теперь стучит доской, которую хер знает где взяла. Чуток постучав, она повырубала везде свет и закрыла окна. Подождал, устал мёрзнуть и пошёл домой, с целью вызвать наряд доблестных стражей порядка. Сам звонок и ожидание пропущу. Наряд приехал наверное через 3 минуты, оказывается они только что приезжали на вызов от этой бабки. Написав заявление на неё, что она мешает спать своим стуком, ушёл домой.

В общем раскрою все карты - бабка полоумная, просто так к ней в квартиру не попасть, звонки вырваны с корнями. На первом этаже под ней находится медцентр, на который она регулярно катает жалобы и заявы, якобы у них очень громко играет музыка в рандомное время суток, несмотря на то что центр работает максимум до 9-10 вечера. Вот такие пироги.

Вся херня в том, что вчера связался с участковым, которому передали это дело и он объяснил что все заявления в таких случаях в нашей стране - просто трата бумаги. Бабку отправить на лечение могут только по решению суда, родственников специально никто искать не будет и не собирается, наряд гонять тоже смысла нет. Хочется спросить - что делать в таких случаях, есть ли какие-то способы как-то разрешить ситуацию?

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

Баянометр ругался на картинку, но она для привлечения внимания.

Показать полностью
21

Найдён ключ-брелок NISSAN

Найдён ключ-брелок NISSAN Бюро находок, Москва, Бирюлёво восточное, Длиннопост

Вчера в районе Бирюлёво-Восточное нашёл на прогулке ключ-брелок от автомобиля NISSAN, лежал в траве, машин рядом не было, внутри корпуса есть какой-то номер, больше никаких пометок нет. Точное место находки - проезд между школой №508 и детским садом №423. Отдам владельцу по проверке ну и по предъявлению ПТС. Если кто сталкивался с подобной ситуацией - посоветуйте как лучше поступить.

Просьба не топить, комменты для минусов будут внутри. Лучше поспрашивайте знакомых. Если за пару-тройку дней не найду хозяина - отдам охране в 508 школу.

Найдён ключ-брелок NISSAN Бюро находок, Москва, Бирюлёво восточное, Длиннопост
Показать полностью 1
Отличная работа, все прочитано!