Prvé kolo: Rozdiel medzi revíziami

Zo stránky 3D liga wiki
Prejsť na navigáciu Prejsť na vyhľadávanie
Sebastian (diskusia | príspevky)
Sebastian (diskusia | príspevky)
Bez shrnutí editace
Riadok 171: Riadok 171:


RGB LED je súčiastka, ktorá dokáže svietiť v ľubovoľnej farbe – kombinuje totiž tri farebné diódy v jednom puzdre: <span style="color:#cc0000">'''červenú (R)'''</span>, <span style="color:#007700">'''zelenú (G)'''</span> a <span style="color:#0000cc">'''modrú (B)'''</span>. Miešaním intenzity týchto troch farieb vieme dosiahnuť akýkoľvek odtieň.
RGB LED je súčiastka, ktorá dokáže svietiť v ľubovoľnej farbe – kombinuje totiž tri farebné diódy v jednom puzdre: <span style="color:#cc0000">'''červenú (R)'''</span>, <span style="color:#007700">'''zelenú (G)'''</span> a <span style="color:#0000cc">'''modrú (B)'''</span>. Miešaním intenzity týchto troch farieb vieme dosiahnuť akýkoľvek odtieň.
[[Image:Rgb-led-module.jpg|300px]]


Používame modul [https://techfun.sk/produkt/led-rgb-modul/ LED RGB modul od Techfun.sk], ktorý má výhodou oproti holej LED dióde – '''rezistory sú už napájkované priamo na module''', takže nie je potrebné zapojiť žiadne externé rezistory.
Používame modul [https://techfun.sk/produkt/led-rgb-modul/ LED RGB modul od Techfun.sk], ktorý má výhodou oproti holej LED dióde – '''rezistory sú už napájkované priamo na module''', takže nie je potrebné zapojiť žiadne externé rezistory.
Riadok 190: Riadok 192:


(Keďže modul má rezistory zabudované, zapájame ho priamo – pin '''"-"''' na GND, a piny R/G/B na GPIO piny mikrokontroléra)
(Keďže modul má rezistory zabudované, zapájame ho priamo – pin '''"-"''' na GND, a piny R/G/B na GPIO piny mikrokontroléra)
==== Zapojenie ====
[[Image:led.png|350px]]


==== Kód ====
==== Kód ====


Nasledujúci program rozsvieti RGB LED na '''fialovú farbu''' (kombinácia červenej a modrej) a potom ju zhasne. Tvoja úloha je program doplniť.
<span style="background:#CCFFCC">'''Vyskúšaj toto:'''</span> Nasledujúci program rozsvieti RGB LED na bielo a zhasne.


<syntaxhighlight lang="C">
<syntaxhighlight lang="C">
Riadok 212: Riadok 210:


void loop() {
void loop() {
   //digitalWrite(PIN, HIGH/LOW);
   digitalWrite(PIN_R, HIGH);
   */Sem dopln kód aby si rozsvietil nejaké farby/*
  digitalWrite(PIN_G, HIGH);
  digitalWrite(PIN_B, HIGH);
  delay(1000);
 
  digitalWrite(PIN_R, LOW);
   digitalWrite(PIN_G, LOW);
  digitalWrite(PIN_B, LOW);
   delay(1000);
   delay(1000);
}
}
Riadok 221: Riadok 225:


Princíp je rovnaký ako pri jednofarebnej LED – <code>HIGH</code> = farba svieti, <code>LOW</code> = farba nesvieti. Kombináciou troch pinov vieme získať rôzne farby:
Princíp je rovnaký ako pri jednofarebnej LED – <code>HIGH</code> = farba svieti, <code>LOW</code> = farba nesvieti. Kombináciou troch pinov vieme získať rôzne farby:
{| class="wikitable"
|-
! Farba !! PIN_R !! PIN_G !! PIN_B
|-
| <span style="color:#cc0000">Červená</span> || HIGH || LOW || LOW
|-
| <span style="color:#007700">Zelená</span> || LOW || HIGH || LOW
|-
| <span style="color:#0000cc">Modrá</span> || LOW || LOW || HIGH
|-
| <span style="color:#cc6600">Žltá</span> || HIGH || HIGH || LOW
|-
| <span style="color:#6600cc">Fialová</span> || HIGH || LOW || HIGH
|-
| <span style="color:#007777">Tyrkysová</span> || LOW || HIGH || HIGH
|-
| Biela || HIGH || HIGH || HIGH
|-
| Vypnutá || LOW || LOW || LOW
|}


[[Image:RGB palete.jpg|350px]]  
[[Image:RGB palete.jpg|350px]]  


<span style="background:#FFFFA0">'''VAŠA ÚLOHA:'''</span> Doplňte program tak, aby LED postupne prechádzala všetkými farbami z tabuľky vyššie, vždy s pauzou 1 sekundu medzi každou farbou.
<span style="background:#FFFFA0">'''VAŠA ÚLOHA:'''</span> Doplňte program tak, aby LED postupne prechádzala všetkými farbami z palety vyššie, vždy s pauzou 1 sekundu medzi každou farbou.


Hotový program '''nahrajte do mikrokontroléra''', zaznamenajte blikajúcu LED a odošlite na <code>insert mail</code>.
Hotový program '''nahrajte do mikrokontroléra''', zaznamenajte blikajúcu LED a odošlite na <code>insert mail</code>.

Verzia z 21:38, 26. apríl 2026

Vitajte v prvom kole 3D ligy!

V tomto kole sa zoznámite so súčiastkami, programovacím prostredím a samotnou konštrukciou stavebnice. Zvládnutie základov je kľúčové – bez nich by sme nedokázali stavať zložitejšie a zaujímavejšie roboty. Komplexnejším projektom sa budeme venovať v 2. kole.

Pravidlá kola

  • Počas kola budete dostávať jednoduché zadania, ktoré budete musieť zdokumentovať (odfotiť alebo natočiť) a odovzdať na mail insert mail.
  • Každý tím má k dispozícii určitý počet bodov, ktoré môže využiť na nápovedy.
  • Nápovedy môžu mať formu priameho kódu alebo vás nasmerujú správnym smerom.
  • Hodnotiť sa bude: insert conditions
  • Za každú použitú nápovedu sa príslušný počet bodov odpočíta. Na konci kola sa prihliada aj na celkový zostatok bodov.

Postup bude nasledovný:

  1. Nastavenie Arduino IDE
  2. Zoznámenie sa s:
    • RP2350-zero
    • Vytlačenou stavebnicou
    • Servo motorčekmi
    • Senzormi
  3. Zložíme si:
    • samo ovládajúce sa auto
    • stopára
    • jednoduché robotické rameno

Arduino IDE

Na programovanie stavebnice 3D Ligy budeme používať vývojové prostredie Arduino IDE 2.

Stiahnuť ho môžete na oficiálnej stránke Arduina. Vyberte verziu zodpovedajúcu vášmu operačnému systému (Windows, macOS alebo Linux).

Mikrokontrolér

Ako riadiaci čip stavebnice používame Waveshare RP2350-Zero. Aby s ním Arduino IDE vedelo komunikovať, je potrebné doinštalovať príslušnú knižnicu (board package).

Inštalácia knižnice

  1. Otvorte Arduino IDE a prejdite do File → Preferences.
  2. Do poľa "Additional boards manager URLs" pridajte nasledujúci odkaz:
https://github.com/earlephilhower/arduino-pico/releases/download/4.5.2/package_rp2040_index.json
  1. Potvrďte tlačidlom OK.
  2. Otvorte Tools → Board → Boards Manager a vyhľadajte "Raspberry Pi Pico/RP2040" (obsahuje aj RP2350).
  3. Nainštalujte knižnicu od autora Earle F. Philhower, III.

Výber dosky a portu

Po inštalácii knižnice je nutné zvoliť správnu dosku a port – bez toho počítač nerozpozná pripojený mikrokontrolér.

  1. V menu Tools → Board vyhľadajte a vyberte "Raspberry Pi Pico".
  2. Pripojte mikrokontrolér k počítaču pomocou USB kábla.
  3. V menu Tools → Port vyberte port, na ktorom sa zariadenie objavilo (napr. COM3 na Windows alebo /dev/ttyACM0 na Linuxe).

Mikrokontrolér očakáva program vo formáte .uf2. Existujú dva spôsoby, ako ho získať:

  • Priamo z Arduino IDE: Použite Sketch → Export Compiled Binary (alebo skratku Ctrl+Alt+S). Arduino IDE skompiluje kód a uloží súbor .uf2 do priečinka projektu.
  • Drag & drop: Skompilovaný súbor .uf2 jednoducho presuňte myšou na jednotku RP2350. Po nahratí sa mikrokontrolér automaticky reštartuje a program sa spustí.

Pre vizualizáciu tu je Youtune video (fyzický postup je rovnaký pre RP2040 a RP2350)

Prvé pripojenie – režim BOOTSEL

Pri úplne prvom nahrávaní, alebo keď mikrokontrolér neodpovedá, je potrebné ho prepnúť do režimu BOOTSEL:

  1. Stlačte a podržte tlačidlo BOOT na doske RP2350-Zero.
  2. Počas držania tlačidla zapojte USB kábel do počítača.
  3. Tlačidlo uvoľnite.

Na počítači sa objaví nová jednotka (ako USB flash disk) s názvom RP2350 alebo RPI-RP2. Do tejto jednotky môžete priamo pretiahnuť (drag & drop) súbor s programom.

Ďalsie nahrávanie

Ďalšie nahrávania programov budú prirodzenejšie.

  • Zapojí sa doska do počítača.
  • Vyberie sa doska (Raspberry Pi Pico) a port.
  • Ak sa port našiel, potvrďte talčidlom OK
  • Váš kód nahrajete cez tlačidlo -> v ľavom hornom rohu. (skratka: Ctrl+U)

Úlohy

1. Hello World!

Vyskúšaj toto: Test sériovej komunikácie. Skopíruj a spusti nasledujúci program. Sleduj sériový monitor. Uisti sa, že máš v okne sériového monitora zvolených 9600 baudov.

void setup() {
  Serial.begin(9600);
}
int i = 0;
void loop() {
  Serial.print("Ahoj ");
  Serial.println(i++);
  delay(1000);
}

VAŠA ÚLOHA: Uprav program tak, aby po dosiahnutí čísla 100 začal počítať v opačnom poradí – až do 0, a potom znova do 100, atď. Použi operátor dekrementovania (i--) a podmienku if:

if (podmienka)
{
    príkazy, ktoré sa vykonajú keď je podmienka splnená
}

Všimni si, ako je v kóde vyššie definovaná premenná i typu int. Možno budeš chcieť definovať ďalšiu premennú.

Čo sme sa naučili?

  • Využívať sériový výstup na výpis informácií do sériového monitora, čo je veľmi užitočné pri ladení (debugovaní) programov.

2. Vytlačená stavebnica

Súčasťou vašej sady je aj 3D tlačená stavebnica – podobne ako Merkur, skladá sa z rôznych dielikov, ktoré sa dajú spájať skrutkami M3 do ľubovoľných tvarov a konštrukcií.

Prehľad dielikov

Farba Typ dielikov Popis
Biela Základné stavebné prvky Nosné diely s dierami pre skrutky M3 – tyče (1×N), ohnuté spoje (90° vertikálne aj horizontálne) a ploché dosky (M×N)
Červená Moduly pre senzory a joystick Držiaky elektronických komponentov – napájajú sa priamo na biele časti
Modrá Moduly pre servo motorčeky Niektoré majú diery pre M3 matice, ktoré spolu so skrutkou spájajú modul s bielou časťou
Čierna Elektronické krabičky Krabička pre napájanie (batérie) a modul pre mikrokontrolér RP2350-Zero

Inšpirácia

Pozri si tieto dva modely a nechaj sa inšpirovať – čo všetko sa dá z dielikov poskladať:

A tu je príklad toho, čo dokázali poskladať iní účastníci – srdce len zo základných dielikov:

Zadanie

VAŠA ÚLOHA: Poskladajte si z dielikov čokoľvek, čo vás napadne. Nemusí to byť funkčný robot – pokojne to môže byť zviera, písmeno, stavba alebo čokoľvek iné. Použite svoju fantáziu!

Hotovú konštrukciu odfotografujte a foto odošlite na insert mail.

Čo sme sa naučili?

  • Spoznali sme jednotlivé typy dielikov stavebnice a ich farebné označenie.
  • Vyskúšali sme si, ako sa dieliky spájajú pomocou skrutiek M3.
  • Zistili sme, že zo stavebnice sa dá poskladať prakticky čokoľvek – od robotov až po dekorácie.

3. Elektronické komponenty – 1

RGB LED modul

RGB LED je súčiastka, ktorá dokáže svietiť v ľubovoľnej farbe – kombinuje totiž tri farebné diódy v jednom puzdre: červenú (R), zelenú (G) a modrú (B). Miešaním intenzity týchto troch farieb vieme dosiahnuť akýkoľvek odtieň.

Používame modul LED RGB modul od Techfun.sk, ktorý má výhodou oproti holej LED dióde – rezistory sú už napájkované priamo na module, takže nie je potrebné zapojiť žiadne externé rezistory.

Modul má 4 piny:

Pin Popis Zapojenie v RP2350-zero
- GND GND
R Červená farba GP0
G Zelená farba GP1
B Modrá farba GP2

(Keďže modul má rezistory zabudované, zapájame ho priamo – pin "-" na GND, a piny R/G/B na GPIO piny mikrokontroléra)

Kód

Vyskúšaj toto: Nasledujúci program rozsvieti RGB LED na bielo a zhasne.

// Definujeme čísla pinov
const int PIN_R = 0;
const int PIN_G = 1;
const int PIN_B = 2;

void setup() {
  pinMode(PIN_R, OUTPUT);
  pinMode(PIN_G, OUTPUT);
  pinMode(PIN_B, OUTPUT);
}

void loop() {
  digitalWrite(PIN_R, HIGH);
  digitalWrite(PIN_G, HIGH);
  digitalWrite(PIN_B, HIGH);
  delay(1000);

  digitalWrite(PIN_R, LOW);
  digitalWrite(PIN_G, LOW);
  digitalWrite(PIN_B, LOW);
  delay(1000);
}

Princíp

Princíp je rovnaký ako pri jednofarebnej LED – HIGH = farba svieti, LOW = farba nesvieti. Kombináciou troch pinov vieme získať rôzne farby:

VAŠA ÚLOHA: Doplňte program tak, aby LED postupne prechádzala všetkými farbami z palety vyššie, vždy s pauzou 1 sekundu medzi každou farbou.

Hotový program nahrajte do mikrokontroléra, zaznamenajte blikajúcu LED a odošlite na insert mail.

Čo sme sa naučili?

  • RGB LED modul kombinuje tri farebné diódy – miešaním HIGH/LOW vieme dosiahnuť ľubovoľnú farbu.
  • Modul s napájkovanými rezistormi zjednodušuje zapojenie – žiadne externé súčiastky nie sú potrebné.
  • Každý GPIO pin ovládame samostatne pomocou digitalWrite().

Prva stavebnica

Druhá stavebnica

Robotické rameno