Arduino board-ok

Az Arduino család folyamatosan bővül, és mivel ez a fejlesztői környezet nyitott, bárki fejleszthet rá hardvert, ez a fejlődés csak nagy vonalakban látható át. Ezen az oldalon megprobálom a lehetetlent, a hardverek összecsoportosítását, úgy, hogy tudom, hogy ez egy meglehetősen reménytelen kihívás. Nagy vonalakban az Arduino board-ok a következő csoportokba sorolhatók be:

  • Arduino Uno - az igazi klasszikus board
  • Arduino Mega - sok digitális és analóg port, 3 soros kommunikáció, nagyobb memória
  • Arduino Micro - kicsi méret, de viszonylag magas portszám és teljesítmény, teljesértékű USB
  • Arduino Nano - kicsi méret, nagyjából az UNO-val egyező kapacitás
  • Arduino Mini - redukált hardver, USB port nincs

A board-okon a program

  • az USB kommunikáció újraindulásakor
  • a Serial Monitor aktiválásakor
  • a pinek túlfeszültségvédelmének leoldásakor (ilyenkor jellegzetes oda-vissza kapcsolgatás - klattyogás - lesz)
  • tápkieséskor
  • a RESET gomb megnyomásakor
  • a RESET bemenet LOW szintje esetén

újraindul.

Amennyiben a board-ok nem az USB-ről kapják a tápjukat, a betápoknál az üzemi feszültségszint fölött 1-2V legalább szükséges (5V esetén 7V, 3,3V esetén 5V), egyébként a board instabillá válhat.

A maximumális alánlott feszültséget nem érdemes túllépni, mert ez a szabályzóelektronika túlmelegedéséhez vezethet.

Az olyan board-okon, amik csak egy serial interfésszel rendelkeznek és a Serial Monitort is használni akarjuk,

  • az ide projektált egyéb kommunikációt le kell kötni a pinekről
  • értelemszerűen serial pineket (általában 0 és 1) nem projektálhatjuk digitális funkciókra

A legtöbb Arduino board-on a 13. pinre egy LED van kötve. Ha a pin HIGH szintre kerül, a LED világítani fog.

A kommunikációs megoldások, PWM funkciók, interrupt-ok sok board-on konkrét pin-ekhez vannak kötve. A pin-funkciók tervezésekor érdemes ezekkel kezdeni a kiosztást.

Az 5V-os, standard-TTL logikás és 3.3V-os rendszerek közötti kommunikáció esetén ügyelni kell a TTL-jelszintek eltérésére is.

Arduino Uno Az Uno a "legmezeibb" board az Arduino-k között. Jelenleg a harmadik generációja kapható (Rev.3) 8 bites, 16 MHz-es ATmega328P processzorral. 14 digitális I/O lábbal (ebből 6 PWM-et is tud) és 32 kB flash memóriával rendelkezik.

A jelenleg aktuális Rev3 board-ok az ATmega16U2 serial IC-t használják az USB-n való kommunikáláshoz, az STK500 protokollal. A korábbi board-okon az ATmega16U2 található még meg.

Amennyiben a board külső tápról vagy akkumulátorról kerül megtáplálásra (Vin vagy power jack), ügyelni kell arra, hogy a betáp 7V fölött maradjon. Ez alatt ugyanis a board instabillá válhat. 12V fölött viszont előfordulhat, hogy a feszültségszabályzó melegszik túl, és ezért megy tönkre a board. A betápot ezért érdemes 7V és 12V között tartani.

A 3V3 pinre kikerülő 3,3V feszültséget nem szabad 50 mA fölé terhelni.

A board csak egy serial interfésszel rendelkezik - 0 (RX) és 1 (TX). Amennyiben a Serial Monitort használni akarjuk,

  • az ide projektált egyéb kommunikációt le kell kötni a pinekről
  • értelemszerűen a 0 és 1 pineket nem projektálhatjuk digitális funkciókra

A 13. pinre egy LED van kötve. Ha a pin HIGH szintre kerül, a LED világítani fog.

Az I²C kommunikációt az alábbi, analóg pineken lehet projektálni: A4 (SDA), A5 (SCL)

