Instalarea arduino uno pe Windows 7. Probleme cu driverele USB FTDI

Luați în considerare să începeți cu Arduino în sala de operație sistem Windows. Să luăm ca exemplu platforma Arduino Uno. Pentru alte placi diferenta este minima.

Instalarea Arduino IDE

Mai întâi trebuie să instalați un mediu integrat pe computer Dezvoltare Arduino - Arduino IDE. Din cauza războaie între Arduino SRL și Arduino LLC, în funcție de modelul platformei, selectați versiunea Arduino IDE.

Descărcați Arduino IDE 1.7.7- pentru toate platformele (versiunea stabilă de la Arduino SRL).
Descărcați Arduino IDE 1.6.4- pentru toate platformele, cu excepția Arduino Leonardo ETH și Arduino M0 (versiunea stabilă de la Arduino LLC).

Lansarea Arduino IDE

Odată ce ați descărcat și instalat IDE-ul Arduino, să-l lansăm! Ar trebui să se deschidă o fereastră ca în figura de mai jos.

A mers ceva prost?

Arduino IDE nu pornește? JRE (Java Runtime Environment) este probabil instalat incorect pe computer. Consultați punctul (1) pentru a reinstala IDE-ul Arduino: instalatorul va face toată munca de implementare a JRE.

Conectarea Arduino la computer

După instalarea IDE-ului Arduino, este timpul să conectați platforma Arduino la computer.

Conectați Arduino la computer printr-un cablu USB. Veți vedea LED-ul „ON” de pe placă aprinzându-se și LED-ul „L” va începe să clipească. Aceasta înseamnă că puterea este furnizată plăcii și microcontrolerului Arduino a pornit executați „Blink” programat din fabrică (LED-ul clipește).

Pentru a configura IDE-ul Arduino să funcționeze cu un anumit Arduino, trebuie să aflăm ce număr de port COM i-a atribuit computerul acestei platforme. Pentru a face acest lucru, accesați Windows Device Manager și deschideți fila „Porturi (COM și LPT)”. Ar trebui să vedem următoarea imagine:


Aceasta înseamnă că sistemul de operare a recunoscut placa noastră Arduino ca port COM, a selectat driverul corect pentru acesta și a atribuit acestui port COM numărul 2. Dacă conectăm o altă placă Arduino la computer, sistemul de operare îi va atribui un număr diferit. Prin urmare, dacă aveți mai multe plăci Arduino, este foarte important să nu vă încurcati cu privire la numerele portului COM.

A mers ceva prost?

Dacă, după conectarea Arduino la computer, nu apar dispozitive noi în managerul de dispozitive, acest lucru se poate datora unuia dintre motive:
Cablu sau port USB defect
Blocare laterală sistem de operare
Placa Arduino defecta

Configurarea IDE-ului Arduino pentru a funcționa cu Arduino

Acum trebuie să spunem IDE-ului Arduino că placa cu care va comunica este pe portul COM numărul 2.
Pentru a face acest lucru, accesați meniul: Tools Port și selectați portul „COM2”. Acum, Arduino IDE știe că ceva este pe portul „COM2”. Și în curând va trebui să comunice cu acest „ceva”.

Pentru ca Arduino IDE să nu aibă îndoieli, trebuie să îi spunem Arduino IDE cu ce placă vom lucra. Pentru a face acest lucru, accesați meniul: Tools Board și selectați placa „Arduino Uno”.


Acum IDE-ul Arduino știe tot ce are nevoie pentru a flash-ul firmware-ului Arduino.

A mers ceva prost?

Lista de porturi seriale este goală? Aceasta înseamnă că Arduino nu este conectat corect. Reveniți la pasul (3) pentru a depana conexiunea.
Arduino IDE incredibil de lent atunci când navighezi în meniuri? Dezactivați toate dispozitivele serial Bluetooth externe în Manager dispozitive. De exemplu, un dispozitiv virtual la care să vă conectați telefon mobil prin Bluetooth poate provoca acest comportament.

Mediul este configurat, placa este conectată. Acum puteți continua la încărcarea schiței.
Arduino IDE conține o mulțime de exemple gata făcute în care puteți vedea rapid soluția la orice problemă. Conține, de asemenea, un exemplu simplu de „Blink”. Să-l selectăm.


Să modificăm puțin codul pentru a vedea diferența cu LED-ul din fabrică care clipește.
În loc de linie:

Versiunea completă a codului:

void setup()
{
// setați pinul 13 în modul de ieșire
pinMode(13, IEȘIRE);
}

buclă goală ()
{
// trimite un „semnal ridicat” la pinul 13
digitalWrite(13, HIGH);

// așteptați 100 de milisecunde
întârziere (100);

// trimite un „semnal scăzut” la pinul 13
digitalWrite(13, LOW);

// așteptați 100 de milisecunde
întârziere (100);
}

LED-ul „L” ar trebui să se aprindă acum și să se stingă la fiecare 100 de milisecunde. Este de 10 ori mai rapid decât versiunea din fabrică. Să încărcăm schița noastră pe Arduino și să verificăm dacă este adevărat?

După pornire, LED-ul va începe să clipească mai repede. Asta înseamnă că totul a funcționat. Acum puteți trece în siguranță la „Experimente”

A mers ceva prost?

Ca urmare a descărcării, apare o eroare precum avrdude: stk500_get sync(): not in sync: resp = 0x00? Aceasta înseamnă că Arduino nu este configurat corect. Reveniți la pașii anteriori pentru a vă asigura că dispozitivul a fost recunoscut de sistemul de operare și setările corecte pentru portul COM și modelul plăcii sunt setate în Arduino IDE.

