kategória: Kiemelt cikkek » Gyakorlati elektronika
Megtekintések száma: 67360
Megjegyzések a cikkhez: 7
Az Arduino csatlakoztatása és programozása kezdőknek
A mikrokontrollerek tanulmányozása bonyolultnak és érthetetlennek tűnik? Az Arudino megjelenése előtt ez tényleg nem volt könnyű, és ehhez bizonyos programozókészletre és egyéb felszerelésre volt szükség.
Mi az arduino?
Ez egyfajta elektronikus kivitelező. A projekt eredeti célja az, hogy lehetővé tegye az emberek számára az elektronikus eszközök programozásának egyszerű megtanulását, miközben minimális időt fordít az elektronikus alkatrészekre.
A legbonyolultabb áramkörök összeszerelése és a táblák összekapcsolása forrasztópáka nélkül és leválasztható csatlakozókkal, „apa” és „anya” segítségével lehetséges. Ily módon mind a mellékletek, mind a bővítőkártyák összekapcsolhatók, amelyeket az arduinisták lexikonjában egyszerűen „pajzsoknak” hívnak.

Mi az első Arduino tábla, amelyet újszülöttnek vásárolt?
Az alap és a legnépszerűbb tábla kerül figyelembevételre Arduino uno. Ez a díj hitelkártyára emlékeztet. Elég nagy. A legtöbb eladó pajzs tökéletes neki. A táblán vannak aljzatok a külső eszközök csatlakoztatásához.

A 2017. évi hazai üzletekben ára körülbelül 4-5 dollár. A modern modellekben az Atmega328 a szíve.
Az Arduino tábla képe és funkcióinak dekódolása az egyes csapokhoz, Arduino UNO pinout
A táblán lévő mikrovezérlő egy hosszú chip a DIP28 csomagban, ami azt jelenti, hogy 28 lába van.
A következő legnépszerűbb tábla majdnem kétszer olcsóbb, mint az előző - 2-3 dollár. Ez az igazgatóság Arduino nano. A tényleges táblákat ugyanaz az Atmega328 építette, funkcionálisan hasonlóak az UNO-hoz, méretbeli különbségek és az USB-hez való illesztés döntése, erről később. Egy másik különbség az, hogy az eszközök áramköri laphoz történő csatlakoztatásához dugasz, tű formájában, biztosított.

Ennek a táblának a csapok (lábak) száma azonos, de megfigyelhető, hogy a mikrovezérlő egy kompaktabb TQFP32 csomagban van elkészítve, az esethez ADC6 és ADC7 kerül hozzáadásra, a másik két „extra” láb duplikálja az erőátvitelt. Mérete meglehetősen kompakt - körülbelül a hüvelykujjával a kezét.
A harmadik legnépszerűbb tábla Arduino Pro Mini, nincs USB-port a számítógéphez való csatlakozáshoz, egy kicsit később megmondom, hogyan kell kommunikálni.

Arduino Nano vs Pro Mini méret összehasonlítása
Ez a legkisebb tábla az összes figyelembe vett elemnél, különben hasonló az előző kettőhöz, és Atmega328 továbbra is a legfontosabb. Más táblákat nem veszünk figyelembe, mivel ez egy cikk kezdőknek, és a táblák összehasonlítása külön cikk témája.
Arduino Pro Mini pinout, a felső részben az USB-UART csatlakozási rajz, „GRN” tű - a mikrokontroller reset áramköréhez vezetik, más néven hívhatják, erről később meg kell tudnia.
találatok:
Ha az UNO kényelmes a prototípus készítéséhez, akkor a Nano és a Pro Mini kényelmes a projekt végleges változatához, mivel kevés helyet foglalnak el.