AREF: Referencia feszültség az analóg bemenetekhez

RESET: LOW szintre húzva újraindítást eredményez

Az Arduino Uno lábkiosztása
Az Arduino UNO lábkiosztása / a képre rákattintva nagyítható ez.

Tovább:

Az Arduino Uno adatlapja

MikrokontrollerATmega328P
Üzemi feszültség5V
Bemeneti feszültség (javasolt)7-12V
Minimális és maximális bemeneti feszültség6-20V (a 9V-os betápon tényleg maximum csak 9V!)
Digitális csatornák száma14 (ebből 6 PWM-re alkalmazható, az összes szabadon definiálható be- és kimenetként)
Analóg csatornák száma6 (analóg bemenetként vagy digitális csatornaként is alkalmazhatók)
DC áram lábanként20 mA
DC áram a 3.3V-os lábakon50 mA
Flash memória32 KB (ATmega328P) de ebből 0.5 KB-ot a bootloader használ
SRAM2 KB (ATmega328P)
EEPROM1 KB (ATmega328P)
Interrupt-olható pinek2, 3
PWM pinek, ezek frekvenciája*3, 5, 6, 9, 10, 11, pin 5-6: 980 Hz, a többi: 490 Hz
Órajel16 MHz
Led-del kiegészített csatorna13
Hossza68.6 mm
Szélessége53.4 mm
Súlya25 g

*: az ATmega168-as vagy ATmega328-as board-oknál:

  • timer0: pin 5 és 6, 8-bites PWM
  • timer1: pin 9 és 10, 16-bites PWM
  • timer2: pin 11 és 3, 8-bites PWM

Olyan szervoknál, amik 16 bites felbontást igényelnek, előfordulhat, hogy csak a 9. és 10. pin fog működni!

Az Arduino Uno csatlakozási lehetőségei

Az Arduino UNO csatlakozási lehetőségei

Arduino Uno ATMega 328 ISP

A processzor ISP portja.

Arduino Uno USB ISP

Az USB-vezérlő ISP portja.

Arduino Uno I²C

Az UNO-n az I²C-t rendhagyó módon analóg kimeneti portokra kell applikálni. Ezek alapértelmezetten a következők:

A4: I²C SDA
A5: I²C SCL

Az Arduino I²C összefoglalása itt található: Arduino I²C.
Az Aduino-s I²C megoldások összefoglalása itt található: Arduino I²C kommunikáció.

Arduino Uno SPI

Az UNO-n az SPI alapértelmezett portjai a következők:

portfunkció
13SPI SCK
12SPI MISO
11SPI MOSI
10SPI SS

Az Arduino SPI összefoglalása itt található: Arduino SPI.
Az Aduino-s SPI megoldások összefoglalása itt található: Arduino SPI kommunikáció.

Arduino Uno Interrupt

Az Arduino Uno Interrupt-ra kijelölt portjai: 2, 3. → Arduino interrupt

Arduino Mega A Mega board nevéhez "méltóan" az UNO egy rendesen túlméretezett változata. AZ IO-kat itt nem méretezték szűken. Az eggyel komolyabb (ATmega2560) processzorral működő lapja az UNO-nál jóval több flash memóriát is tartalmaz, 16 helyett 256 kB-ot, így 3D nyomtatók és robotok vezérlésére is egész jól használható. Az órajele viszont megegyezik az Uno-éval, ez itt is 16 MHz maradt. Az Arduino Mega 2560 Rev3 a board aktuális változata, elődje az Arduino Mega volt.

4, egyidejű UART kommunikációt lehet rajta megvalósítani:

  • Serial: 0 (RX) és 1 (TX);
  • Serial1: 19 (RX) és 18 (TX);
  • Serial2: 17 (RX) és 16 (TX);
  • Serial3: 15 (RX) és 14 (TX).

Az Arduino Mega lábkiosztása
Az Arduino Mega lábkiosztása / a képre rákattintva nagyítható ez.

Tovább:

Az Arduino Mega adatlapja

