Միկրոկառավարիչների ծրագրավորում սկսնակների համար
Միկրոկառավարիչների ծրագրավորումը ժամանակակից տեխնոլոգիական դարաշրջանում դարձել է բարձր պահանջարկ ունեցող հմտություն: Միկրոկառավարիչը փոքր համակարգչային միավոր է, որը ներառում է կենտրոնական պրոցեսոր, հիշողություն և մուտքային/ելքային սարքեր, որոնք ինտեգրված են մեկ չիպի մեջ: Միկրոկառավարիչները հաճախ օգտագործվում են առօրյա էլեկտրոնային սարքերում, ինչպիսիք են հեռուստացույցները, լվացքի մեքենաները, միկրոալիքային վառարանները և տարբեր տեսակի արդյունաբերական սարքավորումները: Այս հոդվածը կներառի միկրոկառավարիչների ծրագրավորման հիմունքները սկսնակների համար, ներառյալ ծրագրավորման տարածված գործիքներն ու լեզուները, ինչպես նաև ձեր առաջին նախագիծը սկսելու քայլերը:
Ի՞նչ է միկրոկառավարիչը։
Միկրոկառավարիչը փոքր համակարգիչ է մեկ ինտեգրալ սխեմայի (IC) մեջ, որը նախատեսված է էլեկտրոնային սարքերը կառավարելու համար: Միկրոկառավարիչը սովորաբար բաղկացած է.
– Կենտրոնական մշակման բլոկ (CPU)
– Պատահական մուտքի հիշողություն (RAM)
– Միայն ընթերցման հիշողություն (ROM)
– Մուտքային/ելքային միացքներ
- ժմչփ
– Լրացուցիչ սարքեր, ինչպիսիք են ADC-ն (անալոգ-թվային փոխարկիչ) և DAC-ն (թվային-անալոգային փոխարկիչ)
Միկրոկառավարիչների որոշ օրինակներ, որոնք տարածված են ինչպես սիրողականների, այնպես էլ մասնագետների շրջանում, Atmel-ի AVR շարքն է, Microchip Technology-ի PIC-ը և ARM Holdings-ի ARM Cortex-M-ը։
Անհրաժեշտ սարքավորումներ և ծրագրային ապահովում
Միկրոկառավարիչները ծրագրավորելը սկսելու համար ձեզ անհրաժեշտ կլինի որոշ հիմնական սարքավորումներ և ծրագրակազմ.
1. Միկրոկառավարիչ կամ մշակման տախտակ. Օրինակ՝ Arduino, STM32 Nucleo կամ Raspberry Pi Pico:
2. USB մալուխ. Սովորաբար օգտագործվում է մշակման տախտակը համակարգչին միացնելու համար:
3. Windows, macOS կամ Linux օպերացիոն համակարգով համակարգիչ։
4. Ինտեգրված մշակման միջավայր (IDE). Կոդ գրելու, վերբեռնելու և փորձարկելու հարթակ: Հաճախ օգտագործվող IDE-ների օրինակներ են Arduino IDE-ն, MPLAB X IDE-ն (PIC-ի համար) և Keil uVision-ը (ARM-ի համար):
5. Ծրագրավորման լեզու. C/C++-ը միկրոկառավարիչներով ծրագրավորման ամենատարածված լեզուն է, չնայած որոշ տախտակներ, ինչպիսին է Arduino-ն, թույլ են տալիս օգտագործել C++-ի ավելի պարզ բարբառներ։
Սկսելով Arduino-ի հետ
Arduino-ն շատ տարածված միկրոկառավարիչների հարթակ է և իդեալական է սկսնակների համար: Այն առաջարկում է մի շարք տախտակներ, այդ թվում՝ Arduino Uno, Mega և Nano, որոնք օգտագործում են AVR միկրոկառավարիչներ (օրինակ՝ ATmega328): Ահա Arduino-ով միկրոկառավարիչներ ծրագրավորելու հիմնական քայլերը.
Arduino IDE-ի տեղադրում և կարգաբերում
1. Ներբեռնեք Arduino IDE-ն. Այցելեք Arduino-ի պաշտոնական կայքը (www.arduino.cc) և ներբեռնեք Arduino IDE-ի վերջին տարբերակը, որը համապատասխանում է ձեր օպերացիոն համակարգին։
2. Arduino IDE-ի տեղադրում. Հետևեք տեղադրման հրահանգներին՝ Arduino IDE-ն ձեր համակարգչում տեղադրելու համար:
3. Arduino տախտակի միացում. Օգտագործեք USB մալուխ՝ ձեր Arduino տախտակը համակարգչին միացնելու համար: Համոզվեք, որ տախտակի դրայվերները ճիշտ են տեղադրված:
4. Ընտրեք Պլատայի և Պորտի տարբերակը. Բացեք Arduino IDE-ն, անցեք «Գործիքներ» -> «Պլատայի» բաժին և ընտրեք օգտագործվող պլատայի տեսակը (օրինակ՝ Arduino Uno): Հաջորդը, ընտրեք «Գործիքներ» -> «Պլատայի միացք» և ընտրեք համապատասխան սերիական միացքը:
Առաջին ծրագիր՝ «Բարև աշխարհ» LED-ով
Սկսնակների հաճախ կատարած առաջին նախագծերից մեկը LED-ի թարթումն է, որը միկրոկառավարիչների ծրագրավորման մեջ հայտնի է նաև որպես «Բարև Աշխարհ» ծրագիր:
1. Բացեք Arduino IDE-ն. Բացեք Arduino IDE-ն և ընտրեք `Ֆայլ` -> `Նոր`՝ նոր ուրվագիծ ստեղծելու համար:
2. Գրեք ծրագրի կոդը. Մուտքագրեք հետևյալ կոդը՝ 13-րդ միակցիչի վրա ներկառուցված LED-ը թարթելու համար։
«ք
անվավեր կարգավորում () {
// Սահմանեք 13-րդ քորոցը որպես OUTPUT
pinMode (13, OUTPUT);
}
անվավեր հանգույց () {
digitalWrite(13, HIGH); // Միացրեք LED-ը
delay(1000); // Սպասեք 1 վայրկյան
digitalWrite(13, LOW); // Անջատեք LED-ը
delay(1000); // Սպասեք 1 վայրկյան
}
««
3. Բեռնեք ծրագիրը. Սեղմեք Arduino IDE-ի «Բեռնել» կոճակը՝ կոդը Arduino տախտակի վրա բեռնելու համար: 13-րդ միացման LED-ը կսկսի թարթել 1 վայրկյան ընդմիջումներով:
Միկրոկառավարիչների ծրագրավորման հիմունքների ըմբռնում
Առաջին նախագիծը հաջողությամբ ավարտելուց հետո հաջորդ քայլը միկրոկառավարիչների ծրագրավորման որոշ հիմնական հասկացությունների ըմբռնումն է.
Մուտք/ելք pins
Մուտք/ելք միացումները միկրոկառավարիչի կողմից արտաքին աշխարհի հետ կապվելու համար օգտագործվող հիմնական ինտերֆեյսն են։ Այս միացումները կարող են կարգավորվել որպես մուտքային կամ ելքային ազդանշաններ։ `pinMode()`-ն օգտագործվում է միացման ռեժիմը սահմանելու համար, `digitalWrite()`-ն օգտագործվում է միացման վրա տրամաբանական արժեք գրելու համար, իսկ `digitalRead()`-ն օգտագործվում է միացումից տրամաբանական արժեքը կարդալու համար։
Ընդհատում է
Ընդհատումները կարևոր մեխանիզմ են, որը թույլ է տալիս միկրոկառավարիչներին արագ արձագանքել արտաքին իրադարձություններին: Օրինակ՝ կոճակի սեղմում կամ փոփոխություն հայտնաբերող սենսորի կողմից: Arduino-ում `attachInterrupt()`-ն օգտագործվում է ընդհատումները կառավարելու համար:
Տայմեր
Ժամաչափը միկրոկառավարիչի ներքին բաղադրիչ է, որը կարող է օգտագործվել ժամանակը չափելու կամ որոշակի հաճախականությամբ ազդանշաններ ստեղծելու համար: Ժամաչափերը կարող են ծրագրավորվել որոշակի ժամանակային ընդմիջումներով ընդհատումներ ստեղծելու համար:
Սերիական կապ
Սերիական կապը միկրոկառավարիչների և այլ սարքերի, ինչպիսիք են համակարգիչները, միջև հաղորդակցման տարածված մեթոդ է: Arduino-ն ունի սերիական գրադարան, որն օգտագործվում է սերիական տվյալներ ուղարկելու և ստանալու համար (`Serial.begin()`, `Serial.print()`, `Serial.read()`):
Սենսորներ և ակտուատորներ
Սենսորը սարք է, որը ֆիզիկական փոփոխականները, ինչպիսիք են լույսը, ջերմաստիճանը կամ ճնշումը, վերածում է էլեկտրական ազդանշանների, որոնք կարող են կարդացվել միկրոկառավարիչի կողմից: Մյուս կողմից, ակտուատորը էլեկտրական ազդանշանները վերածում է ֆիզիկական շարժման: Սենսորների և ակտուատորների միացումը և կառավարումը շատ միկրոկառավարիչների նախագծերի հիմքում է:
Առաջադեմ նախագծեր
Միկրոկառավարիչների ծրագրավորման հիմունքները տիրապետելուց հետո կարող եք փորձել ավելի բարդ նախագծեր, ինչպիսիք են՝
– Ջերմաստիճանի կարգավորիչ. Օգտագործում է ջերմաստիճանի սենսոր, ինչպիսին է DHT11-ը, և արդյունքները ցուցադրում է LCD էկրանին։
– Ռոբոտացված տրանսպորտային միջոց. Կառավարելով հաստատուն հոսանքի շարժիչը՝ օգտագործելով շարժիչի դրայվեր և Bluetooth մոդուլ՝ ստեղծելու համար ռոբոտացված տրանսպորտային միջոց, որը կառավարվում է սմարթֆոնի միջոցով։
– Իրերի ինտերնետ (IoT). WiFi մոդուլների, ինչպիսիք են ESP8266-ը կամ ESP32-ը, օգտագործում՝ ինտերնետի միջոցով հասանելիություն ունեցող IoT սարքեր կառուցելու համար։
Լրացուցիչ գրագիտություն
Միկրոկառավարիչների ծրագրավորման ոլորտում ձեր գիտելիքներն ու հմտությունները խորացնելու համար կան մի քանի շատ օգտակար ռեսուրսներ.
– Գրքեր. Սայմոն Մոնկի «Arduino-ի ծրագրավորում. Սկսել ուրվագծերով» և Մուհամմադ Ալի Մազիդիի «AVR միկրոկառավարիչը և ներդրված համակարգերը» գրքերը հիանալի ռեսուրսներ են։
– Առցանց ձեռնարկներ. Arduino.cc, Instructables և Hackster.io նման կայքերը առաջարկում են բազմաթիվ անվճար նախագծեր և ձեռնարկներ:
– Ֆորումներ և համայնքներ. Stack Overflow-ի, Reddit r/arduino-ի և միկրոկառավարիչի պաշտոնական կայքում գտնվող համայնքը լավ վայրեր են հարցեր տալու և օգնություն ստանալու համար։
Եզրակացություն
Միկրոկառավարիչների ծրագրավորումը շատ արժեքավոր և հետաքրքիր հմտություն է: Թեև սկզբում դա կարող է դժվար թվալ, մի փոքր համբերատարության և պրակտիկայի դեպքում դուք շուտով կստեղծեք ձեր սեփական նախագծերը: Սկսեք ճիշտ սարքերից և գործիքներից, ինչպիսին է Arduino-ն սկսնակների համար, և անցեք ավելի բարդ միկրոկառավարիչների՝ ձեր հմտությունների զարգացմանը զուգընթաց: Միկրոկառավարիչների աշխարհը լի է ստեղծագործական և նորարարական հնարավորություններով, որոնք սպասում են ուսումնասիրության: