Programmeerimine
C++ keele põhjal, praktiliste harjutustegaErkaani kasutamise eeliseks jadapordi ees on reaalajas tagasiside kõikide portide oleku osas, sest ekraanil olevat väljundit on võimalik uuendada iga mikrokontrolleri tsükli järel.
Lisaks saab ekraanile kuvada ka tegevuste logi, mis võimaldab näha viimaste ridade järgi kronoloogiat, eriti on see just abiks veaotsingutel kui programmiloogika on jäänud seisma, siis on näha, millises kohas täpselt automaatika peatus. |
Kus tuleb omakorda teha otsing nimega "U8g2" ja leida nimekirjast õige teek ning installeerida see nagu näidatud lisatud ekraanivaatel. | ||
Kui oled teegid korrektselt uuendanud / installeerinud, siis saad skriptis kasutada uut funktsiooni ep() - ekraanile printimine, mille sisendiks võivad olla mistahes andmetüübiga eraldatud elemendid. if (r1){ ep("Vajutasin ", 1, ". nuppu"); } Ekraanile printimise funktsioon ep(); kasutab kahetasandilist massiivi, ehk maatriksit, milles on neli rida ja igasse ritta saab kirjutada kuni 22 tähemärgise sõne, täpsemini char loendi. Teegi tasandil on defineeritud char sMx[4][22]; Millest võid omakorda pärida väärtusi kui märgid indeksi, millist rida soovid (loendus algab 0-st) print(sMx[0]); ja saad selle maatriksi sisu vajadusel lisaks kasutada ka mujal väljundites (näiteks jadaühenduses).
Selline etappide nimetuste ekraanile kuvamine võimaldab muuta programmi arenduse lihtsamaks, sest igal ajahetkel on näha nii sisend- kui väljundportide staatused, täpselt järjekorras alates i1, i2, i3 kuni i9 ja nenile sümmeetriliselt vastavate, samade järjekorranumbritega väljundite o1, o2, o3 kuni o9 staatused. Lisaks võid kasutada programmis etappide nummerdamist ja tähenduslikku nimetamist, näiteks int etapp; ja siis saad kasutada void main(){tsüklis järgnevat koodi if (!etapp && r1){ o1 = 1; ep(etapp, " nupuvajutus"); etapp = 1; }else if (etapp == 1){ o6 = 0; o5 = 1; ep(etapp, " etteandehoob"); etapp = 2; }else if (r5 && etapp == 2){ o6 = 0; o5 = 1; ep(etapp, " andur r5 tuvastatud"); etapp = 3; }else if (etapp == 3){ o8 = 0; o7 = 1; ep(etapp, " vasar alla"); etapp = 4; } Nii on sul ülevaatlik võimalus saada täpselt diagnostikas nii järjekorranumbrite kui ka tähenduslike etappide kaupa, kasutades täpselt selliseid nimetusi nagu sulle endale meeldib ja asjakohasemana tundub. Selle programmi väljund on kujutatud järgneval illustratsioonil. |
Teksti pööramine ekraanil Kui soovid ekraani vaadata pööratult või on mõnel muul põhjusel vaja rohkem ridu, siis saad vastavalt vajadusele defineerida ka ekraanil sisu pööramise. Otsi teegist üles ekraaniobjekti seadistamise read
#if USE_SCREEN == 1 u8g2.begin(); u8g2.enableUTF8Print(); u8g2.setDisplayRotation(U8G2_R0); #endif ja kasuta seal vastavalt vajadusele
|
🧐 Semantika HMI-s ja inimmõistetavuse tähtsus Semantika HMI kontekstis viitab märkide, sümbolite, ikoonide, terminite ja tagasiside tähendusele või mõttele, mida süsteem kasutajale edastab. See tähendab, et teabe esitamine peab olema asjakohane ja arusaadav inimesele, kes masinat opereerib või jälgib.
📢 Masina tagasiside tähenduslikkuse tagamine Masina tagasiside (näiteks hoiatused, veateated, olekute näidud) peab olema tähenduslik, et toetada tõhusat otsustusprotsessi.
🧩 Külgnevad mõisted HMI-s ülevaatlikkuse, diagnostika ja ohutuse tagamiseks Semantika on osa laiemast HMI disaini ja ergonoomika raamistikust. Peamised külgnevad kontseptsioonid, mis aitavad tagada ülevaatlikkust, kiiret veadiagnostikat ja ohutust:
1. ⚙️ Ergonoomika (Human Factors / Ergonomics) Tegeleb inimese füüsiliste ja psühholoogiliste võimete ning piirangute arvestamisega liidese disainis.
2. 💡 Kasutatavus (Usability) See viitab sellele, kui tõhusalt, tulemuslikult ja rahuldustpakkuvalt saab kasutaja täita oma ülesanded süsteemi abil.
3. 📉 Andmete visualiseerimine (Data Visualization) Keskendub keerulise andmestiku esitamisele graafilisel ja visuaalsel kujul, et operaator saaks kiiresti aru süsteemi olekust.
4. ✅ Funktsionaalne ohutus (Functional Safety) Süsteemi osa, mis tegeleb ohtlike olukordade vältimisega või nende tagajärgede minimeerimisega süsteemirikke või inimliku vea korral.
|
Monteeri lihtsalt ja kiiresti
Riistvara montaa¾ on jaotatud etappideks ja toetatud õppevideodega. Vaata lähemalt.
Tarkvaratugi
Loe riistvaralist portide lugemist ja muutujate defineerimist toetava tarkvarateegi kohta
C++ on masinate keel
Maailmas kõige enam kasutusel olev seadmete programmeerimiseks kasutatav keel on C++ mis võimaldab väikestel kiipidel ökonoomselt programmiloogikat lahendada ja teha ka suuri kõrgkeelele omaseid andmetöötlusi.
Populaarne Nano standard
Laiendusplaadi nanoTronic disainimisel on aluseks võetud Arduino Nano standard, mis võimaldab teha nii automatiseerimist, vanade asjade digitaliseerimist kui ka luua akutoitel töötavaid ökonoomseid mobiilsid seadmeid.
Ülesanded samm-sammult
Selleks, et C++ paremini tundma õppida on loodud ülesannetekogu, milles saab alguses teha lihtsamaid, samm-sammult keele võimalusi tutvustavaid harjutusi ja siirduda siis järjest edasi jõukohaste väljakutsetega.
Projekti fookusest
Projekt nanoTronic on loodud eelkõige hariduslikel eesmärkidel, et edendada mehhatroonika erialal programmeerimise süvendatud õpet, parema struktuuri ja loogikakasutusega skriptide kirjutamist.