Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
courses:pri-bootcamp:embedded_python [2019/09/12 13:38]
seredlad [Robot - sledovač čáry]
courses:pri-bootcamp:embedded_python [2019/09/12 13:46] (current)
seredlad
Line 68: Line 68:
 === Úkol 3 === === Úkol 3 ===
  
-== Rozsvěcujte a zhasíneje ​jednotlivé LED-y! ==+== Rozsvěcujte a zhasínejte ​jednotlivé LED-y! ==
  
 Co bude výsledek běhu následujícího programu? Co bude výsledek běhu následujícího programu?
Line 152: Line 152:
 === Úkol 1 === === Úkol 1 ===
  
-== Na matici LED zobrazte světelný bod. Po stisknutí tlačítka A resp. B ho posuňte doleva resp doprava! Po stiskunutí ​obou tlačítek posuňte bod doprostřed. ==+== Na matici LED zobrazte světelný bod. Po stisknutí tlačítka A resp. B ho posuňte doleva respdoprava! Po stisknutí ​obou tlačítek posuňte bod doprostřed. ==
  
 ---- ----
Line 164: Line 164:
 ==== Zvuky ==== ==== Zvuky ====
  
-<note tip>​Budeme potřebovat přídavnou desku s piezoměničem</​note>​+<note tip>Samotná destička micro:bit není schopen vydávat zvuky. ​Budeme ​tedy potřebovat přídavnou desku s piezoměničem</​note>​
  
 Nejjednodušším způsobem je rychlé střídání logických úrovní na výstupu 0. Nejjednodušším způsobem je rychlé střídání logických úrovní na výstupu 0.
Line 223: Line 223:
 === Úkol === === Úkol ===
  
-== Reagujte na dotyk plošek 0, 1 a 2 přehráváním různých tónů! ​Dotykáme ​se nejlépe kovovým předmětem,​ druhá ruka je spojena s GND. ==+== Reagujte na dotyk plošek 0, 1 a 2 přehráváním různých tónů! ​Dotýkáme ​se nejlépe kovovým předmětem,​ druhá ruka je spojena s GND. ==
  
 ---- ----
Line 330: Line 330:
 ---- ----
  
-==== Radio ====+==== Rádio ​====
  
 <code Python> <code Python>
Line 356: Line 356:
 ==== Programováni pohybu robota ==== ==== Programováni pohybu robota ====
  
-Vdalších úkolech budeme ovládat motory robotického vozítka prostřednictvím desky moto:bit. Abychom vyhnuli složitosti ovládání (děje se přes rozhraní I2C) budeme používat hotovou knihovnu. Jelikož ale náš on-line editor neumožňuje upload knihoven do micro:bit (i v editorech Mu nebo Thonny k tomu potřebujeme admin přístup) kód této knihovny potřebný k ovládání motorů (můžeme ho stáhnout {{ :​courses:​pri-bootcamp:​motobit.py | zde}} ) vždy umístíme na začátek vlastního kódu.+V dalších úkolech budeme ovládat motory robotického vozítka prostřednictvím desky moto:bit. Abychom vyhnuli složitosti ovládání (děje se přes rozhraní I2C) budeme používat hotovou knihovnu. Jelikož ale náš on-line editor neumožňuje upload knihoven do micro:bit (i v editorech Mu nebo Thonny k tomu potřebujeme admin přístup) kód této knihovny potřebný k ovládání motorů (můžeme ho stáhnout {{ :​courses:​pri-bootcamp:​motobit.py | zde}} ) vždy umístíme na začátek vlastního kódu.
  
-<​note>​Pokud do robota nahráváte program, ​které ​bude spouštět motory, tj. robot se bude pohybovat, nechte vypínač na desce moto:bit v levé, vypnuté poloze, a zapínejte ho, až je robot odpojen od kabelu USB a položen na místo, kde má dostatečný prostor pro pohyb.</​note>​+<​note>​Pokud do robota nahráváte program, ​jež bude spouštět motory, tj. robot se bude pohybovat, nechte vypínač na desce moto:bit v levé, vypnuté poloze, a zapínejte ho, až je robot odpojen od kabelu USB a položen na místo, kde má dostatečný prostor pro pohyb.</​note>​
  
