Arduino

Arduino՝ համակարգչային և ծրագրային ապահովման ապրանքային նշան, պարզ ավտոմատացման համակարգերի և ռոբոտների ստեղծման համար, որոնք նախատեսված են ոչ պրոֆեսիոնալ օգտվողների համար։
Ծրագրային մասը բաղկացած է անվճար ծրագրային խմբագրիչից (IDE-Integrated Development Environment, Ինտեգրված Ծրագրավորման միջավայր)՝ ծրագրեր գրելու և սարքավորումներ ծրագրավորելու համար։ Տեխնիկական մասը իրենից ներկայացնում է տպասալերի հավաքածու, որոնք արտադրվում են ինչպես պաշտոնական, այնպես էլ կողմնակի արտադրողների կողմից։
Arduino-ն կարող է օգտագործվել ինչպես ավտոմատ ինքնասպասարկվող օբյեկտներ ստեղծելու, այնպես էլ համակարգչի ծրագրային ապահովմանը ստանդարտ լարային և անլար ինտերֆեյսներով միանալու համար։


== Պատմություն ==


=== Հիմնադրում ===
Arduino նախագիծը սկսվել է Ivrea-ի փոխազդեցության դիզայնի ինստիտուտում (IDII) Իվրեայում, Իտալիա[2]: Այն ժամանակ ուսանողներն օգտագործել են BASIC Stamp միկրոկառավարիչը՝ 50 դոլար արժողությամբ։ 2003 թվականին Էրնանդո Բարագանը ստեղծեց Wiring զարգացման հարթակը որպես մագիստրոսական թեզի նախագիծ IDII-ում՝ Մասսիմո Բանզիի և Քեյսի Ռեասի ղեկավարությամբ։ Քեյսի Ռիասը հայտնի է Բեն Ֆրայի հետ համատեղ ստեղծելով Processing-ի զարգացման հարթակը։ Ծրագրի նպատակն էր ստեղծել պարզ, էժան գործիքներ ոչ ինժեներների կողմից թվային նախագծեր ստեղծելու համար։ Wiring պլատֆորմը բաղկացած էր տպագիր տպատախտակից (PCB) ATmega128 միկրոկառավարիչով, IDE, որը հիմնված է Processing-ի և գրադարանային գործառույթների վրա՝ միկրոկառավարիչը հեշտությամբ ծրագրավորելու համար։ 2005թ.-ին Մասիմո Բանզին IDII-ի մեկ այլ ուսանող Դեյվիդ Մելիսի և Դեյվիդ Կուարտիելեսի հետ ընդլայնեցին Wiring-ը՝ ավելացնելով աջակցություն ավելի էժան ATmega8 միկրոկառավարիչին։ Նոր նախագիծը, որը պատառաքաղված էր Wiring-ից, կոչվում էր Arduino:
Arduino-ի սկզբնական հիմնական թիմը բաղկացած էր Մասիմո Բանզիից, Դեյվիդ Կուարտյելեսից, Թոմ Իգոյից, Ջանլուկա Մարտինոյից և Դեյվիդ Մելիսից։
Պլատֆորմի ավարտից հետո ավելի թեթև և էժան տարբերակները տարածվեցին բաց կոդով համայնքում։ 2011 թվականի կեսերին հաշվարկվել է, որ ավելի քան 300,000 պաշտոնական Arduinos-ն արտադրվել է կոմերցիոն եղանակով, իսկ 2013 թվականին 700,000 պաշտոնական տախտակներ եղել են օգտատերերի ձեռքում։


