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

Если у вас случилось короткое замыкание, начните процесс "упрощения и разделения". Всё что вам надо сделать, это пройтись по каждому сенсору в проекте и подключать их поочерёдно.

Первое, с чего следует начать - всегда питание (подключения 5 V и GND). Осмотрите их и удостоверьтесь что все части схемы подключены к ним правильно.

Работать шаг за шагом и производить по одному изменению за раз - правило номер один при устранении неполадок. Это правило было вбито в мою молодую голову моим школьным учителем и первым работодателем, Маурицио Пирола. Каждый раз когда я отлаживал что-то и дела шли плохо (и, поверьте, это случалось часто), в моей голове всплывало его лицо со словами: "одно изменение за раз ... одно изменение за раз" и это обычно помогало. Это очень важно, так как что вы поймёте что устранило проблему (очень легко потерять след всех изменений, которые решили проблему, поэтому так важно делать их один за другим).

Каждый опыт отладки будет выстраивать у вас в голове "базу знаний" неполадок и их возможных решений. И после тем как вы поймёте это, вы станете экспертом. Вы будете выглядет круто, так как новичок скажет "Оно не работает!", а вы бросите беглый взгляд и дадите ответите в несколько секунд.

7.4 Выделение проблемы

Другое важное правило - найти надёжный способ воспроизвести проблему. Если ваша схема ведёт себя странно в разные случайные моменты времени, попробуйте точно определить момент, в котором неполадка случается и что её могло вызвать. Такой процесс позволит вам подумать о возможной причине. Также очень полезно когда вам требуется пояснить кому-нибудь то, что вы делаете.

Описание проблемы настолько точно, насколько это возможно, это также хороший способ найти решение. Попробуйте пояснить кому-нибудь проблему - во многих случаях решение всплывёт в голове как только вы озвучите проблему. Брайан В. Керниган и Роб Пайк в книге "Практика программирования" (изд-во Addison-Wesley, 1999), рассказали историю, в которой один университет "держал плюшевого мишку возле службы поддержки. Студенты с загадочными проблемами должны были пояснить их мишке прежде чем пообщаться с консультантом".

7.5 Проблемы с IDE

Иногда у вас могут быть проблемы с использованием интегрированной среды разработки Arduino, в частности, в Windows.

Если вы получаете ошибку при двойном щелчке на иконке Arduino, или не происходит вообще ничего, попробуйте запустить двойным щелкчком файл run.bat. Это альтернативный способ запуска Arduino.

Пользователи Windows могут также получить проблему если операционная система назначает COM-порту для Arduino номер COM10 или больше. Если такое произошло, обычно вы можете уговорить Windows назначить более низкий номер порта. Сначал откройте диспетчер устройств, нажав кнопку "Пуск", щёлкнув правой кнопкой на "Компьютер" (Vista) или "Мой компьютер" (XP) и выбрав "Свойства". В Windows XP щёлкните на "Оборудовани" и выберите "Диспетчер устройств". Для Vista щёлкните "Диспетчер устройств" (он расположен в списке приложений в левой части окна).

Найдите последовательные устройства в списке "Порты (COM и LPT)". Найдите последовательное устройство, которое вы не используете и имеющее номер COM9 или ниже. Правой кнопкой мышки щёлкните на нём и выберите "Свойства". Затем выберите закладку "Параметры порта" и нажмите кнопку "Дополнительно...". Установите номер COM в COM10 или выше, нажмите "ОК" и ещё раз "ОК" чтобы закрыть окно "Свойства".

Теперь сделайте то-же самое с последовательным портом USB, который представляет Arduino, с одним отличием - установить номер порта COM (COM9 или ниже), который вы только-что освободили.

Если эти подсказки вам не помогли, или у ваша проблема не описана выше, просмотрите страничку устранения неполадок Arduino:www.arduino.cc/en/Guide/Troubleshooting.

7.6 Как получить помощь онлайн

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

Возьмите за правило копировать и вставлять текст в поисковую систему и убеждаться что кто-то уже говорил об этом.

Например, когда Arduino IDE выплевывает неприятное сообщение об ошибке, скопируйте и вставьте его в поиск Google и посмотрите, что получится. Сделайте то же самое с кода, с которым вы работаете или только определенным именем функции. Осмотритесь: все, что уже было изобретено раньше и оно хранится где-то на веб-страницах.

Для дальнейших изысканий начните с главного сайта www.arduino.cc и посмотрите на часто задаваемые вопросы и ответы на них (FAQ, www.arduino.cc/en/Main/FAQ), затем пройдитесь по "детской площадке" (playground, www.arduino.cc/playground), свободно редактируемой вики, где любой пользователь может поспособствовать улучшению документации. Это одна из лучших частей философии открытого кода. Люди способствуют созданию документации и примеров, которые вы можете применить к Arduino. Перед началом проекта поищите в детской площадке и вы найдёте части кода или схем, которые помогут вам начать.

Если вы всё ещё не можете найти ответ, поищие на форуме (www.arduino.cc/cgi-bin/yabb2/YaBB.pl). Если он не содержит ответа, задайте в форуме вопрос. Выбирайте правильный раздел форума для своего вопроса: есть несколько разделов для проблем с программным или аппаратным обеспечанием, и даже форумы на разных языках. Пожалуйста, дайте как можно больше информации:

Какую Arduino вы используете?

Какую операционную системы вы использяете для запуска Arduino IDE?

Дайте описание того, что вы хотите сделать. Укажите ссылки к базам данных нестандартных компонентов, которые используются.

Количество ответов зависит от того, как вы сформулируете свой вопрос.

Ваши шансы увеличатся если вы будете избегать следующих вещей (эти правила одинаковы для любых форумой, не только об Arduino):

Писать своё сообщение ЗАГЛАВНЫМИ БУКВАМИ. Это сильно раздражает людей и подобно хождению по улицам с татуировкой "новичок" на лбу (в онлайн-сообществах писать заглавными буквами означает "кричать")

Писать одинаковые сообщения в разных разделах форума

"Подталкивание" своих сообщений вопросами "Что, никто не ответил?", или, что ещё хуже, просто "вверх". Если вы не получили ответа, просмотрите своё сообщение. Понятна-ли тема? Вы хорошо описали проблему? Вы были вежливы? Всегда будьте вежливым.