Բովանդակություն:

Ներածություն Arduino- ին. 15 քայլ (նկարներով)
Ներածություն Arduino- ին. 15 քայլ (նկարներով)

Video: Ներածություն Arduino- ին. 15 քայլ (նկարներով)

Video: Ներածություն Arduino- ին. 15 քայլ (նկարներով)
Video: 1. Q Light Controller + Սկսել QLC +- ով: Արշավներ եւ գործառույթներ 2024, Հուլիսի
Anonim
Ներածություն Arduino- ին
Ներածություն Arduino- ին

Arduino- ն բաց կոդով միկրոկառավարիչների զարգացման տախտակ է: Պարզ անգլերեն լեզվով, դուք կարող եք օգտագործել Arduino- ն սենսորներ կարդալու և շարժիչներ և լույսեր կառավարելու համար: Սա թույլ է տալիս վերբեռնել ծրագրեր այս տախտակին, որոնք այնուհետև կարող են փոխազդել իրական աշխարհի իրերի հետ: Դրանով դուք կարող եք սարքեր պատրաստել, որոնք արձագանքում և արձագանքում են աշխարհին ընդհանրապես:

Օրինակ, կարող եք կարդալ ծաղկամանի գործարանին միացված խոնավության տվիչ և միացնել ավտոմատ ջրելու համակարգը, եթե այն չափազանց չորանա: Կամ, կարող եք ստեղծել առանձին զրուցի սերվեր, որը միացված է ձեր ինտերնետային երթուղիչին: Կամ, կարող եք այն թվիթ անել ամեն անգամ, երբ ձեր կատուն անցնում է ընտանի կենդանու դուռով: Կամ ՝ կարող եք սուրճի կաթսա սկսել, երբ առավոտյան ձեր զարթուցիչն անջատվի:

Հիմնականում, եթե կա մի բան, որը որևէ կերպ վերահսկվում է էլեկտրականությամբ, Arduino- ն կարող է ինչ -որ կերպ միանալ դրան: Եվ նույնիսկ եթե այն չի վերահսկվում էլեկտրաէներգիայի միջոցով, դուք, հավանաբար, դեռ կարող եք օգտագործել այն (շարժիչները և էլեկտրամագնիսները), դրա հետ միանալու համար:

Arduino- ի հնարավորությունները գրեթե անսահմանափակ են: Որպես այդպիսին, ոչ մի կերպ հնարավոր չէ, որ մեկ ձեռնարկը ներառի այն ամենը, ինչ դուք երբևէ պետք է իմանալ: Ասածս այն է, որ ես ամեն ինչ արել եմ, որպեսզի հիմնարար ակնարկ տամ հիմնարար հմտությունների և գիտելիքների մասին, որոնք անհրաժեշտ են ձեր Arduino- ն գործարկելու համար: Եթե ոչ ավելին, սա պետք է գործի որպես հետագիծ հետագա փորձերի և ուսուցման մեջ:

Քայլ 1. Արդուինոյի տարբեր տեսակներ

Արդուինոյի տարբեր տեսակներ
Արդուինոյի տարբեր տեսակներ
Արդուինոյի տարբեր տեսակներ
Արդուինոյի տարբեր տեսակներ
Արդուինոյի տարբեր տեսակներ
Արդուինոյի տարբեր տեսակներ

Գոյություն ունեն Arduinos- ի մի շարք տարբեր տեսակներ: Սա կարճ ակնարկ է Arduino տախտակների որոշ առավել տարածված տեսակների, որոնց կարող եք հանդիպել: Ներկա պահին աջակցվող Arduino տախտակների ամբողջական ցանկի համար այցելեք Arduino սարքավորման էջը:

Արդուինո Ունո

Arduino- ի ամենատարածված տարբերակը Arduino Uno- ն է: Այս տախտակն այն է, ինչի մասին խոսում են մարդկանց մեծ մասը, երբ անդրադառնում են Arduino- ին: Հաջորդ քայլում տեղի է ունենում դրա առանձնահատկությունների առավել ամբողջական ամփոփում:

Arduino NG, Diecimila և Duemilanove (acyառանգական տարբերակներ)

Arduino Uno ապրանքային շարքի ժառանգական տարբերակները բաղկացած են NG- ից, Diecimila- ից և Duemilanove- ից: Legառանգության տախտակների մասին կարևորը նշելն այն է, որ դրանք չունեն Arduino Uno- ի առանձնահատուկ առանձնահատկությունը: Որոշ հիմնական տարբերություններ.

  • Diecimila- ն և NG- ն օգտագործում են ATMEGA168 չիպսեր (ի տարբերություն ավելի հզոր ATMEGA328- ի),
  • Երկուսն էլ Diecimila- ն և NG- ն ունեն jumper USB պորտի կողքին և պահանջում են USB կամ մարտկոցի էներգիայի ձեռքով ընտրություն:
  • Arduino NG- ն պահանջում է, որ ծրագիրը բեռնելուց մի քանի վայրկյան պահեք գրատախտակին մնացած կոճակը:

Arduino Mega 2560

Arduino Mega 2560- ը Arduino ընտանիքի երկրորդ ամենատարածված տարբերակն է: Arduino Mega- ն նման է Arduino Uno- ի տավարի ավագ եղբորը: Այն ունի 256 ԿԲ հիշողություն (8 անգամ ավելի, քան Uno- ն): Այն ուներ նաև 54 մուտքային և ելքային կապ, որոնցից 16 -ը անալոգային կապում են, իսկ 14 -ը կարող են կատարել PWM: Այնուամենայնիվ, բոլոր ավելացված գործառույթները գալիս են մի փոքր ավելի մեծ տպատախտակի գնով: Դա կարող է ձեր նախագիծը դարձնել ավելի հզոր, բայց նաև կդարձնի ձեր նախագիծը ավելի մեծ: Լրացուցիչ մանրամասների համար այցելեք Arduino Mega 2560 պաշտոնական էջը:

Arduino Mega ADK

Arduino- ի այս մասնագիտացված տարբերակը հիմնականում Arduino Mega- ն է, որը հատուկ նախագծված է Android սմարթֆոնների հետ շփվելու համար: Սա նույնպես այժմ ժառանգական տարբերակ է:

Արդուինո Յուն

Arduino Yun- ը ATmega328- ի փոխարեն օգտագործում է ATMega32U4 չիպ: Այնուամենայնիվ, այն, ինչ իսկապես առանձնացնում է այն, Atheros AR9331 միկրոպրոցեսորի հավելումն է: Այս լրացուցիչ չիպը թույլ է տալիս այս տախտակին գործարկել Linux- ը, բացի սովորական Arduino օպերացիոն համակարգից: Եթե այդ ամենը բավարար չլիներ, այն ունի նաև ինքնաթիռի WiFi հնարավորություն: Այլ կերպ ասած, դուք կարող եք ծրագրել, որ խորհուրդը կարողանա անել այնպիսի բաներ, ինչպիսին կանեիք ցանկացած այլ Arduino- ով, բայց կարող եք նաև մուտք գործել տախտակի Linux կողմ ՝ ինտերնետին wifi- ով միանալու համար: Այնուհետև Arduino- ի և Linux- ի կողմերը կարող են հեշտությամբ հաղորդակցվել միմյանց հետ: Սա այս տախտակը դարձնում է չափազանց հզոր և բազմակողմանի: Ես հազիվ եմ քերծում այն, ինչ կարող եք անել դրա հետ, բայց ավելին իմանալու համար ստուգեք Arduino Yun- ի պաշտոնական էջը:

Արդուինո Նանո

Եթե ցանկանում եք փոքրանալ սովորական Arduino տախտակից, ապա Arduino Nano- ն ձեզ համար է: Հիմնվելով ATmega328 չիպի վրա, Arduino- ի այս տարբերակը կրճատվել է մինչև մի փոքր հետք, որը կարող է տեղավորվել նեղ տարածքների մեջ: Այն կարող է նաև ուղղակիորեն տեղադրվել տախտակի մեջ, ինչը հեշտացնում է դրա նախատիպը:

Arduino LilyPad

