Два простых 8-контактных гребешка (Jameco 70755 или Digikey AE10048-ND)
Два 8-контактных однорядных гребешка для монтажа накруткой (Jameco 78642 или Digikey S7006-ND)
Впрочем, это лишь рекомендации, и вы можете использовать те компоненты, что вам больше нравятся. К примеру, можно взять 16-контактный гребешок и разделить его на две 8-контактные части.
Шаги
Берем печатную плату.
Берем гребешки для монтажа накруткой, вставляем их в крайний ряд отверстий на печатной плате и припаиваем.
Вставляем простые гребешки рядом с гребешками для монтажа накруткой. Припаиваем их.
Снимаем защитный слой с двусторонней клейкой ленты на макетной плате. Клеим макетную плату к печатной плате рядом с припаянными гребешками.
Осторожно сгибаем один ряд контактов для монтажа накруткой в сторону другого такого же ряда. Это нужно сделать, потому что расстояние между двумя гребешками на Arduino не соответствует шагу 2,54 мм, как на печатной плате. Да, очень жаль.
Готово! Финальный продукт выглядит примерно так:
На печатной плате два ряда контактов соединены друг с другом, поэтому использовать провода, чтобы соединить эти ряды друг с другом, не требуется – достаточно простой пайки.
На противоположный угол печатной платы можно нанести немного клея, чтобы он уравновешивал гребешки, а плата держалась ровно.
Использование
Собранный нами «шилд» получился односторонним, поэтому его можно подключить к плате так, чтобы ее верхняя сторона оставалась открытой.
Впрочем, «шилд» можно подключить и традиционным способом, как показано на самой первой картинке к этой статье. В таком виде доступ к разъему для питания и аналоговым контактам особых проблем не доставляет, но кнопку сброса и ICSP-гребешок достать уже сложнее. О, и все это заняло у меня примерно 10 минут работы.
Если подключать «шилд» традиционным способом, у нас получается компактное перенастраиваемое устройство, которое можно использовать... ну, например, здесь:
Теперь при помощи липучки добавим 9-вольтовую батарею, и у нас маленькая портативная вычислительная платформа:
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 - Определение объектов при помощи ультразвукового дальномера.