Robot Ohbot 2.1 pomáha žiakom pri učení

Drahí rodičia ratolestí, ktoré začali chodiť do prvého ročníka základnej školy! Začiatky väčšinou nebývajú ľahké a u prváčikov to platí dvojnásobne. Tieto deti hľadajú oporu v rodičoch, ktorí im proces učenia môžu uľahčiť hravou formou. Vhodnou edukačnou hračkou je robot Ohbot 2.1 disponujúci značným potenciálom určeným pre školákov prvého stupňa základnej školy. Dieťa s pribúdajúcim vekom postupne objavuje nové možnosti tejto hračky, ktoré rozvíjajú jeho kreativitu.

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.




Doporučené příslušenství

Leave a Reply