Про LCD-модули на базе HD44780 (здесь и далее под HD44780 понимается как оригинальный чип, так и совместимые с ним аналоги) я писал уже дважды — в заметке Научился выводить текст на ЖК-индикатор из Arduino, а также Об использовании экранчиков 1602 с I2C-адаптером. В обоих статьях использовался принцип «подключаем экранчик так-то, берем готовую библиотеку, и магия, все работает». Магию, как вы можете помнить, я осуждаю. Поэтому сегодня мы наконец-то разберемся, как устроен протокол подобных дисплеев, и напишем нашу собственную, очень простенькую, библиотеку для работы с ними.

Операционный усилитель — это интегральная схема, предназначенная для усиления сигналов низкой частоты. Операционные усилители часто используются в различных аудио-устройствах. Давайте же разберемся, как работать с этим хозяйством, на примере конкретного чипа NE5532.

Сегодня я хотел бы вкратце рассказать о возможности PostgreSQL под названием logical decoding. Данный механизм позволяет подписаться на изменения, происходящие в базе данных, и получать эти изменения в удобном для вас формате, например, в JSON. Logical decoding ни в коем случае нельзя путать с логической репликацией. Logical decoding появился в PostgreSQL намного раньше, в версии 9.4, и является механизмом, на основе которого работает логическая репликация, появившаяся в версии 10.

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

Так исторически сложилось, что в качестве ПО для построения принципиальных схем и проектирования печатных плат долгое время я использовал EAGLE. Эта программа мне очень нравится низким порогом вхождения, наличием freeware версии, и, конечно же, поддержкой Linux. Столкнувшись в какой-то момент с ограничениями бесплатной версии (принципиальные схемы ограничены двумя листами, можно делать платы размером примерно до 10x10 см, число слоев в плате ограничено двумя) я решил купить EAGLE. И тогда я узнал, что компания-разработчик не продает его гражданам России. Вообще. Почему — не знаю. Тогда я впервые серьезно задумался о переходе на бесплатный и открытый KiCad.

Как и любой уважающий себя язык программирования, C++ имеет фреймворки для написания модульных тестов, и даже не один, а очень много. В рамках этой заметки мы познакомимся с основами использования фреймворка Google Test. Это довольно легковесный, однако не в ущерб удобству и функциональности фреймворк, используемый в Chromium, LLVM, Protobuf, OpenCV, и других проектах. Кроме того, из IDE с ним умеет интегрироваться как минимум CLion.

В одном из предыдущих постов, а именно — посте Учимся программировать под FPGA на SystemVerilog, мы познакомились с основами разработки под FPGA, а также платой Arty Artix-7 и средой разработки Vivado от компании Xilinx. Помимо прочего, было сказано, что все ПО в мире FPGA является закрытым и совместимым только с железом конкретного производителя (то есть, полный вендор лок). Так вот, оказывается, что это не совсем правда. Открытое ПО для разработки под FPGA все-таки существует, и сегодня мы научимся с ним работать.

Вам, конечно же, знакомы карточки и брелки, которые нужно подносить к считывателю, а они при этом пропускают на работу или дают проехать в метро. Такие брелки и карточки используют технологию под названием RFID, Radio Frequency IDentification. Сегодня мы познакомимся с основами этой технологии, а также узнаем, как использовать ее в своих проектах на базе Arduino.

RocksDB — это встраиваемая база данных на основе LSM-tree с открытым исходным кодом (лицензция Apache 2.0) от компании Facebook. Является форком LevelDB, созданной в Google. В RocksDB устранены многие недостатки LevelDB и, кроме того, существенно расширен функционал. Из известных пользователей RocksDB можно привести в пример Facebook, Yahoo, LinkedIn, Airbnb, Pinterest, Uber и Netflix. Кроме того, RocksDB используется в таких проектах, как CockroachDB, TiDB и Apache Flink. Из этой статьи вы узнаете, как использовать RocksDB в своих проектах.

Помните, как мы удаленно мигали светодиодом при помощи NRF24L01, а затем использовали этот же беспроводной модуль для управления гусеничным роботом? В этих заметках модуль мы использовали по принципу «подключаем к таким-то пинам, берем готовую библиотеку, пишем пару строк кода и все работает, магия». Так вот, мне не нравится магия. Я программист, а не колдун, и потому хочу знать точно, что там и в каком виде передается в эфире. К счастью, Software Defined Radio позволяет с легкостью это увидеть.