====== 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 ===== Az Arduino board-ok közös jellemzői ===== 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 [[de:arduino:start#serial_monitor|Serial Monitor]]t 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. pin**re 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 [[hu:arduino:start#ttl_logikai_szintek|TTL-jelszintek]] eltérésére is. ===== Arduino Uno ===== {{anchor:uno}} {{ :wiki:arduino:arduino_uno.jpg?160|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 [[hu:comm:start#pwm|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 [[de:arduino:start#serial_monitor|Serial Monitor]]t 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. pin**re egy LED van kötve. Ha a pin HIGH szintre kerül, a LED világítani fog. Az [[hu:arduino:start#arduino_i_c|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 {{:wiki:arduino:arduinounopinout.jpg?500|Az Arduino Uno lábkiosztása}} \\ Az Arduino UNO lábkiosztása / a képre rákattintva nagyítható ez. Tovább: \\ * [[hu:arduino:start#nehany_arduino_board_oesszevetese|Néhány Arduino board összevetése]] * [[hu:arduino:start|Az Arduino rendszer általános leírása]] === Az Arduino Uno adatlapja === ^ ^ | |Mikrokontroller|[[hu:modul:atmel_avr#atmega328p|ATmega328P]]| |Üzemi feszültség|5V| |Bemeneti feszültség (javasolt)|7-12V| |Minimális és maximális bemeneti feszültség|6-20V (a 9V-os betápon tényleg maximum csak 9V!)| |Digitális csatornák száma|14 (ebből 6 [[hu:arduino:start#arduino_pwm|PWM]]-re alkalmazható, az összes szabadon definiálható be- és kimenetként)| |Analóg csatornák száma|6 (analóg bemenetként vagy digitális csatornaként is alkalmazhatók)| |DC áram lábanként|20 mA| |DC áram a 3.3V-os lábakon|50 mA| |[[hu:arduino:start#flash_memoria|Flash memória]]|32 KB (ATmega328P) de ebből 0.5 KB-ot a bootloader használ| |[[hu:arduino:start#sram|SRAM]]|2 KB (ATmega328P)| |[[hu:arduino:start#eeprom|EEPROM]]|1 KB (ATmega328P)| |[[hu:arduino:start#arduino_isr|Interrupt-olható]] pinek|2, 3| |[[hu:arduino:start#arduino_pwm|PWM]] pinek, ezek frekvenciája*|3, 5, 6, 9, 10, 11, pin 5-6: 980 Hz, a többi: 490 Hz| |Órajel|16 MHz| |Led-del kiegészített csatorna|13| |Hossza|68.6 mm| |Szélessége|53.4 mm| |Súlya|25 g| *: az ATmega168-as vagy ATmega328-as board-oknál: * timer0: pin 5 és 6, 8-bites [[hu:arduino:start#arduino_pwm|PWM]] * timer1: pin 9 és 10, 16-bites [[hu:arduino:start#arduino_pwm|PWM]] * timer2: pin 11 és 3, 8-bites [[hu:arduino:start#arduino_pwm|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 === {{:wiki:arduino:arduino_uno_interfaces.png?400|Az Arduino UNO csatlakozási lehetőségei}} === Arduino Uno ATMega 328 ISP === A processzor [[hu:arduino:start#arduino_isp|ISP]] portja. === Arduino Uno USB ISP === Az USB-vezérlő [[hu:arduino:start#arduino_isp|ISP]] portja. === Arduino Uno I²C === Az UNO-n az [[hu:comm:bus_i2c#i2c|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ó: [[hu:arduino:start#arduino_i2c|Arduino I²C]]. \\ Az Aduino-s I²C megoldások összefoglalása itt található: [[hu:arduino:comm_example#arduino_i2c_com|Arduino I²C kommunikáció]]. === Arduino Uno SPI === Az UNO-n az [[hu:comm:bus_spi#spi|SPI]] alapértelmezett portjai a következők: ^port^funkció| |13|SPI SCK| |12|SPI MISO| |11|SPI MOSI| |10|SPI SS| Az Arduino SPI összefoglalása itt található: [[hu:arduino:start#arduino_spi|Arduino SPI]]. \\ Az Aduino-s SPI megoldások összefoglalása itt található: [[hu:arduino:comm_example#arduino_spi_com|Arduino SPI kommunikáció]]. === Arduino Uno Interrupt === Az Arduino Uno Interrupt-ra kijelölt portjai: 2, 3. → [[hu:arduino:start#arduino_interrupt|Arduino interrupt]] ===== Arduino Mega / 2560 ===== {{anchor:mega}} {{ :wiki:arduino:arduino_mega_rev3.jpg?300|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). {{:wiki:arduino:mega_pinout_diagram.png?500|Az Arduino Mega lábkiosztása}} \\ Az Arduino Mega lábkiosztása / a képre rákattintva nagyítható ez. Tovább: \\ * [[hu:arduino:start#nehany_arduino_board_oesszevetese|Néhány Arduino board összevetése]] * [[hu:arduino:start|Az Arduino rendszer általános leírása]] === Az Arduino Mega adatlapja === ^ ^ | |Mikrokontroller|ATmega2560| |Üzemi feszültség|5V| |Bemeneti feszültség (javasolt)|7-12V| |Minimális és maximális bemeneti feszültség|6-20V| |Digitális csatornák száma|54 (ebből 15 [[hu:arduino:start#arduino_pwm|PWM]]-re alkalmazható, az összes szabadon definiálható be- és kimenetként)| |Analóg csatornák száma|16 (analóg bemenetként vagy digitális csatornaként is alkalmazhatók)| |DC áram lábanként|20 mA| |DC áram a 3.3V-os lábakon|50 mA| |[[hu:arduino:start#flash_memoria|Flash memória]]|256 KB (ATmega328P) de ebből 8 KB-ot a bootloader használ| |[[hu:arduino:start#sram|SRAM]]|8 KB (ATmega328P)| |[[hu:arduino:start#eeprom|EEPROM]]|4 KB (ATmega328P)| |Órajel|16 MHz| |Led-del kiegészített csatorna|13| |[[hu:arduino:start#arduino_isr|Interrupt-olható]] pinek|2 (irq0), 3 (irq1), 18 (irq5), 19 (irq4), 20 (irq3), 21 (irq2)| |[[hu:arduino:start#arduino_pwm|PWM]] pinek|2..13. és 44..46. pin (8 bit PWM)| |SPI pinek|50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS)| |I²C pinek|20 (SDA) és 21 (SCL)| |Hossza|101.52 mm| |Szélessége|53.3 mm| |Súlya|37 g| {{ :hu:arduino:arduino_micro.png?150|Arduino Micro}} ===== 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 [[hu:arduino:start#arduino_pwm|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ó. {{:wiki:arduino:arduino_micro_pinout.jpg?500|Arduino MICRO pinout}} === Az Arduino Micro adatlapja === ^ ^Arduino Micro^Keyes Pro Micro| |Mikrokontroller|ATmega32u4|ATmega32u4| |Arhitektúra|AVR|AVR| |Üzemi feszültség|5V|3.3V| |Bemeneti feszültség (javasolt)|7-12V|7-9V| |Bemeneti feszültség (határértékei)|6-20V|-| |Digitális csatornák száma|20 (ebből 7 [[hu:comm:start#[[hu:arduino:start#arduino_pwm|PWM]] (moduláció)|PWM]]-re alkalmazható|12 (ebből 5 [[hu:comm:start#PWM (moduláció)|PWM]]-re alkalmazható| |Analóg csatornák száma|12|4| |DC áram lábanként|40 mA|40 mA (az egész chip max. 200 mA)| |DC áram 3.3V pin esetén|50 mA|40 mA| |[[hu:arduino:start#flash_memoria|Flash memória]]|32 KB (ATmega32u4) de ebből 4 KB-ot a bootloader használ|32 KB (ATmega32u4) de ebből 4 KB-ot a bootloader használ| |[[hu:arduino:start#sram|SRAM]]|2.5 KB (ATmega32u4)|2.5 KB (ATmega32u4)| |[[hu:arduino:start#eeprom|EEPROM]]|1 KB (ATmega32u4)|1 KB (ATmega32u4)| |Órajel|16 MHz|16 MHz| |[[hu:arduino:start#arduino_isr|Interrupt-olható]] pinek|0, 1, 2, 3, 7| |[[hu:arduino:start#arduino_pwm|PWM]] pinek| (7) 3, 5, 6, 9, 10, 11, 13| === A Keyes Pro Micro lábkiosztása === {{:wiki:arduino:arduino_pro_micro_pins.png?400|A Keyes Pro Micro lábkiosztása}} Tovább: \\ * [[hu:arduino:start#nehany_arduino_board_oesszevetese|Néhány Arduino board összevetése]] * [[hu:arduino:start|Az Arduino rendszer általános leírása]] ===== Arduino Nano ===== {{ :wiki:arduino:arduino_nano.png|Arduino Nano}} ==== Arduino Nano ==== {{anchor: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 [[hu:arduino:start#arduino_soros_kommunikacio|Serial]] (UART) csatornája van; 0 (RX) és 1 (TX) A board-on az [[hu:arduino:start#arduino_i_c|I²C]] kommunikáció a következő pineken projektálható: 4 (SDA) és 5 (SCL) A board-on az [[hu:arduino:start#arduino_spi|SPI]] kommunikáció a következő pineken projektálható: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) Tovább: \\ * [[hu:arduino:start#nehany_arduino_board_oesszevetese|Néhány Arduino board összevetése]] * [[hu:arduino:start|Az Arduino rendszer általános leírása]] {{:wiki:arduino:arduino_nano_pinout_diagram.png?500|Az Arduino Nano lábkiosztása}} \\ A teljes mérethez kattintson a képre. === Az Arduino Nano adatlapja === ^ ^ | |Mikrokontroller|3.x: ATmega328, 2.x: ATmega168| |Arhitektúra|AVR| |Üzemi feszültség|5V| |Bemeneti feszültség (javasolt)|7-12V| |Digitális csatornák száma|14 (ebből 6 [[hu:arduino:start#arduino_pwm|PWM]]-re alkalmazható, az összes szabadon definiálható be- és kimenetként)| |Analóg csatornák száma|8 (analóg bemenetként vagy digitális csatornaként is alkalmazhatók)| |DC áram lábanként|19 mA| |[[hu:arduino:start#flash_memoria|Flash memória]]|16 KB (ATmega168), 32 KB (ATmega328P) de ebből 2 KB-ot a bootloader használ| |[[hu:arduino:start#sram|SRAM]]|1 KB (ATmega168), 2 KB (ATmega328P)| |[[hu:arduino:start#eeprom|EEPROM]]|512 byte (ATmega168), 1 KB (ATmega328P)| |Órajel|16 MHz| |[[hu:arduino:start#arduino_isr|Interrupt-olható]] pinek|2, 3| |[[hu:arduino:start#arduino_pwm|PWM]] pinek|3, 5, 6, 9, 11| |Hossza|45 mm| |Szélessége|18 mm| |Súlya|7 g| === Az Arduino Nano felépítése === {{:wiki:arduino:nano_pins.png|Az Arduino Nano felépítése}} ===== Arduino Mini (03..05, Pro) ===== {{anchor:mini}} {{:wiki:arduino:arduino_mini_pro.png?300|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 [[hu:comm:bus_i2c#i2c|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 {{:wiki:arduino:arduino_mini_pinout.png|Arduino Mini pinout}} Tovább: \\ * [[hu:arduino:start#nehany_arduino_board_oesszevetese|Néhány Arduino board összevetése]] * [[hu:arduino:start|Az Arduino rendszer általános leírása]] === Az Arduino Mini adatlapja === ^ ^ | |Mikrokontroller|[[hu:modul:atmel_avr#atmega328p|ATmega328P]]| |Üzemi feszültség|3,3V vagy 5V| |Bemeneti feszültség (javasolt)|7-12V| |Minimális és maximális bemeneti feszültség|6-20V| |Digitális csatornák száma|14 (ebből 6 [[hu:arduino:start#arduino_pwm|PWM]]-re alkalmazható (D3, D5, D6, D9, D10, D11), az összes szabadon definiálható be- és kimenetként)| |Analóg csatornák száma|8 (analóg bemenetként vagy digitális csatornaként is alkalmazhatók)| |DC áram lábanként|40 mA| |DC áram a 3.3V-os lábakon|50 mA| |[[hu:arduino:start#flash_memoria|Flash memória]]|32 KB (ATmega328P) de ebből 2 KB-ot a bootloader használ| |[[hu:arduino:start#sram|SRAM]]|2 KB (ATmega328P)| |[[hu:arduino:start#eeprom|EEPROM]]|1 KB (ATmega328P)| |Órajel|3,3V: 8MHz, 5V: 16 MHz| |Led-del kiegészített csatorna|13| |[[hu:arduino:start#arduino_isr|Interrupt-olható]] pinek|2, 3| |[[hu:arduino:start#arduino_pwm|PWM]] pinek|3, 5, 6, 9, 11| |Hossza|33.3 mm| |Szélessége|18.0 mm| |Súlya|5 g| === Az Arduino Mini változatai === |Mini 03 tűkiosztás|Mini 04/05 tűkiosztás| |{{:wiki:arduino:arduino_mini_v3.png?250|Mini 03 tűkiosztás}}|{{:wiki:arduino:arduino_mini_v4.png?250|Mini 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: [[hu:arduino:start#ftdi_vagy_ch340g_konverter|FTDI (vagy CH340G) konverter]] * Egy (kiszuperált) UNO board "átjátszóként" való hasznosítása * Univerzális USB-Adapter használata {{:wiki:arduino:arduino_mini_hacking.png?400|Egy (kiszuperált) UNO board "átjátszóként" való hasznosítása}}