MikrokontrollerATmega2560
Üzemi feszültség5V
Bemeneti feszültség (javasolt)7-12V
Minimális és maximális bemeneti feszültség6-20V
Digitális csatornák száma54 (ebből 15 PWM-re alkalmazható, az összes szabadon definiálható be- és kimenetként)
Analóg csatornák száma16 (analóg bemenetként vagy digitális csatornaként is alkalmazhatók)
DC áram lábanként20 mA
DC áram a 3.3V-os lábakon50 mA
Flash memória256 KB (ATmega328P) de ebből 8 KB-ot a bootloader használ
SRAM8 KB (ATmega328P)
EEPROM4 KB (ATmega328P)
Órajel16 MHz
Led-del kiegészített csatorna13
Interrupt-olható pinek2 (irq0), 3 (irq1), 18 (irq5), 19 (irq4), 20 (irq3), 21 (irq2)
PWM pinek2..13. és 44..46. pin (8 bit PWM)
SPI pinek50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS)
I²C pinek20 (SDA) és 21 (SCL)
Hossza101.52 mm
Szélessége53.3 mm
Súlya37 g

Arduino Micro

Az Arduino Micro technikailag megegyezik az Arduino Leonardo-val.

Az Arduino Micro 20 digitális I/O pinnel rendelkezik, amelyek közül 12 analóg bemenetként (is) használható, a többi 7 pedig PWM kimenetként is működhet (ezzel szemben az Arduino Nano 14 digitális I/O pinnel rendelkezik, ezekből 6 használható PWM kimenetekként, 8 pedig analóg bemenetként). Támogatja az I²C (TWI), UART és az SPI kommunikációt. Az Arduino Micro mikroprocesszora, az ATMega32u4 egy beépített teljes sebességű USB-vel rendelkezik. Ez lehetővé teszi, hogy a kártya USB eszközként működjön a megfelelő USB-stack megvalósításával. Például alkalmazható, mint

  • USB-soros átalakító (CDC-eszköz)
  • Billentyűzet vagy egér (HID eszköz)
  • USB merevlemez (MSC eszköz)
  • MIDI vezérlő

Az ATMega32u4 ezen kívül 5 hardveres megszakítást tesz lehetővé (az Atmega328-nak 2 van).

Az Arduino Micro esetén a standard "Serial" kommunikációt az USB (CDC) használja, így a pin 0 (Rx) és pin 1 (Tx) kommunikációt a "Serial1"-nek kell definiálni.

A PWM pineken 8-bites PWM valósítható meg.

Az SPI kommunikáció csak az ICSP csatlakozón és/vagy az erre kijelölt pineken valósítható meg.

A RESET bemenet LOW aktiv.

A pin 13 a LED kimenet.

A pin 8 az RX_LED/SS port: alapbeállításban jelzi az USB aktivitását, SPI estén az SS aktivitását, vagy normál io-ként is alkalmazható.

Arduino MICRO pinout

Az Arduino Micro adatlapja

Arduino MicroKeyes Pro Micro
MikrokontrollerATmega32u4ATmega32u4
ArhitektúraAVRAVR
Üzemi feszültség5V3.3V
Bemeneti feszültség (javasolt)7-12V7-9V
Bemeneti feszültség (határértékei)6-20V-
Digitális csatornák száma20 (ebből 7 PWM (moduláció)PWM]]-re alkalmazható12 (ebből 5 PWM-re alkalmazható
Analóg csatornák száma124
DC áram lábanként40 mA40 mA (az egész chip max. 200 mA)
DC áram 3.3V pin esetén50 mA40 mA
Flash memória32 KB (ATmega32u4) de ebből 4 KB-ot a bootloader használ32 KB (ATmega32u4) de ebből 4 KB-ot a bootloader használ
SRAM2.5 KB (ATmega32u4)2.5 KB (ATmega32u4)
EEPROM1 KB (ATmega32u4)1 KB (ATmega32u4)
Órajel16 MHz16 MHz
Interrupt-olható pinek0, 1, 2, 3, 7
PWM pinek (7) 3, 5, 6, 9, 10, 11, 13

A Keyes Pro Micro lábkiosztása

Arduino Nano

Arduino Nano

A Nano az Arduino család legkisebb tagja. Nagyon kicsi mérete és az UNO-val nagyjából megegyező, viszonylag csekély "tudása" olyan helyeken teszi ideális megoldássá, ahol csak néhány logikai műveletet kell végrehajtani, de a megvalósításra nincs igazán hely (kicsi dobozok, kapcsolószekrények, rejtett elektronikai megoldások).

A board-on nincs DC power jack, az USB csatlakozó is Mini-B típusú

A board az USB kommunikációt FTDI FT232RL chippel valósítja meg

A Nano-nak csak egy Serial (UART) csatornája van; 0 (RX) és 1 (TX)

A board-on az I²C kommunikáció a következő pineken projektálható: 4 (SDA) és 5 (SCL)

A board-on az SPI kommunikáció a következő pineken projektálható: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK)

