А, погодите! DHT11 общается по однопроводному интерфейсу, но это не стандартный 1-wire. Но это не мешает завести его на RPi. Вот даже статья на хабре есть.
DHT11 как датчик влажности отлично подойдет. Фигня по второй ссылке — это датчик в промышленном исполнении, для мониторинга серверных стоек. Он такой дорогой только потому, что его цена все равно составляет малый процент от стоимости оборудования, которое он защищает.
>по переполнению или по совпадению. я не вижу особой разницы
Разница есть. По переполнению можно генерировать прерывания каждые 256 тактов (для 8-битного счетчика). По сравнению — каждые 2, каждые 3, 4… 254, 255 или каждые 256 тактов по выбору. Естественно, при условии сброса по совпадению. То есть режим CTC дает возможность гораздо точнее настраивать временной интервал.
> при сравнении могут использоваться одновременно 2 значения
Могут-то могут, но оба прерывания будут следовать с одной и той же частотой, просто одно раньше, другое позже. Да, это иногда полезно, но по условиям задачи нужно немного другое.
Без точного согласования фазы будет только хуже. Теряется основной смысл ФАР — усиление сигнала в нужном направлении за счет интерференции и подавление в ненужных направлениях.
Для двусторонней спутниковой связи не нужен особо мощный передатчик. Хватит десятка ватт. Можно даже без рефлектора, «Иридиум», например, работает с ненаправленной антенной.
Сомневаюсь, что аплинк на спутник идет на тех же частотах, что и 3G/WiFi.
Но даже если на время забыть об этом, построить активную ФАР из сотни мобильников все равно нереально. Нужно, чтобы все радиомодули работали когерентно, да еще и с настраиваемыми сдвигами фаз между ними. Программными средствами этого не добиться.
И для светодиода не нужно никаких аналоговых фильтров: быстрое включение-выключение диоду не вредит, а ВЧ-составляющую отфильтрует инерция нашего зрения.
Тогда давайте ссылку на тот пример, будем его ковырять.
> extern unsigned int info[0x400];
Это не инициализация. Слово extern говорит, что переменная объявлена где-то в другом файле. Как именно она там объявлена — надо смотреть. 0x400 = 1024, при 4-байтном int под этот массив нужно всего 4кб памяти => в RAM влезает. Скорее всего, в примере картинка хранится во flash, а на экран загружается кусками.
Да, по умолчанию компилятор пытается создать массив в RAM. При помощи ключевого слова progmem можно явно указать, что массив находится во flash. Правда тогда уже не получится менять содержимое этого массива в рантайме. Точнее, не получится без плясок с бубном (см. Selfprogramming).
Действительно, диод должен быть в другую сторону. Работает так:
При включении С1 медленно заряжается через подтяжку PWKEY. Пока он не зарядился, на входе 0.
При выключении С1 быстро разряжается через диод, т.к. на VBAT будет 0. Схема готова к новому включению.
> можно заменить перемычками
Можно, китайцы так часто делают. Т.к. основное назначение этой детали — помехоподавляющее, работать будет и без нее, возможно с редкими сбоями.
Главное сперва убедиться, что обмотки были включены именно так, как будут кинуты перемычки. Теоретически, есть три возможных варианта соединения. Если не угадали, может сгореть что-то еще =)