- 1. Дошка Arduino не визнана
- 2. Дошка не синхронізована
- 3. Код не запускається під час скидання живлення
- 4. Помилка помилки підпису пристрою
- 5. Помилка Launch4j
- 6. Послідовний порт уже використовується
- 7: Ескіз завантажується успішно, але нічого не відбувається
- 8. Помилка незадоволеного посилання
- 9. Ескіз занадто великий
- 10. java.lang.StackOverflowError
Початок роботи з Arduino для початківців може бути досить складним завданням для людей без досвіду роботи з електронікою. Ви зіткнетеся з помилками, деякі з яких можуть мати прості рішення, але на вирішення можуть знадобитися дні. Тож, щоб трохи полегшити ситуацію, я створив список 10 найпопулярніших помилок Arduino разом із можливими способами їх вирішення.
1. Дошка Arduino не визнана
Це стосується ситуації, коли плата Arduino, підключена до комп'ютера, не розпізнається комп'ютером. Коли це трапляється, плата зазвичай не входить до списку портів IDE Arduino, а іноді під диспетчером пристроїв позначається USB2.0.
Рішення
Це трапляється, коли ви використовуєте певні дешеві клони Arduino, які використовують мікросхему конвертера USB до послідовного CH340g замість FTDI (FT232RL) та інші, що використовуються на стандартних платах Arduino. Драйвери для USB до послідовних мікросхем, що використовуються на стандартних платах Arduino, завжди упаковуються разом із файлом налаштування Arduino IDE, тому при встановленні IDE драйвери автоматично встановлюються на ваш ПК. Щоб мати змогу використовувати цю плату Arduino на основі перетворювача з послідовним перетворювачем CH340g, вам доведеться завантажити та встановити драйвер для мікросхеми. Драйвер можна завантажити за цим посиланням. Встановити його так само просто, як натиснути кнопку встановлення на інтерфейсі налаштування, показаному нижче.
Після цього ви тепер зможете знайти порт, до якого підключена плата, в IDE Arduino.
2. Дошка не синхронізована
Зазвичай, коли це трапляється, ви не зможете завантажити код (хоча часом IDE відображатиме "завершено завантаження") на плату Arduino, а IDE відображатиме код помилки; “ Avrdude: stk500_getsync (): не синхронізується: resp = 0x00 ”.
Рішення
Синхронізації: відповідно = 0x00 являє собою загальний відповідь, який переводить на « чип Atmega не працює » на Arduino. Коли це трапляється, є ціла купа речей, які можуть бути неправильними. Ось кілька кроків, які можна зробити, щоб усунути цю помилку.
1. Переконайтеся, що на Arduino нічого не підключено до цифрових виводів 0 та 1 (включаючи щити).
2. Переконайтеся, що в меню інструментів були обрані правильний порт і дошка.
3. Натисніть кнопку скидання на Arduino кілька разів і повторно завантажте код.
4. Від'єднайте та підключіть Arduino до ПК.
5. Перезапустіть IDE Arduino.
Якщо що-небудь з цього не працює, можливо, пора спробувати використовувати іншу плату Arduino з ПК або використовувати “несправну” плату Arduino з іншим ПК. Це має допомогти вам визначити, хто з них є джерелом проблеми. Якщо ви виявили, що проблема в ПК, переінсталюйте IDE Arduino. Однак, якщо джерелом проблеми є «несправна» плата Arduino, найоптимальнішим рішенням буде прошивка плати за допомогою мікропрограми Arduino. Якщо нічого з перерахованого не працює, можливо, вам пора змінити Arduino Board.
3. Код не запускається під час скидання живлення
Це стосується випадків, коли Arduino не запускає завантажений до нього ескіз при включенні, і в більшості випадків просто повертається до ескізу, що блимає, пов'язаного із завантажувачем.
Рішення
Подібно до інших проблем, що лікуються, існує цілий ряд речей, які можуть спричинити це.
Якщо плата зависає і нічого не робить, слід перевірити свій код, щоб переконатися, що ви не надсилаєте послідовні дані на плату, коли вона з’являється. Коли Arduino увімкнено, завантажувач у перші кілька секунд прослуховує комп'ютер, щоб надіслати йому новий ескіз для завантаження на плату. Якщо новий ескіз не отримано, через деякий час завантажувач закінчить час і запустить останній ескіз, завантажений на плату. Якщо ваш код надсилає послідовні дані протягом перших декількох хвилин, завантажувач не закінчується, і останній ескіз, завантажений на плату, не запускається.
Якщо надсилання послідовних даних, як тільки плата з’являється, є важливою частиною вашого проекту, можливо, вам доведеться знайти спосіб затримати її, щоб зупинити надходження послідовних даних відразу ж, коли з’явиться Arduino. Якщо внесення коригувань вплине на завдання, яке повинен виконати проект, можливо, вам доведеться завантажити свій ескіз на плату за допомогою зовнішнього програміста, оскільки завантажувач може бути обійдений ними.
Якщо плата не звисає, а повертається до ескізу миготіння Arduino (Світлодіод на піні 13 блимає час від часу), прямим виправленням буде прошивка плати за допомогою завантажувача Arduino, оскільки та, що знаходиться на платі, може бути пошкоджена.
4. Помилка помилки підпису пристрою
Ця помилка відображається, коли робиться спроба завантажити код на дошку, відмінну від коду, вибраної в списку інструментів> дошка в IDE Arduino. Ця помилка зазвичай виникає внаслідок того, як підпис пристрою на цільовій платі відрізняється від підпису, вибраної на IDE.
Рішення
Рішення цієї помилки настільки просте, як забезпечення правильної вибору плати в IDE Arduino. Якщо це не спрацює, можливо, буде потрібно прошити мікроконтролер останньою версією завантажувача Arduino.
5. Помилка Launch4j
IDE Arduino іноді займає деякий час перед завантаженням, і коли він завантажується, якщо ви клацнете на що-небудь, він відобразить помилку Launch4J, як показано вище. Launch4j - це інструмент, який використовується для обтікання програм Java (банок) у власну виконувану програму Windows, що дозволяє їх використовувати як звичайну програму Windows.
Сама IDE Arduino написана на JAVA, і ця помилка виникає через несумісність бібліотеки Java Time Environment Environment (JRE), що постачається з IDE Arduino.
Рішення
З досвіду цю помилку можна усунути чимось простим, як вимкнення підключення Bluetooth або WiFi на вашому ПК. Однак більш повним і постійним рішенням є заміна JRE в пакеті Arduino на останню версію.
6. Послідовний порт уже використовується
Це, мабуть, одна з найпростіших помилок для усунення. Зазвичай це відбувається при спробі завантажити код на Arduino під час відкриття послідовного монітора (це вже не проблема, якщо використовуються останні версії IDE) або при спробі запустити послідовний монітор, коли Arduino розмовляє з іншим програмним забезпеченням або пристроєм через послідовний порт. По суті, це відбувається при спробі використовувати послідовний порт Arduino одночасно для двох різних речей.
Рішення
Так само, як запропонував IDE, закрийте будь-яке інше програмне забезпечення / інструмент (включаючи послідовний монітор / плотер), який може використовувати com-порт. Якщо ви не впевнені в конкретному програмному забезпеченні, від'єднайте Arduino. Він повинен бути готовий до роботи, коли ви підключите його назад.
7: Ескіз завантажується успішно, але нічого не відбувається
Ця помилка подібна до деяких інших помилок, про які вже йшлося вище. У зв'язку з цією помилкою IDE Arduino запропонує код успішно завантажений, але плата нічого не робить.
Рішення
- Переконайтеся, що дошка, обрана в IDE, така ж, як цільова.
- Це могло бути результатом того, що розмір ескізу перевищував місткість дошки. Перевірте розмір ескізу та скористайтесь деякими із згаданих вище методів, щоб зменшити розмір.
- Нарешті, ця помилка може виникнути, коли використовується шумний блок живлення. Переконайтесь, що джерело живлення досить стабільне.
8. Помилка незадоволеного посилання
Це, мабуть, єдина рідкісна помилка, яка потрапила до цього списку. Це відбувається, коли на вашому ПК лежить стара версія бібліотеки зв'язку, швидше за все, під час попередньої інсталяції.
Рішення
Щоб вирішити цю помилку, знайдіть comm.jar або jcl.jar у /System/Library/Frameworks/JavaVM.framework/ або в каталогах змінних середовища CLASSPATH або PATH на вашому ПК.
9. Ескіз занадто великий
Ця помилка виникає, коли ваш код перевищує флеш-пам'ять певної плати Arduino. Наприклад, розмір флеш-пам'яті Arduino Uno становить 32 Кб, 2 Кб вже використовується завантажувачем Arduino. Якщо вам слід завантажити код розміром вище 32 Кб, Arduino відобразить це попередження.
Рішення
Як згадувалося вище, це відбувається, коли ваш ескіз перевищує флеш-пам'ять певної плати, яку ви використовуєте, отже, щоб вирішити цю проблему, вам потрібно знайти способи зменшити обсяг місця, зайнятого вашим кодом. Деякі поради щодо досягнення цього включають;
- Де це можливо, використовуйте цілі типи даних замість плаваючої.
- Де це можливо, використовуйте кваліфікатор “const” при оголошенні змінних.
- Включіть лише необхідні бібліотеки. Де це можливо, використовуйте полегшені версії найважливіших бібліотек.
- Загалом вдосконалення коду. Розробіть алгоритми, які допоможуть зробити ваш код коротшим і загалом легким.
Більш радикальним рішенням буде перенесення проекту на іншу плату, як Arduino Mega, яка має більшу флеш-пам’ять порівняно з Uno.
10. java.lang.StackOverflowError
При обробці ескізу Arduino використовує деякі регулярні вирази для обробки і іноді плутається, коли стикається з певними помилками, пов’язаними із рядками, такими як відсутні лапки.
Рішення
Ця помилка вирішується повторним поглядом на код, особливо на частини, де використовуються послідовності рядків. Переконайтеся, що котирування заповнені, зворотні скісні риски правильно використані тощо.
Існує обмеження кількості помилок, які можна вмістити в одному навчальному посібнику, і з цієї причини ми зупинимось на цьому. Однак цей список містить деякі найпоширеніші помилки, з якими стикаються початківці при використанні Arduin o. Ви боретеся з певною помилкою, не соромтеся залишити коментар, сподіваємось, ми можемо разом це вирішити.
Наступного разу.