LilyPad- ը նախատեսված էր կրելու և էլեկտրոնային տեքստիլ կիրառման համար: Նախատեսված է հյուսել գործվածքին և միացնել այլ կարվող բաղադրիչներին `օգտագործելով հաղորդիչ թել: Այս տախտակը պահանջում է օգտագործել հատուկ FTDI-USB TTL սերիալային ծրագրավորման մալուխ: Լրացուցիչ տեղեկությունների համար Arduino LilyPad էջը արժանապատիվ ելակետ է:

(Ուշադրություն դարձրեք, որ այս էջի որոշ հղումներ փոխկապակցված հղումներ են: Սա ձեզ համար չի փոխում ապրանքի արժեքը: Ինչ եկամուտներ եմ ստանում, ես նորից ներդնում եմ նոր նախագծերի իրականացման համար: Եթե այլընտրանքային մատակարարների համար որևէ առաջարկություն ունեք, խնդրում եմ թույլ տվեք ինձ իմացիր:)

Քայլ 2: Arduino Uno- ի գործառույթները

Arduino Uno- ի առանձնահատկությունները
Arduino Uno- ի առանձնահատկությունները

Ոմանք Arduino- ի ամբողջ տախտակը մտածում են որպես միկրոկոնտրոլեր, բայց դա ոչ ճշգրիտ է: Arduino տախտակն իրականում հատուկ մշակված տպատախտակ է Atmel միկրոկոնտրոլերների հետ ծրագրավորման և նախատիպավորման համար:

Arduino- ի տախտակի հաճելի բանն այն է, որ այն համեմատաբար էժան է, միանում է անմիջապես համակարգչի USB պորտին, և դրա տեղադրումը և օգտագործումը պարզ է (համեմատած այլ զարգացման տախտակների հետ):

Arduino Uno- ի որոշ հիմնական հատկանիշներից են.

  • Բաց կոդով ձևավորում: Բաց կոդ լինելու առավելությունն այն է, որ այն ունի մարդկանց մեծ համայնք, որոնք օգտագործում և լուծում են այն: Սա հեշտացնում է գտնել մեկին, ով կօգնի ձեզ կարգաբերել ձեր նախագծերը:
  • Հեշտ USB ինտերֆեյս: Տախտակի վրա գտնվող չիպը միանում է անմիջապես ձեր USB պորտին և գրանցվում ձեր համակարգչում ՝ որպես վիրտուալ սերիական նավահանգիստ: Սա թույլ է տալիս ինտերֆեյս ունենալ դրա հետ, քանի որ դրա միջոցով սերիական սարք էր: Այս կարգավորման առավելությունն այն է, որ սերիական հաղորդակցությունը չափազանց հեշտ (և ժամանակի փորձարկված) արձանագրություն է, և USB- ն այն իսկապես հարմար է դարձնում ժամանակակից համակարգիչներին:
  • Շատ հարմար էներգիայի կառավարում և ներկառուցված լարման կարգավորում: Կարող եք միացնել մինչև 12 վ լարման արտաքին աղբյուր և այն կկարգավորի այն ինչպես 5 վ, այնպես էլ 3.3 վ լարման: Այն կարող է նաև միացվել USB պորտից անմիջապես ՝ առանց արտաքին էներգիայի:
  • Հեշտ հայտնաբերվող և կեղտոտ էժան միկրոկոնտրոլերի «ուղեղ»: ATmega328 չիպը Digikey- ում վաճառվում է մոտ 2,88 դոլարով: Այն ունի անհամար թվով գեղեցիկ ապարատային հնարավորություններ, ինչպիսիք են ժամաչափերը, PWM կապերը, արտաքին և ներքին ընդհատումները և քնի բազմաթիվ ռեժիմները: Լրացուցիչ մանրամասների համար ստուգեք պաշտոնական տվյալների թերթիկը:
  • 16 մՀց ժամացույց: Սա այն դարձնում է ոչ թե ամենաարագ միկրոկոնտրոլերը շրջակայքում, այլ բավական արագ ՝ շատ ծրագրերի համար:
  • 32 ԿԲ ֆլեշ հիշողություն `ձեր կոդը պահելու համար:
  • 13 թվային կապում և 6 անալոգային կապում: Այս կապում թույլ են տալիս միացնել արտաքին սարքավորումները ձեր Arduino- ին: Այս կապումներն առանցքային են Arduino- ի հաշվողական կարողությունները իրական աշխարհում ընդլայնելու համար: Պարզապես միացրեք ձեր սարքերն ու տվիչները այն վարդակների մեջ, որոնք համապատասխանում են այս յուրաքանչյուր կապում, և դուք լավ եք:
  • ICSP միակցիչ `USB պորտը շրջանցելու և Arduino- ին անմիջականորեն որպես սերիական սարք միացնելու համար: Այս նավահանգիստը անհրաժեշտ է, որպեսզի ձեր չիպը նորից բեռնվի, եթե այն վնասված է և այլևս չի կարող խոսել ձեր համակարգչի հետ:
  • Ինքնաթիռի լուսադիոդ ՝ կցված թվային PIN 13-ին ՝ կոդի արագ վրիպազերծման համար:
  • Եվ վերջապես, բայց ոչ պակաս, կոճակը `ծրագիրը չիպի վրա վերականգնելու համար:

Arduino Uno- ի առաջարկած բոլոր բաների ամբողջական ամփոփման համար համոզվեք, որ ստուգեք Arduino- ի պաշտոնական էջը:

Քայլ 3: Arduino IDE

Arduino IDE
Arduino IDE

Նախքան որևէ բան սկսել Arduino- ի հետ, դուք պետք է ներբեռնեք և տեղադրեք Arduino IDE- ն (ինտեգրված զարգացման միջավայր): Այս պահից մենք կդիմենք Arduino IDE- ին որպես Arduino ծրագրավորող:

Arduino ծրագրավորողը հիմնված է Processing IDE- ի վրա և օգտագործում է C և C ++ ծրագրավորման լեզուների տատանումներ:

Այս էջում կարող եք գտնել Arduino ծրագրավորողի վերջին տարբերակը:

Քայլ 4: Միացրեք այն

Միացրեք այն
Միացրեք այն

Միացրեք Arduino- ն ձեր համակարգչի USB պորտին:

Խնդրում ենք նկատի ունենալ, որ չնայած Arduino- ն միանում է ձեր համակարգչին, այն իրական USB սարք չէ: Տախտակն ունի հատուկ չիպ, որը թույլ է տալիս այն ցուցադրվել ձեր համակարգչում որպես վիրտուալ սերիական պորտ, երբ այն միացված է USB պորտին: Ահա թե ինչու է կարևոր միացնել տախտակը: Երբ տախտակը միացված չէ, վիրտուալ սերիական նավահանգիստը, որով աշխատում է Arduino- ն, չի լինի (քանի որ դրա մասին ամբողջ տեղեկատվությունը ապրում է Arduino- ի տախտակի վրա):

