TechLab - Laboratórium budúcnosti
- Laboratórium budúcnosti
- Naše vybavenie
- 1. MICROBIT-BLOCKLY
- 2. JOYSTICKBIT-BLOCKLY
- 3. MAKECODE ARCADE
- 4. SCULPFUN LASER
- Linux – Rýchlokurz
- 5. DOBOT MAGICIAN - PYTHON + LINUX
- 6. XGO ROBOTICKÝ PES - BLOCKLY
- 7. CUTEBOT - AUTONÓMNE VOZIDLO
- 8a. Joystick:bit – Rozšírenie – Lekcia 1
- 8b. Joystick:bit – Rozšírenie – Lekcia 2
- 8c. Joystick:bit – Rozšírenie – Lekcia 3
- 8d. Joystick:bit – Rozšírenie – Lekcia 4
- 8e. Joystick:bit – Rozšírenie – Lekcia 5
5. DOBOT MAGICIAN - PYTHON + LINUX
Dobot Magician – Python + Linux – Robotické rameno
Trvanie: 90 minút
Vek: 12–15 rokov
Potrebné vybavenie: Dobot Magician, gripper, RGB senzor, IR senzor, posuvný pás, notebook s Linuxom
Software: Python 3, Dobot Python API, terminál
Predchádzajúce znalosti: žiadne (odporúčané: základy logického myslenia)
Čo sa dnes naučíš
- Základné príkazy Linuxu v termináli
- Písanie a spúšťanie Python skriptov
- Ovládanie Dobot ramena cez Python
- Podprogramy (funkcie) a volanie tlačidlom
- Podmienky reagujúce na senzory (RGB, IR)
Ako funguje Dobot Magician – prečítaj si pred začatím
Dobot Magician je robotické rameno s 4 stupňami voľnosti. Pohybuje sa v súradnicovom systéme X, Y, Z (milimetre od základne). Otočenie gripper-a je os R.
Súčasti ktoré budeš používať:
- Gripper – pneumatický uchopovač, ovládaný vzduchom
- RGB senzor – rozoznáva farbu predmetu
- IR senzor – detekuje prítomnosť predmetu (čierne / biele povrchy, prekážka)
- Posuvný pás – dopravuje predmety pod rameno
Komunikácia prebieha cez USB alebo sériový port. Python API posiela príkazy a čaká na potvrdenie.
Krok 1 – Úvod do Linuxu (15 minút)
Cieľ: Pohybovať sa v termináli, spustiť skript.
Otvor terminál:
- Klávesová skratka:
Ctrl + Alt + T - Alebo: vyhľadaj „Terminal" v aplikáciách
Základné príkazy:
Príkaz Čo robí pwdUkáže kde sa nachádzaš (aktuálny adresár) lsVypíše súbory v aktuálnom adresári ls -lVypíše súbory s detailmi cd nazovVstúpi do adresára nazovcd ..Prejde o adresár vyššie mkdir techlabVytvorí nový adresár techlabnano subor.pyOtvorí textový editor pre súbor python3 subor.pySpustí Python skript Ctrl + CZastaví bežiaci program Vyskúšaj:
mkdir techlab cd techlab pwdVytvor prvý Python skript:
nano hello.pyNapíš:
print("Hello, Dobot!") print("Toto je moj prvy Python skript.")Ulož:
Ctrl + O→ Enter →Ctrl + Xna zatvorenieSpusti:
python3 hello.py
Krok 2 – Úvod do Pythonu (10 minút)
Cieľ: Pochopiť premenné, cykly a podmienky pred tým ako použijeme Dobot API.
Premenné:
meno = "Dobot" rychlost = 50 print("Robot:", meno, "Rychlost:", rychlost)Podmienka:
teplota = 25 if teplota > 30: print("Horuco!") else: print("V pohode.")Cyklus:
for i in range(5): print("Krok cislo:", i)Funkcia:
def pozdrav(meno): print("Ahoj,", meno) pozdrav("Dobot") pozdrav("Robot")Vyskúšaj každý úryvok v nano editore a spusti ho.
Krok 3 – Pripojenie Dobota a základný pohyb (15 minút)
Cieľ: Pripojiť Dobot, presunúť rameno do bodu.
Inštalácia knižnice (ak ešte nie je):
pip3 install pydobotZisti port:
ls /dev/ttyUSB*Výsledok bude niečo ako
/dev/ttyUSB0– to je tvoj port.Prvý pohyb:
from pydobot import Dobot robot = Dobot(port='/dev/ttyUSB0', verbose=False) # Presuň sa na pozíciu X=200, Y=0, Z=50, R=0 # Pohyb do bodu (PTP = Point To Point) robot.move_to(200, 0, 50, 0, wait=True) print("Dosiel som na poziciu 1") robot.move_to(200, 100, 50, 0, wait=True) print("Dosiel som na poziciu 2") robot.close()⚠️ Pred spustením: Skontroluj že rameno má voľný priestor na pohyb. Stoj bokom od ramena.
💡 Parameter
wait=Trueznamená že skript čaká kým sa rameno zastaví pred ďalším príkazom. Bez toho by príkazy šli za sebou bez čakania.Zisti aktuálnu pozíciu:
pozicia = robot.get_pose() print("Aktualna pozicia:", pozicia)Toto sa hodí keď chceš zistiť súradnice bodu ručným presúvaním (učenie polohy).
Krok 4 – Podprogramy a funkcie (15 minút)
Cieľ: Rozdeliť pohyby do funkcií. Zavolať funkciu stlačením tlačidla na Dobote.
Definuj funkcie pre pohyby:
from pydobot import Dobot import time robot = Dobot(port='/dev/ttyUSB0', verbose=False) def domovska_pozicia(): robot.move_to(200, 0, 80, 0, wait=True) print("Domovska pozicia") def zdvihni_predmet(): robot.move_to(200, 0, 30, 0, wait=True) # zostup k predmetu robot.grip(True) # zatvor gripper time.sleep(0.5) robot.move_to(200, 0, 80, 0, wait=True) # zdvihni print("Predmet zdvihnuty") def poloz_predmet(): robot.move_to(250, 100, 30, 0, wait=True) # presun na miesto robot.grip(False) # otvor gripper time.sleep(0.5) robot.move_to(250, 100, 80, 0, wait=True) # zdvihni print("Predmet polozeny") # Zavolaj sekvenciu domovska_pozicia() zdvihni_predmet() poloz_predmet() domovska_pozicia() robot.close()Volanie funkcie tlačidlom:
Dobot má tlačidlo na základni. Môžeš čakať na jeho stlačenie:
print("Stlac tlacidlo na Dobote pre start...") while True: if robot.get_queued_cmd_current_index() == 0: # jednoduché čakanie - v praxi použi vstup z klávesnice pass vstup = input("Stlac Enter pre spustenie sekvencie: ") zdvihni_predmet() poloz_predmet() domovska_pozicia()💡 Pre skutočné tlačidlo Dobota pozri dokumentáciu
get_io_do()– závisí od verzie firmvéru.
Krok 5 – Senzory, podmienky, triedenie (15 minút)
Cieľ: Robot triedi predmety podľa farby (RGB senzor) alebo detekuje prítomnosť (IR senzor).
Čítanie IR senzora:
IR senzor vracia
True/False– je predmet prítomný alebo nie.pritomnost = robot.get_ir_switch() if pritomnost: print("Predmet detekovany!") zdvihni_predmet() else: print("Nic tu nie je.")Čítanie RGB senzora:
farba = robot.get_color() r = farba[0] g = farba[1] b = farba[2] print(f"Farba: R={r}, G={g}, B={b}") if r > 150 and g < 100 and b < 100: print("CERVENA - poloz na miesto A") robot.move_to(200, 150, 30, 0, wait=True) elif g > 150 and r < 100 and b < 100: print("ZELENA - poloz na miesto B") robot.move_to(200, -150, 30, 0, wait=True) else: print("Nezname - poloz na miesto C") robot.move_to(150, 0, 30, 0, wait=True)Triedenie v slučke s posuvným pásom:
robot.set_conveyor_belt(speed=0.3, direction=1) # spusti pás time.sleep(2) robot.set_conveyor_belt(speed=0, direction=1) # zastav pás farba = robot.get_color() # ... triedi podľa farby ako vyššie
Zhrnutie – čo si sa naučil
Čo Príkaz / Funkcia Pohyb do bodu robot.move_to(x, y, z, r, wait=True)Gripper robot.grip(True/False)Aktuálna pozícia robot.get_pose()IR senzor robot.get_ir_switch()RGB senzor robot.get_color()Posuvný pás robot.set_conveyor_belt(speed, direction)Funkcia v Pythone def nazov(): ...
Ďalší krok
- Naprogramuj celú triedičku: pás prinesie predmet → rameno ho zdvihne → RGB rozhodne kde ho položiť
- Skús zapísať výsledky triedenia do súboru (
open("log.txt", "a")) - Pozri dokumentáciu pydobot pre ďalšie možnosti: github.com/luismesas/pydobot