-V záhlaví, hned pod kódem ​motobit ​uvedeme následující příkazy:+V záhlaví, hned pod kódem ​moto:​bit ​uvedeme následující příkazy:
  
 <code Python> <code Python>
Line 434: Line 434:
 | levý motor dozadu | „K“ | | levý motor dozadu | „K“ |
  
-Výše uvedený způsob ovládání slouží ​pouuze ​jako inspirace. Vymyslete si vlastní příkazy, umožňující například ovládat i rychlost pohybu vozítka! Jinak hrozí že jiné skupiny studentů začnou ovládat vaše vozítko!+Výše uvedený způsob ovládání slouží ​pouze jako inspirace. Vymyslete si vlastní příkazy, umožňující například ovládat i rychlost pohybu vozítka! Jinak hrozíže jiné skupiny studentů začnou ovládat vaše vozítko!
  
 K ovládání,​ tedy k vyvolání jednotlivých příkazů můžeme použít tlačítka micro:bit, například:​ K ovládání,​ tedy k vyvolání jednotlivých příkazů můžeme použít tlačítka micro:bit, například:​
Line 518: Line 518:
 == Zkusme sestavit jednoduchý sledovač černé čáry! == == Zkusme sestavit jednoduchý sledovač černé čáry! ==
  
-Nápad je prostý: senzor odraženého světla je nasměrován na podložku. Je-li podložka světlá, odrazí se více světla a tedy senzor naměří vyšší hodnoty, než když je podložka tmavá. K tomu abychom sledovali levý okraj černé čáry na bíle podložce pak postačí následující:​+Nápad je prostý: senzor odraženého světla je nasměrován na podložku. Je-li podložka světlá, odrazí se více světlaa tedy senzor naměří vyšší hodnoty, než když je podložka tmavá. K tomuabychom sledovali levý okraj černé čáry na bíle podložce pak postačí následující:​
  
 Robot jede pomalu dopředu. Naměří-li vysokou hodnotu odrazu, otáčí se lehce doprava, naopak, je-li hodnota odrazu příliš nízká (senzor je nad černou čarou) robot se bude otáčet mírně doleva. Robot jede pomalu dopředu. Naměří-li vysokou hodnotu odrazu, otáčí se lehce doprava, naopak, je-li hodnota odrazu příliš nízká (senzor je nad černou čarou) robot se bude otáčet mírně doleva.
  
-Co je vysoká a nízká hodnota odrazu? ​microbit ​nám poskytuje naměřenou hodnotu osvětlení od 0 do 1023. Hodnotu „hranice“ tj. prahovou hodnotu, nad kterou budeme považovat podložku za světlou a pod kterou za tmavou, si musíme určit experimentálně,​ například kódem:+Co je vysoká a nízká hodnota odrazu? ​micro:​bit ​nám poskytuje naměřenou hodnotu osvětlení od 0 do 1023. Hodnotu „hranice“ tj. prahovou hodnotu, nad kterou budeme považovat podložku za světlou a pod kterou za tmavou, si musíme určit experimentálně,​ například kódem:
  
 <code Python> <code Python>
Line 565: Line 565:
 </​code>​ </​code>​
  
-Zkuste jestli Vám tento kód zajistí spolehlivé sledování čáry. Dokážete vylepšit kód a zrychlit robota - sledovače čáry?+Zkustejestli Vám tento kód zajistí spolehlivé sledování čáry. Dokážete vylepšit kód a zrychlit robota - sledovače čáry?
  
 <​note>​Všímejte si, že k řešení úkolu používáme pouze jeden senzor. Pro více senzorů musíme navrhnout jiný algoritmus. Dokázali byste vymyslet a naprogramovat kód pro sledování tenké černé čáry dvěma senzory?</​note>​ <​note>​Všímejte si, že k řešení úkolu používáme pouze jeden senzor. Pro více senzorů musíme navrhnout jiný algoritmus. Dokázali byste vymyslet a naprogramovat kód pro sledování tenké černé čáry dvěma senzory?</​note>​
courses/pri-bootcamp/embedded_python.txt · Last modified: 2019/09/12 13:46 by seredlad