Montaa¾      Teegid      Ülesanded      
Info kuvamine 096'' OLED Selleks, et saada maksimaalse ülevaatlikkusega aru, millised on sisendite ja väljundite hetkeväärtused ning näha viimaste operatsioonide logi, ilma jadapordi kaudu ühendust loomata, on käepäraseks võimaluseks kasutada 128 x 64 pikselilist OLED ekraani. HMI peab andma operaatorile ajakohast teavet automaatika käitumise ja kavatsuste kohta Info kuvamine 0. 96'' OLED ekraanil

Programmeerimine

C++ keele põhjal, praktiliste harjutustega

Info kuvamine 0.96'' OLED ekraanil

Selleks, et saada maksimaalse ülevaatlikkusega aru, millised on sisendite ja väljundite hetkeväärtused ning näha viimaste operatsioonide logi, ilma jadapordi kaudu ühendust loomata, on käepäraseks võimaluseks kasutada 128 x 64 pikselilist OLED ekraani.

Erkaani 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. 

Info kuvamine 0.96'' OLED ekraanil
Info kuvamine 0.96'' OLED ekraanil
  1. Laadi selle lõigu lõpust alla täiendatud nanoTronic068 versiooni teek ja kirjuta vana uuega üle.
  2. Samuti vajad veel lisaks OLED 128 x 64 pikselilise ekraani jaoks teeki nimega "U8g2", lihtsaim on seda paigaldada Arduino IDE kaudu "Tools" => "Manage Libraries" dialoogis. 

 

Kus tuleb omakorda teha otsing nimega "U8g2" ja leida nimekirjast õige teek ning installeerida see nagu näidatud lisatud ekraanivaatel.

h nanoTronic 068 v teek 128 x 64 ekraani toega (.h 10,6Kb).
Info kuvamine 0.96'' OLED ekraanil

 

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. 
Info kuvamine 0.96'' OLED ekraanil

 

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 

  • u8g2.setDisplayRotation(U8G2_R0) – Tavaline (0°)
  • u8g2.setDisplayRotation(U8G2_R1) – 90 kraadi päripäeva
  • u8g2.setDisplayRotation(U8G2_R2) – 180 kraadi (tagurpidi)
  • u8g2.setDisplayRotation(U8G2_R3) – 270 kraadi päripäeva (ehk 90 kraadi vastupäeva)

 

 
🧐 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.

  • Olulisus:

    • Vähendab kognitiivset koormust: Kui masina poolt edastatav teave (nagu graafikud, hoiatused, mõõdikud) on semantiliselt selge, ei pea operaator kulutama väärtuslikku aega selle "tõlkimisele" või tõlgendamisele.

    • Tagab kiire ja täpse tegutsemise: Eriti kriitilistes olukordades peab operaator saama koheselt aru, mida masin ütleb ja mida on vaja teha. Vale tõlgendus viib vigade ja potentsiaalselt ohtlike olukordadeni.

    • Vastab kasutaja ootustele: Semantiline vastavus tähendab, et liides käitub vastavalt sellele, mida kasutaja oma varasemate teadmiste ja kogemuste põhjal eeldab (nt punane tähendab ohtu, roheline ohutut seisundit).

    • Üldiselt inimmõistetavus on HMI peamine eesmärk: luua sild keeruliste tehniliste andmete ja inimkasutaja vahel, muutes need andmed kergesti mõistetavaks ja kasutatavaks.


📢 Masina tagasiside tähenduslikkuse tagamine

Masina tagasiside (näiteks hoiatused, veateated, olekute näidud) peab olema tähenduslik, et toetada tõhusat otsustusprotsessi.

  1. Selge ja üheselt mõistetav keel: Kasutada tuleks spetsiifilist terminoloogiat, mis on operaatorile tuttav. Vältida tuleks ebamääraseid lühendeid ja koodnumbritest koosnevaid teateid, kui neile pole lisatud selgitust.

  2. Kontekstipõhine esitus: Tagasiside peaks olema esitatud vastavalt hetkeolukorrale. Näiteks mitte ainult "Viga 404", vaid "Mootori jahutusvedeliku temperatuur on kriitiliselt kõrge, viga 404: Anduri rike".

  3. Hoiatuste hierarhia ja prioriteetsus: Kriitilised hoiatused peavad olema visuaalselt ja/või kuuldavalt esile tõstetud ja domineerima vähem olulise teabe üle. Kasutada standardseid värvi- ja helimärke (punane oht, kollane hoiatus).

  4. Tegevusele suunatud tagasiside: Veateade ei tohiks ainult probleemist teatada, vaid pakkuda ka soovitusi edasisteks toiminguteks. Näiteks: "Süsteemi väljalülitus 30 sekundi pärast. Vajutage [Kinnita] käsitsi väljalülitamiseks."

  5. Aegsus (Real-time): Tagasiside peab saabuma koheselt pärast sündmuse toimumist, et võimaldada kiire reageerimine.


🧩 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.

  • Olulisus: Minimeerib füüsilist ja kognitiivset koormust. Tagab mugava ja loomuliku interaktsiooni.

  • Näited: Nuppude ja lülitite füüsiline paigutus, kuvarite suurus ja resolutsioon, lugemiskaugus, liikumisvajadus (nt puuteekraanide kasutamine).

 

2. 💡 Kasutatavus (Usability)

See viitab sellele, kui tõhusalt, tulemuslikult ja rahuldustpakkuvalt saab kasutaja täita oma ülesanded süsteemi abil.

  • Olulisus: Liides peab olema intuitiivne ja lihtne kasutada, vähendades õppimiskõverat ja vältides vigu.

  • Põhiprintsiibid:

    • Ülevaatlikkus (Consistency): Sarnased funktsioonid peavad liidese eri osades käituma sarnaselt.

    • Isekirjeldavus (Self-descriptiveness): Liides peab olema koheselt arusaadav ilma ulatuslike juhenditeta (kontekstitundlik abi).

    • Kontrollitavus (Controllability): Kasutajal peab olema kontroll protsessi üle, sh võimalus tegevusi tühistada või katkestada.

 

3. 📉 Andmete visualiseerimine (Data Visualization)

Keskendub keerulise andmestiku esitamisele graafilisel ja visuaalsel kujul, et operaator saaks kiiresti aru süsteemi olekust.

  • Olulisus: Võimaldab kiiret mustrite, trendide ja kõrvalekallete tuvastamist (kiire veadiagnostika).

  • Näited: Graafikud (trendid), mõõdikud (selge oleku näit), hierarhilised diagrammid (süsteemi ülevaade), optimaalne värvikasutus (punane, kollane, roheline).

 

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.

  • Olulisus: Tagab, et HMI kuvab kriitilist ohutusteavet usaldusväärselt ja seda ei saa juhuslikult tühistada.

  • Näited: Kriitiliste hoiatuste prioritiseerimine (nt pidurisüsteemi rikke märguanne), hädaolukorra nuppude selge ja kiire kättesaadavus, ohutusstandardite (nt ISO 26262) järgimine. HMI peab andma operaatorile ajakohast teavet automaatika käitumise ja kavatsuste kohta.

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. 

Veebilehe disain ja CMS

Info kuvamine 096'' OLED

Erkaani 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 Selleks, et saada maksimaalse ülevaatlikkusega aru, millised on sisendite ja väljundite hetkeväärtused ning näha viimaste operatsioonide logi, ilma jadapordi kaudu ühendust loomata, on käepäraseks võimaluseks kasutada 128 x 64 pikselilist OLED ekraani.

Info kuvamine 0. 96'' OLED ekraanil

nanotronic.eu © 2025 nanoTronic » Populaarne standard ja suur jõudlus