Tovább:

Az Arduino Nano lábkiosztása
A teljes mérethez kattintson a képre.

Az Arduino Nano adatlapja

Mikrokontroller3.x: ATmega328, 2.x: ATmega168
ArhitektúraAVR
Üzemi feszültség5V
Bemeneti feszültség (javasolt)7-12V
Digitális csatornák száma14 (ebből 6 PWM-re alkalmazható, az összes szabadon definiálható be- és kimenetként)
Analóg csatornák száma8 (analóg bemenetként vagy digitális csatornaként is alkalmazhatók)
DC áram lábanként19 mA
Flash memória16 KB (ATmega168), 32 KB (ATmega328P) de ebből 2 KB-ot a bootloader használ
SRAM1 KB (ATmega168), 2 KB (ATmega328P)
EEPROM512 byte (ATmega168), 1 KB (ATmega328P)
Órajel16 MHz
Interrupt-olható pinek2, 3
PWM pinek3, 5, 6, 9, 11
Hossza45 mm
Szélessége18 mm
Súlya7 g

Az Arduino Nano felépítése

Az Arduino Nano felépítése

Arduino MINI Pro

Az Arduino Mini gyakorlatilag az UNO kicsinyített változata, ami azért jónéhány különbséget is rejt:

  • Az analóg inputok száma kettővel több (8 összesen) - az I²C könyvtár is ezeket a pineket használja
  • Nincs közvetlen USB csatlakozója, a letöltéshez trükközni kell
  • A 9V-os betápon tényleg maximum csak 9V adható (ez a 9V-os telepekhez lett kitalálva)
  • Jóval olcsóbb és kisebb

Arduino Mini pinout

Tovább:

Az Arduino Mini adatlapja

MikrokontrollerATmega328P
Üzemi feszültség3,3V vagy 5V
Bemeneti feszültség (javasolt)7-12V
Minimális és maximális bemeneti feszültség6-20V
Digitális csatornák száma14 (ebből 6 PWM-re alkalmazható (D3, D5, D6, D9, D10, D11), az összes szabadon definiálható be- és kimenetként)
Analóg csatornák száma8 (analóg bemenetként vagy digitális csatornaként is alkalmazhatók)
DC áram lábanként40 mA
DC áram a 3.3V-os lábakon50 mA
Flash memória32 KB (ATmega328P) de ebből 2 KB-ot a bootloader használ
SRAM2 KB (ATmega328P)
EEPROM1 KB (ATmega328P)
Órajel3,3V: 8MHz, 5V: 16 MHz
Led-del kiegészített csatorna13
Interrupt-olható pinek2, 3
PWM pinek3, 5, 6, 9, 11
Hossza33.3 mm
Szélessége18.0 mm
Súlya5 g

Az Arduino Mini változatai

Mini 03 tűkiosztásMini 04/05 tűkiosztás
Mini 03 tűkiosztásMini 04/05 tűkiosztás

Az Arduino Mini USB csatlakoztatása

Mivel a kártyának nincs USB csatlakozója, ezen a fronton trükökkel lehet élni:

  • Mini USB-Adapter (pl. FTDI vagy CH340G) használata vagy építése, lásd: FTDI (vagy CH340G) konverter
  • Egy (kiszuperált) UNO board "átjátszóként" való hasznosítása
  • Univerzális USB-Adapter használata

Egy (kiszuperált) UNO board "átjátszóként" való hasznosítása