== Կառուցվածք ==
Arduino ֆիրմային անվանումով արտադրվել է միկրոկոնտրոլլեր ունեցող մի քանի տպասալեր ( անգլ.  boards), և վահանակ-սարքավար (անգլ. shields): Միկրոկոնտրոլլերով աշխատող սալիկների մեծամասնությունը համալրված են մինիմալ անհրաժեշտ պարագաներով միկրոկոնտրոլլերի նորմալ աշխատանքի համար։
Arduino-ի կոնցեպտում կորպուսային սարքեր չկան։ Օգտագործողը ինքն է ընտրում տպասալի մեխանիկան պաշտպանության մեթոդը կամ դիմում է կողմնակի ընկերությունների։ Կողմնակի արտադրողները նույնպես թողարկում են ռոբոտաշինական սարքերի հավաքածուներ, որոնք աշխատում են Arduino-ի հետ միասին։ Անկախ արտադրողների թողարկած զգայունակներն (անգլ․ sensors) ու սարքերը նույնպես կարող են աշխատել Arduino-ի հետ միասին։


=== Դասական ===

Դասական Arduino տպասալը և Arduino-ի հետ համատեղելի վահանակները նախագծված են այնպես, որպեսզի օգտագործողը կարողանա միացնել դրանք իրար pin-երի եւ jumper-ների միջոցով(հաղորդիչները, որոնցով միացվում են pin-երը իրար)։ Այսպիսով, հիմնական միկրոպրոցեսորային տպասալը համալրվում է անհրաժեշտ ծայրամասային սարքերով և արտաքին միացումներով։
Գոյություն ունի ստանդարտ չափերի տպասալերի հավաքածու («Uno», «Pro», «Leonardo») և ընդլայնված տեղայնացումով տպասալերի հավաքածու («Mega», «Due»):


=== Փոքրածավալ կառուցվածքներ ===

Փոքր չափերի առանձին տպասալերը (օրինակ, «Nano», «Micro») արտադրվում են միկրոսխեմաների DIP փաթեթների չափով։ Նրանց համար նախատեսված վահանակներ չկան


==== Կողմնակի նախագծեր ====
Բացի Arduino- ի ստանդարտ կառուցվածքներից, կողմնակի արտադրողներ ստեղծել են բազմաթիվ կլոններ, պահպանելով միայն ճարտարապետական և ծրագրային ապահովման համատեղելիությունը։ Այդ կլոնների շարքում առանձնանում է Microduino ապրանքային շարքը  : Շարքը պարունակում է կառուցվածքային համատեղելի պրոցեսորային մոդուլներ, կապի մոդուլներ, սենսորներ եւ դերակատորներ։

Ամենափոքր կլոնը թողարկվել է Femtoduino ապրանքանիշի ներքո  : Դրա չափերը կազմում են ընդամենը 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):


=== Մոկրոկոնտրոլլերային սալիկների մի քանի մոդելներ ===
Մոկրոկոնտրոլլերային սալիկների մի քանի մոդելներ. 


== Ծրագրավորման սկզբունքըԾրագրավորումն իրականացվում է ամբողջովին իր սեփական ծրագրային շերտով (IDE), որն անվճար է և հասանելի է Arduino-ի կայքում։ Այս շերտը պարունակում է տեքստային խմբագիր, նախագծերի մենեջեր, պրեպրոցեսսոր, կոմպիլյատոր եւ գործիքներ այլագիրը միկրոկտրոլեր ներբեռնելու համար։ ==
Arduino գրադարանային փաթեթը օգտագործվում է LGPL լիցենզիայի տակ) 


