Minty Boost – один из наших самых старых проектов. Он много эволюционировал, чтобы иметь возможность заряжать как можно больше девайсов.
v1.0 – июнь 2006 года (первый релиз)
Схема примерно такая же, как и у v1.1, но без резисторов R4 и R5. В принципе, эта версия уже описана в разделе «Процесс» (см. выше), но напомню, что в нем использовался чип-преобразователь MAX756 от Maxim, и он мог выдавать 100-150 мА при 5 вольтах. У этой версии не было подтягивающих/стягивающих резисторов на линиях для данных, но Minty Boost работал и без них.
v1.1 – июль 2006 года
Спустя несколько месяцев выяснилось, что некоторым девайсам (особенно музыкальным плеерам Apple) нужны подтягивающие/стягивающие резисторы, поэтому мы разработали версию, в которую помещались 1 подтягивающий и 1 стягивающий резистор. Эта версия по-прежнему использовала MAX756.
v1.2 – апрель 200 года
Схема примерно такая же, как и у v1.1, но со слотом для дополнительного резистора между «землей» и контактом «D-». Выяснилось, что некоторым девайсам нужно два подтягивающих резистора (на каждую линию для данных), поэтому в v1.2 появилась возможность использовать R5 (на D+) либо в качестве подтягивающего, либо в качестве стягивающего резистора. В этой версии по-прежнему использовался MAX756.
v2.0 – август 2008 года
Смартфоны стали популярнее, а также стали выпускаться устройства с большими батареями. Это значило, что зарядка в 100 мА уже не годилась. Minty Boost апгрейдили чипом LT1302 – он дороже, но зато может выдавать 500 мА!
Эта версия работала исправно и очень долгое время, но затем вышел iPhone 3G, а Apple стала гораздо придирчивей к зарядникам, отдавая предпочтение «авторизированным». Подробнее читайте выше, в разделе «Зарядка устройств от Apple».
v3.0 – август 2010 года
Чтобы улучшить совместимость с новыми смартфонами и девайсами Apple, мы переделали цепь для зарядки. Подтягивающие/стягивающие резисторы сформировали собой резистивный делитель напряжения, благодаря чему Minty Boost стал более универсальным – он начал работать не только с устройствами Apple, но и с литий-полимерными батареями. Подробнее читайте выше, в разделе «Зарядка устройств от Apple». Кроме того, в этой версии по-прежнему используется чип LT1302.
Также был добавлен стягивающий резистор R5 на 3,3 кОм – он выключает у LT1302«режим ускорения». Это сделало более управляемым высокий поток энергии при низком КПД и низкой силе тока. Впрочем, сейчас почти все девайсы оснащены большими батареями (свыше 500 мАч), и для их зарядки требуется большая сила тока.
Calibration - Определение максимума и минимума для данных от аналогового датчика.
Fading - Использование выходного аналогового контакта (ШИМ) для затухания/загорания светодиода.
Smoothing - Сглаживание серии данных, считанных с входного аналогового контакта.
Связь
ReadASCIIString - Анализ строки, состоящей из разделенных запятыми int-значений, и их последующее использование для управления RGB-светодиодом.
ASCII Table - Демонстрирует продвинутые способы вывода данных на Serial Monitor.
Dimmer - Изменение яркости светодиода при помощи движения мышкой.
Graph - Отправка данных на компьютер и их графическое отображение в скетче Processing.
Physical Pixel - Включение/выключение светодиода путем отправки данных со скетча Processing (или Max/MSP) на Arduino.
Virtual Color Mixer - Отправка с Arduino на компьютер сразу нескольких значений, а затем их считывание при помощи скетча для Processing или Max/MSP.
Serial Call Response - Многобайтная передача данных при помощи метода вызова и ответа (метода «рукопожатия»).
Serial Call Response ASCII - Многобайтная передача данных при помощи метода вызова и ответа (метода «рукопожатия»). До передачи данные зашифровываются в ASCII.
SerialEvent - Демонстрирует использование SerialEvent().
MIDI - Передача через последовательный порт сообщений с MIDI-нотами.
MultiSerialMega - Использование двух последовательных портов на Arduino Mega.
Управляющие структуры
If Statement - Как использовать оператор «if» для создания условий, опирающихся на входные аналоговые данные, при которых светодиод будет либо включаться, либо оставаться выключенным.
For Loop - Управление несколькими светодиодами, чтобы они мигали, как LED-полоска у автомобиля Китт из сериала «Рыцарь дорог».
Array - Вариация примера «For Loop», но с использованием массива.
While Loop - Использование цикла while() для калибровки датчика. Калибровка включается при нажатии на кнопку.
Switch Case - Как совершать какие-либо действия в зависимости от значений, полученных от датчика. Эквивалент примера «If Statement», но если бы условий было не два, а четыре. Этот пример демонстрирует, как дробить диапазон данных от датчика на четыре «суб-диапазона», а затем в зависимости от полученных результатов совершать одно из четырех действий.
Switch Case 2 - Второй пример, демонстрирующий использование оператора switch. Показывает, как совершать различные действия в зависимости от определенных символов, полученных через последовательный порт.
Датчики
ADXL3xx - Считывание данных с акселерометра ADXL3xx.
Knock - Определение стука при помощи пьезоэлемента.
Memsic2125 - Считывание данных с 2-осевого акселерометра Memsic2125.
Ping - Определение объектов при помощи ультразвукового дальномера.