В этой заметке речь пойдет о Software Defined Radio, или SDR. SDR — это когда у вас есть некое специальное устройство для работы с радио-сигналами, подключенное к компьютеру, а софт на компьютере определяет, что именно это устройство будет принимать и передавать. В сущности, SDR — это отладчик для радио. С его помощью вы можете как отлаживать собственное железо, так и искать баги / уязвимости в чужом, а также реверсить закрытые беспроводные протоколы и притворяться приемником или передатчиком, работающим по определенному протоколу.

Типичная радиоаппаратура работает как-то так. Есть передатчик (собственно, сама аппа) и приемник. Приемник с передатчиком общаются по какому-то своему протоколу, часто закрытому. Приемник декодирует этот протокол и передает положение ручек на аппаратуре дальше, например, полетному контроллеру (ПК) квадрокоптера. ПК и приемник общаются по своему протоколу, который должны понимать оба. В этом месте большой популярностью пользуются PWM и PPM. Есть и другие варианты, в частности, SBUS, DSM2 и DSX, но в рамках данной статьи мы рассмотрим только PWM и PPM.

Тема программирования микроконтроллеров ранее многократно поднималась в этом блоге, но исключительно в контексте микроконтроллеров AVR и, соответственно, Arduino. Сегодня же речь пойдет о микроконтроллере STM32F103C8T6 на базе ядра ARM 32 Cortex-M3. Вы наверняка слышали об архитектуре ARM — она используется в большинстве современных телефонов и планшетов, а также Raspberry Pi, полетных контроллерах для квадрокоптеров, и много где еще.

Не знаю, как вы, а я лично постоянно забываю, где у полевых МОП-транзисторов (a.k.a MOSFET) находится сток и исток, а также как их использовать в зависимости от того, имеет ли данный МОП-транзистор N-канал или P-канал. Поэтому я решил сделать себе небольшую шпаргалку, ну и заодно поделиться ею с вами. Я также подготовил упрощенную PDF-версию этого поста, которую можно распечатать на половине листа A4 и повесить на стену.

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

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

ПЛИС (Программируемая Логическая Интегральная Схема) — это интегральная схема, предназначенная для построения цифровых цепей из описания на специальном языке программирования. Другими словами, ПЛИС представляет собой чип, как бы содержащий в себе кучу элементов наподобие 74HCxx. Какие именно это будут логические элементы, какие между ними будут связи, и какие связи будет иметь получившаяся схема с внешним миром, определяется на этапе программирования ПЛИС.

Сегодня поговорим о GSM-модуле Neoway M590. С его помощью можно делать и принимать звонки, посылать и принимать SMS, а также выходить в интернет по GPRS. Цена модуля на AliExpress составляет всего лишь 140 рублей с доставкой в Россию (~ 2.3$). Для сравнения, ближайшие аналоги в лице модулей SIM800C и SIM800L обойдутся вам в 290 и 460 рублей соответственно.

В плане идеи осциллограф является достаточно простым устройством. Осциллограф измеряет напряжение, часто сразу в нескольких точках цепи, и отображает результаты измерений в виде графиков. То есть, это что-то вроде очень навороченного вольтметра. Это что касается идеи, а вот внутреннее устройство осциллографа намного сложнее. В сущности, современные осциллографы являются специализированными компьютерами, и цены на них соответствующие. На сегодняшний день оптимальным в плане отношения цена / качество осциллографом начального уровня является Rigol DS1054Z.

Существует немало GPS-модулей и шилдов для Arduino, но многие из них довольно недешевы. Если вам в вашем проекте по каким-то причинам нужен GPS, самым дешевым (не в ущерб качеству!) из известных мне вариантов будет модуль на базе чипа NEO-6M. На AliExpress такие модули продаются за 230 рублей (4 $) с учетом доставки в Россию. Давайте же попробуем разобраться, как с ними работать.