- •Глава1. Введение
- •Глава 2. Путь Arduino
- •Глава 3. Платформа Arduino
- •Глава 4. Знакомство с Arduino - теперь точно!
- •Глава 6. Разговоры с облаками
- •Глава 7. Устранение неполадок
- •Глава 1. Введение
- •1.1 Целевая аудитория
- •1.2 Что такое физические вычисления?
- •Глава 2. Путь Arduino
- •2.1 Прототипирование
- •2.2 Самоделкины
- •2.4 Искажение схем
- •2.5 Хаки клавиатуры
- •2.6 Мы любим мусор!
- •2.7 Хакайте игрушки
- •2.8 Сотрудничество
- •Глава 3. Платформа Arduino
- •3.1. Аппаратное обеспечение Arduino
- •3.1.1 14 Контактов цифрового ввода-вывода (контакты 0-13)
- •3.1.2 6 Контактов аналогового входа (контакты 0–5)
- •3.1.3 Контакты аналогового выхода (контакты 3, 5, 6, 9, 10 и 11)
- •3.2 Интегрированная среда разработки (ide)
- •3.3. Установка Arduino на ваш компьютер
- •3.4 Установка драйверов: Macintosh
- •3.5 Установка драйверов: Windows
- •3.6 Идентификация порта: Macintosh
- •3.7 Идентификация порта: Windows
- •Глава 4. Знакомство с Arduino - теперь точно!
- •4.1 Анатомия интерактивного устройства
- •4.2 Сенсоры и актюаторы
- •4.3 Мигание светодиодом
- •4.4 Передайте мне пармезан
- •4.5 Arduino не остановить
- •4.6 Настоящие самоделкины пишут комментарии
- •4.7 Код, шаг за шагом
- •4.8 Что мы будем создавать
- •4.9 Что такое электричество?
- •4.10 Использование кнопки для управления светодиодом
- •4.11 Как это работает?
- •4.12 Одна схема, тысяча применений
- •5.2 Управление светом при помощи шим
- •5.3 Использование фотодатчика вместо кнопки
- •5.4 Аналоговый ввод
- •5.5 Попробуйте другие аналоговые датчики
- •5.6 Последовательная связь
- •5.7 Управление большими нагрузками (электродвигатели, лампы и тому подобное)
- •5.8 Сложные сенсоры
- •6.2 Планирование
- •6.3 Программирование
- •6.4 Сборка схемы
- •6.5 Как собрать лампу:
- •Глава 7. Устранение неполадок
- •7.2 Проверка платы
- •7.3 Проверка схемы на макетной плате
- •7.4 Выделение проблемы
- •7.5 Проблемы с ide
- •7.6 Как получить помощь онлайн
6.4 Сборка схемы
Рис. 6-2 показывает как собрать схему. Вам понадобится резисторы на 10 кОм (все резисторы, показанные на схеме, хотя для резисторов, подключённых к светодиодам, можно использовать меньшие значения).
Вспомните пример с ШИМ из главы 5: светодиоды имеют полярность: в этой схеме длинный вывод (анод) подключается справа, а короткий (катод) - слева. (большинство светодиодов имеют фаску со стороны катода, как показано на рисунке).
Рис. 6-2. Схема сетевой лампы с Arduino
Соберите схему как показано на рисунке, используя один красный, один зелёный и один синий светодиоды. Затем загрузите скетчи в Arduino и Processing и запустите их. Если случились какие-то проблемы, см. главу 7. Устранение неполадок.
Теперь давайте завершим устройство, поместив макетную плату в стеклянный шар. Самый простейший и дешёвый выход - купить настольную лампу "FADO" в магазине IKEA. Сейчас она продаётся за US$14.99/€14.99/£8.99 (ага, прекрасно быть европейцем).
Вместо использования трёх отдельных светодиодов вы можете использовать один RGB-светодиод с четырьмя выводами. Подключите его так-же как и светодиоды на рис. 6-2, с единственным отличием - вместо трёх отдельных выводов, подключённых на вывод GND платы Arduino (называемый общий катод, или земля), у вас будет только один провод на землю.
6.5 Как собрать лампу:
Распакуйте лампу и удалите кабель от лампы к подставке. Вы больше не будете включать её в розетку.
Укрепите Arduino на макетной плате и приклейте плату к лампе.
Припаяйте длинные провода к светодиодам и приклейте их в нужном месте внутри лампы. Подключите провода от светодиода к плате (откуда вы их вытащили). Помните, что для RGB-светодиода требуется только один земляной провод.
Или найдите подходящий кусок дерева с отверстием, который может быть использован как основание для лампы, или просто отрежьте у картонной коробки для лампы верх (примерно 5 см) и сделайте отверстие для неё. Проклейте внутренности картонной коробки клеевым пистолетом по всем граням чтобы придать жёсткость коробке.
Поместите шар на основание и подключите USB-кабель к компьютеру.
Запустите код Processing, нажмите кнопку "вкл/выкл" и следите как оживает лампа.
Как упражнение попробуйте добавить код, который включит лампу в тёмной комнате. Другие возможные улучшения:
Добавить датчик наклона для включения или выключения лампы поворотом
Добавить маленький датчик движения для включения лампы если кто-то есть поблизости и для выключения если никого рядом нет
Создать различные режимы для ручного управления цветом или заставить лампу плавно менять все цвета.
Подумайте о разных вещах, поэкспериментируйте и получите удовольствие!
Глава 7. Устранение неполадок
В ваших экспериментах настанет момент когда ничего не будет работать и вы должны будете разобраться в проблеме. Устранение неполадок и отладка - древние искусства, у которых есть несколько простых правил, но большинство результатов получаются посредством тяжёлой работы.
Чем больше вы работаете с электроникой и Arduino, тем больше вы поймёте и получите опыт, который сделает процесс работы менее болезненным. Не обескураживайтесь проблемами, с которыми вы встретитесь - они не так страшны как выглядели вначале.
Так как любой проект на основе Arduino состоит из программного и аппаратного обеспечений, то для поиска причины неприятностей будет больше одного места. В поисках проблемы вам следует следовать трём правилам:
7.1 Понимание
7.1.1 Понимание
Попробуйте понять как можно больше о том как работают используемые вами части и какой вклад они вносят в готовый проект. Такой подход позволит вам использовать какой-либо способ проверить каждый компонент в отдельности.
7.1.2 Упрощение и разделение
Древние римляне говорили: "divide et imper", что означает "разделяй и властвуй". Попробуйте разбить (мысленно) проект на его компоненты с использованием знаний где начинается и заканчивается ответственность каждого компонента.
7.1.3 Исключение и уверенность
При исследование проверьте каждый компонент отдельно для того чтобы быть абсолютно уверенным что он работает. Вы будете постепенно наращивать понимание того какие части проекта делают свою работу, а какие являются сомнительными.
Отладка (debugging) - это термин, используемый для определения такого процесса применительно к программированию. Легенды говорят, что в первый раз он был использован Грейс Хоппер в 1940-м, когда компьютеры были электромеханическими и один из них перестал работать из-за того что в механизм залезло настоящее насекомое (bug, баг).
Множество из современных багов не являются физическими: они виртуальны и невидимы. Поэтому иногда они требуют длительного и утомительного процесса идентификации.