Comentarii:

Ne vom uita la începutul Arduino Nanoîn sistemul de operare Windows 10.

1. Instalarea Arduino IDE

Instalăm mediul de dezvoltare integrat Arduino - Arduino IDE - pe computer.

Pentru a face acest lucru, accesați site-ul web oficial Arduino și descărcați ultima versiune Arduino IDE.

https://www.arduino.cc/en/Main/software#

Rulați fișierul descărcat ca administrator.

Suntem de acord cu licenta.


Nu schimbăm nimic și apăsăm "Următorul".



Selectați calea de instalare.


Așteptăm finalizarea instalării.




În fereastra următoare (bifați caseta „Aveți întotdeauna încredere în software-ul Arduino LLC” și faceți clic peInstala.



În fereastra de instalare, faceți clic Aproape.



2. Lansarea Arduino IDE

Fereastra principală Arduino IDE. În timp ce Arduino Nano nu este conectat la computer. Vă rugăm să rețineți că în colțul din dreapta jos există o inscripție „Arduino/Genuino Uno pe COM1”. Aceasta înseamnă că programul este configurat să funcționeze cu Placa Arduino Uno și căutarea sa se efectuează pe portul COM1.

3. Conectarea Arduino la computer

Conectăm Arduino la computer printr-un cablu USB. LED-ul de pe Arduino ar trebui să se aprindă.

Acum trebuie să aflați numărul portului COM pe care computerul l-a atribuit acestei platforme. Să mergem la "Manager de dispozitiv" Windows și extindeți fila „Porturi (COM și LPT)”.


Și astfel, sistemul de operare Windows 10 a identificat placa noastră Arduino drept portul COM nr. 3.

4. Configurarea IDE-ului Arduino pentru a lucra cu Arduino

Să indicăm IDE-ului Arduino pe care se află placa noastră Arduino Nano Port COM nr. 3.

Lansați Arduino IDE și accesați elementul de meniu:

„Unelte--> Port--> și selectați portul COM3".



De asemenea, trebuie să specificați IDE-ul Arduino cu care placa să lucrați.

Selectați din meniu:

„Instrumente--> Placă--> selectați placa „Arduino Nano”.



Pe această instalare și Configurare Arduino terminat.

Programele nu pot fi flashate în Arduino

Există multe componente implicate în procesul de transfer al unui program de la computer la Arduino. Dacă cel puțin unul dintre ele nu funcționează corect, procesul de firmware va fi întrerupt. În special, procesul de firmware depinde de: drivere Arduino, alegerea modelului de dispozitiv și a portului în mediul Arduino, conexiunea fizică la placă, firmware-ul controlerului 8U2 (pe Arduino Uno și Mega 2560), bootloader al microcontrolerului principal al dispozitiv, setări de biți de siguranță etc. d. Mai jos sunt câteva recomandări pentru depanarea unei anumite componente.

Mediul Arduino

  • Asigurați-vă că modelul dvs. Arduino este selectat în meniul Instrumente > Placă. Dacă aveți un Arduino Uno, selectați elementul corespunzător. De asemenea, rețineți că modelele după Arduino Duemilanove vin cu un microcontroler ATmega328, în timp ce versiunile mai vechi vin cu un ATmega168. Pentru a afla ce controler este folosit în Arduino, citiți eticheta de pe microcontroler (cel mai mare cip de pe placă). Mai multe informații despre meniul Board pot fi găsite în secțiunea Arduino Development Environment.
  • Apoi verificați dacă este selectat portul corect în meniul Instrumente > Port serial (dacă portul nu apare, încercați să reporniți IDE-ul cu dispozitivul conectat la computer). Pe computerele Mac, portul serial ar trebui să arate cam așa: /dev/tty.usbmodem621 (pentru Arduino Uno sau Mega 2560) sau /dev/tty.usbserial-A02f8e (pentru versiunile mai vechi de Arduino cu cip FTDI). Pe Linux: /dev/ttyACM0 sau ceva similar (pentru Arduino Uno sau Mega 2560) sau /dev/ttyUSB0 (pentru versiunile mai vechi de Arduino). Pe Windows, acesta va fi un port COM, dar înainte de a-l selecta în Managerul de dispozitive, trebuie să verificați care dintre ele este asociat cu Arduino. Dacă aceste porturi nu sunt listate, consultați următoarea secțiune despre drivere.

Șoferii

Driverele permit aplicației software de pe un computer (adică mediul Arduino) să comunice cu hardware-ul conectat la acesta (placa Arduino). În legătură cu Arduino, driverele sunt responsabile pentru crearea unui port serial virtual (sau port COM virtual) în sistem. Arduino Uno și Mega 2560 cu microcontroler ATmega8U2 folosesc drivere standard (USB CDC) ale sistemului de operare. Alte plăci Arduino, unde rolul unui convertor USB-UART este îndeplinit de un cip FTDI, folosesc drivere de la FTDI.

Cel mai simplu mod de a verifica dacă driverele sunt instalate corect este să conectați Arduino la computer și să deschideți meniul Instrumente > Port serial în mediul de dezvoltare. După conectarea Arduino, ar trebui să apară noi elemente de meniu aici. În acest caz, nu contează deloc ce nume exact de port va fi atribuit lui Arduino.

  • Pe Windows 7 (în special versiunea pe 64 de biți), poate fi necesar să accesați Device Manager și să actualizați driverele Arduino Uno sau Mega 2560. Pentru a face acest lucru, în manager, faceți clic dreapta pe dispozitiv (placa trebuie să fie conectată la computer) și selectați din nou fișierul .inf corespunzător Windows. Acest fișier se află în folderul drivere/ al software-ului Arduino (dar nu în subdirectorul Drivers USB FTDI).
  • Dacă în timpul instalării Drivere Arduino Uno sau Mega 2560 sub Windows XP, obțineți următoarea eroare: „Sistemul nu poate găsi fișierul specificat”, apoi încercați această soluție (despre adăugarea cheii „RunOnce” la ramura de registry „HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion ”).
  • Pe Linux, Arduino Uno și Mega 2560 sunt definite ca dispozitive /dev/ttyACM0, care nu sunt acceptate de versiunea standard a bibliotecii RXTX utilizată de mediul Arduino pentru comunicare în serie. Prin urmare, versiunea Linux a acestui mediu include o bibliotecă RXTX corectată, care funcționează și cu dispozitivele /dev/ttyACM*. Există și unul special (11.04) care include suport pentru astfel de dispozitive. Dacă utilizați pachetul standard RXTX, atunci trebuie să creați o legătură simbolică în sistem de la /dev/ttyACM0 la /dev/ttyUSB0 (de exemplu) - atunci portul serial va apărea în mediul Arduino.

Acces la portul serial

  • Pe Windows: dacă programul durează mult să se deschidă sau se blochează la pornire sau dacă meniul Instrumente durează prea mult pentru a se deschide, atunci în Manager dispozitive, încercați să dezactivați toate porturile seriale Bluetooth și alte porturi COM de rețea. Când lansați sau deschideți meniul Instrumente, mediul de dezvoltare Arduino scanează în consecință toate porturile seriale ale computerului dvs., prezența unor astfel de porturi de rețea poate duce uneori la înghețarea sau blocarea programului;
  • Asigurați-vă că nu rulați scanere cu porturi seriale, cum ar fi USB Cellular Wifi Dongle (cum ar fi de la Sprint sau Verizon), aplicații de sincronizare PDA, drivere Bluetooth-USB (cum ar fi BlueSoleil), demoni virtuali etc.
  • Asigurați-vă că un firewall (cum ar fi ZoneAlarm) nu cauzează blocarea portului serial.
  • De asemenea, trebuie să închideți toate programele care monitorizează datele care circulă prin USB între Arduino și PC (de exemplu, Processing, PD, vvvv etc.).
  • Pe Linux: încercați să rulați mediul Arduino ca superutilizator, cel puțin temporar, pentru a vedea dacă ajută la flash-ul Arduino sau nu.

Conexiune fizică la placă

  • Mai întâi de toate, asigurați-vă că Arduino este pornit (lit LED verde) și conectat la un computer.
  • Pe computerele Mac există unele probleme când conectarea Arduino Uno și Mega 2560 prin hub USB. Dacă nu apare nimic în meniul „Tools > Serial Port”, încercați să conectați placa direct la computer și să reporniți Arduino IDE.
  • În timpul instalării firmware-ului, deconectați toate dispozitivele de la pinii digitali 0 și 1, deoarece acești pini sunt conectați la interfața pentru conectarea Arduino la computer (după intermiterea cu succes a codului în controler, aceștia pot fi utilizați din nou).
  • Încercați să flashați Arduino deconectând toate dispozitivele de la acesta (cu excepția cablului USB, desigur).
  • Asigurați-vă că placa nu atinge niciun obiect metalic conductor.
  • Încercați un alt cablu USB, uneori și ele nu reușesc.

Resetare automată

  • Dacă Arudino nu acceptă funcția de resetare automată, asigurați-vă că resetați placa cu câteva secunde înainte de a flashiza firmware-ul. (Arduino Diecimila, Duemilanove și Nano acceptă resetarea automată, la fel ca LilyPad, Pro și Pro Mini cu conectori de programare cu 6 pini).
  • Vă rugăm să rețineți: unele Arduino Diecimilas au fost flashate accidental cu un bootloader greșit. Astfel de modele necesită apăsarea fizică a butonului de resetare înainte de a încărca programul; Vezi mai jos pentru mai multe detalii despre asta.
  • Pe unele computere, trebuie să apăsați butonul de resetare (de pe placă) după ce apăsați butonul Încărcare în mediul Arduino. Experimentați cu diferite intervale de timp între apăsări - de la 0 la 10 secunde sau mai mult, cu un interval de aproximativ 2 secunde.
  • Dacă primiți această eroare: „Dispozitivul nu răspunde corect”. încercați să flashați din nou programul (cu alte cuvinte, resetați placa și faceți clic din nou pe butonul Încărcare).

Încărcător

  • Asigurați-vă că Arduino are instalat un bootloader. Pentru a face acest lucru, pur și simplu reporniți dispozitivul. LED-ul încorporat (conectat la al 13-lea picior al controlerului) ar trebui să clipească. Dacă acest lucru nu se întâmplă, atunci cel mai probabil placa dumneavoastră nu are un bootloader.

Dacă programele tot nu pot fi flash, puneți o întrebare pe forum. Vă rugăm să includeți următoarele informații în mesajul dvs.:

  • Versiunea sistemului dvs. de operare.
  • Tipul dvs. de Arduino. Dacă este un model Mini, LilyPad sau alt model care necesită cablare suplimentară, includeți o fotografie a circuitului dvs. în postare, dacă este posibil.
  • Ați afișat cu succes placa înainte? Dacă da, descrieți ce ați făcut cu placa înainte de a înceta să funcționeze, ce software Ați instalat sau dezinstalat recent de pe computer?
  • Mesaje care apar atunci când încercați să încărcați un program în Arduino. Pentru a primi mesaje, țineți apăsat butonul Shift în timp ce faceți clic pe butonul Încărcare din bara de instrumente.

Apare eroarea „Foderul de compilare a dispărut sau nu a putut fi scris” (pe Mac OS X)

Ați extras Arduino.app dintr-o imagine de disc (de exemplu, în folderul Aplicații)? Dacă nu, nu veți putea încărca exemple.

Mediul Arduino nu pornește după actualizarea Java pe computerele Mac

Cea mai recentă actualizare Java a Apple încearcă să utilizeze versiuni pe 64 de biți ale bibliotecilor native. Cu toate acestea, software-ul Arduino folosește o versiune pe 32 de biți a bibliotecii RXTX. La pornirea Arduino, apare o eroare ca aceasta:

Excepție neprinsă în metoda principală: java.lang.UnsatisfiedLinkError: /Applications/arduino-0016/Arduino 16.app/Contents/Resources/Java/librxtxSerial.jnilib: nu a fost găsită nicio imagine adecvată. Am găsit: /Applications/arduino-0016/Arduino 16.app/Contents/Resources/Java/librxtxSerial.jnilib: nicio arhitectură potrivită în wrapper universal

Pentru a rezolva această problemă, faceți clic pe aplicația Arduino (adică Arduino 16.app) în fereastra Finder, iar din meniul Fișier selectați Obțineți informații. Pe panou, bifați caseta de selectare „Deschideți în modul pe 32 de biți”. După aceasta, mediul Arduino ar trebui să pornească normal.

La compilarea unui program, apare o eroare java.lang.StackOverflowError

Mediul de dezvoltare Arduino vă preprocesează schița manipulând codul folosind expresii regulate. Uneori, anumite linii de text fac ca acest proces să eșueze. Dacă vedeți o eroare ca aceasta:

Java.lang.StackOverflowError la java.util.Vector.addElement(Sursă necunoscută) la java.util.Stack.push(Sursă necunoscută) la com.oroinc.text.regex.Perl5Matcher._pushState(Perl5Matcher.java)

La com.oroinc.text.regex.Perl5Matcher._match(Perl5Matcher.java) la com.oroinc.text.regex.Perl5Matcher._match(Perl5Matcher.java) la com.oroinc.text.regex.Perl5Matcher._match(Perl5Matcher._match(Perl5Matcher.java) ) la com.oroinc.text.regex.Perl5Matcher._match(Perl5Matcher.java) la com.oroinc.text.regex.Perl5Matcher._match(Perl5Matcher.java) la com.oroinc.text.regex.Perl5Matcher._match(Perl5Matcher._match(Perl5Matcher.java) java) la com.oroinc.text.regex.Perl5Matcher._match(Perl5Matcher.java)

atunci exact aceasta este situatia. Verificați codul pentru secvențe de caractere neobișnuite asociate cu „ghilimele duble”, „ghilimele simple”, bară oblică inversă \, comentarii etc. De exemplu, ghilimele lipsă sau, de exemplu, secvența „\”” (în loc de „„”).

Schița nu rulează când placa este alimentată de la o sursă externă (pe modelele Arduino Diecimila sau mai tinere)

Deoarece pinul RX este deconectat, bootloader-ul Arduino poate primi zgomot în loc de date, ceea ce înseamnă că nu va expira niciodată și, în consecință, programul nu va porni. Pentru a rezolva această problemă, încercați să conectați pinul RX la masă printr-un rezistor de 10k ohmi (sau conectați pinii RX și TX).

Mediul de dezvoltare Arduino (pe Windows) se blochează atunci când încearcă să flashezi programul

Această problemă poate apărea din cauza unui conflict între Arduino și procesul Logitech „LVPrcSrv.exe”. Deschideți Task Manager și găsiți-l în lista de procese. Dacă există, atunci ar trebui să finalizați procesul înainte de a flashiza programul.

Arduino nu pornește (LED-ul verde de alimentare nu se aprinde)

Dacă utilizați un Arduino Diecimila sau o versiune mai veche cu USB (cum ar fi NG), asigurați-vă că jumperul de pe placă (partea mică de plastic din apropierea conectorului USB) este setat corect. Dacă placa este alimentată de la o sursă de alimentare externă (conectată la conectorul corespunzător), atunci jumperul ar trebui să închidă cei doi pini care se află mai aproape de conectorul de alimentare. Dacă placa este alimentată de la USB, atunci jumperul ar trebui să închidă cei doi pini care se află mai aproape de conectorul USB. Această imagine arată poziția jumper-ului dacă placa este alimentată de la USB.

(mulțumesc lui mrbbp pentru mesaj și imagine)

Lansarea programului pe Arduino Diecimila durează prea mult (6-8 secunde)

Unele plăci Arduino Diecimila au fost flashate accidental cu bootloader-ul Arduino NG. Funcționează bine, doar că are un timeout mai lung după resetarea plăcii (deoarece Arduino NG nu implementează resetare automată, care necesită sincronizarea manuală a procesului de firmware). Puteți recunoaște bootloader-ul de la NG după LED-ul conectat la pinul 13: în Arduino NG după resetarea plăcii clipește de 3 ori, iar în Diecimila - 1 dată. Dacă Diecimila dvs. are instalat un bootloader de la NG, atunci înainte de a afișa schița furgonetă, trebuie să apăsați fizic butonul de resetare situat pe placă. Puteți, de asemenea, să flashați bootloader-ul corect de la Diecimila în dispozitivul dvs. pentru mai multe informații, consultați pagina despre bootloader;

Apare o eroare la rularea arduino.exe pe Windows

Dacă apare o eroare la rularea arduino.exe sub Windows, de exemplu aceasta:

Arduino a întâmpinat o problemă și trebuie să se închidă.

apoi încercați să porniți Arduino folosind fișierul run.bat. Vă rugăm să aveți răbdare ca... Este nevoie de ceva timp pentru ca mediul Arduino să pornească.

De ce nu funcționează Arduino pe versiuni mai vechi de Mac OS X?

Dacă primești o eroare ca aceasta:

Eroare link (dyld): dyld: /Applications/arduino-0004/Arduino 04.app/Contents/MacOS/Arduino Simboluri nedefinite: /Applications/arduino-0004/librxtxSerial.jnilib referință nedefinită la _printf$LDBL128 de așteptat să fie definită în / usr/lib/libSystem.B.dylib

atunci probabil că trebuie să vă actualizați sistemul la Mac OS X 10.3.9 sau o versiune ulterioară. Bibliotecile de sistem mai vechi nu sunt compatibile cu Arduno.

Mulțumesc lui Gabe462 pentru mesaj.

La pornirea mediului Arduino, apare o eroare UnsatisfiedLinkError (cu un mesaj despre biblioteca librxtxSerial.jnilib)

Dacă primiți această eroare la pornirea Arduino:

Excepție neprinsă în metoda principală: java.lang.UnsatisfiedLinkError: Native Library /Users/anu/Desktop/arduino-0002/librxtxSerial.jnilib deja încărcat într-un alt classloader

atunci probabil că aveți o versiune veche a bibliotecii care este responsabilă de comunicare. Căutați fișierele comm.jar sau jcl.jar în folderul /System/Library/Frameworks/JavaVM.framework/ sau în directoarele enumerate în variabilele de mediu CLASSPATH și PATH. (error raportat de Anurag Sehgal)

Ce înseamnă eroarea „Nu s-a putut găsi clasa principală”?

Dacă apare următoarea eroare la pornirea Arduino:

Lansatorul de mașini virtuale Java: nu s-a putut găsi clasa principală. Programul se va închide.

verificați dacă ați extras corect conținutul fișierului zip Arduino - în special, asigurați-vă că folderul lib este situat direct în directorul Arduino și conține fișierul pde.jar.

Cum să faci față conflictelor cygwin pe Windows?

Dacă cygwin este deja instalat pe mașina dvs., atunci când încercați să compilați o schiță în mediul Arduino, poate apărea următoarea eroare:

6? (3512) C:\Dev\arduino-0006\tools\avr\bin\avr-gcc.exe: *** eroare fatală - C:\Dev\arduino-0006\tools\avr\bin\avr-gcc.exe : *** Versiunea de memorie partajată a sistemului a fost detectată nepotrivire - 0x75BE0084/0x75BE009C.

Această problemă este cauzată cel mai probabil de utilizarea versiunilor incompatibile ale DLL-ului cygwin.

În căutarea Windows (Start -> Găsiți), tastați cygwin1.dll și ștergeți toate fișierele găsite, cu excepția celei mai recente versiuni. Cea mai recentă versiune ar trebui să fie localizată în folderul x:\cygwin\bin, unde „x” este unitatea pe care a fost instalată distribuția cygwin. De asemenea, este recomandat să reporniți computerul.

De asemenea, asigurați-vă că cygwin nu rulează în procese atunci când mediul Arduino rulează. De asemenea, puteți încerca să eliminați fișierul cygwin1.dll din folderul Arduino și să-l înlocuiți cu fișierul cygwin1.dll din distribuția dvs. cygwin existentă (care se află cel mai probabil în folderul c:\cygwin\bin).

Este nevoie de mult timp pentru a deschide mediul Arduino și meniul Instrumente (pe Windows)

Dacă mediul Arduino durează foarte mult timp să pornească sau se blochează când încercați să deschideți meniul Instrumente, atunci acest lucru indică un conflict cu un alt dispozitiv din sistem. La pornire, precum și la deschiderea meniului Instrumente, software-ul Arduino încearcă să obțină o listă cu toate porturile COM disponibile pe sistem. Este posibil ca un anumit port COM creat de unul dintre dispozitivele computerului să încetinească acest proces. Verificați Manager dispozitive. Încercați să dezactivați toate dispozitivele care pot crea porturi COM în sistem (de exemplu, adaptoare Bluetooth).

Dispozitivul nu apare în Instrumente | Port serial

Dacă utilizați Arduino cu USB, asigurați-vă că driverele pentru cipul FTDI sunt instalate corect (pentru instrucțiuni de instalare, consultați). Dacă utilizați un adaptor USB-UART cu un Arduino obișnuit (fără USB), verificați dacă driverele sunt instalate pentru acest adaptor.

După aceasta, asigurați-vă că placa este cu adevărat conectată: meniul cu o listă de porturi este actualizat de fiecare dată când deschideți meniul Instrumente, așa că dacă tocmai ați deconectat placa, aceasta nu va fi în această listă.

Verificați dacă rulează programe care scanează toate porturile seriale, cum ar fi aplicațiile de sincronizare PDA, driverele Bluetooth-USB (cum ar fi BlueSoleil), demonii virtuali etc.

Pe sistemele Windows, numărul portului COM atribuit lui Arudino poate fi prea mare. De la utilizatorul zeveland:

„O notă rapidă pentru cei care nu pot flash un program în Arduino cu un număr mare de port COM: încercați să reduceți numărul portului asociat cu cipul FTDI.”

„Sistemul meu are o grămadă de porturi COM virtuale de la adaptorul Bluetooth, așa că Arduino i-a fost atribuit portul COM17. IDE-ul nu a putut găsi Arduino, așa că le-am șters pe celelalte porturi virtualeîn Panoul de control (sub XP) și a schimbat portul pentru cipul FTDI în COM2. Asigurați-vă că Arduino folosește portul desemnat și totul va fi bine.”

Dacă aveți o versiune veche de drivere FTDI pe Mac, va trebui să le dezinstalați și să instalați cea mai recentă versiune. Pentru instrucțiuni de instalare, consultați acest subiect de forum.

Când se afișează codul sau în programul „Serial Monitor”, apare o eroare gnu.io.PortInUseException (pe sistemele Mac)?

Eroare în serial. () gnu.io.PortInUseException: Aplicație necunoscută la gnu.io.CommPortIdentifier.open(CommPortIdentifier.java:354) la processing.app.Serial. (Serial.java:127) la processing.app.Serial. (Serial.java:72)

Cel mai adesea, această eroare înseamnă că portul este ocupat de o altă aplicație. Prin urmare, verificați dacă există programe care rulează pe porturile seriale sau USB, cum ar fi aplicațiile de sincronizare PDA, managerii de dispozitive Bluetooth, anumite firewall-uri etc. De asemenea, rețineți că unele programe (de exemplu, Max/MSP) lasă portul serial deschis, chiar și atunci când nu îl folosiți - deci este mai bine să închideți toate utilitățile care folosesc portul serial și să părăsiți complet astfel de aplicații.

Dacă această eroare apare în mediul de procesare sau pe Arduino versiunea 0004 sau anterioară, atunci trebuie să rulați scriptul macosx_setup.command și să reporniți computerul. În Arduino 0004, acest script a fost modificat și toți utilizatorii trebuie să îl ruleze (chiar și cei care au rulat același script care a venit cu versiunea Arduino 0003). De asemenea, trebuie să ștergeți conținutul folderului /var/spool/uucp.

Aveți probleme cu driverele USB FTDI

Schița nu începe când este aplicată alimentarea sau Arduino este resetat

Cel mai probabil, acest lucru se întâmplă deoarece trimiteți date de la computer la placă imediat după ce este pornită. În primele câteva secunde după resetare, bootloader-ul (un firmware de program în microcontrolerul plăcii) așteaptă ca computerul să trimită o nouă schiță pentru a fi scrisă în memoria plăcii. Dacă nu au sosit date în aceste câteva secunde, încărcătorul va expira și va lansa programul încărcat anterior. Dacă trimiteți continuu date, încărcătorul nu va expira și nu va rula niciodată schița încărcată. Prin urmare, trebuie fie să găsiți o modalitate de a „ține” trimiterea datelor timp de câteva secunde după pornirea dispozitivului (de exemplu, prin programarea controlerului pentru a trimite unele date către computer în blocul setup()), fie să flashați program în microcontrolerul de deasupra bootloader-ului utilizând un programator extern.

Firmware-ul părea să aibă succes, dar nimic nu funcționează

Ați selectat dispozitivul greșit din meniul Instrumente > Microcontroler. Asigurați-vă că microcontrolerul pe care îl alegeți se potrivește cu cel instalat pe placa dvs. (ATmega8 sau ATmega168) - modelul controlerului este indicat pe cel mai mare cip.

Asigurați-vă că sursa de alimentare este stabilă. Interferența sau întreruperile de curent pot cauza erori la încărcarea unei schițe.

încă unul motiv posibil- dimensiunea schiței este prea mare pentru dispozitivul dvs. La încărcarea unei schițe, Arduino 0004 verifică dacă există suficient spațiu de memorie în ATmega8 pentru programul încărcat. În același timp, Arduino își realizează calculele pe baza faptului că bootloader-ul din memoria controlerului ocupă 1 KB. Poate că dispozitivul dvs. are o versiune veche a bootloader-ului cu o capacitate de 2 KB în loc de 1 KB, apoi din cei 8 KB de memorie flash ale microcontrolerului ATmega8, 2 KB vor fi deja ocupați. În consecință, în acest caz, doar o parte a schiței va fi încărcată în controler, dar programul nu știe acest lucru a priori, ceea ce va duce la resetări constante ale dispozitivului.

Dacă aveți un programator (pentru un port paralel sau AVR-ISP), puteți actualiza versiunea de bootloader în microcontroler folosind Instrumente | Burn Bootloader. În caz contrar, puteți pur și simplu să ajustați setările mediului Arduino indicând cantitatea disponibilă de memorie de program în variabila upload.maximum_size aflată în interiorul fișierului de configurare (consultați instrucțiunile pentru a găsi acest fișier). Schimbați valoarea 7168 specificată acolo la 6144, după care mediul de dezvoltare vă va avertiza corect dacă dimensiunea de schiță permisă este depășită.

Cum pot reduce dimensiunea firmware-ului?

Microcontrolerul ATmega168 din Arduino este un model destul de ieftin, care are doar 16 KB de memorie de program, ceea ce de fapt nu este foarte mult (din care 2 KB sunt deja ocupați de bootloader).

Dacă utilizați calcule cu virgulă mobilă în programul dvs., încercați să rescrieți codul pentru a le înlocui cu calcule cu numere întregi - acest lucru va economisi aproximativ 2 KB de memorie. La începutul programului, eliminați directivele #include ale tuturor bibliotecilor neutilizate.

De asemenea, verificați dacă codul programului poate fi optimizat pentru a-l scurta.

Lucrăm constant la optimizarea nucleului Arduino pentru a reduce spațiul ocupat de funcțiile sale în volumul total al schiței compilate și a lăsa cât mai mult spațiu pentru scrierea programelor.

Nu este generat niciun semnal PWM (ieșire analogică) atunci când apelați analogWrite() pe niciun alt pini decât 3, 5, 6, 9, 10 și 11

În microcontrolerul Arduino (ATmega168), suportul hardware pentru PWM / analogWrite() este implementat numai pe anumiți pini. Prin urmare, apelarea funcției analogWrite() pe orice alți pini de controler va avea ca rezultat oricare dintre ele nivel înalt semnal (5 V - pentru valori mai mari de 128), sau nivel scăzut(0 V - pentru valori mai mici de 128). În versiunile mai vechi de Arduino cu microcontrolerul ATmega8, suportul PWM este implementat numai pe pinii 9, 10 și 11.

De ce primesc erori despre funcții sau tipuri nedeclarate?

Mediul de dezvoltare Arduino încearcă să genereze automat prototipuri de funcții definite de utilizator, astfel încât acestea să poată fi plasate în orice ordine în programul dumneavoastră. Cu toate acestea, procesul de generare a prototipurilor nu este perfect și uneori duce la erori ciudate.

De exemplu, dacă vă declarați tipul de date într-un program și apoi creați o funcție care utilizează acest tip, va apărea o eroare când încercați să compilați schița. În acest caz, eroarea apare deoarece prototipul generat automat pentru această funcție va fi localizat ÎNAINTE de declararea tipului.

Dacă declarați o funcție care returnează un rezultat pe 16 biți (de exemplu, de tip „unsigned int”), cadrul nu va înțelege că este o funcție și, prin urmare, nu va crea un prototip al acesteia. În acest caz, va trebui să o scrieți manual sau să plasați declarația acestei funcții mai sus în codul programului - înainte de a fi apelată pentru prima dată în program.

Când încercați să flashați programul, apare eroarea „semnătură nevalidă a dispozitivului”.

Următoarea eroare:

Avrdude: Da! Semnătură nevalidă a dispozitivului.

Verificați conexiunile și încercați din nou sau utilizați -F pentru a trece peste această verificare.

poate însemna unul din două lucruri: fie ați selectat placa greșită în meniul Instrumente > Placă, fie utilizați versiunea greșită a avrdude. Pentru a încărca schițe în Arduino, se folosește o versiune ușor modificată de avrdude. Versiunea standard trimite solicitări de identificare a dispozitivului într-un format care este de neînțeles pentru bootloader-ul Arduino, ceea ce duce la o eroare. Prin urmare, asigurați-vă că utilizați versiunea exactă a avrdude care vine cu Arduino (

Sau mai degrabă, omologul său chinez.



O diferență semnificativă între analogul chinezesc și original este prețul acestuia. Arduino UNO original costă în prezent 24,95 USD pe site-ul oficial, în timp ce analogul chinezesc cu livrare m-a costat mai puțin de 3 USD (de 8 ori mai ieftin). O comparație mai detaliată a originalului cu analogul va fi în articolul următor, dar acum, pentru a nu ne îndepărta de obiectivele principale, să începem.

Conectarea la un PC și instalarea driverului. Datorită faptului că acest analog chinezesc al Arduino folosește un microcircuit pentru a se conecta la USB CH340G , driverele furnizate nu sunt potrivite pentru Arduino original și analogii lor, care conțin un microcircuit.


ATMEGA16U2 Conectăm platforma Arduino la computer prin cablu USB , la care sunt conectate imprimante. LED-ul de pe placă se va aprinde„. Un dispozitiv nou va apărea în Manager dispozitive” USB2.0 - Serial". Trebuie să instalați drivere; în exemplu vom lucra pe Windows.

Descărcați arhiva, despachetați și rulați fișierul CH341SER.EXE. Alege INSTALA.


LED-ul va clipi în timp ce driverul este instalat. RX, după instalare va apărea un mesaj corespunzător, faceți clic pe „ Bine".

Un dispozitiv nou va apărea în Manager dispozitive" USB-Serial CH340„. În cazul meu, dispozitivul conectat la port COM7, toată lumea poate avea orice alt număr de port, principalul lucru este să-l amintiți pentru lucrările viitoare.

Prima schiță.

Programul Arduino se numește schiță. Pentru a scrie lui Schiță Arduino trebuie instalat pe computer Mediul de dezvoltare Arduino. Descărcați cea mai recentă versiune și despachetați-o. Lansați mediul de dezvoltare cu fișierul arduino.exe.

Programul este încărcat implicit cu o interfață rusă.

Pentru a selecta o altă limbă, trebuie să utilizați elementul de meniu " Fişier" - "Setări".

In lista " Limbajul editorului„puteți selecta orice altă limbă, apăsați” Bine" și reporniți mediul de dezvoltare. Include limbile belarusă, ucraineană și alte limbi.


De asemenea, trebuie să verificați dacă platforma Arduino este selectată corect, pentru a face acest lucru accesați „ Instrumente" – "Plată:„Am avut Anduino UNO selectat corect implicit, dacă ai altceva, selectează-ți platforma din listă.


De asemenea, trebuie să selectați portul corect la care este conectată platforma noastră. Pentru a face acest lucru, am acordat atenție acestui lucru în timpul instalării driverului (trebuie să vă uitați la portul din managerul de dispozitive). În cazul meu este COM7. Acum in " Instrumente" - "Port:„Trebuie să specificați portul corect.

Acum să încercăm să rulăm prima noastră schiță pe Arduino, care va clipi LED-ul.

Această versiune a mediului de dezvoltare are deja o colecție de schițe simple, inclusiv schița noastră.
Pentru a face acest lucru, să mergem la " Fişier" - "Mostre" - "01. Bazele" – "Clipi".

Codul programului se va deschide într-o fereastră nouă. Acum să pregătim LED-ul pentru programul nostru. Pe multe plăci, precum a mea, LED-ul necesar era deja lipit împreună cu restul componentelor radio...


Dar pot exista plăci care să nu aibă acest LED, caz în care va trebui să-l conectați prin pinii de pe placă. Să luăm cel mai obișnuit LED de culoare și să-l conectăm printr-un rezistor de limitare 220 Ohm - 1 Kom la pinii de pe placă 13 Şi GND(Este recomandat să deconectați cablul USB în timp ce conectați LED-ul la Arduino).


Când totul este gata, tot ce rămâne este să încărcați programul pentru clipirea LED-ului în microcontroler. În mediul de dezvoltator, faceți clic pe butonul " Încărca" pentru a încărca schița pe Anduino.

După ce schița este încărcată cu succes, LED-ul va începe să clipească în cazul meu, LED-ul care a fost lipit pe placă și cel pe care l-am conectat la pini clipeau.

Pentru a opri Anduino, trebuie doar să deconectați placa de la cablul USB.

Aici puteți termina prima cunoaștere cu platforma, asigurându-vă că totul funcționează corect.

În principiu, este universal și pe el pot fi implementate un număr mare de proiecte.

Să începem!

În primul rând, trebuie să descarcăm și să instalăm mediul de dezvoltare cu drivere încorporate, acest lucru se poate face de pe site-ul oficial Arduino.cc sau din link. După care puteți conecta placa la computer prin fir usb care de cele mai multe ori vine inclus, sau prin oricare dintre ele potrivite. Arduino folosește USB B, nu are nimic special în el. Dacă totul este făcut corect și placa funcționează corect, Windows va găsi un nou dispozitiv și îl va instala singur, după care LED-ul marcat ON sau PWR de pe placă se va aprinde.

Acum puteți deschide Arduino ide și va apărea imediat fereastra editorului în fața noastră.1) Fereastra editorului este locul în care vom scrie codul.

2) Aici vor fi afișate fereastra de stare, erori și alte informații despre programul nostru și despre procesul de încărcare a firmware-ului pe placă.

3) Bara de instrumente etc.

Apropo, ide sprijină limba rusă, care ar trebui să ajute la stăpânirea ei. Acum să verificăm dacă totul este în regulă și să mergem la instrumente -> fila Plăci. Consiliul nostru ar trebui să fie selectat imediat acolo:


Dacă nu este cazul, îl vom selecta manual.

Acum va încerca să flashăm placa noastră cu firmware-ul de testare pentru a face acest lucru, accesați Fișier -> exemple -> Elemente de bază -> Clipește. Comentariile și textul programului în sine au apărut imediat în fereastra editorului. Comentariile sunt întotdeauna situate între etichete */ sau cu // și pot fi eliminate fără probleme, nu vor afecta funcționarea programului și nu vor mai interfera cu concentrarea asupra principalului lucru;

După care veți rămâne cu următorul cod:

C++

void setup() ( pinMode(13, OUTPUT); ) void loop() ( digitalWrite(13, HIGH); delay(1000); digitalWrite(13, LOW); delay(1000); )

void setup() (

pinMode(13, IEȘIRE);

void loop() (

Dacă primiți eroarea: Problemă la încărcare pe placă, nu disperați, este ușor de rezolvat. Pentru a face acest lucru, mergeți la Instrumente -> Port -> și acolo selectam portul lângă care este scris Arduino/Genuino Uno între paranteze și încercăm să flashăm din nou controlerul. Dacă ceva nu merge, scrieți în comentarii, ne vom da seama.

Să ne dăm seama acum de ce am încărcat asta pe Arduino.

void setup() ( )

Mediul de dezvoltare a generat această parte a codului pentru noi în mod independent aici, între acolade, intrările și ieșirea plăcii sunt inițializate, în cazul nostru scrie pinMode(13, OUTPUT); Aceasta înseamnă că atribuim pinul 13 al plăcii la care este conectat LED-ul (despre care am vorbit în ultimul articol) la ieșire.

Această parte a codului este, de asemenea, generată automat între acolade, codul este scris pe care programul nostru îl va executa direct pe o perioadă nedeterminată. Adică este un ciclu nesfârșit. Scrie digitalWrite(13, HIGH); , care în rusă înseamnă aplicarea a 5 volți la pinul 13, această acțiune aprinde LED-ul.

întârziere (1000); Această întârziere oprește execuția următoarei instrucțiuni timp de 1000 mi secunde (1 secundă).

digitalWrite(13, LOW); trage 13 pini la pământ, în rusă, elimină 5 volți, ceea ce duce la stingerea LED-ului.

Și deoarece void loop() este o buclă infinită, lumina de pe Arduino va clipi la nesfârșit!

Să te distrezi cu o placă Arduino goală nu este atât de distractiv pe cât ne-am dori datorită faptului că există doar 1 LED instalat pe placă și nu există un singur buton, dar asta nu înseamnă că clipirea unui LED este tot ce putem. do! Să-l facem să se aprindă și să ieșim la comandă de pe computer!

Pentru a face acest lucru, va trebui să scriem firmware pentru Arduino și să folosim un monitor de port pentru testare, apoi vom scrie un program în C#, dar asta va fi în articolul următor.