Robot Ohbot 2.1 pomáha žiakom pri učení
Vzdelávací robot Ohbot 2.1 dokáže pomôcť prváčikom naučiť sa abecedu a poznať číslice. Postačí vám nato len notebook s nainštalovaným operačným systémom Windows 10 a grafickým programovacím softvérom Ohbot.
Pri učení sa písmen a číslic, je potrebné poznať ich výslovnosť a tvar, preto som sa rozhodol vytvoriť dva programy:
1. program výslovnosti písmen a číslic
2. program tvarov písmen a číslic
Robot Ohbot 2.1 – výslovnosť písmen a číslic
Program výslovnosti písmen a číslic dokáže prenechať ich opakovanie na robot Ohbot 2.1. Uvedená hračka postupne vyslovuje písmená a číslice, ktoré má dieťa zopakovať. Spustenie programu nastane po vyslovení hlasového príkazu hello, začatie opakovania príkazom yes a vynechanie opakovania príkazom no.
Testovanie programu ma doviedlo k jeho finálnej verzii:
Text programu Ohbot
WhenWordHeard (hello)
{
GenericSetVariable ("farba", 0);
Forever ()
{
RepeatTimes (10)
{
GenericChangeVariable ("farba", 1);
GenericSetLED (red,GenericVariable("farba"));
WaitForSecs (1);
}
RepeatTimes (10)
{
GenericChangeVariable ("farba", 1);
GenericSetLED (green,GenericVariable("farba"));
WaitForSecs (0);
}
RepeatTimes (10)
{
GenericChangeVariable ("farba", 1);
GenericSetLED (blue,GenericVariable("farba"));
WaitForSecs (1);
}
}
}
WhenWordHeard (hello)
{
Forever ()
{
GenericSetMotor (HeadTurn,CameraX());
GenericSetMotor (HeadNod,CameraY());
GenericSetMotor (EyeTurn,CameraX());
GenericSetMotor (EyeTilt,CameraY());
GenericSetMotor (TopLip,TopLip());
GenericSetMotor (BottomLip,BottomLip());
}
}
WhenWordHeard (hello)
{
GenericInsertAtOfList ("abeceda", á);
GenericInsertAtOfList ("abeceda", bé);
GenericInsertAtOfList ("abeceda", c);
GenericInsertAtOfList ("abeceda", d);
GenericInsertAtOfList ("abeceda", é);
GenericInsertAtOfList ("abeceda", f);
GenericInsertAtOfList ("abeceda", g);
GenericInsertAtOfList ("abeceda", h);
GenericInsertAtOfList ("abeceda", i);
GenericInsertAtOfList ("abeceda", j);
GenericInsertAtOfList ("abeceda", ká);
GenericInsertAtOfList ("abeceda", el);
GenericInsertAtOfList ("abeceda", em);
GenericInsertAtOfList ("abeceda", en);
GenericInsertAtOfList ("abeceda", ó);
GenericInsertAtOfList ("abeceda", p);
GenericInsertAtOfList ("abeceda", q);
GenericInsertAtOfList ("abeceda", er);
GenericInsertAtOfList ("abeceda", es);
GenericInsertAtOfList ("abeceda", t);
GenericInsertAtOfList ("abeceda", ú);
GenericInsertAtOfList ("abeceda", vé);
GenericInsertAtOfList ("abeceda", w);
GenericInsertAtOfList ("abeceda", x);
GenericInsertAtOfList ("abeceda", y);
GenericInsertAtOfList ("abeceda", zet);
}
WhenWordHeard (hello)
{
PlaySoundUntilDone ("Fanfare");
SetVoice ("Microsoft Filip""");
AskAndListen ("Zopakujeme si abecedu?");
WaitUntil (LastWordHeard() == yes or LastWordHeard() == no);
If (LastWordHeard() == yes)
{
SayUntilDone ("Opakuj po mne.");
GenericSetVariable ("pismeno", 1);
RepeatTimes (26)
{
SayUntilDone ("abeceda", );
WaitForSecs (1);
GenericChangeVariable ("pismeno", 1);
}
}
AskAndListen ("Zopakujeme si číslice?");
WaitUntil (LastWordHeard() == yes or LastWordHeard() == no);
If (LastWordHeard() == yes)
{
SayUntilDone ("Opakuj po mne.");
GenericSetVariable ("cislica", 0);
RepeatTimes (10)
{
SayUntilDone (GenericVariable("cislica"));
WaitForSecs (1);
GenericChangeVariable ("cislica", 1);
}
}
SayUntilDone ("Super! Ak si chceš všetko zopakovať ešte raz, stačí povedať hello.");
}
WhenWordHeard (hello)
{
Forever ()
{
GenericSetMotor (LidBlink,10);
WaitForSecs (2);
GenericSetMotor (LidBlink,0);
WaitForSecs (1);
}
}
Bloky programu Ohbot
Video
Robot Ohbot 2.1 – tvary písmen a číslic
Program tvarov písmen a číslic naučí prváčika ich tlačenú podobu z klávesnice notebooku, pričom robot Ohbot 2.1 ich aj vysloví. Program sa spustí po vyslovení hlasového príkazu hello, začatie učenia príkazom yes a príkaz no vráti program na začiatok (ak nebol ešte vyslovený príkaz yes).
Úspešným otestovaním programu som získal jeho finálnu verziu:
Text programu Ohbot
WhenWordHeard (hello)
{
PlaySoundUntilDone ("Fanfare");
SetVoice ("Microsoft Filip""");
AskAndListen ("Zopakujeme si tvary písmen a číslic?");
WaitUntil (LastWordHeard() == yes or LastWordHeard() == no);
If (LastWordHeard() == yes)
{
SayUntilDone ("Postupne stláčaj klávesy písmen a číslic a ja ti ich vyslovím.");
Forever ()
{
If (GenericKeyPress(A))
{
SayUntilDone ("a");
}
If (GenericKeyPress(B))
{
SayUntilDone ("bé");
}
If (GenericKeyPress(C))
{
SayUntilDone ("c");
}
If (GenericKeyPress(D))
{
SayUntilDone ("d");
}
If (GenericKeyPress(E))
{
SayUntilDone ("e");
}
If (GenericKeyPress(F))
{
SayUntilDone ("f");
}
If (GenericKeyPress(G))
{
SayUntilDone ("g");
}
If (GenericKeyPress(H))
{
SayUntilDone ("h");
}
If (GenericKeyPress(I))
{
SayUntilDone ("i");
}
If (GenericKeyPress(J))
{
SayUntilDone ("j");
}
If (GenericKeyPress(K))
{
SayUntilDone ("ká");
}
If (GenericKeyPress(L))
{
SayUntilDone ("el");
}
If (GenericKeyPress(M))
{
SayUntilDone ("em");
}
If (GenericKeyPress(N))
{
SayUntilDone ("n");
}
If (GenericKeyPress(O))
{
SayUntilDone ("ó");
}
If (GenericKeyPress(P))
{
SayUntilDone ("p");
}
If (GenericKeyPress(Q))
{
SayUntilDone ("q");
}
If (GenericKeyPress(R))
{
SayUntilDone ("r");
}
If (GenericKeyPress(S))
{
SayUntilDone ("es");
}
If (GenericKeyPress(T))
{
SayUntilDone ("t");
}
If (GenericKeyPress(U))
{
SayUntilDone ("ú");
}
If (GenericKeyPress(V))
{
SayUntilDone ("vé");
}
If (GenericKeyPress(W))
{
SayUntilDone ("w");
}
If (GenericKeyPress(X))
{
SayUntilDone ("x");
}
If (GenericKeyPress(Y))
{
SayUntilDone ("y");
}
If (GenericKeyPress(Z))
{
SayUntilDone ("zet");
}
If (GenericKeyPress(0))
{
SayUntilDone ("0");
}
If (GenericKeyPress(1))
{
SayUntilDone ("1");
}
If (GenericKeyPress(2))
{
SayUntilDone ("2");
}
If (GenericKeyPress(3))
{
SayUntilDone ("3");
}
If (GenericKeyPress(4))
{
SayUntilDone ("4");
}
If (GenericKeyPress(5))
{
SayUntilDone ("5");
}
If (GenericKeyPress(6))
{
SayUntilDone ("6");
}
If (GenericKeyPress(7))
{
SayUntilDone ("7");
}
If (GenericKeyPress(8))
{
SayUntilDone ("8");
}
If (GenericKeyPress(9))
{
SayUntilDone ("9");
}
}
}
If (LastWordHeard() == no)
{
SayUntilDone ("Ak si to rozmyslíš, stačí povedať hello.");
}
}
WhenWordHeard (hello)
{
Forever ()
{
GenericSetMotor (LidBlink,10);
WaitForSecs (2);
GenericSetMotor (LidBlink,0);
WaitForSecs (1);
}
}
WhenWordHeard (hello)
{
GenericSetVariable ("farba", 0);
Forever ()
{
RepeatTimes (10)
{
GenericChangeVariable ("farba", 1);
GenericSetLED (red,GenericVariable("farba"));
WaitForSecs (1);
}
RepeatTimes (10)
{
GenericChangeVariable ("farba", 1);
GenericSetLED (green,GenericVariable("farba"));
WaitForSecs (0);
}
RepeatTimes (10)
{
GenericChangeVariable ("farba", 1);
GenericSetLED (blue,GenericVariable("farba"));
WaitForSecs (1);
}
}
}
WhenWordHeard (hello)
{
Forever ()
{
GenericSetMotor (HeadTurn,CameraX());
GenericSetMotor (HeadNod,CameraY());
GenericSetMotor (EyeTurn,CameraX());
GenericSetMotor (EyeTilt,CameraY());
GenericSetMotor (TopLip,TopLip());
GenericSetMotor (BottomLip,BottomLip());
}
}
Bloky programu Ohbot
Video
Pri zadávaní číslic, treba použiť číselné klávesy nad klávesmi písmen (namiesto numerickej klávesnice), pričom netreba používať klávesu Shift.
Záver
Záverom sa vám chcem poďakovať za prečítanie môjho článku. O praktickosti robota Ohbot 2.1 ste sa mohli presvedčiť sami prostredníctvom dvoch jednoduchých programov. Výhodou týchto programov je ľahká cudzojazyčná modifikácia hlasového prejavu hračky, čím som vám dal námet na tvorbu rôznych jazykových mutácií opísaných programov.
V nasledujúcom článku predvediem príslušenstvo zmieneného robota, takže jeho zvukový prejav posuniem na vyšší ‚level‘, ktorý je taktiež určený pre školopovinné deti.
E-shop
Ohbot 2.1, sestavený (MS Windows)
Robotická hlava, kterou můžete naprogramovat tak, aby se různě pohybovala, mluvila nebo jinak interagovala se světem.