Читатели като вас помагат в подкрепа на MUO. Когато правите покупка чрез връзки на нашия сайт, ние може да спечелим комисионна за партньор. Прочетете още.

Работата с Arduino може да бъде вълнуващо изживяване. Възможността да превърнете творческите си идеи в работещ прототип е наистина удовлетворяващо чувство.

Въпреки това, докато Arduino IDE е невероятно удобен за потребителя софтуерен пакет за кодиране, често се срещат грешки и бъгове, които могат да бъдат разочароващи. Може би кодът ви няма да се компилира, скицата ви няма да се качи или серийният ви монитор бълва безсмислици. Какъвто и да е проблемът, той може да бъде разочароващ и демотивиращ, особено ако сте нов в платформата Arduino.

Обобщихме списък с идеи за отстраняване на неизправности, които могат да ви помогнат да стартирате проекта си бързо.

Кои са най-честите грешки при използване на Arduino?

Грешките могат да варират от прости синтактични грешки до по-сложни хардуерни проблеми. Хардуерните грешки не са много чести при използване на Arduino. Тези грешки могат да бъдат особено разочароващи, тъй като често изискват физическа проверка на хардуерните компоненти за диагностициране и коригиране. От друга страна, софтуерните проблеми са доста често срещани.

instagram viewer

Ето някои често срещани грешки, които може да срещнете, когато използвате Arduino IDE.

1. Сериен порт не е намерен

Това съобщение за грешка показва, че компютърът не може да открие платката Arduino. Това може да бъде причинено от различни проблеми, като дефектен USB кабел, неправилна настройка на COM порт или повредена платка. За да разрешите този проблем, опитайте да свържете отново платката или да промените настройката на COM порта в IDE.

Някои по-евтини клонове на Arduino използват CH340 USB към сериен преобразувател чип вместо стандартния FTDI (FT232RL) чип, използван от официалните платки на Arduino. Имайте предвид, че има плюсове и минуси на използването на Arduino клонинги във вашите проекти. За разлика от стандартните платки Arduino, драйверите за чипа CH340 не са включени в инсталационния файл на IDE.

За да използвате платка Arduino, базирана на CH340, трябва да изтеглите и инсталирате драйвера за чипа отделно. За повече информация вижте ръководството за инсталиране на драйвери CH340 на SparkFun уебсайт.

2. Програмистът не отговаря

Ще видите това съобщение за грешка в серийния монитор, когато се опитвате да качите вашата скица:

avrdude: stk500_recv(): програмист ене отговарящ

За да коригирате тази грешка, има няколко стъпки за отстраняване на неизправности, които можете да следвате:

  • Уверете се, че са избрани правилните настройки на платката и порта.
  • Уверете се, че USB кабелът е правилно поставен както в платката Arduino, така и в компютъра.
  • Проверете дали фърмуерът на платката е актуален. Понякога остарелият фърмуер може да причини проблеми с комуникацията с компютъра.
  • Опитайте да нулирате платката Arduino или да я включите, като изключите и свържете отново USB кабела.

Ако те не работят, опитайте да качите скицата от друг компютър или да използвате друг USB кабел.

3. Разрешението е отказано

Ако срещнете тази грешка, когато се опитвате да качите скица на вашия Arduino, това означава, че IDE няма разрешение за четене/запис в серийния порт. Това се случва най-вече за потребителите на Ubuntu.

Ще видите това съобщение за грешка в серийния монитор:

avrdude: ser_open(): не може да отвори устройство "/dev/ttyACM0": Няма такъв файл или директория

За да коригирате това, въведете следната команда в терминала:

sudo chmod a+rw /dev/ttyACM0

Това ще позволи на всички потребители да четат от и да пишат в /dev/ttyACM0 устройство със сериен порт. Имайте предвид, че името на конкретното устройство може да варира в зависимост от конфигурацията на вашата система. Ако сте на Windows, опитайте да стартирате Arduino IDE в администраторски режим.

4. Изчакване за комуникация с програмиста

Грешка при изчакване в Arduino IDE може да възникне, когато IDE не може да комуникира с Arduino платката в рамките на определен срок.