Նաև լավ է իմանալ, որ յուրաքանչյուր Arduino- ն ունի յուրահատուկ վիրտուալ սերիական նավահանգստի հասցե: Սա նշանակում է, որ ամեն անգամ, երբ ձեր համակարգչին միացնում եք Arduino- ի այլ տախտակ, ձեզ հարկավոր է վերակազմավորել օգտագործվող սերիական պորտը:

Arduino Uno- ն պահանջում է արական USB A արական USB B մալուխ:

Քայլ 5: Կարգավորումներ

Կարգավորումներ
Կարգավորումներ
Կարգավորումներ
Կարգավորումներ

Նախքան Arduino ծրագրավորողում որևէ բան սկսելը, դուք պետք է սահմանեք տախտակի տիպի և սերիայի պորտը:

Տախտակը տեղադրելու համար անցեք հետևյալին.

Գործիքների տախտակներ

Ընտրեք օգտագործվող տախտակի տարբերակը: Քանի որ ինձ միացված է Arduino Uno- ն, ես ակնհայտորեն ընտրել եմ «Arduino Uno» - ն:

Սերիական նավահանգիստը սահմանելու համար անցեք հետևյալը.

Գործիքներ Սերիական նավահանգիստ

Ընտրեք սերիական նավահանգիստ, որն ունի հետևյալ տեսքը.

/dev/tty.usbmodem [պատահական թվեր]

Քայլ 6: Գործարկեք ուրվագիծ

Գործարկեք ուրվագիծ
Գործարկեք ուրվագիծ
Գործարկեք ուրվագիծ
Գործարկեք ուրվագիծ
Գործարկեք ուրվագիծ
Գործարկեք ուրվագիծ

Արդուինոյի ծրագրերը կոչվում են էսքիզներ: Arduino ծրագրավորողը գալիս է նախապես բեռնված մի քանի էսքիզների օրինակով: Սա հիանալի է, քանի որ նույնիսկ եթե կյանքում երբեք որևէ բան չեք ծրագրավորել, կարող եք բեռնել այս ուրվագծերից մեկը և Arduino- ին ինչ -որ բան անել:

Թվային 13 -ի կապիչին LED- ը միացնելու և անջատելու համար եկեք բեռնենք թարթման օրինակը:

Թարթման օրինակը կարելի է գտնել այստեղ.

Ֆայլեր Օրինակներ Հիմունքներ Թարթել

Թարթելու օրինակը հիմնականում սահմանում է D13 կապը որպես ելք, այնուհետև յուրաքանչյուր վայրկյան թարթում և անջատում է Arduino- ի տախտակի փորձարկման LED- ը:

Թարթելու օրինակը բացվելուց հետո այն կարող է տեղադրվել ATMEGA328 չիպի վրա `սեղմելով վերբեռնման կոճակը, որը կարծես աջ կողմը ցույց տվող սլաքի լինի:

Ուշադրություն դարձրեք, որ Arduino- ի 13 -րդ կապին միացված մակերևույթի ամրացման կարգավիճակի LED- ը կսկսի թարթել: Դուք կարող եք փոխել թարթման արագությունը ՝ փոխելով հետաձգման երկարությունը և կրկին սեղմելով վերբեռնման կոճակը:

Քայլ 7: Սերիական մոնիտոր

Սերիական մոնիտոր
Սերիական մոնիտոր
Սերիական մոնիտոր
Սերիական մոնիտոր

Սերիական մոնիտորը թույլ է տալիս ձեր համակարգչին սերիականորեն միանալ Arduino- ի հետ: Սա կարևոր է, քանի որ այն պահանջում է տվյալներ, որոնք ձեր Arduino- ն ստանում է սենսորներից և այլ սարքերից և իրական ժամանակում ցուցադրում ձեր համակարգչում: Այս ունակությունն անգնահատելի է ՝ ձեր կոդը կարգաբերելու և հասկանալու համար, թե իրականում ինչ թվային արժեքներ է ստանում չիպը:

Օրինակ, պոտենցիոմետրի կենտրոնական ավլումը (միջին քորոցը) միացրեք A0- ին, իսկ արտաքին կապում, համապատասխանաբար, 5 վ -ին և գետնին: Հաջորդը վերբեռնեք ստորև ներկայացված ուրվագիծը.

Ֆայլի օրինակներ 1. Հիմունքներ AnalogReadSerial

Կտտացրեք կոճակին ՝ սերիական մոնիտորը միացնելու համար, որը խոշորացույցի տեսք ունի: Այժմ դուք կարող եք տեսնել համարները, որոնք ընթերցվում են անալոգային կապով սերիական մոնիտորի վրա: Երբ պտտեք կոճակը, թվերը կավելանան և կնվազեն:

Թվերը կլինեն 0 -ից 1023 -ի սահմաններում: Դրա պատճառն այն է, որ անալոգային քորոցը 0 -ից 5 Վ լարման լարման փոխակերպում է զուսպ թվի:

Քայլ 8: Թվային մուտքագրում

Թվային մեջ
Թվային մեջ

Arduino- ն ունի երկու տարբեր տեսակի մուտքային կապեր ՝ անալոգային և թվային:

Սկզբից, եկեք նայենք թվային մուտքի կապում:

Թվային մուտքագրման կապում կա միայն երկու հնարավոր վիճակ, որոնք միացված կամ անջատված են: Այս երկու միացման և անջատման վիճակները կոչվում են նաև.

  • ԲԱՐՁՐ կամ OWԱՐ
  • 1 կամ 0
  • 5 Վ կամ 0 Վ

Այս մուտքագրումը սովորաբար օգտագործվում է անջատիչի բացման կամ փակման ժամանակ լարման առկայությունը զգալու համար:

Թվային մուտքերը կարող են օգտագործվել նաև որպես հիմք անհամար թվային հաղորդակցության արձանագրությունների համար: Ստեղծելով 5V (HIGH) զարկերակ կամ 0V (LOW) զարկերակ, կարող եք ստեղծել երկուական ազդանշան ՝ բոլոր հաշվարկների հիմքը: Սա օգտակար է PING ուլտրաձայնային տվիչի նման թվային տվիչների հետ խոսելու կամ այլ սարքերի հետ շփվելու համար:

Օգտագործվող թվային մուտքի պարզ օրինակի համար միացրեք անջատիչը թվային կապից 2 -ից 5 Վ, 10K դիմադրություն ** թվային կապիչ 2 -ից դեպի գետնին և գործարկեք հետևյալ ծածկագիրը.

Ֆայլի օրինակներ 2. Թվային կոճակ

** 10K ռեզիստորը կոչվում է քաշվող դիմադրություն, քանի որ այն միացնում է թվային կապը գետնին, երբ անջատիչը սեղմված չէ: Երբ անջատիչը սեղմվում է, անջատիչի էլեկտրական միացումներն ավելի քիչ դիմադրություն ունեն, քան դիմադրությունը, և էլեկտրաէներգիան այլևս չի միանում գետնին: Փոխարենը էլեկտրաէներգիան հոսում է 5V- ի և թվային կապի միջև: Դա պայմանավորված է նրանով, որ էլեկտրականությունը միշտ ընտրում է նվազագույն դիմադրության ուղին: Այս մասին ավելին իմանալու համար այցելեք Թվային կապում էջը:

Քայլ 9: Անալոգային մուտքագրում

Անալոգային մեջ
Անալոգային մեջ

Բացի թվային մուտքային կապումներից, Arduino- ն ունի նաև մի շարք անալոգային մուտքային կապեր:

Անալոգային մուտքային կապումներն ընդունում են անալոգային ազդանշան և կատարում են 10-բիթանոց անալոգային-թվային (ADC) փոխակերպում ՝ այն 0-ից 1023-ի (4.9 մՎ քայլերի) միջև թվերի վերածելու համար:

Այս տեսակի մուտքը լավ է դիմադրողական սենսորներ կարդալու համար: Սրանք հիմնականում սենսորներ են, որոնք դիմադրություն են ապահովում շղթայի նկատմամբ: Նրանք նաև լավ են 0 -ից 5 Վ լարման տարբեր լարման ազդանշան կարդալու համար: Սա օգտակար է տարբեր տեսակի անալոգային սխեմաների հետ շփվելիս:

Եթե դուք հետևել եք 7 -րդ քայլի օրինակին ՝ սերիական մոնիտորը ներգրավելու համար, արդեն փորձել եք օգտագործել անալոգային մուտքի քորոց:

Քայլ 10: Թվային ելք

Թվային ելք
Թվային ելք

Թվային ելքային փին կարող է սահմանվել որպես բարձր (5 վ) կամ ցածր (0 վ): Սա թույլ է տալիս միացնել և անջատել իրերը:

Բացի իրերը միացնելուց և անջատելուց (և LED- ները թարթելը), այս ելքի ձևը հարմար է մի շարք ծրագրերի համար:

Առավել հատկանշական է, որ այն թույլ է տալիս թվային հաղորդակցվել: Արագորեն միացնելով և անջատելով ՝ դուք ստեղծում եք երկուական վիճակներ (0 և 1), ինչը անհամար այլ էլեկտրոնային սարքերի կողմից ճանաչվում է որպես երկուական ազդանշան: Օգտագործելով այս մեթոդը, դուք կարող եք շփվել ՝ օգտագործելով մի շարք տարբեր արձանագրություններ:

Թվային հաղորդակցությունը առաջադեմ թեմա է, սակայն ընդհանուր պատկերացում կազմելու համար, թե ինչ կարելի է անել, ստուգեք Interfacing With Hardware էջը:

Եթե դուք հետևել եք 6 -րդ քայլի օրինակին ՝ LED- ը թարթելու համար, արդեն փորձել եք օգտագործել թվային ելքային քորոց:

Քայլ 11: Անալոգային ելք

Անալոգային ելք
Անալոգային ելք

Ինչպես արդեն նշվեց, Arduino- ն ունի մի շարք ներկառուցված հատուկ գործառույթներ: Այս հատուկ գործառույթներից է զարկերակի լայնության մոդուլյացիան, որն այն է, ինչ Arduino- ն կարողանում է ստեղծել անալոգային նման ելք:

Իմպուլսի լայնության մոդուլյացիան, կամ կարճ ՝ PWM- ն, աշխատում է ՝ արագորեն պտտելով PWM կապը բարձր (5V) և ցածր (0V) ՝ անալոգային ազդանշանը մոդելավորելու համար: Օրինակ, եթե դուք բավականաչափ արագ միացնեք և անջատեք LED- ը (յուրաքանչյուրը մոտ հինգ միլիվայրկյան), թվում է, թե այն միջինում պայծառությունն է և միայն էներգիայի կեսն է ստանում: Այլապես, եթե այն թարթվի 1 միլիվայրկյան և ապա թարթվի 9 միլիվայրկյան, LED- ը, կարծես, 1/10 պայծառ է և ստանում է միայն 1/10 լարման:

PWM- ն առանցքային է մի շարք ծրագրերի համար, ներառյալ ձայնի արտաբերումը, լույսերի պայծառությունը վերահսկելը և շարժիչների արագության վերահսկումը:

Ավելի խորը բացատրության համար ստուգեք PWM էջի գաղտնիքները:

PWM- ն ինքներդ փորձելու համար միացրեք LED և 220 օմ դիմադրիչը թվային PIN 9 -ին, շարքով `գետնին: Գործարկեք հետևյալ օրինակի կոդը.