Hogyan csatlakoztathatom az Arduino-t egy számítógéphez?
Az Arduino Uno és a Nano USB-n keresztül csatlakoznak a számítógéphez. Ugyanakkor az USB porthoz nincs hardver támogatás, itt egy szintátalakításhoz használt áramköri megoldást használnak, általában USB-soros vagy USB-UART (rs-232) néven. Ugyanakkor egy speciális Arduino rendszerbetöltőt felvillan a mikrovezérlőbe, amely lehetővé teszi a villogást ezeken a buszokon.
Az Arduino Uno-ban ezt a ligattumot USB-támaszú mikrokontrolleren - ATmega16U2 (AT16U2) - alkalmazzák. Kiderül, hogy a táblán lévő kiegészítő mikrovezérlőre van szükség a fő mikrovezérlő villogásához.
Az Arduino Nanóban ezt az FT232R chip vagy annak analóg CH340 valósítja meg. Ez nem egy mikrokontroller - egy szintátalakító, ez a tény megkönnyíti az Arduino Nano összeszerelését a kezéből a saját kezével.
Általában az illesztőprogramok automatikusan települnek, amikor az Arduino tábla csatlakoztatva van. Amikor azonban vásároltam az Arduino Nano kínai példányát, az eszközt felismerték, de nem működött, egy kerek matrica, amelyen megjelentek a kiadás dátuma, ragasztottak az átalakítóra, nem tudom, hogy ezt szándékosan végezték-e el, de lehúzás után láttam a CH340 jelölést.
Ezt megelőzően még nem találkoztam ezzel, és azt gondoltam, hogy az összes USB-UART átalakítót az FT232-re szerelték, le kellett töltenem az illesztőprogramokat, amelyeket nagyon könnyű megtalálni az „Arduino ch340 illesztőprogram” kérésére. Egy egyszerű telepítés után - működött!
Ugyanezen USB porton keresztül a mikrovezérlő is táplálható, azaz Ha egy mobiltelefonról csatlakoztatja az adapterhez, akkor a rendszer működni fog.
Mi a teendő, ha a fórumon nincs USB?
Az Arduino Pro Mini kisebb. Ezt a firmware USB-csatlakozójának és ugyanazon USB-UART-átalakító eltávolításával érjük el. Ezért külön kell megvásárolni. A CH340 legegyszerűbb átalakítója (a legolcsóbb), a CPL2102 és az FT232R, az eladás ára 1 dollár.
Vásárláskor ügyeljen arra, hogy milyen feszültségre lett kialakítva ez az adapter. A Pro mini a 3.3 és az 5 V-os verziókban kapható, az átalakítókon gyakran egy áthidalót helyeznek el a tápfeszültség átkapcsolására.

A Pro Mini villogásakor, közvetlenül az indítás előtt, meg kell kattintania a RESET-re, azonban a DTR-es átalakítókban nem kell ezt megtennie, az alábbi ábrán látható csatlakozási ábra.

Összekapcsolják őket a "Mama-Mama" (nő-nő) speciális terminálokkal.

Valójában az összes csatlakoztatást ilyen csatlakozókkal (Dupont) lehet létrehozni, mindkettő mindkét oldalon csatlakozóaljzattal, dugókkal, és a foglalat egyik oldalán, és a másik dugóval is van.

Hogyan lehet programokat írni Arduino számára?
Vázlatokkal történő munkavégzéshez (a firmware neve az arduino nyelvén található) van egy speciális integrált környezet az Arduino IDE fejlesztéséhez, ingyenesen letölthető a hivatalos weboldalról vagy bármilyen tematikus forrásból, általában nincs probléma a telepítésével.
Így néz ki a program felülete. Írhat programokat a kifejezetten az arduino számára kifejlesztett egyszerűsített C AVR nyelven, sőt ez egy Wiring nevű könyvtárkészlet, valamint tiszta C AVR formátumban. Használata megkönnyíti a kódot és felgyorsítja a munkáját.
Az ablak tetején található egy ismerős menü, ahol megnyithatja a fájlt, a beállításokat, kiválaszthatja a dolgozótáblát (Uno, Nano és még sok-sok más), valamint kész projektekkel nyithat meg projekteket. Az alábbiakban található egy gombkészlet a firmware-vel való munkavégzéshez, a gombok az alábbi ábrán láthatók.

