Који програмски језик треба да користите за своје пројекте микроконтролера? Хајде да истражимо четири најбоље опције.
Плоче за развој микроконтролера постале су основни производ у заједници произвођача. Ови програмабилни уређаји су посебно дизајнирани за обраду улазних и излазних сигнала као начин за контролу различитих модула и компоненти као што су сензори, мотори, ЛЕД диоде и уређаји за људски унос (ХИД).
Али пре тога, мораћете да научите скриптни језик који микроконтролер може да протумачи за програмирање ових уређаја. Данашњи најпопуларнији језици микроконтролера укључују МицроПитхон, ЦирцуитПитхон, Ардуино (поједностављени Ц++) и Ц. Сваки од ових језика има своје предности и недостатке.
МицроПитхон
МицроПитхон је лагана имплементација програмског језика Питхон 3 дизајнирана посебно за микроконтролере. Објавио га је 2013. др Демијен Џорџ ради брже израде прототипа и да би се омогућило људима који су већ упознати са Питхон-ом да програмирају микроконтролере са сличним језиком.
Карактеристике
МицроПитхон је одличан скрипт језик за почетнике који желе да програмирају микроконтролере. Почетницима без искуства у кодирању ће бити лако за читање и разумевање јер користи команде читљиве људе у једноставним структурама. Штавише, користи окружење за читање-евалуацију-штампање (РЕПЛ), омогућавајући интерактивно искуство кодирања.
Перформансе
За програмирање микроконтролера помоћу МицроПитхон-а, фирмвер који садржи интерпретер, библиотеке и разне друге зависности се флешује у микроконтролер. Ово омогућава да микроконтролер локално тумачи и извршава МицроПитхон код, омогућавајући брзу израду прототипа пошто се повратне информације уживо могу обезбедити током кодирања.
Међутим, због како процесори извршавају код, интерпретирани језици као што је МицроПитхон биће знатно спорији у поређењу са компајлираним језицима као што је Ц++. Дакле, подразумевано, иако израда прототипа може бити много бржа, само извршавање кода је спорије.
Компатибилност
Пошто МицроПитхон користи локалне ресурсе за тумачење и извршавање програма, микроконтролер мора имати најмање 256 кБ флеш меморије и 16 кБ РАМ-а. Нажалост, неке популарне развојне плоче попут Ардуино Уно не испуњавају потребне спецификације. Међутим, још увек постоји много плоча које су компатибилне са МицроПитхон-ом.
Тренутно, МицроПитхон званично подржава Пибоард, ЕСП32, ЕСП8266, Распберри Пи Пицо, ББЦ мицро: бит, СТМ32 развојне плоче и неколико Ардуино плоча као што су Нано 33 БЛЕ, Нано РП2040, Гига Р1 и Портента Х7.
Заједница и подршка
Од свог лансирања 2013. године, МицроПитхон је од тада стекао знатан број следбеника. Почетници би требало да лако уче МицроПитхон са његовом добро написаном документацијом. Ако вам је потребна додатна помоћ, МицроПитхон такође има форум заједнице где корисници деле упутства, идеје и одговарају на све врсте проблема које можете имати у вези са МицроПитхон-ом.
Ардуино
Ардуино је популарна платформа отвореног кода првенствено намењена ентузијастима електронике и уради сам. Програмски језик Ардуино је заснован на програмским језицима Ц и Ц++. Ардуино језик је 2005. године објавила група инжењера, уметника и дизајнера из Италије.
Карактеристике
Програмски језик Ардуино користи смањену верзију и Ц и Ц++, што олакшава учење и развој. Извршење кода помоћу Ардуина је знатно брже од његових колега на интерпретираном језику због његове компајлиране природе. Штавише, Ардуино захтева само малу количину системских ресурса за рад, што га чини компатибилним са многим развојним плочама и микроконтролерима.
Перформансе
За разлику од МицроПитхон-а и ЦирцуитПитхон-а, Ардуино је компајлирани програмски језик. То значи да се код прво компајлира на компајлеру (који је већ укључен у Ардуино ИДЕ), а затим га микроконтролер извршава као цео програм.
Ово значајно побољшава извршавање кода јер микроконтролер не мора да користи ресурсе за тумачење сваке линије кода. Поред тога, компајлирање програма га такође преводи у машински код који микроконтролер може нативно да изврши без инсталирања зависности.
Ово значајно побољшава брзину извршавања кода јер микроконтролер може директно да изврши програм без додељивања времена и хардверских ресурса за превођење кода.
Подржане плоче
Пошто се фаза компајлирања обавља преко ИДЕ-а, микроконтролери могу имати само 32 кБ флеш меморије и 2 кБ РАМ-а за рад. Дакле, осим Ардуино плоча, постоји много алтернатива Ардуино плочама можете користити за програмирање са Ардуином. Многе од ових плоча би користиле микроконтролере као што су АТмега328П, АТмега2560, САМк8Е, ЕСП8266, ЕСП32 и СТМ32.
Заједница и подршка
Будући да је платформа отвореног кода од 2005. године, Ардуино има неку од најбољих доступних докумената. Ардуино фондација сваке године активно пружа ажурирања, подршку и нове узбудљиве производе. Светска заједница је такође једна од најактивнијих у дељењу водича и идеја и одговарању на све проблеме са којима се можете суочити. Са Ардуином вам је загарантован добар ниво подршке.
ЦирцуитПитхон
ЦирцуитПитхон је Адафруитова имплементација Питхон-а 3, која се гради на врху МицроПитхон-а. Иако се рачва од МицроПитхон-а, ЦирцуитПитхон нуди неколико побољшања како би учење микроконтролера учинило лаким и забавним.
Карактеристике
ЦирцуитПитхон је креиран да помогне почетницима да науче како да програмирају микроконтролере. Да би се то постигло, ЦирцуитПитхон нуди неколико функција, укључујући интерактивно кодирање окружење, уграђене библиотеке, једноставна синтакса (једноставнија од МицроПитхон-а) и одлична документација и водичи.
Перформансе
Пошто је ЦирцуитПитхон заснован на МицроПитхон-у, он има многе исте предности и слабости. Време извођења програма биће нешто спорије од МицроПитхон-а јер ЦирцуитПитхон пружа више функција и додатних библиотека. Међутим, разлика је вероватно неприметна јер ЦирцуитПитхон захтева способније микроконтролере за рад.
Подржане плоче
Са интегрисаним библиотекама и још једноставнијом синтаксом, развојним плочама микроконтролера је потребно више ресурса за коришћење ЦирцуитПитхон-а. Као минимум, микроконтролер треба да има 8-битни процесор, 256 кБ флеш меморије (препоручује се 512 кБ) и 32 кБ РАМ-а (препоручује се 64 кБ). Тренутно, ЦирцуитПитхон подржава преко 390 развојних плоча, наведених на званични сајт.
Заједница и подршка
Познато је да Адафруит производи производе који су погодни за почетнике. Као такав, можете пронаћи лако разумљиву документацију и књиге о ЦирцуитПитхон-у. Иако је језик уведен тек 2017. године, он и даље има веће следбенике од МицроПитхон-а, до којег можете доћи преко Дисцорд-а и званичног форума. Као и Ардуино фондација, Адафруит активно пружа ажурирања, подршку и нове производе, што значи да би подршку требало лако пронаћи.
Ц
Ц је програмски језик опште намене који је 1970-их развио Деннис Ритцхие у Белл Лабс-у. То је компајлирани програмски језик који инжењери и други професионалци често користе за програмирање микроконтролера са високим нивоом ефикасности.
Карактеристике
Иако је језик тежи за учење, главна предност Ц у односу на МицроПитхон, ЦирцуитПитхон и Ардуино је ниво брзине, ефикасности, контроле и преносивости који пружа. Ово чини Ц најбољим језиком за програмирање оба микроконтролера за употребу у готовим производима.
Перформансе
Поред велике преносивости, Ц је познат по својим перформансама. Може да покреће програме брже од Ардуино, МицроПитхон и ЦирцуитПитхон, чак и са микроконтролером са нижим ресурсима. То је зато што је Ц ефикаснији језик, који захтева најмање зависности. Иако се компајлирани Ардуино програм може, као и Ц, покренути на хардверу без метала, његов машински код долази унапред припремљен са библиотекама и алатима који смањују перформансе.
Подржане плоче
Језик Ц је толико преносив да се може користити за програмирање било којег микроконтролера заснованог на Арм-у. Поред тога, може се користити на плочама заснованим на Атмел АВР, СТМ32, ПИЦ и МСП микроконтролерима.
Заједница и подршка
Због своје робусне програмске апликације и чињенице да је стар већ неколико деценија, програмски језик Ц има огромну онлајн заједницу. Можете лако да пронађете помоћ преко разних онлајн форума, соба за ћаскање и блогова посвећених дискусији и размени идеја о језику Ц.
На ком језику треба да програмирате?
Дакле, који је најбољи језик за програмирање микроконтролера? Заиста зависи од особе. Ц језик би био најбољи за професионалце који дизајнирају електронику за производњу.
Они који немају искуства у кодирању можда ће желети да почну са ЦирцуитПитхон-ом јер има функције и документацију које учење чине лаким и забавним. Они који су упознати са Питхон-ом ће лако програмирати микроконтролере са МицроПитхон-ом.
А за већину заједнице „уради сам“/произвођача, Ардуино би и даље био најбољи језик за програмирање микроконтролера, јер нуди изванредан баланс перформанси, преносивости, карактеристика и заједница.