Ez azért történik, mert az IDE nem rendelkezik elegendő jogosultsággal az Arduino eszközhöz való hozzáféréshez.
Jogosultságok
Az Arduino eszközt megnézhetjük, ha a
ls -l /dev/ttyACM*
terminálban futtatjuk. A kimenet többnyire így néz ki:
crw-rw---- 1 root dialout 166, 0 Des 14 09:47 /dev/ttyACM0
A ‘ACM’ végén lévő ‘0’ lehet más, és több bejegyzés is szerepelhet, de a részek, amelyekre koncentrálnunk kell, az az előtte lévő betűsor és kötőjelek, valamint a két név root és dialout.
Az első név root az eszköz tulajdonosa, a dialout pedig az eszköz tulajdonosi csoportja.
A ‘c’ után kezdődő betűk és kötőjelek az eszköz felhasználói jogosultságait jelölik: – Az első hármas rw- azt jelenti, hogy a tulajdonos (root) olvashat és írhat az eszközre – A második hármas rw- azt jelenti, hogy a tulajdonos csoport (dialout) tagjai olvashatnak és írhatnak az eszközre – A harmadik hármas --- azt jelenti, hogy a többi felhasználónak egyáltalán nincs jogosultsága (vagyis senki más nem olvashat és írhat az eszközre)
Röviden, a root és a dialout tagjain kívül senki nem tehet semmit az Arduinóval; mivel nem root-ként vagy a dialout tagjaként futtatjuk az IDE-t, az IDE nem tud hozzáférni az Arduinóhoz a nem megfelelő jogosultságok miatt.
Adjuk hozzá magunkat a dialout csoporthoz
De várjunk csak! Korábban, amikor elindítottuk az IDE-t, hozzáadtuk magunkat a dialout csoporthoz!

Az IDE-nek tehát miért nincs még mindig jogosultsága az Arduino eléréséhez?
A prompt által végrehajtott módosítások nem érvényesek, amíg ki nem jelentkezünk és újra be nem jelentkezünk, ezért el kell mentenünk a munkánkat, ki kell jelentkeznünk és újra be kell jelentkeznünk.
Miután újra bejelentkezünk és elindítjuk az Arduino IDE-t, a Serial Port opciónak elérhetőnek kell lennie; változtassuk meg ezt, és máris tudunk kódot feltölteni az Arduinóra.

Meg kell tudnunk tölteni a kódot az Arduinóra.