Robotická stavebnice Brian
Seznámení se stavebnicí, první kroky, návod na sestavení jednoduchého autíčka a ukázkový zdrojový kód pro robota sledujícího černou čáru.
Co je Brian?
Brian je robotická stavebnice určená pro výuku techniky, programování, automatizace a mechatroniky. Žákům umožňuje propojit mechanickou konstrukci, senzory, motory a vlastní program. Díky tomu si mohou prakticky vyzkoušet, jak funguje jednoduchý autonomní robot.
Stavebnice vychází z koncepce známých výukových robotických systémů. Umožňuje práci s motory, světelnými, dotykovými, ultrazvukovými a dalšími senzory. Programovat lze buď vizuálně v prostředí BriVis, nebo textově v jazyce Python / MicroPython.
Co stavebnice obsahuje
Konstrukční díly
Dílky pro stavbu podvozku, ramen, držáků, převodů a dalších mechanických částí robota.
Motory
Velké motory slouží například pro pohon kol nebo pásů. Střední motor se hodí pro menší mechanismy, ramena nebo doplňkové pohyby.
Senzory
Světelný/barevný senzor měří odražené světlo a barvy, dotykový senzor rozpozná stisk, ultrazvukový senzor měří vzdálenost a gyroskopický senzor sleduje natočení robota.
Kostka Brian
Kostka Brian je „mozek“ robota. Připojují se k ní senzory, motory, USB-C kabel a microSD karta s programy.
Jak Brian funguje
Robot se skládá ze tří základních částí:
- Konstrukce – podvozek, držáky, převody, kola nebo pásy.
- Elektronika – kostka Brian, motory a senzory.
- Program – pravidla, podle kterých robot reaguje na okolí.
U line followeru robot čte hodnotu ze světelného/barevného senzoru. Tmavá čára odráží méně světla, světlý podklad odráží více světla. Program podle této hodnoty rozhoduje, jestli má jet rovně, nebo zatočit.
Postup: jak začít
1. Připravte kostku Brian
- Kostku Brian nabijte pomocí USB-C kabelu.
- Zkontrolujte, že je vložena microSD karta.
- Zapněte kostku stiskem prostředního otočného tlačítka.
- V menu se pohybujte otáčením kolečka a potvrzujte jeho stiskem.
2. Připojte motory a senzory
Pro ukázkové autíčko použijeme toto zapojení:
| Součást | Port | Poznámka |
|---|---|---|
| Levý motor | A | Velký motor pro levou stranu pohonu. |
| Pravý motor | B | Velký motor pro pravou stranu pohonu. |
| Světelný / barevný senzor | S3 | Senzor směřuje dolů na podložku s černou čárou. |
3. Postavte line follower autíčko
- Postavte jednoduchý podvozek se dvěma poháněnými koly nebo pásy.
- Na podvozek pevně upevněte kostku Brian.
- Levý a pravý motor zapojte do portů A a B.
- Světelný/barevný senzor upevněte dopředu směrem dolů.
- Senzor by měl být co nejblíže k podložce, aby měření neovlivňovalo okolní světlo.
- Na bílý papír nebo podložku připravte výraznou černou čáru.
Pro přesnou stavbu lze využít obrázkový návod „Brian Line Follower“, který je vložený níže v části s příručkami.
4. Připravte programovací prostředí
Začátečníkům doporučujeme začít v prostředí BriVis, které umožňuje skládat program z bloků podobně jako ve Scratchi. Pokročilejší žáci mohou použít Python ve Visual Studio Code.
- Otevřete BriVis: https://brivis.voltavian.com
- Vytvořte nový program.
- Sestavte bloky pro senzory a motory.
- Program stáhněte nebo nahrajte do úložiště kostky Brian.
- Na kostce Brian otevřete microSD kartu, vyberte program a spusťte jej.
Line follower: princip programu
Program používá jednoduché pravidlo:
- Pokud senzor vidí tmavou plochu / černou čáru, robot jede rovně.
- Pokud senzor vidí světlou plochu, robot začne zatáčet a hledá čáru.
Hodnota 50 je prahová hodnota. V praxi ji můžete upravit podle konkrétní podložky, osvětlení a vzdálenosti senzoru od země. Pokud robot reaguje špatně, změřte si hodnotu na bílé ploše a na černé čáře a prahovou hodnotu nastavte přibližně doprostřed.
run_at_speed(...).
Zdrojový kód: jednoduché line follower autíčko
Následující program je ukázková verze pro zapojení: levý motor A, pravý motor B, světelný/barevný senzor S3.
# Line follower pro stavebnici Brian
# Zapojení:
# - levý motor: port A
# - pravý motor: port B
# - světelný / barevný senzor: port S3
from time import sleep
from brian.sensors.EV3 import ColorSensorEV3
from brian.sensors import SensorPort, SensorIsNotReadyError
from brian.motors import EV3LargeMotor
from brian.motors import MotorPort
# Prahová hodnota mezi světlou plochou a černou čárou.
# Podle konkrétní podložky ji můžete upravit.
THRESHOLD = 50
# Rychlosti motorů ve stupních za sekundu.
FORWARD_SPEED = 300
SEARCH_SPEED = 100
# Inicializace senzoru a motorů
light_sensor = ColorSensorEV3(SensorPort.S3)
motor_l = EV3LargeMotor(MotorPort.A)
motor_r = EV3LargeMotor(MotorPort.B)
motor_l.wait_until_ready()
motor_r.wait_until_ready()
def read_light():
"""
Bezpečné čtení hodnoty odraženého světla.
Pokud senzor ještě není připravený, program počká a zkusí čtení znovu.
"""
while True:
try:
light_sensor.wait_until_ready()
return light_sensor.reflected_value()
except SensorIsNotReadyError:
sleep(0.02)
while True:
value = read_light()
if value < THRESHOLD:
# Senzor vidí tmavou čáru – robot jede rovně.
motor_l.run_at_speed(FORWARD_SPEED)
motor_r.run_at_speed(FORWARD_SPEED)
else:
# Senzor vidí světlou plochu – robot zatáčí a hledá čáru.
motor_l.run_at_speed(0)
motor_r.run_at_speed(SEARCH_SPEED)
sleep(0.01)
Co si žáci na úloze vyzkouší
Mechanická konstrukce
Žáci řeší stabilitu podvozku, umístění kostky, vedení kabelů a správné uchycení senzoru.
Práce se senzory
Pochopí, že senzor neposílá „pravdu“, ale naměřenou hodnotu, kterou je nutné správně interpretovat.
Programování
Vyzkouší si podmínku, nekonečný cyklus, proměnné, čtení senzoru a řízení rychlosti motorů.
Ladění systému
Učí se testovat, hledat chyby, měnit prahové hodnoty a sledovat, jak úprava programu ovlivní chování robota.
Časté problémy a řešení
| Problém | Možná příčina | Řešení |
|---|---|---|
| Robot nejede. | Motory nejsou připojené, kostka není nabitá nebo program neběží. | Zkontrolujte baterii, porty A/B a spuštění programu z microSD karty. |
| Robot reaguje opačně. | Motory jsou prohozené nebo se točí opačným směrem. | Prohoďte porty motorů nebo upravte rychlosti v programu. |
| Robot nevidí černou čáru. | Senzor je příliš vysoko, čára je málo kontrastní nebo je špatná prahová hodnota. | Přibližte senzor k podložce a upravte hodnotu THRESHOLD. |
| Robot cuká nebo se pohybuje nepravidelně. | Program používá jednoduché řízení bez plynulé regulace. | Vyzkoušejte plynulejší variantu s P regulací podle příručky Brian. |
Další krok: plynulejší sledování čáry
Základní program používá jednoduché rozhodování podle jedné prahové hodnoty. Pro plynulejší jízdu lze později použít takzvanou P regulaci. Robot si změří aktuální hodnotu senzoru, porovná ji s cílovou hodnotou mezi černou a bílou a podle velikosti odchylky upraví rychlost levého a pravého motoru.
Žáci tak mohou přirozeně přejít od jednoduché podmínky
if / else k základům regulace, automatizace a mechatroniky.
Náhledy příruček a doporučené materiály
Níže najdete oficiální materiály ke stavebnici Brian. Pokud se náhled PDF nezobrazí přímo v prohlížeči, otevřete dokument pomocí odkazu pod náhledem.
Uživatelský manuál kostky Brian
Základní ovládání kostky, porty, senzory, motory, baterie, menu a práce s programy.
Brian příručka
Výukové úlohy od prvního programu přes motory a senzory až po sledování černé čáry.
Brian Line Follower
Obrázkový návod pro stavbu autíčka sledujícího černou čáru.
Užitečné odkazy
Využití ve výuce
Stavebnice Brian je vhodná pro úvod do programování, automatizace, elektrotechniky, CAD, mechatroniky a robotiky. Žáci na jednoduchém příkladu vidí celý technický proces: návrh, konstrukci, zapojení, programování, testování i ladění.
Práce s robotem navíc podporuje týmovou spolupráci. Jeden žák může řešit konstrukci, druhý zapojení, další program a společně pak hledají, proč se robot nechová podle očekávání. Právě tato fáze testování a oprav je pro technické vzdělávání velmi důležitá.