avrdude: stk500v2_ReceiveMessage(): timeoutavrdude: stk500v2_getsync(): изчакване на комуникация с programmeravrdude: stk500v2_command(): се провали мизерно да сеизпълни команда 0x11avrdude: stk500v2_disable(): се провалида се остави програмирането режим

Това съобщение за грешка възниква, когато платката Arduino не получи данни от компютъра в рамките на определен период от време. Това е доста често срещано при китайските клонинги. Това може да бъде причинено от бавна или ненадеждна връзка, дефектен USB кабел или неправилни настройки за скорост на предаване.

Има две възможни решения:

  • Инсталирайте програмата за зареждане на Arduino отново, преди да качите вашата скица.
  • Задръжте натиснат бутона за нулиране, докато кодът се компилира, и го освободете част от секундата, преди кодът да започне да се качва.

Въпреки че нито едно от тях не е идеално, можете да опитате по-хардуерна корекция от видео урока по-горе. Ако това не работи, време е да си купите нова платка.

5. Невалиден подпис на устройството

Ще видите това съобщение за грешка в серийния монитор:

Avrdude: Мда! Невалиден подпис на устройствотоDouble-проверка връзки и опитай пак, илиизползванеда се отмени тази проверка.

Тази грешка възниква при качване на код на платка, различна от избраната в Arduino IDE. Обикновено се причинява от несъответствие на подписа на устройството. За да разрешите това, изберете правилната платка в IDE или флашнете най-новия буутлоудър на Arduino на платката.

6. Платката не е синхронизирана

Обикновено, когато възникне тази грешка, платката Arduino няма да може да получи качен код (дори ако IDE показва „Готово качване“) и IDE ще покаже това съобщение за грешка:

avrdude: stk500_getsync(): не е в синхрон: resp=0x00

Ето някои стъпки за отстраняване на неизправности, които могат да помогнат за изчистване на грешката:

  • Уверете се, че няма устройства, включително щитове, свързани към цифрови пинове 0 и 1 на Arduino.
  • Проверете дали правилният COM порт и платка са избрани в Инструменти меню на IDE.
  • Натиснете бутона за нулиране на платката Arduino няколко пъти, след което опитайте да качите кода отново.
  • Изключете Arduino от компютъра и го свържете отново.

Съобщението за грешка синхронизиране: resp = 0x00 е общ отговор, който обикновено показва проблем с ATmega чипа на платката Arduino.

7. Твърде голяма скица

Това съобщение за грешка се появява, когато размерът на кода надвиши размера на наличната памет на платката. Това може да се дължи на използването на твърде много библиотеки или включването на ненужен код. Опитайте да оптимизирате кода, като премахнете ненужните функции или библиотеки.

8. Библиотеката не е намерена

Това съобщение за грешка възниква, когато IDE не може да намери конкретна библиотека, необходима за проекта. Това може да се дължи на неправилно инсталиране на библиотеката или използване на остаряла версия. За да разрешите този проблем, опитайте да преинсталирате библиотеката или да я актуализирате до най-новата версия.

9. Грешка при компилиране

Това съобщение за грешка се появява, когато има синтактични грешки в кода. Това може да се дължи на липсващи скоби, точка и запетая или неправилни имена на функции. Внимателно проверете кода за синтактични грешки и ги коригирайте.

10. Грешка при качване на скицата

Това съобщение за грешка възниква, когато IDE не може да качи кода на платката. Това може да бъде причинено от неправилен тип платка, избран в IDE, повреден буутлоудър или дефектен USB кабел. За да разрешите този проблем, уверете се, че е избран правилният тип платка и че USB кабелът е в добро състояние. Ако тази грешка продължава, можете да опитате да флашнете нов буутлоудър на вашата платка.

Повече кодиране, по-малко отстраняване на грешки

Arduino е мощна платформа за изграждане на иновативни електронни проекти. Въпреки че е сравнително лесен за използване инструмент, все пак може да срещнете грешки и проблеми по пътя. Като разберете често срещаните грешки и техните причини, можете да предприемете стъпки за тяхното отстраняване и преодоляване.