Ֆայլի օրինակներ 3. Անալոգային մարում

Քայլ 12: Գրեք ձեր սեփական կոդը

Գրեք ձեր սեփական ծածկագիրը
Գրեք ձեր սեփական ծածկագիրը

Ձեր սեփական կոդը գրելու համար ձեզ հարկավոր է սովորել որոշ հիմնական ծրագրավորման լեզվի շարահյուսություն: Այլ կերպ ասած, դուք պետք է սովորեք, թե ինչպես ճիշտ ձևավորել ծածկագիրը, որպեսզի ծրագրավորողը հասկանա այն: Դուք կարող եք մտածել նման քերականության և կետադրության հասկացության մասին: Դուք կարող եք գրել մի ամբողջ գիրք ՝ առանց համապատասխան քերականության և կետադրության, բայց ոչ ոք չի կարողանա հասկանալ այն, նույնիսկ եթե այն անգլերեն է:

Ձեր սեփական ծածկագիրը գրելիս պետք է հաշվի առնել մի քանի կարևոր բան.

Arduino ծրագիրը կոչվում է ուրվագիծ:

Arduino էսքիզի ամբողջ ծածկագիրը մշակվում է վերևից ներքև:

Arduino- ի էսքիզները սովորաբար բաժանված են հինգ մասի:

  1. Էսքիզը սովորաբար սկսվում է վերնագրով, որը բացատրում է, թե ինչ է անում ուրվագիծը և ով է գրել այն:
  2. Հաջորդը, այն սովորաբար սահմանում է գլոբալ փոփոխականներ: Հաճախ այստեղ է, որ մշտական անուններ են տրվում Arduino- ի տարբեր կապումներին:
  3. Նախնական փոփոխականների սահմանումից հետո Arduino- ն սկսում է կարգաբերման ռեժիմը: Կարգավորման գործառույթում մենք անհրաժեշտության դեպքում սահմանում ենք փոփոխականների նախնական պայմաններ և գործարկում ենք ցանկացած նախնական կոդ, որը ցանկանում ենք գործարկել միայն մեկ անգամ: Այստեղ է, որ սկսվում է սերիական հաղորդակցությունը, որն անհրաժեշտ է սերիական մոնիտորը գործարկելու համար:
  4. Կարգավորման գործառույթից մենք անցնում ենք օղակի ռեժիմին: Սա էսքիզի հիմնական առօրյան է: Սա ոչ միայն այն վայրն է, որտեղ գնում է ձեր հիմնական ծածկագիրը, այլ այն անընդհատ կկատարվի, քանի դեռ ուրվագիծը շարունակում է գործել:
  5. Օղակի ռեժիմից ներքև հաճախ կան թվարկված այլ գործառույթներ: Այս գործառույթները սահմանվում են օգտագործողի կողմից և ակտիվանում են միայն այն դեպքում, երբ կանչվում են կարգաբերման և հանգույցի ռեժիմում: Երբ այս գործառույթները կանչվում են, Arduino- ն վերևից ներքև մշակում է ֆունկցիայի բոլոր ծածկագիրը, այնուհետև վերադառնում է ուրվագծի հաջորդ տողին, որտեղ այն անջատվել է գործառույթը կանչելիս: Գործառույթները լավն են, քանի որ դրանք թույլ են տալիս անընդհատ գործարկել ստանդարտ առօրյան ՝ առանց անընդհատ նույն տողերի ծածկագիրը գրելու: Դուք կարող եք պարզապես մի քանի անգամ դիմել գործառույթին, և դա չի ազատի հիշողությունը չիպի վրա, քանի որ գործառույթի ռեժիմը գրված է միայն մեկ անգամ: Այն նաև հեշտացնում է ծածկագիրը կարդալը: Սովորելու համար, թե ինչպես ձևավորել ձեր սեփական գործառույթները, ստուգեք այս էջը:

Այս ամենն ասված է, որ էսքիզի միայն երկու մասերը, որոնք պարտադիր են, Setup և Loop ռեժիմներն են:

Կոդը պետք է գրվի Arduino լեզվով, որը մոտավորապես հիմնված է C

Արդուինոյի լեզվով գրված գրեթե բոլոր հայտարարությունները պետք է ավարտվեն a;

Պայմանական պայմաններին (օրինակ, եթե հայտարարությունները և օղակները) կարիք չունեն a;

Պայմանական պայմաններն ունեն իրենց կանոնները և դրանք կարելի է գտնել Arduino Language էջի «Կառավարման կառուցվածքներ» բաժնում

Փոփոխականները թվերի պահպանման խցիկներ են: Դուք կարող եք արժեքներ փոխանցել փոփոխականների մեջ և դուրս: Փոփոխականները պետք է սահմանվեն (նշվում են ծածկագրում), նախքան դրանք օգտագործելը և պետք է ունենան դրա հետ կապված տվյալների տեսակ: Տվյալների մի քանի հիմնական տեսակ սովորելու համար վերանայեք Լեզվի էջը:

Լավ! Այսպիսով, եկեք ասենք, որ մենք ցանկանում ենք գրել կոդը, որը կարդում է A0 պինին միացված ֆոտոխցիկը և օգտագործենք ֆոտոխցիկից ստացված ընթերցումը ՝ վերահսկելու D9 կապին միացված LED լուսավորությունը:

Նախ, մենք ցանկանում ենք բացել BareMinimum էսքիզը, որը կարելի է գտնել հետևյալ հասցեով.

Ֆայլի օրինակներ 1. Հիմնական BareMinimum

BareMinimum ուրվագիծը պետք է ունենա այս տեսքը.

