Мои онлайн-инструменты для электронщиков

Добрый день, сообщество.

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

Продукты Keil

Эта страница позволяет скачать любые продукты Keil с их официального сайта без заполнения нудной формы. Выберите продукт и получите ссылку для скачивания.

Электротехнический калькулятор

Этот инструмент позволяет произвести некоторые электротехнические расчеты.

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

Сейчас в онлайновом электротехническом калькуляторе есть 3 инструмента:
  1. Расчет номинального сопротивления
  2. Расшифровка маркировки чип-резистора
  3. Расчет проводника

Генератор заголовочных файлов Си

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

Пример генерируемого кода.

#pragma once
#ifndef EXAMPLE_H_20170303_211631
#define EXAMPLE_H_20170303_211631

#endif /* #ifndef EXAMPLE_H_20170303_211631 */


Чтобы не возникало споров и вопросов, поясню код.

Зачем нужна защита от повторного включения я не буду объяснять, это расписано в Википедии. Директива "#pragma once" нужна для компиляторов, которые ее понимают. Она позволяет не читать заголовочный файл целиком, а игнорировать его, если он уже включен. Тем самым ускоряется компиляция программы. Некоторые компиляторы не понимают эту директиву и игнорируют ее (такое поведение прописано в стандартах Си и Си++). Для непонимающих компиляторов нужны строки, которые идут дальше. С помощью обычных директив реализуется стандартная защита от повторного включения. Генератор выдает уникальный идентификатор, основанный на временной метке или на UUID. Это позволяет гарантировано избежать повторного включения. Особенно полезно, когда вы используете сторонние библиотеки, которые нельзя поправить, и у которых идентификаторы совпадают. Поздравляю тех, кому этого пока удается избегать.

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

Добрый день.

Решил открыть производство небольших ванн для травления печатных плат и хотел бы узнать мнение сообщества насколько это актуально.

IMG_20170223_230247.jpg


Читать дальше

Кернер - это просто!

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

Читать дальше

Крепление плат с USB-разъемами на панель

В своих разработках мне довольно часто приходится использовать интерфейс USB. Ничего с этим не поделаешь – больно уж он нравится заказчикам, что, конечно, неудивительно. Я и сам люблю USB, хотя бы уже́ за то, что он позволяет запитать поделку без дополнительных источников/брикетов. И вроде бы всем хорош этот интерфейс, да вот только разъемы у него дебильные, ибо во-первых, все они прямоугольные/квадратные, а во-вторых (и в самых главных) – не предусматривают штатного крепления самих себя на панель устройства. В связи с этим запилил заметку про то, как можно крепить платы с USB-разъемами к панели устройства, и в лучших традициях сообщества решил сразу поделиться опытом с читающими мои заметки камрадами. Отмечу, что здесь я лишь обрисую в общих чертах сам принцип крепления платы с USB-разъемом к панели. Если же эта идея вам подходит – вот тут есть конкретные размеры предлагаемой конструкции и все рекомендации по ее реализации.



Читать дальше

Клон дисплея Adafruit, экономим выводы микропроцессорных устройств.

Всем привет! Сегодня я расскажу как мне удалось сэкономить порты своей Raspberry Pi. Давно хотел подключить строчный дисплей к этому одноплатному компьютеру, и даже попробовал это сделать используя библиотеку wiringpi, но уж очень много выводов занимает такое подключение. Первое, что пришло в голову, было использование сдвиговых регистров, но все же я решил посмотреть в сторону шины I2C или SPI. Почитав топики в интернете нашел классное решение — RGB LCD SHIELD KIT W/ 16X2 CHARACTER DISPLAY — ONLY 2 PINS USED!. На плате используется всего два пина для управления SDL и SCK по шине I2C, плюс еще места хватило для пяти тактовых кнопок. В данном устройстве скорость не так сильно важна, поэтому шина I2C мне вполне подошла. «Сердцем» платы является микросхема компании Microchip, расширитель портов MCP23017.



Читать дальше
  • +2
  • 27 декабря 2016, 15:55
  • Jman
  • 2

OLED sh1106

Волны, поднятые Чорной Пятниццой, выбросили на наш гостеприимный берег новый OLED-экранчик.
1.3" с SPI интерфейсом, на контроллере sh1160.



Читать дальше

Simatic Step 7. STL. Бит четности (паритета).

PLC
  Под четностью битовой строки понимается, какое кол-во единичных бит — четное или нечетное — содержит эта строка. Правильнее было бы назвать его битом нечетности, т.к. нечетному кол-ву бит соответствует единичный бит четности, четному кол-ву — нулевой. Математически результат представляет собой сумму всех бит слова по модулю 2, т.е. над всеми битами выполняется операция исключающее ИЛИ. В стандартной библиотеке такой функции нет.


Читать дальше

Simatic Step 7. STL. Установка/сброс бита по номеру

PLC
  По сути это программная реализация двоичного дешифратора (декодера). Он преобразует двоичный код номера бита в унитарный код со значащей единицей (нулем).


Читать дальше

Simatic Step 7. STL. Реверс бит

PLC
  Под операцией реверса битов понимается отображение содержимого регистра относительно середины слова, т.е. отображение битов в слове в обратном порядке.
  В языке Simatic STL такой команды нет, имеющиеся CAW, CAD реверсируют байты в слове и двойном слове, т.е. преобразуют между форматами little-endian и big-endian. В стандартной библиотеке подобной функции так же нет. Для реализации был выбран алгоритм реверсирования на основе бинарного обмена из книги Генри Уорена «Алгоритмические трюки для программистов», 2014 г.


Читать дальше