Arduino
Տեսակ | տեխնոլոգիական ընկերություն, բիզնես ձեռնարկություն և open source microcontroller? |
---|---|
Հեղինակ | Մասսիմո Բանցի |
Գրված է՝ | Սի (ծրագրավորման լեզու), C++, ՋավաՍկրիպտ և Ասսեմբլեր լեզու |
Լույս տեսավ՝ | 2005 |
Պլատֆորմ | Atmel AVR? |
Կայք | arduino.cc |
Arduino Վիքիպահեստում |
Arduino՝ համակարգչային և ծրագրային ապահովման ապրանքային նշան, պարզ ավտոմատացման համակարգերի և ռոբոտների ստեղծման համար, որոնք նախատեսված են ոչ պրոֆեսիոնալ օգտվողների համար։
Ծրագրային մասը բաղկացած է անվճար ծրագրային խմբագրիչից (IDE-Integrated Development Environment, Ինտեգրված Ծրագրավորման միջավայր)՝ ծրագրեր գրելու և սարքավորումներ ծրագրավորելու համար։ Տեխնիկական մասը իրենից ներկայացնում է տպասալերի հավաքածու, որոնք արտադրվում են ինչպես պաշտոնական, այնպես էլ կողմնակի արտադրողների կողմից։
Arduino-ն կարող է օգտագործվել ինչպես ավտոմատ ինքնասպասարկվող օբյեկտներ ստեղծելու, այնպես էլ համակարգչի ծրագրային ապահովմանը ստանդարտ լարային և անլար ինտերֆեյսներով միանալու համար։
Պատմություն
[խմբագրել | խմբագրել կոդը]Հիմնադրում
[խմբագրել | խմբագրել կոդը]Arduino նախագիծը սկսվել է Ivrea-ի փոխազդեցության դիզայնի ինստիտուտում (IDII) Իվրեայում, Իտալիա[2]: Այն ժամանակ ուսանողներն օգտագործել են BASIC Stamp միկրոկառավարիչը՝ 50 դոլար արժողությամբ։ 2003 թվականին Էրնանդո Բարագանը ստեղծեց Wiring զարգացման հարթակը որպես մագիստրոսական թեզի նախագիծ IDII-ում՝ Մասսիմո Բանզիի և Քեյսի Ռեասի ղեկավարությամբ։ Քեյսի Ռիասը հայտնի է Բեն Ֆրայի հետ համատեղ ստեղծելով Processing-ի զարգացման հարթակը։ Ծրագրի նպատակն էր ստեղծել պարզ, էժան գործիքներ ոչ ինժեներների կողմից թվային նախագծեր ստեղծելու համար։ Wiring պլատֆորմը բաղկացած էր տպագիր տպատախտակից (PCB) ATmega128 միկրոկառավարիչով, IDE, որը հիմնված է Processing-ի և գրադարանային գործառույթների վրա՝ միկրոկառավարիչը հեշտությամբ ծրագրավորելու համար[1]։ 2005թ.-ին Մասիմո Բանզին IDII-ի մեկ այլ ուսանող Դեյվիդ Մելիսի և Դեյվիդ Կուարտիելեսի հետ ընդլայնեցին Wiring-ը՝ ավելացնելով աջակցություն ավելի էժան ATmega8 միկրոկառավարիչին։ Նոր նախագիծը, որը պատառաքաղված էր Wiring-ից, կոչվում էր Arduino[1]:
Arduino-ի սկզբնական հիմնական թիմը բաղկացած էր Մասիմո Բանզիից, Դեյվիդ Կուարտյելեսից, Թոմ Իգոյից, Ջանլուկա Մարտինոյից և Դեյվիդ Մելիսից[1]։
Պլատֆորմի ավարտից հետո ավելի թեթև և էժան տարբերակները տարածվեցին բաց կոդով համայնքում։ 2011 թվականի կեսերին հաշվարկվել է, որ ավելի քան 300,000 պաշտոնական Arduinos-ն արտադրվել է կոմերցիոն եղանակով[2], իսկ 2013 թվականին 700,000 պաշտոնական տախտակներ եղել են օգտատերերի ձեռքում[3]։
Կառուցվածք
[խմբագրել | խմբագրել կոդը]Arduino ֆիրմային անվանումով արտադրվել է միկրոկոնտրոլլեր ունեցող մի քանի տպասալեր ( անգլ. boards), և վահանակ-սարքավար (անգլ. shields): Միկրոկոնտրոլլերով աշխատող սալիկների մեծամասնությունը համալրված են մինիմալ անհրաժեշտ պարագաներով միկրոկոնտրոլլերի նորմալ աշխատանքի համար։
Arduino-ի կոնցեպտում կորպուսային սարքեր չկան։ Օգտագործողը ինքն է ընտրում տպասալի մեխանիկան պաշտպանության մեթոդը կամ դիմում է կողմնակի ընկերությունների։ Կողմնակի արտադրողները նույնպես թողարկում են ռոբոտաշինական սարքերի հավաքածուներ, որոնք աշխատում են Arduino-ի հետ միասին։ Անկախ արտադրողների թողարկած զգայունակներն (անգլ․ sensors) ու սարքերը նույնպես կարող են աշխատել Arduino-ի հետ միասին։
Դասական
[խմբագրել | խմբագրել կոդը]Դասական Arduino տպասալը և Arduino-ի հետ համատեղելի վահանակները նախագծված են այնպես, որպեսզի օգտագործողը կարողանա միացնել դրանք իրար pin-երի եւ jumper-ների միջոցով(հաղորդիչները, որոնցով միացվում են pin-երը իրար)։ Այսպիսով, հիմնական միկրոպրոցեսորային տպասալը համալրվում է անհրաժեշտ ծայրամասային սարքերով և արտաքին միացումներով։
Գոյություն ունի ստանդարտ չափերի տպասալերի հավաքածու («Uno», «Pro», «Leonardo») և ընդլայնված տեղայնացումով տպասալերի հավաքածու («Mega», «Due»):
Փոքրածավալ կառուցվածքներ
[խմբագրել | խմբագրել կոդը]Փոքր չափերի առանձին տպասալերը (օրինակ, «Nano», «Micro») արտադրվում են միկրոսխեմաների DIP փաթեթների չափով։ Նրանց համար նախատեսված վահանակներ չկան
Կողմնակի նախագծեր
[խմբագրել | խմբագրել կոդը]Բացի Arduino- ի ստանդարտ կառուցվածքներից, կողմնակի արտադրողներ ստեղծել են բազմաթիվ կլոններ, պահպանելով միայն ճարտարապետական և ծրագրային ապահովման համատեղելիությունը։ Այդ կլոնների շարքում առանձնանում է Microduino ապրանքային շարքը[4][5] : Շարքը պարունակում է կառուցվածքային համատեղելի պրոցեսորային մոդուլներ, կապի մոդուլներ, սենսորներ եւ դերակատորներ։
Ամենափոքր կլոնը թողարկվել է Femtoduino ապրանքանիշի ներքո[6] : Դրա չափերը կազմում են ընդամենը 15 * 20 մմ, ներառյալ միկրո USB միակցիչ, լարման կայունացուցիչ և ամբողջ Arduino Uno I / O հավաքածու։ Նույն ընկերությունը թողարկել է IMUduino ապրանքանիշի տակ առավելագույնս «հագեցած» կլոն։ Սա Arduino Leonardo- ի կլոնն է USB Host-ի օժանդակությամբ (ստեղնաշարի և մկնիկ), Bluetooth 4 Low Energy, վեց առանցքով գիրոսկոպ / աքսելոմետր, մագնիսաչափ ( կողմնացույց ), բարոմետր ։ Սարքի չափը 16 * 40 մմ է։
Արդյունաբերական կառուցվածքներ
[խմբագրել | խմբագրել կոդը]Պատասխանատու արդյունաբերական ավտոմատացման մեջ Arduino արտադրանքի օգտագործումը թեժ քննարկումների առարկա է։ Նման խնդիրների լուծմանը նպաստելու համար մի շարք կողմնակի ընկերություններ արտադրում են կառուցվածքային ամբողջական մոդուլներ։
Arduino ընկերությունը չի արտադրում նման ապրանքներ, բայց իր խանութում վաճառում է Indudtrial Shields ըկերության արտադրանքը ։ Ընկերության հայտնի արտադրանքը Archiduino- ն է ։ Երկու ընկերությունների լուծումներն էլ հիմնված են AVR պրոցեսորների վրա։
Միկրոկոնտրոլլեր
[խմբագրել | խմբագրել կոդը]Arduino-ի միկրոկոնտրոլլերները տարբերվում են դրանցում ներկառուցված բեռնիչով ( անգլ. bootloader ): Օգտագործելով այս բեռնիչը, օգտագործողը իր ծրագիրը ներդնում է միկրոկտրոլերի մեջ առանց ավանդական առանձին սարքային ծրագրավորողների օգտագործման ։ Բեռնիչը միանում է համակարգչին USB ինտերֆեյսով (եթե այն գտնվում է սալիկում) կամ օգտագործելով առանձին UART-USB ադապտեր։
Arduino IDE-ում հնարավորություն է տրվում ստեղծել սեփական ծրագրային-սարքային հարթակներ։ Այս հնարավորությունն օգտագործվում է կողմնակի ընկերությունների կողմից, որոնք ավելացնում են Arduino IDE- ին իրենց սեփական կոմպլեկտները և դրանց կոմպիլյատոր բեռնիչները։
AVR
[խմբագրել | խմբագրել կոդը]Arduino սարքերի դասական գծում հիմնականում օգտագործվում են Atmel AVR- ի միկրոկոնտրոլլերները։
Որոշ սալիկներում առկա port-երի կազմը կարող են տարբեր լինել։
ARM
[խմբագրել | խմբագրել կոդը]Սալիկների շարքում աստիճանաբար սկսեցին հայտնվել ARM պրոցեսորները։ Սկզբնական շրջանում այն եղել է AT91SAM3X8E դասական կառուցվածքի սալիկի վրա։ Ավելի ուշ ի հայտ եկավ Arduino սալիկների «MKR» շարքը DIP կառուցվածքով և SAMD21 վերահսկիչով ( Cortex-M0, 48 MHz, 2ց56k Flash, 32k RAM):
Մոկրոկոնտրոլլերային սալիկների մի քանի մոդելներ
[խմբագրել | խմբագրել կոդը]Մոկրոկոնտրոլլերային սալիկների մի քանի մոդելներ.
Arduino | ՄԿ | Սնուցման լարումը | Ֆլեշ հիշողություն, ԿԲ |
EEPROM, ԿԲ |
SRAM, ԿԲ |
Երկուական մուտքեր/ելքեր |
…c ԼԻՄ |
Անալոգային մուտքեր |
USB-ինտերֆեյս | Այլ ինտերֆեյսեր |
Չափսը, մմ |
---|---|---|---|---|---|---|---|---|---|---|---|
Due | Atmel SAM3X8E ARM Cortex-M3 | 3.3 Վ | 512 | - | 256 | 54 | 12 | 12 + 2ԹԱՓ | ATmega16U2 | CAN, JTAG, I2C | 101,6 × 53.3 |
ADK | ATmega2560 | 5 Վ | 256 | 4 | 8 | 54 | 14 | 16 | ATmega8U2 | MAX3421E USB хост |
101,6 × 53.3 |
BT (Bluetooth) | ATmega328 | 5 Վ | 32 | 1 | 2 | 14 | 4 | 6 | - | Bluegiga WT11 Bluetooth | |
Diecimila | ATmega168 | 5 Վ | 16 | 0.5 | 1 | 14 | 6 | 6 | FTDI | 68,6 × 53.3 | |
Duemilanove | ATmega168/328P | 5 Վ | 16/32 | 0.5/1 | 1/2 | 14 | 6 | 6 | FTDI | 68,6 × 53.3 | |
Ethernet | ATmega328 | 5 Վ | 32 | 1 | 2 | 14 | 4 | 6 | - | Wiznet Ethernet MicroSD |
|
Fio Արխիվացված 2011-05-26 Wayback Machine | ATmega328P | 3.3 Վ | 32 | 1 | 2 | 14 | 6 | 8 | - | 40,6 × 27.9 | |
Leonardo | Atmega32u4 | 5 Վ | 32 | 1 | 2 | 14 | 6 | 12 | Atmega32u4 | 68,6 × 53.3 | |
LilyPad | ATmega168V կամ ATmega328V | 2.7-5.5 Վ | 16 | 0.5 | 1 | 14 | 6 | 6 | - | 50 ⌀ | |
Mega | ATmega1280 | 5 Վ | 128 | 4 | 8 | 54 | 14 | 16 | FTDI | 101,6 × 53.3 | |
Mega2560 | ATmega2560 | 5 Վ | 256 | 4 | 8 | 54 | 14 | 16 | ATmega8U2 ATmega16U2 | 101,6 × 53.3 | |
Nano | ATmega168 կամ ATmega328 | 5 Վ | 16/32 | 0.5/1 | 1/2 | 14 | 6 | 8 | FTDI | 43 × 18 | |
Uno | ATmega328P | 5 Վ | 32 | 1 | 2 | 14 | 6 | 6 | ATmega8U2 ATmega16U2 | 68,6 × 53.3 |
Ծրագրավորման սկզբունքը
[խմբագրել | խմբագրել կոդը]Ծրագրավորումն իրականացվում է ամբողջովին իր սեփական ծրագրային շերտով (IDE), որն անվճար է և հասանելի է Arduino-ի կայքում։ Այս շերտը պարունակում է տեքստային խմբագիր, նախագծերի մենեջեր, պրեպրոցեսսոր, կոմպիլյատոր եւ գործիքներ այլագիրը միկրոկտրոլեր ներբեռնելու համար։
Arduino գրադարանային փաթեթը օգտագործվում է LGPL լիցենզիայի տակ)[7][8]
Ծրագրավորման լեզու
[խմբագրել | խմբագրել կոդը]Arduino- ի ծրագրավորման լեզուն համարվում է սովորական C ++-ը որոշ առանձնահատկություններով, որոնք հեշտացնում են սկսնակներին առաջին աշխատանքային ծրագիրը գրելու համար։
- Arduini IDE միջավայրում գրված ծրագրերը կոչվում են սքետչեր (անգլ. sketch ) և պահպանվում են *.io ընդլայնմամբ։
main()
Arduino պրոցեսորը, որը պահանջվում է C ++- ում, ստեղծում է անհրաժեշտ «կոպիտ» գործողություններ։- Ծրագրավորողը պետք է գրի երկու, որոնք պահանջում են Arduino ֆունկցիաներ
setup()
եւloop()
: Առաջինը կոչվում է մեկ անգամ, երկրորդը կատարվում է անսահման հանգույցի մեջ։ - Տեքստը ծրագրի (sketch) ծրագրավորող չի պահանջվում է տեղադրել header ֆայլերը օգտագործվում են ստանդարտ գրադարանների. Այս վերնագրի ֆայլերը կավելացնեն Arduino պրոցեսոր `ըստ ծրագրի կոնֆիգուրացիայի։ Այնուամենայնիվ, օգտվողների գրադարանները պետք է նշվեն։
- Arduino IDE ծրագրի մենեջերը ունի ոչ ստանդարտ գրադարան ավելացնել մեխանիզմ։ Գրադարանները որպես C ++ ստանդարտ տեքստեր ավելացվում են IDE աշխատանքային գրացուցակում հատուկ թղթապանակում։ Այս դեպքում գրադարանի անունը ավելացվել է IDE ցանկի մեջ գրադարանային ցուցակում։ Ծրագրավորողը նշում է անհրաժեշտ գրադարանները եւ դրանք ավելացվում են կազմման ցանկում։
- The Arduino IDE- ն չի առաջարկում որեւէ կոմպյուտերային պարամետրեր եւ նվազեցնում է այլ կարգավորումներ, որոնք հեշտացնում են սկսնակների համար սկսվող աշխատանքը եւ նվազեցնում խնդիրները։
void setup () {
pinMode (13, OUTPUT); // կոնտակտի համարի (pin 13) ելքային մուտքի հայտարարում
}
void loop () {
digitalWrite (13, HIGH); // կոնտակտի համարին (pin 13) փոխանցել 1 արժեք
delay (2000); // 2000 միլիվայրկյան սպասման ցիկլ
digitalWrite (13, LOW); // կոնտակտի համարին (pin 13) փոխանցել 0 արժեք
delay (2000); // 2000 միլիվայրկյան սպասման ցիկլ
}
Այս օրինակում օգտագործվող բոլոր գործառույթները գրադարանային գործառույթներ են։
Ծրագրի ներբեռնումը միկրոկոնտրոլլերի մեջ
[խմբագրել | խմբագրել կոդը]Arduino-ի ծրագրերի բեռնումը միկրոկոնտրոլլերի մեջ տեղի է ունենում հատուկ բեռնիչով (բոլոր Arduino միկրոկոնտրոլլերները վաճառվում են այս բեռնիչով)։ Բեռնիչը հիմնված է Atmel AVR Application Note AN109 վրա։ Բեռնիչը կարող է աշխատել RS-232, USB կամ Ethernet ինտերֆեյսով `կախված կոնկրետ պրոցեսորների պերիֆերիայի կազմից։ Որոշ տարբերակներում, ինչպիսիք են Arduino Mini-ն կամ ոչ պաշտոնական Boarduino-ն, ծրագրավորման համար անհրաժեշտ է առանձին ադապտեր։
Գրաֆիկական ծրագրավորման լեզուներ
[խմբագրել | խմբագրել կոդը]- Minibloq
- Scratch for arduino Արխիվացված 2014-04-13 Wayback Machine
- Snap4Arduino
- Ardublock Արխիվացված 2016-12-28 Wayback Machine .
- Modkit- ը վճարովի է, մյուսների համեմատ ` ապահովում է Arduino սարքավորումներով։
- FLProg- ն անվճար է։ Այն թույլ է տալիս Ձեզ ստեղծել ծրագրային ապահովման FBD և LAD լեզուներով:
-
Minibloq
-
Scratch for arduino
-
Snap4Arduino
միացման սխեմա
[խմբագրել | խմբագրել կոդը]- Fritzing- ը պարզ Arduino- ի վրա հիմնված սխեմաների նախագծման եւ փաստաթղթավորման համակարգ է։
-
Fritzing
-
Fritzing
-
Fritzing
Հետաքրքիր նախագծեր
[խմբագրել | խմբագրել կոդը]- Arduinome- MIDI կոնտրոլլեր
- OBDuino- ուղեւորության համակարգիչ `ստանդարտ ավտոմեքենաների ախտորոշիչ ինտերֆեյսների միացմամբ։
- Ardupilot- ավտոպիլոտ անօդաչու սարքերի համար։
Ընկերությունը
[խմբագրել | խմբագրել կոդը]Ընկերության եւ պլատֆորմի անունը գալիս է Իտալիայի թագավոր Արդուին Իվրաեցու անունից
Մշակողների թիմը
[խմբագրել | խմբագրել կոդը]Արդուինոյի մշակողների թիմի հիմնական կազմը հետևյալն է `Մասսիմո Բանզի, Դեյվիդ Կուարտիլլյե, Թոմ Իգո, Ջիանլուա Մարտինո, Դեյվիդ Մելլիս, Նիկոլաս Զամբետտի և Վալերի Շիմանսկի և այլք։
Ծանոթագրություններ
[խմբագրել | խմբագրել կոդը]- ↑ 1,0 1,1 1,2 Hernando Barragán (2016 թ․ հունվարի 1). «The Untold History of Arduino». arduinohistory.github.io. Վերցված է 2016 թ․ մարտի 6-ին.
- ↑ «How many Arduinos are "in the wild?" About 300,000». Adafruit Industries. 2011 թ․ մայիսի 15. Վերցված է 2013 թ․ մայիսի 26-ին.
- ↑ «Arduino FAQ – With David Cuartielles». Malmö University. 2013 թ․ ապրիլի 5. Արխիվացված է օրիգինալից 2017 թ․ սեպտեմբերի 6-ին. Վերցված է 2014 թ․ մարտի 24-ին.
- ↑ «Microduino официальный сайт». Արխիվացված է օրիգինալից 2017 թ․ փետրվարի 10-ին. Վերցված է 2019 թ․ հունիսի 11-ին.
- ↑ Microduino на русском
- ↑ «Femtoduino — самый миниатюрный клон Arduino». Արխիվացված է օրիգինալից 2020 թ․ սեպտեմբերի 22-ին. Վերցված է 2019 թ․ հունիսի 11-ին.
- ↑ Arduino — FAQ
- ↑ LGPL — arduino core, libraries.