=== Ծրագրավորման լեզուArduino- ի ծրագրավորման լեզուն համարվում է սովորական C ++-ը որոշ առանձնահատկություններով, որոնք հեշտացնում են սկսնակներին առաջին աշխատանքային ծրագիրը գրելու համար։ ===
Arduini IDE միջավայրում գրված ծրագրերը կոչվում են սքետչեր (անգլ. sketch ) և պահպանվում են *.io ընդլայնմամբ։
main() Arduino պրոցեսորը, որը պահանջվում է C ++- ում, ստեղծում է անհրաժեշտ «կոպիտ» գործողություններ։
Ծրագրավորողը պետք է գրի երկու, որոնք պահանջում են Arduino ֆունկցիաներ setup() եւ loop() : Առաջինը կոչվում է մեկ անգամ, երկրորդը կատարվում է անսահման հանգույցի մեջ։
Տեքստը ծրագրի (sketch) ծրագրավորող չի պահանջվում է տեղադրել header ֆայլերը օգտագործվում են ստանդարտ գրադարանների. Այս վերնագրի ֆայլերը կավելացնեն Arduino պրոցեսոր `ըստ ծրագրի կոնֆիգուրացիայի։ Այնուամենայնիվ, օգտվողների գրադարանները պետք է նշվեն։
Arduino IDE ծրագրի մենեջերը ունի ոչ ստանդարտ գրադարան ավելացնել մեխանիզմ։ Գրադարանները որպես C ++ ստանդարտ տեքստեր ավելացվում են IDE աշխատանքային գրացուցակում հատուկ թղթապանակում։ Այս դեպքում գրադարանի անունը ավելացվել է IDE ցանկի մեջ գրադարանային ցուցակում։ Ծրագրավորողը նշում է անհրաժեշտ գրադարանները եւ դրանք ավելացվում են կազմման ցանկում։
The Arduino IDE- ն չի առաջարկում որեւէ կոմպյուտերային պարամետրեր եւ նվազեցնում է այլ կարգավորումներ, որոնք հեշտացնում են սկսնակների համար սկսվող աշխատանքը եւ նվազեցնում խնդիրները։ Այս օրինակում օգտագործվող բոլոր գործառույթները գրադարանային գործառույթներ են։ 


=== Ծրագրի ներբեռնումը միկրոկոնտրոլլերի մեջArduino-ի ծրագրերի բեռնումը միկրոկոնտրոլլերի մեջ տեղի է ունենում հատուկ բեռնիչով (բոլոր Arduino միկրոկոնտրոլլերները վաճառվում են այս բեռնիչով)։ Բեռնիչը հիմնված է Atmel AVR Application Note AN109 վրա։ Բեռնիչը կարող է աշխատել RS-232, USB կամ Ethernet ինտերֆեյսով `կախված կոնկրետ պրոցեսորների պերիֆերիայի կազմից։ Որոշ տարբերակներում, ինչպիսիք են Arduino Mini-ն կամ ոչ պաշտոնական Boarduino-ն, ծրագրավորման համար անհրաժեշտ է առանձին ադապտեր։ ===


==== Գրաֆիկական ծրագրավորման լեզուներMinibloq ====
Scratch for arduino
Snap4Arduino
Ardublock Archived 2016-12-28 at the Wayback Machine. .
Modkit- ը վճարովի է, մյուսների համեմատ ` ապահովում է Arduino սարքավորումներով։
FLProg- ն անվճար է։ Այն թույլ է տալիս Ձեզ ստեղծել ծրագրային ապահովման FBD և LAD լեզուներով:
		
		


==== միացման սխեմաFritzing- ը պարզ Arduino- ի վրա հիմնված սխեմաների նախագծման եւ փաստաթղթավորման համակարգ է։ ====
		
		


== Հետաքրքիր նախագծերArduinome- MIDI կոնտրոլլեր ==
OBDuino- ուղեւորության համակարգիչ `ստանդարտ ավտոմեքենաների ախտորոշիչ ինտերֆեյսների միացմամբ։
Ardupilot- ավտոպիլոտ անօդաչու սարքերի համար։


== ԸնկերությունըԸնկերության եւ պլատֆորմի անունը գալիս է Իտալիայի թագավոր Արդուին Իվրաեցու անունից ==


=== Մշակողների թիմըԱրդուինոյի մշակողների թիմի հիմնական կազմը հետևյալն է `Մասսիմո Բանզի, Դեյվիդ Կուարտիլլյե, Թոմ Իգո, Ջիանլուա Մարտինո, Դեյվիդ Մելլիս, Նիկոլաս Զամբետտի և Վալերի Շիմանսկի և այլք։ ===