Клон дисплея 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 г.


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

Simatic Step 7. STL. Подсчет установленных бит.

PLC
  Эта функция возвращает кол-во установленных (единичных) бит в аргументе. Иногда возвращаемое значение называют весом Хемминга. Кроме самостоятельной ценности, по возвращаемому значению функции легко определить четность аргумента (нулевой бит).


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

Simatic Step 7. STL. Номер установленного/сброшенного бита.

PLC
  По сути это программная реализация приоритетного шифратора (кодера). Он преобразует унитарный код с ведущей значащей единицей (нулем) в двоичный код номера установленного/сброшенного бита.
  Есть две разновидности алгоритма, поиск старшего или младшего бита. Например, в системе команд i386 для этого есть специальные команды BSR и BSF. Очевидно, если установленный бит один, результат будет одинаковый для обоих. Соответственно, если установленных битов несколько, результат будет отличаться.


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

РАСЧЕТ ИМПУЛЬСНЫХ ИСТОЧНИКОВ ПИТАНИЯ УСТРОЙСТВ АВИОНИКИ топик-ссылка

В пособии рассматриваются методические вопросы проектирования импульсных источников питания: выбор магнитных материалов, расчет магнитных и ключевых элементов. Описывается применение специализированных программ для автоматизированного проектирования источников питания.

Программирование флэш-памяти микроконтроллеров STM32F через ST-LINK V1 из System Workbench for STM32 IDE (SWSTM32) в ОС Ubuntu (GNU/Linux)

НЕ СОВЕТУЮ ПОВТОРЯТЬ ТО, ЧТО НАПИСАНО В ДАННОЙ СТАТЬЕ!
ВОЗНИКАЛИ ПРОБЛЕМЫ ВПЛОТЬ ДО ПОЛНОЙ БЛОКИРОВКИ ПРОГРАММИРУЕМОЙ МИКРОСХЕМЫ.
СОВЕТУЮ ИСПОЛЬЗОВАТЬ БОЛЕЕ СОВРЕМЕННЫЕ ПЛАТЫ С ПРОГРАММАТОРАМИ ST-LINK V2, которые поддерживает программа System Workbench for STM32 IDE (SWSTM32) в ОС Ubuntu.
Приношу извинения за доставленные неудобства, если таковые имели место! Статью со временем удалю или поменяю тему статьи вместе с названием.


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

Совместный перевод Eagle на русский язык


Всем привет! Не секрет, что русский перевод Eagle выполнен явно автоматическим переводчиком и с кучей ошибок. Все эти «Начните автотрассировщик», «Праверка Технологических правил», «Нарисовать с помощью»(на самом деле это перевод «Draw VIA»), «Заменить части провода с меандр», «Miter провода», «Параметр Теплоизоляция», «Создать термики» и прочие «Перестроки». Конечно, можно всегда сказать «используй английский перевод», но, во-первых, видеть русскоязычные сообщения приятнее, а во-вторых, хороший русский перевод сильно уменьшает порог входа, чего так не хватает при перехода со спринта на нормальную систему.
Eagle написан на QT, который изначально поддерживает мультиязычность, а значит, сделать для него перевод на любой язык не просто, а очень просто! Надо только иметь исходники(.ts-файлы). В день, когда мне надоело видеть ошибки, я написал разработчиком(к удивлению, ответили мне из Autodesk), и мне прислали исходник перевода на русский язык, так что теперь ничего не мешает сделать самый идеальный перевод, какой только можно вообразить. Регистрируйтесь, участвуйте, предлагайте свои варианты перевода — нам пригодится любая помощь.

Итак, что надо сделать, чтобы начать переводить?
1)Вводим почту и желаемый пароль на webtranslateit.com/en/sign_up
2)Кликаем по ссылке в пришедшем письме и подтверждаем почту
3)Идем на webtranslateit.com/en/projects/15190-Eagle-Russian-Translate-Project/invitation_request, выбираем в списке языков RU-Russian, и кликаем «Запросить приглашение»
4)Ждем письма «You're invited to join WebTranslateIt», открываем ссылку «To accept this invitation, please visit:», нажимаем «Yes, accept this invitation».
5)Попадаем в интерфейс переводчика. Нажимаем на «To verify(2,775)». Перед вами — переведенные(частично) строки, слева вверху у которых — исходное значение на английском. Щелкаем на частичный перевод, открывает окно редактирования. Изменяем текст, как кажется вам правильным, сохраняем нажатием на «Save». Все. Пожалуйста, не нажимайте больше никаких кнопок, иначе я не смогу разобраться в том, что уже переведено, а что еще нет.
6)Если есть вопросы, или непонятки, то можно нажать «Discussions», в открывшемся окне «Start a new discussion», и там задать вопрос, о том, как лучше переводить.
7)Если рядом с переводом что-то вроде «1 discussion», то значит, там уже идет обсуждение, можно поучаствовать.
8)Насколько я понял, Eagle хотят премировать самых активных переводчиков лицензиями.