Az ablak alján található egy olyan terület, ahol információkat jeleníthet meg a projektről, a kód állapotáról, a firmware-ről és a hibákról.
Arduino IDE programozási alapok
A kód elején deklarálnia kell a változókat és csatlakoztatnia kell további könyvtárakat, ha vannak ilyenek, ezt a következőképpen hajtják végre:
# beletartozik a biblioteka.h; // csatlakoztassa a könyvtárat a „Biblioteka.h” névvel
#define peremennaya 1234; // Nyújtsa be az 1234 értékű változót
A Define parancs lehetővé teszi a fordítónak a változó típusának kiválasztását, de manuálisan is beállíthatja, például egy egész szám vagy lebegőpontos lebegőponttal.
int led = 13; // létrehozta az „led” változót és hozzátette a „13” értéket
A program meghatározhatja a tüske állapotát 1 vagy 0-ban. 1 logikai egység, ha a 13. tüske 1, akkor a fizikai lábánál a feszültség megegyezik a mikrovezérlő tápfeszültségével (az arduino UNO és a Nano esetében - 5 V).
A digitális jelet a digitalWrite paranccsal rögzítjük (tű, érték), például:
digitalWrite (led, magas); // írja be az egységet a 13-as pin-hez (bejelentettük fent) naplóba. Unit.
Mint érthető, a portokhoz való hozzáférés a táblán lévő számozással történik, a megfelelő ábra. Íme egy példa az előző kódhoz:
digitalWrite (13, magas); // állítsa a 13-as tűt egyre
Gyakran a kívánt késleltetés funkciót a késleltetés () parancs hívja, amelynek értékét milliszekundumban állítják be, mikrosekundumot a
delayMicroseconds () Késleltetés (1000); // A mikrovezérlő 1000 ms-ot (1 másodperc) vár
A bemeneti és kimeneti portbeállításokat a void setup {} funkcióban állítják be, a következő paranccsal:
érvénytelen beállítás () {
pinMode (NOMERPORTA, OUTPUT / INPUT); // argumentumok - változó neve vagy portszáma, bemenet vagy kimenet közül lehet választani
}
Üres hurok {}
Az első Blink-program megértése
Mint egyfajta „Hello, világ” a mikrovezérlők számára, van egy LED villogó program, elemezzük annak kódját:
A pinMode paranccsal eleinte azt mondtuk a mikrovezérlőnek, hogy rendeljen hozzá egy portot egy LED-del a kimenethez.Már észrevetted, hogy a kód nem deklarálja a „LED_BUILTIN” változót, az a tény, hogy az Uno, Nano és más gyári táblákban a beépített LED csatlakozik a 13. érintkezőhöz, és be van forrasztva a táblához. Ön felhasználhatja a projektekben való jelzésre vagy a villogó programok legegyszerűbb ellenőrzésére.
Ezután azt a kimenetet, amelyre a LED meg van forrasztva, egységre állítjuk (5 V), a következő sor az MK-t várja 1 másodpercig, majd a LED_BUILTIN tűt nullára állítja, másodpercre vár, és a program körben megismétlődik, tehát amikor a LED_BUILTIN értéke 1 - a LED ( és a porthoz csatlakoztatott bármely más terhelés) bekapcsol, ha 0-nál ki van kapcsolva.
Minden működik, és minden világos? Akkor lépj tovább!
Az analóg portból kiolvasjuk az értéket, és felhasználjuk az olvasott adatokat
Az Atmega328 AVR mikrovezérlő beépített 10 bites analóg-digitális konverterrel rendelkezik. A 10 bites ADC lehetővé teszi a feszültség 0 és 5 volt közötti értékének leolvasását a jel teljes amplitúdótartományának (5 V) 1/1024 lépésben.
A világosabbá tétele érdekében fontolja meg a helyzetet, tegyük fel, hogy az analóg bemeneten a feszültség értéke 2,5 V, akkor a mikrovezérlő az "512" érintkezőről leolvassa az értéket, ha a feszültség 0 - "0", és ha 5 V - (1023). 1023 - mert a szám 0-tól megy, azaz 0, 1, 2, 3 stb. 1023-ig - összesen 1024 érték.
Így néz ki a kód, példaként a „analogInput” vázlatot használva
int sensorPin = A0;
int ledPin = 13;
int sensorValue = 0;
érvénytelen beállítás () {
pinMode (ledPin, OUTPUT);
}
void loop () {
sensorValue = analogRead (sensorPin);
digitalWrite (ledPin, HIGH);
késleltetés (sensorValue);
digitalWrite (ledPin, LOW);
késleltetés (sensorValue);
}

