Mitä ohjelmointikieltä kannattaa käyttää mikrokontrolleriprojekteissa? Tutkitaan neljää parasta vaihtoehtoa.

Mikro-ohjainkehityslevyistä on tullut valmistajayhteisön peruskappale. Nämä ohjelmoitavat laitteet on suunniteltu erityisesti käsittelemään tulo- ja lähtösignaaleja tapana ohjata erilaisia ​​moduuleja ja komponentteja, kuten antureita, moottoreita, LEDejä ja ihmisen syöttölaitteita (HID).

Mutta ennen sitä sinun on opittava komentosarjakieli, jota mikro-ohjain voi tulkita ohjelmoidakseen nämä laitteet. Nykyään suosituimpia mikrokontrollerikieliä ovat MicroPython, CircuitPython, Arduino (yksinkertaistettu C++) ja C. Jokaisella näistä kielistä on omat hyvät ja huonot puolensa.

MicroPython

MicroPython on Python 3 -ohjelmointikielen kevyt toteutus, joka on suunniteltu erityisesti mikrokontrollereille. Tohtori Damien George julkaisi sen vuonna 2013 prototyyppien nopeammaksi tekemiseksi ja Pythonin entuudestaan ​​tuttujen ihmisten ohjelmoida mikrokontrollereita vastaavalla kielellä.

ominaisuudet

instagram viewer

MicroPython on erinomainen komentosarjakieli aloittelijoille, jotka haluavat ohjelmoida mikro-ohjaimia. Aloittelijoiden, joilla ei ole koodauskokemusta, on helppo lukea ja ymmärtää, koska se käyttää ihmisen luettavia komentoja yksinkertaisissa rakenteissa. Lisäksi se käyttää REPL (Read-evaluate-print-loop) -ajonaikaista ympäristöä, mikä mahdollistaa interaktiivisen koodauskokemuksen.

Esitys

Mikro-ohjaimen ohjelmointia varten MicroPythonilla siirretään mikro-ohjaimeen kiinteä ohjelmisto, joka sisältää tulkin, kirjastot ja monet muut riippuvuudet. Tämän ansiosta mikro-ohjain voi tulkita ja suorittaa MicroPython-koodin paikallisesti, mikä mahdollistaa nopean prototyyppien valmistuksen, koska koodauksen aikana voidaan antaa reaaliaikainen palaute.

Kuitenkin johtuen kuinka prosessorit suorittavat koodia, tulkitut kielet, kuten MicroPython, ovat huomattavasti hitaampia verrattuna käännettyihin kieliin, kuten C++. Joten oletusarvoisesti, vaikka prototyyppien tekeminen voi olla paljon nopeampaa, koodin suoritus itsessään on hitaampaa.

Yhteensopivuus

Koska MicroPython käyttää paikallisia resursseja ohjelmien tulkitsemiseen ja suorittamiseen, mikro-ohjaimessa on oltava vähintään 256 kt flash-muistia ja 16 kt RAM-muistia. Valitettavasti jotkin suositut kehityslevyt, kuten Arduino Uno, eivät täytä vaadittuja teknisiä tietoja. MicroPythonin kanssa yhteensopivia levyjä on kuitenkin edelleen paljon.

Tällä hetkellä MicroPython tukee virallisesti Pyboardia, ESP32:ta, ESP8266:ta, Raspberry Pi Picoa, BBC micro: bittiä, STM32-kehityslevyt ja muutama Arduino-levy, kuten Nano 33 BLE, Nano RP2040, Giga R1 ja Portenta H7.

Yhteisö ja tuki

Vuonna 2013 julkaisunsa jälkeen MicroPython on kerännyt runsaasti seuraajia. Aloittelijoilla pitäisi olla helppoa oppia MicroPython sen hyvin kirjoitetun dokumentaation avulla. Jos tarvitset lisää apua, MicroPythonilla on myös yhteisöfoorumi, jossa käyttäjät jakavat opetusohjelmia, ideoita ja vastaavat kaikenlaisiin MicroPython-ongelmiin.

Arduino

Arduino on suosittu avoimen lähdekoodin alusta, joka on suunnattu ensisijaisesti elektroniikka- ja tee-se-itse-harrastajille. Arduino-ohjelmointikieli perustuu C- ja C++-ohjelmointikieliin. Arduino-kielen julkaisi vuonna 2005 ryhmä italialaisia ​​insinöörejä, taiteilijoita ja suunnittelijoita.

ominaisuudet

Arduino-ohjelmointikieli käyttää sekä C: n että C++:n irrotettua versiota, joten sen oppiminen ja kehittäminen on helppoa. Koodin suorittaminen Arduinolla on huomattavasti nopeampaa kuin sen tulkitut kielet sen käännetyn luonteen vuoksi. Lisäksi Arduino vaatii vain pienen määrän järjestelmäresursseja toimiakseen, joten se on yhteensopiva monien kehityslevyjen ja mikro-ohjainten kanssa.

Esitys

Toisin kuin MicroPython ja CircuitPython, Arduino on käännetty ohjelmointikieli. Tämä tarkoittaa, että koodi käännetään ensin kääntäjällä (joka sisältyy jo Arduino IDE: hen) ja sitten mikro-ohjain suorittaa sen kokonaisena ohjelmana.

Tämä parantaa merkittävästi koodin suoritusta, koska mikro-ohjaimen ei tarvitse käyttää resursseja jokaisen koodirivin tulkitsemiseen. Lisäksi ohjelman kääntäminen kääntää sen myös konekoodiksi, jonka mikro-ohjain voi natiivisti suorittaa ilman riippuvuuksien asentamista.

Tämä parantaa huomattavasti koodin suoritusnopeutta, koska mikro-ohjain voi suorittaa ohjelman suoraan ilman aikaa ja laitteistoresursseja koodin kääntämiseen.

Tuetut levyt

Koska käännösvaihe tapahtuu IDE: n kautta, mikro-ohjaimissa voi olla vain 32 kt flash-muistia ja 2 kt RAM-muistia toimiakseen. Arduino-levyjä lukuun ottamatta, Arduino-levyvaihtoehtoja on monia voit ohjelmoida Arduinon kanssa. Monet näistä levyistä käyttäisivät mikro-ohjaimia, kuten ATmega328P, ATmega2560, SAMx8E, ESP8266, ESP32 ja STM32.

Yhteisö ja tuki

Koska Arduino on ollut avoimen lähdekoodin alusta vuodesta 2005, sillä on parasta saatavilla olevaa dokumentaatiota. Arduino Foundation tarjoaa aktiivisesti päivityksiä, tukea ja uusia jännittäviä tuotteita joka vuosi. Maailmanlaajuinen yhteisö on myös yksi aktiivisimmista oppaiden ja ideoiden jakamisessa sekä mahdollisiin vianmääritysongelmiin vastaamisessa. Arduinon avulla sinulle taataan hyvä tukitaso.

CircuitPython

CircuitPython on Adafruitin Python 3 -toteutus, joka perustuu MicroPythonin päälle. Vaikka CircuitPython on erotettu MicroPythonista, se tarjoaa useita parannuksia, jotka tekevät mikro-ohjainten oppimisesta helppoa ja hauskaa.

ominaisuudet

CircuitPython luotiin auttamaan aloittelijoita opettelemaan mikro-ohjainten ohjelmointia. Tämän saavuttamiseksi CircuitPython tarjoaa useita ominaisuuksia, mukaan lukien interaktiivisen koodauksen ympäristö, sisäänrakennetut kirjastot, yksinkertainen syntaksi (yksinkertaisempi kuin MicroPython) ja erinomainen dokumentaatio ja oppaita.

Esitys

Koska CircuitPython perustuu MicroPythoniin, sillä on monia samoja vahvuuksia ja heikkouksia. Ohjelman suoritusaika on hieman hitaampi kuin MicroPython, koska CircuitPython tarjoaa enemmän ominaisuuksia ja lisäkirjastoja. Ero on kuitenkin todennäköisesti huomaamaton, koska CircuitPython vaatii tehokkaampia mikrokontrollereita toimiakseen.

Tuetut levyt

Integroitujen kirjastojen ja vielä yksinkertaisemman syntaksin ansiosta mikro-ohjainkehityslevyt tarvitsevat enemmän resursseja CircuitPythonin käyttämiseen. Mikro-ohjaimessa on oltava vähintään 8-bittinen prosessori, 256 kt flash-muisti (suositus 512 kt) ja 32 kt RAM-muisti (suositus 64 kt). Tällä hetkellä CircuitPython tukee yli 390 kehityslevyä, jotka on listattu virallinen nettisivu.

Yhteisö ja tuki

Adafruitin tiedetään valmistavan tuotteita, jotka ovat aloittelijaystävällisiä. Sellaisenaan voit löytää helposti ymmärrettäviä asiakirjoja ja kirjoja CircuitPythonista. Vaikka kieli esiteltiin vasta vuonna 2017, sillä on silti suurempi seuraaja kuin MicroPythonilla, jonka voit tavoittaa Discordin ja virallisen foorumin kautta. Kuten Arduino Foundation, Adafruit tarjoaa aktiivisesti päivityksiä, tukea ja uusia tuotteita, mikä tarkoittaa, että tuen pitäisi olla helppo löytää.

C

C on yleiskäyttöinen ohjelmointikieli, jonka Dennis Ritchie kehitti Bell Labsissa 1970-luvulla. Se on käännetty ohjelmointikieli, jota insinöörit ja muut ammattilaiset käyttivät usein ohjelmoimaan mikro-ohjaimia erittäin tehokkailla tasoilla.

ominaisuudet

Vaikka C: n kieli on vaikeampi oppia, sen tärkein etu MicroPythoniin, CircuitPythoniin ja Arduinoon verrattuna on sen tarjoama nopeus, tehokkuus, hallinta ja siirrettävyys. Tämä tekee C: stä parhaan kielen ohjelmoida molemmat mikro-ohjaimet käytettäviksi valmiissa tuotteissa.

Esitys

Suuren kannettavuuden lisäksi C tunnetaan suorituskyvystään. Se voi ajaa ohjelmia nopeammin kuin Arduino, MicroPython ja CircuitPython, jopa vähemmän resursseja vaativalla mikro-ohjaimella. Tämä johtuu siitä, että C on tehokkaampi kieli, joka vaatii vähiten riippuvuuksia. Vaikka käännetty Arduino-ohjelma voidaan, kuten C-ohjelma, ajaa paljasmetallilaitteistolla, sen konekoodi on valmiiksi paistettu kirjastoilla ja työkaluilla, jotka vähentävät suorituskykyä.

Tuetut levyt

C-kieli on niin kannettava, että sillä voidaan ohjelmoida melkein mikä tahansa Arm-pohjainen mikro-ohjain. Lisäksi sitä voidaan käyttää korteilla, jotka perustuvat Atmel AVR-, STM32-, PIC- ja MSP-mikrokontrollereihin.

Yhteisö ja tuki

Vankan ohjelmointisovelluksensa ja jo useita vuosikymmeniä vanhan C-ohjelmointikielellä on valtava verkkoyhteisö. Löydät helposti apua erilaisista online-foorumeilta, chat-huoneista ja blogeista, jotka on omistettu C-kielestä keskustelemiseen ja ideoiden jakamiseen.

Millä kielellä sinun tulisi ohjelmoida?

Joten mikä on paras kieli mikro-ohjainten ohjelmointiin? Riippuu todella ihmisestä. C-kieli olisi paras ammattilaisille, jotka suunnittelevat elektroniikkaa tuotantoon.

Ne, joilla ei ole koodauskokemusta, saattavat haluta aloittaa CircuitPythonilla, koska siinä on ominaisuuksia ja dokumentaatiota, jotka tekevät oppimisesta helppoa ja hauskaa. Pythonin tuntevien on helppo ohjelmoida mikro-ohjaimet MicroPythonilla.

Ja suurimmalle osalle tee-se-itse/maker-yhteisöstä Arduino olisi edelleen paras ohjelmointikieli mikro-ohjaimet, koska se tarjoaa erinomaisen tasapainon suorituskyvyn, kannettavuuden, ominaisuuksien ja Yhteisö.