Выбрать главу

Вместо использования трёх отдельных светодиодов вы можете использовать один 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, баг).

Множество из современных багов не являются физическими: они виртуальны и невидимы. Поэтому иногда они требуют длительного и утомительного процесса идентификации.

7.2 Проверка платы

Что делал самый первый пример, "мигание светодиодом"? Разве это был он скучен? Давайте посмотрим что можно сделать.

Перед тем как начать обвинять свой проект, вам стоит проверить несколько вещей в порядке, подобном тому как пилоты самолёта проверят все системы перед вылетом.

Подключите свою Arduino к разъёму USB своего компьютера.

Удостоверьтесь что компьютер включён (да, звучит глупо, но и такое случается). Если зелёный светодиод, обозначенные "PWR" светится, это означает что компьютер подаёт питание на плату. Если светодиод светится слабо, что-то случилось с питанием: попробуйте другой кабель USB и проверьте USB-порт компьютера, а также разъём USB платы Arduino на предмет повреждений. Если это не помогло, попробуйте другой USB-порт компьютера.

Если Arduino только-что была куплена, светодиод "L" начнёт мигать в немного нервной манере; это тестовая программа, загруженная продавцом для проверки платы.

Если вы используете внешний источник питания и старую плату Arduino (Extreme, NG или Diecimila), удостоверьтесь что источник питания включён и перемычка "SV1" замыкает два ближних к разъёму питания контакта.

Примечание: Если вы испытываете проблемы с другими скетчами и хотите проверить, работает-ли плата, откройте первый пример "мигание светодиодом" в IDE Arduino и выгрузите его в плату. Светодиод на плате должен начать мигать.

Если вы прошли все описанные шаги успешно, можете быть уверены что плата Arduino работает корректно.

7.3 Проверка схемы на макетной плате

Теперь подключите плату Arduino на макетной плате проводами от 5 V и GND к негативной и позитивной шинам. Если зелёный светодиод "PWR" выключился, немедленно отключите провода. Это означает что в вашей схеме есть большая ошибка и где-то произошло "короткое замыкание". Когда такое случается, ваша плата потребляет слишком большой ток и для защиты компьютера питание отключается.

Примечание: Если вы опасаетесь повредить свой компьютер, то знайте, что на многих компьютерах токовая защита достаточно хороша и срабатывает быстро. Также плата Arduino оснащена "полисвитчем" - прибором для защиты по току, который автоматически восстанавливается когда проблема будет устранена. Если вы настоящий параноик, вы всегда можете подключать Arduino через USB-хаб с отдельным питанием. В этом случае,если всё пойдёт очень плохо, помрёт только хаб, а не ваш компьютер.