A potenciométer Arduino csatlakozási sémája analógia útján a központi kimenethez bármilyen analóg bemenethez csatlakoztatható.
Nyújtsa be a változókat:
-
Ledpin - függetlenül hozzárendel egy csapot egy beépített LED-del a kimenethez, és egyedi nevet ad;
-
sensorPin - analóg bemenet, a táblán lévő jelölésnek megfelelően beállítva: A0, A1, A2 stb .;
-
sensorValue - egy változó egész szám olvasási érték tárolására és az azzal való további munkára.
A kód így működik: az sensorValue elmenti az sensorPin (analóg olvasás parancs) által olvasott analóg értéket. - itt véget ér az analóg jellel folytatott munka, akkor minden úgy van, mint az előző példában.
Az egységet ledPin-ben írjuk, a LED kigyullad, és várjon egy ideig az sensorValue értékével, azaz 0 és 1023 milliszekundum között. Kapcsolja ki a LED-et, és várja meg újra ezt az időtartamot, miután a kód megismétlődik.
Így a potenciométer helyzetével beállíthatjuk a LED villogási frekvenciáját.
Térkép funkció Arudino számára
A szelepmozgatók nem minden funkciója (nem tudok egyet) nem támogatja az „1023” érvet, például, a szervót korlátozza a forgásszög, vagyis a szervomotor fél fordulatával (180 fok) (fél fordulattal), a funkció maximális érve „180”.
Most a szintaxisról: térkép (az általunk lefordított érték a minimális bemenet, a maximális bemenet, a minimális kimenet, a maximális kimenet).
Kódban a következőképpen néz ki:
(térkép (analogRead (pot), 0, 1023, 0, 180));
A potenciométer (analogRead (pot)) értékét leolvasjuk 0 és 1023 között, és a kimenetnél 0 és 180 közötti számokat kapunk
Érték térkép értékei:
-
0=0;
-
1023=180;
A gyakorlatban ezt ugyanazon szervo kód munkájára alkalmazzuk, nézzük meg a kódot az Arduino IDE-vel, ha figyelmesen elolvassa az előző szakaszokat, akkor nem igényel magyarázatot.

És a csatlakozási rajz.

Következtetések Az Arduino nagyon kényelmes eszköz a mikrovezérlőkkel való munka megtanulásához. És ha tiszta C AVR-t használ, vagy amint azt néha „tiszta C” -nek hívják, akkor jelentősen csökkenteni fogja a kód súlyát, és jobban belefér a mikrovezérlő memóriájába, ennek eredményeként kiváló, gyárilag készített hibakeresési panelt fog kapni USB-firmware-vel.

A szerző véleménye:
Szeretem az arduino-t. Sajnálatos, hogy sok tapasztalt mikrokontroller-programozó indokolatlanul kritizálja azt, hogy ez túl egyszerű. Alapvetően csak a nyelv egyszerűsödik, de senki sem kényszeríti arra, hogy használja, ráadásul a mikrovezérlőt villoghatja az ICSP csatlakozón keresztül, és kitöltheti a kívánt kódot anélkül, hogy szükség lenne bootloader-ekre.
Azok számára, akik elektronikával szeretnének játszani, mint fejlett konstruktor, ez tökéletes, de tapasztalt programozók számára egy olyan tábla, amely nem igényli összeszerelést, szintén hasznos!
Az Arduinóval és annak különféle sémákban való alkalmazásának további információit lásd az e-könyvben -Arduino dummies számára. Illusztrált gyakorlati útmutató.
Lásd még az electro-hu.tomathouse.com oldalon
: