Przede wszystkim chcę powiedzieć, że nie jest to przewodnik do rozwiązywania wszystkich problemów związanych z arduino na świecie, ale tylko te, z którymi musiałem się zmierzyć. Niemniej jednak, mając do czynienia z tymi problemami, spędziłem dużo czasu szukając informacji, jak je rozwiązać, więc myślę, że artykuł będzie przydatny. Nie będę również rozważał problemów związanych z kompilacją. Błędy kompilacji to błędy programistyczne, są to już przypadki szczególne i są one również rozpatrywane prywatnie na różnych forach.
Metoda 1. Standardowe oprogramowanie układowe
Pomimo prostoty arduino w zakresie programowania, nawet na tym etapie mogą pojawić się problemy. Powstają z reguły podczas korzystania z chińskich klonów. Ale będziemy systematyczni. Aby zaprogramować Arduino w sposób zamierzony przez programistów, musisz pobrać i zainstalować środowisko programistyczne z zewnątrz Arduino IDE i zainstaluj zgodnie z zaleceniami. Istnieją setki, jeśli nie tysiące artykułów na ten temat, nawet w rosyjskojęzycznym segmencie Internetu; nie będę się nad tym rozwodził. Podczas korzystania z oryginalnych arduino nie powinny wystąpić problemy. Ale z nami z reguły wszyscy używają znacznie tańszych chińskich klonów. Zasadniczo nie różnią się od oryginału, przynajmniej pod względem wydajności. Osobiście mam układ chiński Arduino Pro Mini ze stykami A4 i A5 wraz z resztą lubię znacznie więcej niż układ oryginalnej planszy. Ale z drugiej strony Chińczycy, pomimo systemu komunistycznego, są w rzeczywistości najbardziej autentycznymi kapitalistami i oszczędzają na wszystkim, co mogą na eksport. Chipy interfejsu USB tych arduino również należą do tej gospodarki. Tu zaczynają się problemy. Faktem jest, że w chińskich klonach oryginalny układ CH340 nie jest używany. I tak założymy, że wykonałeś wszystkie standardowe procedury instalacji oprogramowania i sterowników, ale arduino nie jest uszyte. Najpierw idziemy do START> Panel sterowania> Menedżer urządzeń. Zwracamy tutaj uwagę na dwa punkty: Kontrolery USB i porty COM LPT.
Jeśli przedmiot Porty (COM i LPT) wcale nie, to pierwsza wskazówka w rozwiązaniu problemu. Jeśli wszystko jest w porządku, to w których portach powinien pojawić się nowy port podczas podłączania arduino. Jeśli tak się nie stanie, sprawdź, co się dzieje w „kontrolerach USB”. Podczas podłączania arduino powinno pojawić się nowe urządzenie z napisem USB 2.0 Serial. To właściwie dobry znak. Jeśli komputer zobaczy, że jest z nim połączony, ale kto nie może zrozumieć, arduinka żyje, a problemem jest drewno opałowe. Jeśli tak się nie stanie, czytamy metodę 2 i metodę 3. Aby rozwiązać ten problem, musisz ręcznie zainstalować nowy sterownik. Pobierz sterownik, umieść folder wraz z nim w dogodnym miejscu. Wróćmy do Menedżer urządzeńdalej USB 2.0 Seryjny> RMB> Właściwości> Sterownik> Aktualizacja> Wyszukaj sterowniki na tym komputerze i wybierz folder ze sterownikiem. Następnie system może zacząć przeklinać, że sterownik nie pochodzi z zaufanych źródeł. Kliknij mimo to zainstaluj.
Pobieranie sterowników
Pobrałeś sterownik, zainstalowałeś, ale arduino wciąż nie jest zaszyte. Problem może być zarówno fabryczny, jak i wina użytkownika, nie ma to znaczenia. Co robimy Przechodzimy do drugiej metody.
Metoda 2. Oprogramowanie układowe za pośrednictwem konwertera TTL
Wszystkie tablice Arduino zaczynające się w serii Nanomieć interfejs USB. Seria Mini i Pro mini nie ma go i jest wyłącznie flashowany Konwerter TTL. Ale faktem jest, że każda inna arduinka jest szyta przez tego programistę. Jeśli go nie masz, zdecydowanie zalecamy jego zakup, zwłaszcza że kosztuje on 50-60 rubli (w momencie pisania), jest to uniwersalny programista, który może się przydać więcej niż jeden raz. Tak więc, na przykład, z jego pomocą przeszlifowałem mój sprzęt do sterowania radiowego FlySky i6 i krótkofalówkę Kenwood T2000, bez kupowania specjalnych markowych programistów, które kosztują znacznie więcej. Ale odszedłem od tematu. Ogólnie rzecz biorąc, wszystkie tablice arduino mają wnioski Rx i TX (jest to interfejs komunikacyjny „transmisja / odbiór”), za pomocą którego można flashować arduino, omijając układ interfejsu USB. Te konwertery mają jednak również różne wersje. Kiedy kupiłem mój, najczęstszym i najtańszym był konwerter, bez mocy wyjściowej zresetować. Osobliwością programowania arduino przez takiego programistę jest to, że dokładnie pod koniec kompilacji i na początku ładowania należy nacisnąć przycisk resetowania na płycie. W rzeczywistości potrzebujemy trochę umiejętności. Jeśli przegapiłeś pierwszy raz, kontynuuj naciskanie przycisku z częstotliwością około 2 sekund. Środa daje 10 próśb, jeśli możesz dostać się do jednego z nich - voila, poprosiliśmy arduino. Bardziej współczesni programiści mają piąty pin, który łączy się z tym samym resetem i automatycznie go wyciąga. Ale co najważniejsze, opisałem niuans. Kolejna chwila. Zazwyczaj RX musi być podłączony do TX i odwrotnie. Ale w rzadkich przypadkach (cóż, Chińczycy) musisz podłączyć RX do RX, a TX do TX. Po prostu zły znak. Jeśli to nie pomoże, przejdź do metody 3.
Ale po prostu dołącz drewno opałowe do CP2102
Funkcje
Programator wymaga instalacji sterowników, nie mam z tym żadnych problemów, nikt tego nie zauważył, po prostu umieść sterownik na CP2102 lub tym, który oferuje producent.
Metoda 3. Bezpośrednie programowanie chipów
Od wersji Nano Płytki Arduino mają wbudowane złącze programujące ISP . To sześcio-pinowe złącze, na które z reguły nikt nie zwraca uwagi. Dzięki niemu możesz bezpośrednio flashować mikrokontroler, omijając wszystko, co można ominąć, zarówno część fizyczną, jak i oprogramowanie. W ten sposób musiałem sflashować moją najnowszą tablicę arduino. W rzeczywistości za pomocą tej metody można tworzyć własne klony arduino, flashując bootloader Arduino w atmega. Pisałem o tym w moim artykule o awionice rakiety sportowej. Ale znowu, nie o tym. Do oprogramowania potrzebujesz tego rodzaju programatora:
To jest zwyczajne USBasp, najpopularniejszy programator mikrokontrolera AVR. Kosztuje ali ten sam grosz.
Funkcje
Programator ma standardowe 10-stykowe złącze, jednak w zestawie można kupić adapter 6-stykowy. Oczywiście możesz zrobić to sam lub po prostu podłączyć za pomocą przewodów, ale jest to o wiele łatwiejsze i wygodniejsze.
Oprogramowanie wewnętrzne nie jest wykonywane w standardowy sposób. Aby rozpocząć, przejdź do Narzędzia> Programator> USBasp
Dalej Szkic / Pobierz za pomocą programatora.
Problemy
Jak powiedziałem, tutaj opisuję napotkane problemy. Ten programista wymaga również sterowników. Znalezienie ich nie jest trudne. Jednak kontaktując się z Chińczykami w celu zaoszczędzenia pieniędzy, musisz być przygotowany na nieoczekiwane zwroty. Osobiście podczas pracy z tym programatorem napotkałem następujący problem, który kiedyś opisałem na komórce radiowej:
avrdude.exe: błąd: nie można znaleźć urządzenia USB „USBasp” z identyfikatorem vid = 0x16c0 pid = 0x5dc
Długo walczył o rozwiązanie katastrofy i znalazł ją tylko na zagranicznych forach. I tak:
1) Po linku Pobierz archiwum LibUSB-64bit.zip
2) Podłączamy programator do portu USB.
3) Rozpakuj archiwum i przejdź ścieżką, w której zostały rozpakowane \ LibUSB-64bit \ libusb-win32-bin-1.2.1.0 \ bin \ x86
4) Uruchom inf-wizard.exe
5) kliknij Dalej
6) Wybierz USBasp i kliknij Dalej
7) Następujące pola są wypełniane w ten sposób:
Kliknij Dalej
8) Zapisz wygenerowany plik wzdłuż ścieżki:
LibUSB-64bit \ libusb-win32-bin-1.2.1.0 \ bin \ amd64 - jeśli masz system 64-bitowy lub
LibUSB-64bit \ libusb-win32-bin-1.2.1.0 \ bin \ x86 - jeśli 32-bitowy
9) Kliknij zainstaluj teraz
10) System powiadomi, że sterownik nie pochodzi z zaufanych źródeł. Kliknij „Zainstaluj mimo to”
11) Rozpocznie się instalacja sterownika. Podczas instalacji słyszymy dźwięk odłączania i podłączania urządzenia USB. Pod koniec instalacji kliknij OK.
Więcej wskazówek
Bardzo popularne moduły NRF24L01 mają dużą ościeżnicę. Do normalnej i stabilnej pracy tych modułów konieczne jest zawieszenie kondensatora na mocy co najmniej 10 μF 5 V. Mniej jest niepożądane, więcej jest bezużyteczne. Ale jeśli nie o 10, postaw zakład oczywiście na 22 lub 47. Zaleca się również powiesić równolegle inną ceramikę przy 10-100 nF. Co więcej, jak najbliżej samego modułu, najlepiej - do wniosków. W przeciwnym razie moduł wydaje się widoczny, ale zwykle nie nadaje.
Jeśli ustalenia Rx i TX jakieś urządzenie wykonawcze wisi - arduinka nie będzie szyta. Najpierw flashuj, a następnie podłącz niezbędne urządzenie do tych wyjść.
To wszystko, mam nadzieję, że informacja będzie dla kogoś przydatna.
Powodzenia wszystkim w twojej pracy!