void setup () {

// տեղադրեք ձեր տեղադրման կոդը այստեղ ՝ մեկ անգամ գործարկելու համար.} void loop () {// տեղադրեք ձեր հիմնական կոդը այստեղ ՝ բազմիցս գործարկելու համար.} Հաջորդը, եկեք վերնագիր դնենք ծածկագրի վրա, որպեսզի մյուս մարդիկ իմանան, թե ինչ ենք մենք պատրաստում, ինչու և ինչ պայմաններով

/*

LED Dimmer by Genius Arduino Programmer 2012 Վերահսկում է D9- ի լուսադիոդի պայծառությունը ՝ հիմնվելով A0 պինակի վրա ֆոտոխցիկի ընթերցման վրա: Այս ծածկագիրը հանրային տիրույթում է */ void setup () {// տեղադրեք ձեր տեղադրման կոդը այստեղ ՝ գործարկելու համար մեկ անգամ ՝} void loop () {// տեղադրեք ձեր հիմնական կոդը այստեղ ՝ բազմիցս գործարկելու համար.} Երբ այդ ամենը քառակուսի լինի, եկեք սահմանենք քորոց անունները և ստեղծենք փոփոխականներ

/*

LED Dimmer by Genius Arduino Programmer 2012 Վերահսկում է D9- ի լուսադիոդի պայծառությունը ՝ հիմնված A0 պինակի վրա ֆոտոխցիկի ընթերցման վրա: Այս ծածկագիրը հանրային տիրույթում է */ // name անալոգային քորոց 0 մշտական անուն const int analogInPin = A0; // թվային փին 9 անվանել հաստատուն անվանում const int LEDPin = 9; // փոփոխական `ֆոտոցելի int photocell ընթերցման համար; void setup () {// տեղադրեք ձեր կարգավորման կոդը այստեղ ՝ մեկ անգամ գործարկելու համար.} void loop () {// տեղադրեք ձեր հիմնական կոդը այստեղ ՝ բազմիցս գործարկելու համար.} Այժմ, երբ փոփոխականներն ու փին անունները դրված են, եկեք գրենք իրական կոդը

/*

LED Dimmer by Genius Arduino Programmer 2012 Վերահսկում է D9- ի լուսադիոդի պայծառությունը ՝ հիմնվելով A0 պինակի վրա բջջային բջիջի ընթերցման վրա: Այս ծածկագիրը հանրային տիրույթում է */ // name անալոգային փին 0 հաստատուն անվանումը const int analogInPin = A0; // թվային փին 9 անվանել հաստատուն անվանում const int LEDPin = 9; // փոփոխական `ֆոտոցելի int photocell ընթերցման համար; void setup () {// ոչինչ այստեղ այս պահին չկա} void loop () {// կարդալ անալոգը քորոցով և ընթերցումը դնել ֆոտոցելի փոփոխականի վրա photocell = analogRead (analogInPin); // վերահսկել LED քորոցը `օգտագործելով photocell analogWrite- ի կողմից կարդացած արժեքը (LEDPin, photocell); // դադարեցնել կոդը 1/10 վայրկյան // 1 վայրկյան = 1000 ուշացում (100); } Եթե ցանկանում ենք տեսնել, թե իրականում ինչ թվեր է անալոգային քորոցը կարդում ֆոտոխցիկից, ապա մեզ հարկավոր է օգտագործել սերիական մոնիտորը: Եկեք ակտիվացնենք սերիական նավահանգիստը և թողնենք այդ թվերը

/*

LED Dimmer by Genius Arduino Programmer 2012 Վերահսկում է D9- ի լուսադիոդի պայծառությունը ՝ հիմնվելով A0 պինակի վրա բջջային բջիջի ընթերցման վրա: Այս ծածկագիրը հանրային տիրույթում է */ // name անալոգային փին 0 հաստատուն անվանումը const int analogInPin = A0; // թվային փին 9 անվանել հաստատուն անվանում const int LEDPin = 9; // փոփոխական `ֆոտոցելի int photocell ընթերցման համար; void setup () {Serial.begin (9600); } void loop () {// կարդալ անալոգը քորոցով և ընթերցումը դնել ֆոտոցելի փոփոխականի վրա photocell = analogRead (analogInPin); // տպել լուսաբջջի արժեքը սերիական մոնիտորի մեջ Serial.print ("Photocell ="); Serial.println (լուսաբջիջ); // վերահսկել LED քորոցը `օգտագործելով photocell analogWrite- ի կողմից կարդացած արժեքը (LEDPin, photocell); // դադարեցնել կոդը 1/10 վայրկյան // 1 վայրկյան = 1000 ուշացում (100); }Կոդի ձևակերպման մասին լրացուցիչ տեղեկությունների համար այցելեք Հիմնադրամների էջ: Եթե օգնության կարիք ունեք Arduino լեզվի հետ կապված, ապա լեզվի էջը ձեզ համար ամենալավ տեղն է:

Բացի այդ, Օրինակ Էսքիզների էջը հիանալի վայր է ՝ կոդով խառնաշփոթ սկսելու համար: Մի վախեցեք փոխել իրերը և փորձեր կատարել:

Քայլ 13: Վահան

Վահաններով
Վահաններով

Վահաններն ընդլայնման apdapter տախտակներ են, որոնք միանում են Arduino Uno- ի վերևում և տալիս նրան հատուկ գործառույթներ:

Քանի որ Arduino- ն բաց սարքավորում է, յուրաքանչյուր ոք, ով ունի հակում, ազատ է Arduino- ի վահան պատրաստելու համար այն գործի համար, որը կցանկանա իրականացնել: Դրա հաշվին, վայրի բնության մեջ կան անհամար թվով Arduino վահաններ: Arduino խաղահրապարակում կարող եք գտնել Arduino վահանների անընդհատ աճող ցուցակ: Հիշեք, որ գոյություն կունենա ավելի շատ վահան, քան դուք կգտնեք այդ էջում (ինչպես միշտ, Google- ը ձեր ընկերն է):

Arduino վահանների հնարավորությունների մասին փոքր պատկերացում կազմելու համար ծանոթացեք այս ձեռնարկներին, թե ինչպես օգտագործել երեք պաշտոնական Arduino վահաններ.

  • Անլար SD վահան
  • Ethernet վահան
  • Շարժիչային վահան

Քայլ 14: Արտաքին շղթայի կառուցում

Արտաքին շղթայի կառուցում
Արտաքին շղթայի կառուցում

Երբ ձեր նախագծերը դառնում են ավելի բարդ, դուք կցանկանաք կառուցել ձեր սեփական սխեմաները Arduino- ի հետ ինտերֆեյսի համար: Չնայած դուք չեք սովորի էլեկտրոնիկա մեկ գիշերվա ընթացքում, ինտերնետը անհավանական ռեսուրս է էլեկտրոնային գիտելիքների և սխեմաների համար:

Էլեկտրոնիկայի հետ աշխատելու համար այցելեք Basic Electronics Instructable:

Քայլ 15: Անցեք այն կողմը

Անցնելով այն կողմ
Անցնելով այն կողմ

Այստեղից մնում է միայն որոշ նախագծեր կատարել: Առցանց կան անհամար զարմանալի Arduino ռեսուրսներ և ձեռնարկներ:

Համոզվեք, որ ստուգեք Arduino- ի պաշտոնական էջը և ֆորումը: Այստեղ թվարկված տեղեկատվությունը անգնահատելի է և շատ ամբողջական: Սա հիանալի ռեսուրս է նախագծերի կարգաբերման համար:

Եթե ձեզ ոգեշնչման կարիք ունի սկսնակ որոշ զվարճալի նախագծերի համար, ծանոթացեք 20 անհավանական Arduino նախագծերի ուղեցույցին:

Հսկայական ցուցակման կամ Arduino նախագծի համար Arduino Channel- ը հիանալի վայր է սկսելու համար:

Վերջ: Դուք ինքնուրույն եք:

Հաջողություն և երջանիկ հաքերություն:

Պատկեր
Պատկեր

Ձեր կարծիքով սա օգտակար, զվարճալի կամ զվարճալի՞ց էր: Հետևեք @madeineuphoria- ին ՝ իմ վերջին նախագծերը տեսնելու համար:

Խորհուրդ ենք տալիս: