Arduino szoftver | |
---|---|
Arduino IDE egy egyszerű program példájával. | |
Típusú | Integrált fejlesztői környezet |
Fejlesztő | Arduino szoftver |
Beírva | C++ |
Operációs rendszer | Cross-platform |
Hardver platform | AVR |
legújabb verzió | 1.8.19 [1] ( 2021. december 20. ) |
Engedély | LGPL vagy GPL |
Weboldal | arduino.cc |
Médiafájlok a Wikimedia Commons oldalon |
Az Arduino olyan hardver- és szoftvereszközök márkája, amelyek egyszerű rendszerek, modellek, valamint elektronikai , automatizálási , folyamatautomatizálási és robotikai kísérletek készítésére és prototípus -készítésére szolgálnak .
A szoftver rész egy ingyenes szoftverhéjból ( IDE ) áll a programok írására, fordítására és hardverprogramozására. A hardver rész összeszerelt nyomtatott áramköri lapokból áll , amelyeket a hivatalos gyártó és a külső gyártók is értékesítenek. A rendszer teljesen nyitott architektúrája lehetővé teszi, hogy szabadon másolhass [2] vagy bővítsd az Arduino termékcsaládot.
Mind önálló objektumok létrehozására, mind szoftverekhez vezetékes és vezeték nélküli interfészeken keresztül történő csatlakoztatására szolgál. Alkalmas kezdő felhasználók számára, akik minimális belépési küszöböt értek el az elektronikai fejlesztés és programozás területén.
A programozás teljes egészében saját ingyenes szoftverhéján, az Arduino IDE-n keresztül történik (a GPLv2 feltételei szerint terjesztve) [3] [4] . Ez a shell tartalmaz egy szövegszerkesztőt , egy projektmenedzsert, egy előfeldolgozót , egy fordítót , valamint a program mikrokontrollerbe való betöltéséhez szükséges eszközöket. A shell Java nyelven íródott a Processing projekt alapján, és Windows , Mac OS X és Linux alatt fut . Az Arduino könyvtárkészletet használják (LGPL licenc alatt) [4] [5] .
Az Arduino programozási nyelvet Arduino C-nek hívják, és egy C++ nyelv a Wiring keretrendszerrel [6] , van némi eltérése az avr-gcc segítségével lefordított és felépített kód írását illetően , olyan funkciókkal, amelyek megkönnyítik működőképes írást. program - van egy sor könyvtár, beleértve a funkciókat és az objektumokat. A program összeállításakor az IDE ideiglenes * .cpp fájlt hoz létre .
Így néz ki az Arduino vezérlő 13. tűjére (tűjére) csatlakoztatott LED villogtatásának legegyszerűbb programjának (vázlatának) teljes szövege 2 másodperces periódussal (fél periódus, azaz 1 másodperc a LED be, fél periódus ki van kapcsolva) [7] . Elérhető a fejlesztői környezetben a Sketch>Példák>Szabvány>Villogtatás menüpontban.
void beállítás () { pinMode ( 13 , OUTPUT ); // A 13-as port hozzárendelése kimeneti portként } void ciklus () { digitalWrite ( 13 , HIGH ); // A 13-as portot állítsuk „1” állapotba, a LED késleltetéssel bekapcsol ( 1000 ); // Késleltetés 1000 ezredmásodperccel digitalWrite ( 13 , LOW ); // Állítsa a 13-as portot "0" állapotba, a LED kikapcsolja a késleltetést ( 1000 ); // 1000 ezredmásodperc késleltetés }A példában használt összes függvény könyvtári függvény. Az Arduino IDE számos beépített mintaprogramot tartalmaz. Létezik az Arduino dokumentációjának orosz nyelvű fordítása [8] [9] .
A program egy előre programozott speciális rendszerbetöltőn keresztül töltődik be az Arduino mikrokontrollerbe (az összes Arduino mikrokontroller ezzel a bootloaderrel kerül értékesítésre). A rendszerbetöltő az Atmel AVR Application Note AN109-en alapul. A betöltő RS-232 , USB vagy Ethernet interfészen keresztül működhet , az adott processzorkártya perifériájának összetételétől függően. Egyes változatok, mint például az Arduino Mini vagy a nem hivatalos Boarduino, külön adaptert igényelnek a programozáshoz.
A felhasználó önállóan programozhatja a rendszerbetöltőt egy tiszta mikrokontrollerré. Ehhez a programozói támogatás az AVRDude projekten alapuló IDE-be integrálva van . A népszerű olcsó programozók többféle típusa támogatott.
Az Arduino platform népszerűsége, nyitottsága és egyszerűsége a harmadik féltől származó szoftvermegoldások nagy hullámát idézte elő. Alapvetően ezek a megoldások az Arduino fordító és a rendszerbetöltő (betöltő) integrálására a programozók (IDE) meglévő shelljeibe. Ezen eszközök nagy listája itt érhető el . Köztük mindketten olyan professzionális eszközök, mint a Proccesing , az Eclipse [10] , a Microsoft Visual Studio [11] , az Atmel Studio , valamint a gyerekeknek szánt eszközök, mint a Scratch for Arduino .
Grafikus programozási nyelvekMinibloq
Scratch az Arduino számára
Snap4Arduino
Fritzing
Fritzing
Fritzing
Az Arduino márkanév alatt számos mikrokontrollerrel ellátott tábla ( angol táblák ) és bővítőkártyák (az úgynevezett pajzsok [13] - átírás az angol shieldekből ) készülnek. A legtöbb mikrokontrollerrel ellátott kártya fel van szerelve a mikrokontroller normál működéséhez szükséges minimális kötéskészlettel (teljesítménystabilizátor, kvarc rezonátor, reset láncok stb.).
Az Arduino koncepció nem tartalmaz tokot vagy rögzítőszerkezetet. A fejlesztő saját maga vagy külső cégek segítségével választja ki a táblák beszerelésének és mechanikai védelmének módját. A harmadik felek gyártói robotizált elektromechanikai készleteket is gyártanak, amelyek az Arduino kártyákkal való együttműködésre összpontosítanak [14]. . A független gyártók különféle érzékelők és aktuátorok széles választékát is gyártják, amelyek többé-kevésbé kompatibilisek az Arduinóval.
A klasszikus Arduino és Arduino-kompatibilis táblákat tűfejléceken keresztül történő egymásra rakásra tervezték. Így az alap mikroprocesszoros kártya kiegészül a szükséges perifériákkal és külső csatlakozásokkal.
Vannak Uno [15] , Pro , Leonardo [16] , Mega 2560 [17] , Due [18] táblák és olyan táblák, mint a Zero [19] , kibővített tűfejlécekkel. A szabványos hosszúságú bővítőkártyák bővített processzorkártyákba is beépíthetők.
Külön kisebb kártyák - Nano [20] , Nano Every [21] és Micro [22] - kaphatók a mikroáramkörök DIP csomagjainak méretében. Úgy tervezték, hogy kenyérsütőtáblákra szereljék fel őket. Nincs hozzájuk bővítőkártya.
Később az Arduino MKR sorozat [23] is megjelent hasonló kivitelben. Van egy kis periférikus bővítőkártyájuk.
MellékprojektekA szabványos Arduino-konstrukciókon kívül a külső fejlesztők számos miniatűr klónt hoztak létre, amelyek csak az építészeti és szoftverkompatibilitást őrizték meg. E klónok közül kiemelkedik a Microduino termékcsalád [24] [25] . A sorozat egy kompatibilis processzormodulok, kommunikációs modulok, érzékelők és aktuátorok teljes készletét tartalmazza, gyakorlatilag nem rosszabb, mint a klasszikus Arduino modulok kínálata. Az Arduino-hoz hasonlóan a táblákat halomba állítják össze. A vonal két eredeti kivitelben készült:
A legkisebb klón Femtoduino védjegy alatt jelent meg [26] . Mérete mindössze 15*20 mm, beleértve a mikro USB csatlakozót , a feszültségszabályozót és a komplett Arduino Uno I/O készletet. Ugyanez a cég IMUduino védjegy alatt adta ki a legtöbbet „töltött” miniatűr klónt. Ez egy Arduino Leonardo klón USB Host támogatással (billentyűzet és egér), Bluetooth 4 Low Energy, hattengelyes giroszkóp / gyorsulásmérő , háromtengelyes magnetométer ( iránytű ), barométer . A készülék mérete 16*40 mm. A projekt jelenleg nem kínál pinout kompatibilis bővítőkártyákat.
Heves vita tárgya az Arduino termékek kritikus ipari automatizálásban való felhasználásának lehetősége. Azonban semmi sem akadályozza meg abban, hogy Arduino-alapú termékeket kis automatizálási vagy adatgyűjtési objektumokkal szereljen fel. Az ilyen feladatok megkönnyítése érdekében számos külső cég gyárt szerkezetileg komplett modulokat, amelyek hagyományos automatizálási sorkapcsokkal , DIN-sínes házakkal , elektromosan védett vagy galvanikusan leválasztott I/O-berendezésekkel vannak felszerelve.
Az Arduino maga nem gyárt ilyen termékeket, de az Industrial Shields termékeit árulja üzletében . Az Archiduino cég termékei is ismertek . Mindkét cég megoldása AVR processzorokra épül. A cégek egy sor DIN-sínes tokozást kínálnak, amelybe a tervező egy sor perifériamodult beépíthet. Az Industruino AVR-rel és SAMD21 -gyel is kínál termékeket. A CONTROLLINO védjegy alatt Arduino MEGA 2560 klónok sorát állítják elő ipari kivitelben, vezetékes Ethernettel. A NORVI ipari kivitelt kínál AVR és ESP32 processzorokhoz egyaránt.
Az Arduino nyílt forráskódú mozgalomhoz a hobbifelszerelés-gyártók mellett ipari automatizálásra szakosodott nagyvállalatok is csatlakoznak. Például az AutomationDirect kiadott egy sor ipari vezérlőt és I/O modult, amelyek kompatibilisek az Arduino MKR vonallal, mind programozottan, mind a bővítőkártyák szintjén. [27] A cég emellett kiadott egy kiegészítést az Arduino IDE-hez grafikus programozási nyelvvel és egy sor automatizálási könyvtárral. [12]
Az Arduino mikrokontrollereit egy előre befújt rendszerbetöltő jelenléte különbözteti meg ( angol bootloader ) . Ezzel a rendszerbetöltővel a felhasználó hagyományos különálló hardverprogramozók használata nélkül tölti fel programját a mikrokontrollerre , bár egyes Arduino modellek nem teszik ezt meg. A rendszerbetöltő USB interfészen keresztül (ha elérhető a kártyán) vagy külön UART -USB adapter segítségével csatlakozik a számítógéphez. A Bootloader támogatása be van építve az Arduino IDE-be, és egyetlen kattintással elvégezhető.
A bootloader felülírása, vagy bootloader nélküli mikrokontroller vásárlása esetén a fejlesztők lehetőséget biztosítanak arra, hogy a bootloadert önállóan flasheljék be a mikrokontrollerbe. Ehhez az Arduino IDE beépített támogatással rendelkezik számos népszerű olcsó programozó számára, és a legtöbb Arduino kártya rendelkezik egy tűs fejléccel az áramkörön belüli programozáshoz ( ICSP az AVR -hez , JTAG vagy SWD [en] az ARM -hez ).
Az Arduino IDE beépített képességgel rendelkezik saját hardver- és szoftverplatformok létrehozására. Ezt a lehetőséget olyan külső cégek használják ki, amelyek az Arduino IDE-hez adják hozzá kártyakészleteiket és fordító-betöltőjüket.
AVRAz Arduino eszközök klasszikus vonalában főleg Atmel AVR mikrokontrollereket használnak . A következő MK-k találhatók ezeken a közös táblákon:
Egyes kártyák eltérő portokkal és órajelekkel rendelkezhetnek.
ARMFokozatosan az ARM processzorok kezdtek megjelenni a táblák sorában. Kezdetben AT91SAM3X8E volt egy klasszikus dizájnkártyán (Due). Később megjelent egy sor Arduino MKR kártya DIP dizájnban , SAMD21 vezérlővel felszerelve ( Cortex-M0 , 48 MHz, 256 Kb Flash, 32 Kb RAM).
2020 óta az ARM Cortex-M7 (STM32H747 @ 480 MHz) Portenta modulok ugyanabban az MKR konstrukcióban jelennek meg. [28]
Az Arduino kártyákon lévő ARM processzorok tápfeszültsége 3,3 volt. Az ilyen lapokhoz tartozó érzékelőket azonos feszültségre kell méretezni.
ESP8266A külső fejlesztők a népszerű ESP8266 Wi-Fi mikrokontroller és annak ESP12 klónjának támogatását az Arduino-ra portolták át. Most már közvetlenül az Arduino IDE -ből fordíthatja le és töltheti fel az ESP8266 firmware-jét a vázlatokkal és Wi-Fi támogatással , így egy egylapos áramkört kaphat Wi-Fi támogatással.
Az ESP8266 hevederes táblákat Wemos márkanév alatt árulják, 2 alaktényezővel (az egyik Uno, a második kisebb) és két generációval rendelkeznek (R1 és R2).
A telepítési folyamat és az elérhető API részletes orosz nyelvű leírása itt található , működésére pedig itt található példa .
Intel x86A harmadik felekkel való együttműködés részeként bizonyos Intel x86 hardverek támogatása bekerült az Arduino IDE-be. Intel Galileo(Intel Quark X1000 400 MHz processzor), Intel Edisonés Arduino 101 [29] – Intel x86 architektúrán alapuló Arduino-kompatibilis kártyák. A lapok mechanikusan és elektromosan kompatibilisek az Arduino perifériákkal. Az alaplapokon saját Linux operációs rendszer fut, amelyen egy alkalmazás fut, amely lehetővé teszi Arduino vázlatok letöltését és végrehajtását. [harminc]
Néhány mikrovezérlő kártya modell Lásd még az Arduino-kompatibilis táblák listáját.Néhány mikrovezérlő kártya modell: [31]
Az Arduino projekt népszerű mikrovezérlő kártyáinak listájaArduino | MK | Tápfeszültség | Flash memória , KB |
EEPROM , KB |
SRAM , KB |
Bináris bemenetek/kimenetek |
…c PWM |
Analóg bemenetek |
USB interfész | Egyéb interfészek |
Méretek, mm |
---|---|---|---|---|---|---|---|---|---|---|---|
Esedékes | Atmel SAM3X8E ARM Cortex-M3 | 3,3V | 512 | Nem | 256 | 54 | 12 | 12+2 DAC | ATmega16U2 | CAN , JTAG , I2C | 101,6 × 53,3 |
ADK | ATmega2560 | 5 V | 256 | négy | nyolc | 54 | tizennégy | 16 | ATmega8U2 | MAX3421E USB gazdagép |
101,6 × 53,3 |
BT (Bluetooth) | ATmega328 | 5 V | 32 | egy | 2 | tizennégy | négy | 6 | Nem | Bluegiga WT11 Bluetooth | |
Diecimila | ATmega168 | 5 V | 16 | 0.5 | egy | tizennégy | 6 | 6 | FTDI | 68,6 × 53,3 | |
duemilanove | ATmega168/328P | 5 V | 16/32 | 0,5/1 | 1/2 | tizennégy | 6 | 6 | FTDI | 68,6 × 53,3 | |
Ethernet | ATmega328 | 5 V | 32 | egy | 2 | tizennégy | négy | 6 | Nem | Wiznet Ethernet MicroSD |
|
Fio | ATmega328P | 3,3V | 32 | egy | 2 | tizennégy | 6 | nyolc | Nem | 40,6×27,9 | |
Leonardo | Atmega32u4 | 5 V | 32 | egy | 2 | tizennégy | 6 | 12 | Atmega32u4 | 68,6 × 53,3 | |
Tündérrózsa | ATmega168V vagy ATmega328V | 2,7-5,5 V | 16 | 0.5 | egy | tizennégy | 6 | 6 | Nem | 50 ⌀ | |
Mega | ATmega1280 | 5 V | 128 | négy | nyolc | 54 | tizennégy | 16 | FTDI | 101,6 × 53,3 | |
Mega2560 | ATmega2560 | 5 V | 256 | négy | nyolc | 54 | tizennégy | 16 | ATmega8U2 ATmega16U2 | 101,6 × 53,3 | |
Nano | ATmega168 vagy ATmega328 | 5 V | 16/32 | 0,5/1 | 1/2 | tizennégy | 6 | nyolc | FTDI | 43×18 | |
Uno | ATmega328P | 5 V | 32 | egy | 2 | tizennégy | 6 | 6 | ATmega8U2 ATmega16U2 | 68,6 × 53,3 |
A mikrokontrollerek bemeneti-kimeneti portjai tűrúd alakúak. Általános szabály, hogy nincs pufferelés , védelem, szintkonverzió. A mikrokontrollerek tápellátása 5V vagy 3,3V a kártyamodelltől függően. Ennek megfelelően a portok azonos megengedett bemeneti és kimeneti feszültséggel rendelkeznek. A programozó hozzáfér a mikrokontroller I/O portjainak néhány speciális funkciójához, mint például az impulzusszélesség-moduláció ( PWM ), analóg-digitális átalakító ( ADC ), UART , SPI , I2C interfészek . Az I / O portok számát és képességeit a mikroprocesszoros kártya adott verziója határozza meg.
A portokon kívül néha perifériákat is telepítenek a mikrokontroller kártyákra USB vagy Ethernet interfészek formájában. A bővítőmodulok opcionális külső perifériája a következőket tartalmazza : [32] :
A harmadik féltől származó gyártók az Arduinohoz csatlakoztatható érzékelők és működtetők széles választékát gyártják. Például giroszkópok , iránytűk , nyomásmérők , nedvességmérők , hőmérők , relémodulok , kijelzők , billentyűzetek stb.
FPGAVannak Arduino-kompatibilis processzorlapok, amelyek perifériájaként programozható logikai chipet (FPGA) tartalmaznak. Például az Arduino cég maga gyártja az Arduino MKR Vidor 4000 kártyát, amelyre a processzoron kívül az Intel Cyclone FPGA is telepítve van. Az Arduino környezetben lévő programozó előre beállított funkciókat tölthet be az FPGA-ba, például képekkel, hanggal, további UART , SPI , PWM portokkal stb. Az FPGA ingyenes programozása Arduino környezetből azonban nem biztosított, ehhez az FPGA gyártó – Intel Quartus – fejlesztői környezetét kell használnia.
Létezik még a Papilio projekt [36] , amely egy Arduino-kompatibilis kártyasort fejleszt Xilinx programozható logikával, mint perifériával. Az FPGA perifériaként való használatára kész megoldások mellett a projekt az Arduino programozási környezet és a Xilinx ISE sematikus szerkesztő FPGA programozási környezet integrációját kínálja. A felhasználó az FPGA-t az elektromos áramkörök rajzolásához hasonló módon szerkesztheti.
A cég és a platform neve a projekt alapítói által gyakran látogatott, azonos nevű Ivrea pincészet nevéből származik, amely viszont az olasz királyról, az ivreai Arduinról [37] kapta a nevét .
A projekt története az Interaction Design Institute Ivrea márkanév alatti ember-gép interfész tanfolyamokkal kezdődik.amely a 2000-es évek elején létezett az olaszországi Ivrea városában . A képzéshez BASIC Stamp márkanév alatti modulokat használtak, ami körülbelül 50 USD-ba került. 2003-ban Hernando Barragán tanulmányai részeként elkészíti az új Wiring hardver- és szoftverplatform kezdeti verzióját.. A projekt célja egy olcsó és egyszerű környezet megteremtése volt a programozás kezdeti elsajátításához. Ugyanebben az évben Massimo Banzi (a Hernando Barragana vezetője), David Mellis és David Cuartillier elágazta a Wiringet , és Arduino-nak nevezte el.
Az eredeti Arduino csapatot Massimo Banzi, David Cuartillier, Tom Igo, Gianluca Martino és David Mellis alkotta. 2008 elején az Arduino projekt öt társalapítója létrehozta az Arduino LLC-t, amely a cég egyesült államokbeli szerzői jogainak és védjegyeinek a tulajdonosa. [38] Más cégek is részt vettek a gyártásban, és fizettek az Arduino LLC-nek a szerzői jogok használatáért. Ugyanebben az évben Gianluca Martino – partnerei elől titokban – bejegyzi a Smart Projects (később Arduino SRL névre keresztelt) cégéhez, amely egyes országokban az Arduino védjegyeinek részét képezi. 2015-ben az Arduino LLC pert indított az Arduino SRL ellen. 2016-ban a konfliktust úgy oldják meg, hogy a két céget összevonják és megalapítják az Arduino AG-t.
Az Arduino fejlesztőcsapatának magja: Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino, David Mellis, Nicholas Zambetti és Valerij Shumjatszkij (Valeriy Shymatskiy).
2008 óta szétválás kezdődött a cégben. Gianluca Martino bejegyzett egy másik céget, amely egyes országokban sikerült megszereznie az Arduino védjegyének szerzői jogát. Az új vállalat alternatív értékesítési fiókot hozott létre az eredeti Arduino termékek számára az arduino.org oldalon . Az eredeti cég az arduino.cc [39] [40] [41] webhelyen keresztül irányítja az értékesítést . Az új termékek készlete az oldalakon változatos volt. Az Arduino IDE két ága is különböző táblákat és könyvtárakat támogat. Az azonos nevek és az egymást átfedő IDE-verziószámok zavaróak voltak. 2016. október 1-jén a New York -i World Maker Faire-n az Arduino LLC és az Arduino SRL vezetői bejelentették a cégek egyesülését [42] .
Az Arduino dokumentációja, firmware-je és rajzai a Creative Commons Attribution ShareAlike 3.0 licenc alatt állnak, és elérhetők az Arduino hivatalos webhelyén. Egyes Arduino-verziókhoz nyomtatott áramköri rajz is elérhető. [31] Az IDE forráskódja megjelent, és a GPLv2 licenc alatt érhető el . [43] A könyvtárak az LGPL licencet használják.
Bár a hardver dokumentációja és kódja " copyleft " licenc alatt került közzétételre, a fejlesztők kifejezték azon óhajukat, hogy az "Arduino" név (és származékai) a hivatalos termék védjegyévé váljanak , és engedély nélkül ne használják származékos munkákhoz. Az Arduino név használatáról szóló fehér könyv hangsúlyozza, hogy a projektben mindenki részt vehet, aki hivatalos terméken szeretne dolgozni. [44]
Az Arduino hivatalos oroszországi képviselője a Linuxcenter cég.
Az Arduino projektet a 2006-os Prix Ars Electronica Digitális közösségek kategóriában kitüntető elismerésben részesítették. [45] [46]
![]() | ||||
---|---|---|---|---|
Fotó, videó és hang | ||||
Tematikus oldalak | ||||
Szótárak és enciklopédiák | ||||
|
Egylapos számítógépek | |
---|---|
Környezeti intelligencia | |
---|---|
Fogalmak |
|
Technológia |
|
Platformok | |
Alkalmazás |
|
Első felfedezők |
|
Lásd még |
|