Arduino не програмується: що робити при помилці “not in sync: resp=0x30”

0
438

Буває, що пишеш програми для «Ардуїнов», завантажуєш їх у пам’ять, і все чудово працює. А потім раптом вони більше не завантажуються. А середовище розробки при спробі завантажити скетч видає помилку: “arduino avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x30”.
Що таке? Невже згоріла плата? Не поспішайте впадати у відчай: можливо, ще не все втрачено. Давайте спробуємо розібратися.

Інструкція

1. «Ардуїнов» не програмується, хоча раніше все працювало. Для такої поведінки можливі кілька причин, які обов’язково потрібно перевірити:
– з якої причини стався збій драйвера;
– неправильно обраний COM-порт;
– десь є електричний зв’язок, якої бути не повинно (коротке замикання);
– стався збій downloader (завантажувач) плати Arduino.
Давайте пройдемося по всіх пунктах цього списку і переконаємося, поки не усунемо проблему.

Ошибка "Not in sync: resp=0x30"

2. Відкриємо диспетчер пристроїв Windows через меню Пуск -> Панель управління -> Устаткування та звук -> Диспетчер пристроїв. Є більш короткий варіант: натискаємо клавішу Windows на клавіатурі і, не відпускаючи її, натискаємо клавішу Pause. Відкриється вікно властивостей системи, в якій з лівого боку є посилання на диспетчер пристроїв.
Знаходимо і розкриваємо в диспетчері розділ Порти (COM і LPT). Якщо драйвер встановлений і працює коректно, ніяких оверлейних значків типу питального або знака оклику на піктограмі пристрою Ардуїнов бути не повинно. Якщо такі значки є, значить, є проблеми в роботі драйвера. Якщо Arduino або пристрої USB-Serial взагалі немає в цьому розділі диспетчера, значить драйвер навіть не встановлений. У будь-якому з цих випадків у драйвер необхідно встановити або перевстановити).
У диспетчері пристроїв вибираємо нашу плату Arduino (або невідомий пристрій, яке з’являється при підключенні плати Arduino до комп’ютера), натиснемо на нього правою кнопкою миші і в контекстному меню виберемо пункт Оновити драйвери… (drivers Update…).
Вибираємо Виконати пошук на цьому комп’ютері і вказуємо шлях до директорії з драйвером для плати. Далі слідуємо вказівкам майстра установки нового обладнання.
Для оригінальних плат сімейства «Ардуїнов» драйвери є в директорії середовища розробки, в піддиректорії drivers. Для «Ардуїнов»-сумісних плат шукайте драйвер в інтернеті.

Нормальное состояние Arduino в диспетчере устройств Windows

3. Перевіримо, що правильно вказали COM-порт IDE Arduino. Перевірити, який порт привласнений системою нашої платі «Ардуїнов» можна в диспетчері пристроїв Windows. Плати Arduino знаходяться в розділі “Порти (COM і LPT) і зазвичай визначаються як пристрої “Arduino” або “USB-Serial”.
Йдемо в меню Інструменти -> Порт і переконуємося, що вказаний вірний порт. Якщо ні, вказуємо потрібний.

Выбор COM-порта в среде разработки Arduino

 

4. Якщо плата Arduino лежить на струмопровідної поверхні, є ризик, що де-то мається коротке замикання. Це може бути причиною помилки в роботі плати і, зокрема, заважати нормальному процесу програмування. Перевірте, що плата знаходиться на ізольованій поверхні.
Також до цього ж типу причин я б відніс несанкціонованих підключення проводів до виводів 0 і 1 плати «Ардуїнов», які є портами RX і TX і використовуються в процесі завантаження скетчу в пам’ять плати.

5. Якщо нічого з перерахованого не допомогло, спробуємо ще один варіант: перезапишем завантажувач плати (завантажувач).
Завантажувач – це спеціальна керуюча програма для Arduino, яка виконується при включенні пристрою і яка задає режим роботи плати: або переходить до виконання програми з пам’яті Arduino, або до процедури програмування комп’ютером.
Для реалізації цього варіанту нам потрібно програматор. Схема підключення програматора до Arduino наведена на малюнку.
Після підключення програматора у середовищі програмування «Ардуїнов» в меню Інструменти -> Програматор вказуємо тип нашого програматора. Наприклад, USBasp. Тепер у тому ж меню Інструменти вибираємо пункт Записати Завантажувач. Цей процес не займає багато часу.
Якщо операція пройшла успішно, IDE повідомить про це. А плата «Ардуїнов» радісно спалахне світлодіод на 13-му виведення, оскільки в неї, крім завантажувача, записаний скетч за замовчуванням – скетч миготіння світлодіодом Blink.
Якщо ж після всіх пророблених маніпуляцій плата не оживає, можливо, ви і правда спалили мікросхему. Мої співчуття.

Схема подключения программатора к Arduino

НАПИСАТИ ВІДПОВІДЬ

Please enter your comment!
Please enter your name here