<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="sk">
	<id>https://3dliga.robotika.sk/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sebastian</id>
	<title>3D liga wiki - Príspevky používateľa [sk]</title>
	<link rel="self" type="application/atom+xml" href="https://3dliga.robotika.sk/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sebastian"/>
	<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php/%C5%A0peci%C3%A1lne:Pr%C3%ADspevky/Sebastian"/>
	<updated>2026-09-23T07:00:34Z</updated>
	<subtitle>Príspevky používateľa</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=Modr%C3%A9_diely_-_detaily&amp;diff=1247</id>
		<title>Modré diely - detaily</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=Modr%C3%A9_diely_-_detaily&amp;diff=1247"/>
		<updated>2026-09-09T22:39:47Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Servo modul XY(1,2) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 250px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Diel&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:Servos3.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 250px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Spojenie so servom&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ServoScrew1.jpg|300px]]&lt;br /&gt;
[[Image:ServoScrew2.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 250px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Prepojenie so stavebnicou&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ServoMount6.jpg|300px]]&lt;br /&gt;
[[Image:ServoMount7.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Servo modul XY(3,4,5) + XYZ ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 250px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Diel&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:Servos1.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 250px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Spojenie so servom&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ServoScrew3.jpg|300px]]&lt;br /&gt;
[[Image:ServoScrew4.jpg|300px]]&lt;br /&gt;
[[Image:ServoScrew5.jpg|300px]]&lt;br /&gt;
[[Image:ServoScrew6.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 250px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Prepojenie so stavebnicou&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ServoMount1.jpg|300px]]&lt;br /&gt;
[[Image:ServoMount2.jpg|300px]]&lt;br /&gt;
[[Image:ServoMount3.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Servo modul YZ(1,2) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 250px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Diel&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:Servos2.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 250px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Spojenie so servom&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ServoScrew7.jpg|300px]]&lt;br /&gt;
[[Image:ServoScrew8.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 250px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Prepojenie so stavebnicou&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ServoMount4.jpg|300px]]&lt;br /&gt;
[[Image:ServoMount5.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Servo ramená ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 250px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Diel&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:Servos4.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 250px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Spojenie so servom&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ServoArmScrew1.jpg|300px]]&lt;br /&gt;
[[Image:ServoArmScrew2.jpg|300px]]&lt;br /&gt;
[[Image:ServoArmScrew3.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 250px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Prepojenie so stavebnicou&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ServoArmScrew4.jpg|300px]]&lt;br /&gt;
[[Image:ServoArmScrew5.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 12px; padding-top: 8px; border-top: 1px solid #ccc;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Popis:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Samotné ramená sa musia s väčšou silou vsunúť do rotačnej časti servomotorčeka. Ak chcete silnejší úchyt, rameno môžete ešte priskrutkovať malou skrutkou, ktorá prišla s motorčekmi. Prepojenie so stavebnicou je jednoduché, stačia krátke skrutky, ktoré sa do plastu zarežú a budú držať bez potreby matice.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__notoc__&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=%C5%BDlt%C3%A9_diely_-_detaily&amp;diff=1246</id>
		<title>Žlté diely - detaily</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=%C5%BDlt%C3%A9_diely_-_detaily&amp;diff=1246"/>
		<updated>2026-09-09T22:36:44Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== 2,3,4×N ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:2xN.jpg|400px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:3xN.jpg|400px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:4xN.jpg|400px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=Biele_diely_-_detaily&amp;diff=1245</id>
		<title>Biele diely - detaily</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=Biele_diely_-_detaily&amp;diff=1245"/>
		<updated>2026-09-09T22:36:21Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== 1×N ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:1xN.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
Jednoduché spojenie ďalších dvoch komponentov. Spájajú sa pomocou M3 skrutiek a M3 matic.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Arm parts ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:Arm parts.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
Súčiastky určené pre robotické rameno. Nachádzajú sa v plastovom vreci medzi ostatnými súčiastkami. Sú tam súčiastky ako ozubené koleso, držiak na ozubené koleso, rúčky na úchyt, plastové matice a ďalšie súčiastky, ktoré sa použijú v robotickom ramene.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:RoboticArmImage107.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vertikálne M×N-L ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:MxN-L1.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:MxN-L3.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:MxN-L2.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ohnuté spoje ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:Ohnute.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__notoc__&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=Biele_diely_-_detaily&amp;diff=1244</id>
		<title>Biele diely - detaily</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=Biele_diely_-_detaily&amp;diff=1244"/>
		<updated>2026-09-09T22:35:54Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Biele diely ==&lt;br /&gt;
&lt;br /&gt;
=== 1×N ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:1xN.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
Jednoduché spojenie ďalších dvoch komponentov. Spájajú sa pomocou M3 skrutiek a M3 matic.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Arm parts ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:Arm parts.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
Súčiastky určené pre robotické rameno. Nachádzajú sa v plastovom vreci medzi ostatnými súčiastkami. Sú tam súčiastky ako ozubené koleso, držiak na ozubené koleso, rúčky na úchyt, plastové matice a ďalšie súčiastky, ktoré sa použijú v robotickom ramene.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:RoboticArmImage107.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vertikálne M×N-L ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:MxN-L1.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:MxN-L3.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:MxN-L2.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ohnuté spoje ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:Ohnute.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__notoc__&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=%C5%BDlt%C3%A9_diely_-_detaily&amp;diff=1243</id>
		<title>Žlté diely - detaily</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=%C5%BDlt%C3%A9_diely_-_detaily&amp;diff=1243"/>
		<updated>2026-09-09T22:11:42Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: /* 2,3,4×N */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Žlté diely ==&lt;br /&gt;
&lt;br /&gt;
=== 2,3,4×N ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:2xN.jpg|400px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:3xN.jpg|400px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:4xN.jpg|400px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=%C4%8Cerven%C3%A9_diely_-_detaily&amp;diff=1242</id>
		<title>Červené diely - detaily</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=%C4%8Cerven%C3%A9_diely_-_detaily&amp;diff=1242"/>
		<updated>2026-09-09T22:10:27Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Mikrofón ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:MicrophoneHolder.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:Micophone join.jpg|400px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
Do dvoch rôznych držiakov sa mikrofón môže jednoducho zaklapnúť. Každý držiak sa môže pripojiť pomocou vertikálnych líšt a dier pre M3 skrutky.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Bzučiak ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image: BuzzerHolder.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image: Buzzer join.jpg | 400px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
Ak budete mať problém pri zavádzaní bzučiaka do držiaka, skúste odstrániť trochu natavného lepidla, ktoré môže prekážať pri nasadzovaní.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ultrazvuk ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:UltrasinicBox.jpg | 300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image: Ultrasonic join.jpg | 400px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
Pri skrutkovaní na lište odporúčame, aby ste neblokovali samotné piny senzora. Predpokladajte, že z nich budú vyvedené káble, ktoré budú niekam pokračovať.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Laserový senzor ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:LaserDistanceHolder.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image: Laser join1.jpg | 400px]]&lt;br /&gt;
[[Image: Laser join2.jpg | 400px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Joystick ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:JoystickBox.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:Joystick join.jpg|400px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
Táto krabička primárne slúži na ochranu a lepšie uchytenie joysticku. Síce sa dá pripojiť ku stavebnici (2. obrázok), ale nie je to dokonalé.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Gyroskop ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:GyroscopeHolder.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Gyroscope join.jpg|400px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
Držiaky gyroskopu slúžia na pripevnenie gyroskopu do jednej statickej pozície na stavebnici. Gyroskop sa jednoducho zaklapne do držiaka.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== QTR-8A + Multiplexor ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:QTR-8A1.jpg|300px]]&lt;br /&gt;
[[Image:QTR-8A2.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Line join.jpg |400px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
Držiak na line senzor a multiplexor je špeciálne navrhnutý tak, aby sa senzory nedotýkali priamo zeme a boli chránené proti nárazu zo zeme. Samotná zostava senzora a multiplexora sa zaklapne najprv jednou a potom druhou stranou do držiaka.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== LED ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:LedHolder.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Držiaky káblov ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:CableHolders.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:Cabel join.jpg|400px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
Prvý držiak slúži na dynamickejšie zaobchádzanie, teda ak sa káble vyberajú a zasúvajú, druhý slúži na statické uchytenie – najprv sa zasunú káble a priskrutkuje sa ku stavebnici dlhšou skrutkou.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__notoc__&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=%C4%8Cerven%C3%A9_diely_-_detaily&amp;diff=1241</id>
		<title>Červené diely - detaily</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=%C4%8Cerven%C3%A9_diely_-_detaily&amp;diff=1241"/>
		<updated>2026-09-09T22:07:30Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: /* Bzučiak */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Mikrofón ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:MicrophoneHolder.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:Micophone join.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
Do  dvoch roznych drziakov sa mirkofon moze jednoducho zaklapnut. Kazdy drziak sa moze pripojit pomocou vertikalych list a dier pre M3 skrutky.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Bzučiak ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image: BuzzerHolder.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image: Buzzer join.jpg | 300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
Ak budete mat problem pri zavadzani bzuciaka do drziaku, tak skuste odstranit trochu natavneho lepidla, ktory moze prekazat pri nasadzovani.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ultrazvuk ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:UltrasinicBox.jpg | 300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image: Ultrasonic join.jpg | 300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
Pri skrutkovaní na listu odporucame aby ste neblokovali samotne piny zo senzora. Predpokladajte, ze z nich budu vyvedene kable, ktore aj niekam pojdu.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Laserový senzor ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:LaserDistanceHolder.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image: Laser join1.jpg | 300px]]&lt;br /&gt;
[[Image: Laser join2.jpg | 300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Joystick ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:JoystickBox.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:Joystick join.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
Tato krabicka primarne sluzi k ochrane a lepsiemu uchyteniu joysticku. Sice sa da pripojit ku stavebnici (2. obrazok), ale nie je to dokonale.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Gyroskop ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:GyroscopeHolder.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Gyroscope join.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
Drziaky gyroskopu sluzia na pripevnenie gyroskopu na jednu staticku poziciu ku stavebnici. Gyroskop sa jednoducho zaklapne do drziaku.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== QTR-8A + Multiplexor ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:QTR-8A1.jpg|300px]]&lt;br /&gt;
[[Image:QTR-8A2.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Line join.jpg |300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
Drziak na line senzor a multiplexor je specialne nadizajnovany, tak aby sa snezory nedotykali priamo zeme a boli chranene proti narazu zo zeme. Samotna zostava senzora a mumltiplexora sa zaklapne najprv jednou a potom druhou stranou do drziaka.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== LED ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:LedHolder.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Držiaky káblov ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:CableHolders.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:Cabel join.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
Prvy drziak sluzi na dynamickejsie zaobchadzanie a to keby sa kable vyberali a zasuvali, druhy sluzi na staticke uchytenie - najprv sa zasunu kable a priskrutkuje sa ku stavebnici dlhsou skrutkou.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__notoc__&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=%C4%8Cerven%C3%A9_diely_-_detaily&amp;diff=1240</id>
		<title>Červené diely - detaily</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=%C4%8Cerven%C3%A9_diely_-_detaily&amp;diff=1240"/>
		<updated>2026-09-09T22:05:29Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: /* Ultrazvuk */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Mikrofón ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:MicrophoneHolder.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:Micophone join.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
Do  dvoch roznych drziakov sa mirkofon moze jednoducho zaklapnut. Kazdy drziak sa moze pripojit pomocou vertikalych list a dier pre M3 skrutky.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Bzučiak ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image: BuzzerHolder.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image: Buzzer join.jpg | 300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ultrazvuk ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:UltrasinicBox.jpg | 300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image: Ultrasonic join.jpg | 300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
Pri skrutkovaní na listu odporucame aby ste neblokovali samotne piny zo senzora. Predpokladajte, ze z nich budu vyvedene kable, ktore aj niekam pojdu.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Laserový senzor ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:LaserDistanceHolder.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image: Laser join1.jpg | 300px]]&lt;br /&gt;
[[Image: Laser join2.jpg | 300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Joystick ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:JoystickBox.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:Joystick join.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
Tato krabicka primarne sluzi k ochrane a lepsiemu uchyteniu joysticku. Sice sa da pripojit ku stavebnici (2. obrazok), ale nie je to dokonale.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Gyroskop ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:GyroscopeHolder.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Gyroscope join.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
Drziaky gyroskopu sluzia na pripevnenie gyroskopu na jednu staticku poziciu ku stavebnici. Gyroskop sa jednoducho zaklapne do drziaku.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== QTR-8A + Multiplexor ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:QTR-8A1.jpg|300px]]&lt;br /&gt;
[[Image:QTR-8A2.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Line join.jpg |300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
Drziak na line senzor a multiplexor je specialne nadizajnovany, tak aby sa snezory nedotykali priamo zeme a boli chranene proti narazu zo zeme. Samotna zostava senzora a mumltiplexora sa zaklapne najprv jednou a potom druhou stranou do drziaka.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== LED ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:LedHolder.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Držiaky káblov ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:CableHolders.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:Cabel join.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
Prvy drziak sluzi na dynamickejsie zaobchadzanie a to keby sa kable vyberali a zasuvali, druhy sluzi na staticke uchytenie - najprv sa zasunu kable a priskrutkuje sa ku stavebnici dlhsou skrutkou.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__notoc__&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=Modr%C3%A9_diely_-_detaily&amp;diff=1239</id>
		<title>Modré diely - detaily</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=Modr%C3%A9_diely_-_detaily&amp;diff=1239"/>
		<updated>2026-09-09T14:51:04Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Modré diely ==&lt;br /&gt;
&lt;br /&gt;
=== Servo modul XY(1,2) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 250px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Diel&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:Servos3.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 250px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Spojenie so servom&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ServoScrew1.jpg|300px]]&lt;br /&gt;
[[Image:ServoScrew2.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 250px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Prepojenie so stavebnicou&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ServoMount6.jpg|300px]]&lt;br /&gt;
[[Image:ServoMount7.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 12px; padding-top: 8px; border-top: 1px solid #ccc;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Popis:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Samotne drziaky pre serva &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Servo modul XY(3,4,5) + XYZ ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 250px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Diel&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:Servos1.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 250px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Spojenie so servom&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ServoScrew3.jpg|300px]]&lt;br /&gt;
[[Image:ServoScrew4.jpg|300px]]&lt;br /&gt;
[[Image:ServoScrew5.jpg|300px]]&lt;br /&gt;
[[Image:ServoScrew6.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 250px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Prepojenie so stavebnicou&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ServoMount1.jpg|300px]]&lt;br /&gt;
[[Image:ServoMount2.jpg|300px]]&lt;br /&gt;
[[Image:ServoMount3.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 12px; padding-top: 8px; border-top: 1px solid #ccc;&amp;quot;&amp;gt;&lt;br /&gt;
Popis:&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Servo modul YZ(1,2) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 250px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Diel&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:Servos2.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 250px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Spojenie so servom&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ServoScrew7.jpg|300px]]&lt;br /&gt;
[[Image:ServoScrew8.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 250px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Prepojenie so stavebnicou&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ServoMount4.jpg|300px]]&lt;br /&gt;
[[Image:ServoMount5.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 12px; padding-top: 8px; border-top: 1px solid #ccc;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Popis:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Servo ramená ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 250px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Diel&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:Servos4.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 250px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Pripojenie so servom&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ServoArmScrew1.jpg|300px]]&lt;br /&gt;
[[Image:ServoArmScrew2.jpg|300px]]&lt;br /&gt;
[[Image:ServoArmScrew3.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 250px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Prepojenie so stavebnicou&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ServoArmScrew4.jpg|300px]]&lt;br /&gt;
[[Image:ServoArmScrew5.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 12px; padding-top: 8px; border-top: 1px solid #ccc;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Popis:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Samotne ramena sa musia s vacsou silou vsunut do rotacnej casti servo motorceka. Ak chete silnejsi uchyt, rameno mozete este priskrutkovat malou skrutkou co prisli s motrocekmi. Prepojenie so stavebnicou je jednoduchy, stacia kratke skrutky, ktore sa do plastu zaryju a budu drzat bez potreby matice.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__notoc__&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:2xN.jpg&amp;diff=1238</id>
		<title>Súbor:2xN.jpg</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:2xN.jpg&amp;diff=1238"/>
		<updated>2026-09-09T13:59:59Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: Sebastian nahral novú verziu Súbor:2xN.jpg&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=Modr%C3%A9_diely_-_detaily&amp;diff=1237</id>
		<title>Modré diely - detaily</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=Modr%C3%A9_diely_-_detaily&amp;diff=1237"/>
		<updated>2026-09-09T13:58:48Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Modré diely ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Servo modul XY(1,2) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:Servos3.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:ServoScrew1.jpg|300px]]&lt;br /&gt;
[[Image:ServoScrew2.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:ServoMount6.jpg|300px]]&lt;br /&gt;
[[Image:ServoMount7.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Servo modul XY(3,4,5) + XYZ ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:Servos1.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 650px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:ServoScrew3.jpg|300px]]&lt;br /&gt;
[[Image:ServoScrew4.jpg|300px]]&lt;br /&gt;
[[Image:ServoScrew5.jpg|300px]]&lt;br /&gt;
[[Image:ServoScrew6.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:ServoMount1.jpg|300px]]&lt;br /&gt;
[[Image:ServoMount2.jpg|300px]]&lt;br /&gt;
[[Image:ServoMount3.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Servo modul YZ(1,2) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:Servos2.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:ServoScrew7.jpg|300px]]&lt;br /&gt;
[[Image:ServoScrew8.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:ServoMount4.jpg|300px]]&lt;br /&gt;
[[Image:ServoMount5.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Servo ramená ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; border: 2px solid #999; padding: 8px; margin-bottom: 12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:Servos4.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:ServoArmScrew1.jpg|300px]]&lt;br /&gt;
[[Image:ServoArmScrew2.jpg|300px]]&lt;br /&gt;
[[Image:ServoArmScrew3.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex: 1; min-width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:ServoArmScrew4.jpg|300px]]&lt;br /&gt;
[[Image:ServoArmScrew5.jpg|300px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__notoc__&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:ServoScrew8.jpg&amp;diff=1236</id>
		<title>Súbor:ServoScrew8.jpg</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:ServoScrew8.jpg&amp;diff=1236"/>
		<updated>2026-09-09T13:49:30Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:ServoScrew7.jpg&amp;diff=1235</id>
		<title>Súbor:ServoScrew7.jpg</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:ServoScrew7.jpg&amp;diff=1235"/>
		<updated>2026-09-09T13:49:22Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:ServoScrew6.jpg&amp;diff=1234</id>
		<title>Súbor:ServoScrew6.jpg</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:ServoScrew6.jpg&amp;diff=1234"/>
		<updated>2026-09-09T13:49:13Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:ServoScrew5.jpg&amp;diff=1233</id>
		<title>Súbor:ServoScrew5.jpg</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:ServoScrew5.jpg&amp;diff=1233"/>
		<updated>2026-09-09T13:49:04Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:ServoScrew4.jpg&amp;diff=1232</id>
		<title>Súbor:ServoScrew4.jpg</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:ServoScrew4.jpg&amp;diff=1232"/>
		<updated>2026-09-09T13:48:55Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:ServoScrew3.jpg&amp;diff=1231</id>
		<title>Súbor:ServoScrew3.jpg</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:ServoScrew3.jpg&amp;diff=1231"/>
		<updated>2026-09-09T13:48:47Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:ServoScrew2.jpg&amp;diff=1230</id>
		<title>Súbor:ServoScrew2.jpg</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:ServoScrew2.jpg&amp;diff=1230"/>
		<updated>2026-09-09T13:48:36Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:ServoScrew1.jpg&amp;diff=1229</id>
		<title>Súbor:ServoScrew1.jpg</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:ServoScrew1.jpg&amp;diff=1229"/>
		<updated>2026-09-09T13:48:28Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:ServoArmScrew5.jpg&amp;diff=1228</id>
		<title>Súbor:ServoArmScrew5.jpg</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:ServoArmScrew5.jpg&amp;diff=1228"/>
		<updated>2026-09-09T13:48:17Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:ServoArmScrew4.jpg&amp;diff=1227</id>
		<title>Súbor:ServoArmScrew4.jpg</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:ServoArmScrew4.jpg&amp;diff=1227"/>
		<updated>2026-09-09T13:48:06Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:ServoArmScrew3.jpg&amp;diff=1226</id>
		<title>Súbor:ServoArmScrew3.jpg</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:ServoArmScrew3.jpg&amp;diff=1226"/>
		<updated>2026-09-09T13:47:54Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:ServoArmScrew2.jpg&amp;diff=1225</id>
		<title>Súbor:ServoArmScrew2.jpg</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:ServoArmScrew2.jpg&amp;diff=1225"/>
		<updated>2026-09-09T13:47:44Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:ServoArmScrew1.jpg&amp;diff=1224</id>
		<title>Súbor:ServoArmScrew1.jpg</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:ServoArmScrew1.jpg&amp;diff=1224"/>
		<updated>2026-09-09T13:47:35Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:ServoMount7.jpg&amp;diff=1223</id>
		<title>Súbor:ServoMount7.jpg</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:ServoMount7.jpg&amp;diff=1223"/>
		<updated>2026-09-09T13:47:24Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:ServoMount6.jpg&amp;diff=1222</id>
		<title>Súbor:ServoMount6.jpg</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:ServoMount6.jpg&amp;diff=1222"/>
		<updated>2026-09-09T13:47:14Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:ServoMount5.jpg&amp;diff=1221</id>
		<title>Súbor:ServoMount5.jpg</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:ServoMount5.jpg&amp;diff=1221"/>
		<updated>2026-09-09T13:47:03Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:ServoMount4.jpg&amp;diff=1220</id>
		<title>Súbor:ServoMount4.jpg</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:ServoMount4.jpg&amp;diff=1220"/>
		<updated>2026-09-09T13:46:52Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:ServoMount3.jpg&amp;diff=1219</id>
		<title>Súbor:ServoMount3.jpg</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:ServoMount3.jpg&amp;diff=1219"/>
		<updated>2026-09-09T13:46:44Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:ServoMount2.jpg&amp;diff=1218</id>
		<title>Súbor:ServoMount2.jpg</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:ServoMount2.jpg&amp;diff=1218"/>
		<updated>2026-09-09T13:46:35Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:ServoMount1.jpg&amp;diff=1217</id>
		<title>Súbor:ServoMount1.jpg</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:ServoMount1.jpg&amp;diff=1217"/>
		<updated>2026-09-09T13:46:23Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=RP2350_-_%C3%BAvod&amp;diff=1216</id>
		<title>RP2350 - úvod</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=RP2350_-_%C3%BAvod&amp;diff=1216"/>
		<updated>2026-09-08T20:17:29Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: /* Dve jadrá a dve architektúry (Arm / RISC-V) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Electronics|Späť do zoznamu]]|[[ RP2350_-_setup | HW príprava RP2350-zero]]&lt;br /&gt;
&lt;br /&gt;
=== Opis ===&lt;br /&gt;
&lt;br /&gt;
RP2350-Zero je malá vývojová doska od firmy Waveshare, postavená na čipe RP2350 (rovnaký čip ako v novšom Raspberry Pi Pico 2). Ide o kompaktnú alternatívu k bežnému Pico formátu – je výrazne menšia, a preto sa hodí presne tam, kde je málo miesta, ako je to aj v našej stavebnici.&lt;br /&gt;
&lt;br /&gt;
Hlavné vlastnosti:&lt;br /&gt;
* Čip RP2350 s dvoma jadrami, ktoré je možné prepnúť medzi Arm Cortex-M33 a RISC-V (Hazard3) – pre bežné použitie postačí predvolený Arm režim&lt;br /&gt;
* Takt do cca 150 MHz&lt;br /&gt;
* 520 kB SRAM priamo na čipe + externá 4 MB flash pamäť na uloženie programu (a prípadne aj vlastných súborov)&lt;br /&gt;
* USB-C konektor (napájanie aj nahrávanie firmvéru)&lt;br /&gt;
* Tlačidlo BOOT (na prepnutie do režimu nahrávania firmvéru) a tlačidlo RESET&lt;br /&gt;
* Jedna onboard RGB LED (WS2812/NeoPixel), ovládateľná jediným pinom&lt;br /&gt;
* Podpora PIO (Programmable I/O) – špeciálna periféria RP2350, ktorá vie v hardvéri &amp;quot;napodobniť&amp;quot; takmer akýkoľvek komunikačný protokol&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 8px;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:RP2040-Zero-Pinout.jpg|600px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:RP2040-Zero-Board.jpg|350px]]&lt;br /&gt;
[[File:RP2350_Box.jpg|350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
V našej stavebnici je RP2350-Zero &amp;quot;mozog&amp;quot; robota – riadi servá, číta senzory a komunikuje cez USB s počítačom.&lt;br /&gt;
&lt;br /&gt;
Pre účely variability našej stavebnice sme k RP2350-Zero vybrali aj expanznú podložku s vyvedenými VCC a GND pinmi. Má aj svoj vlastný držiak, ktorý sa pomocou M2 skrutiek priskrutkuje k expanznej podložke.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Poznámka:&#039;&#039;&#039; presné číslovanie pinov a niektoré detaily (napr. veľkosť flash pamäte na konkrétnej revízii dosky) si over v [https://www.waveshare.com/wiki/RP2350-Zero#Arduino_IDE_Series oficiálnej dokumentácii Waveshare] – ide o pomerne nový produkt a údaje sa medzi revíziami môžu líšiť.&lt;br /&gt;
&lt;br /&gt;
=== GPIO piny ===&lt;br /&gt;
&lt;br /&gt;
GPIO (General Purpose Input/Output) sú piny, cez ktoré doska komunikuje s okolitým svetom – môžu fungovať ako digitálny vstup (čítanie stavu, napr. tlačidlo), digitálny výstup (zapínanie/vypínanie, napr. LED) alebo majú aj špeciálne funkcie.&lt;br /&gt;
&lt;br /&gt;
Nasledujú typy funkcií, ktoré piny na RP2350 zvládajú (nie každý pin vie všetko naraz – funkciu si vždy nastavuje program). Podrobné vysvetlenie a testovací kód pre jednotlivé protokoly nájdeš na ich podstránkach – klikni na názov funkcie v tabuľke:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Funkcia !! Na čo slúži !! Príklad z našej stavebnice&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/GPIO|Digitálny vstup/výstup]] || Zapnutie/vypnutie, čítanie stavu tlačidla alebo spínača || Joystick tlačidlo&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/PWM|PWM]] (Pulse Width Modulation) || Riadenie servomotorov, stmievanie LED || Servo, LED modul&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/ADC|ADC]] (analógový vstup) || Čítanie analógovej hodnoty (napätia) || Joystick, mikrofón&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/I2C|I2C]] || Komunikácia so senzormi/displejmi cez 2 vodiče (SDA, SCL) || Gyroskop BNO055, laser VL53L0X&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/UART|UART]] || Sériová komunikácia (napr. debug výpisy medzi dvoma doskami alebo LCD displejom) || Zatiaľ nevyužité&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/SPI|SPI]] || Rýchlejšia komunikácia, napr. SD karta || Zatiaľ nevyužité&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Zapisovanie do pamäte ===&lt;br /&gt;
&lt;br /&gt;
Doska má 520 kB SRAM, do ktorej sa zapisuje kód, ktorý sa po zapnutí spustí. Ďalej má 4 MB flash pamäte, do ktorej môžeme zapisovať dáta, a to dvoma spôsobmi – podrobný návod a ukážkový kód pre každý z nich nájdeš na jeho podstránke:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Spôsob !! Na čo sa hodí&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/EEPROM|EEPROM]] || Jednoduché, pre malé množstvo dát (do 4 kB, jeden súbor)&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/LittleFS|LittleFS]] || Skutočný súborový systém, pre viac dát so štruktúrou (viac ako 4 kB, dlhodobé snímanie)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Electronics|Späť do zoznamu]]|[[ RP2350_-_setup | HW príprava RP2350-zero]]&lt;br /&gt;
&lt;br /&gt;
=== Opis ===&lt;br /&gt;
&lt;br /&gt;
RP2350-Zero je malá vývojová doska od firmy Waveshare, postavená na čipe RP2350 (rovnaký čip ako v novšom Raspberry Pi Pico 2). Ide o kompaktnú alternatívu k bežnému Pico formátu – je výrazne menšia, a preto sa hodí presne tam, kde je málo miesta, ako je to aj v našej stavebnici.&lt;br /&gt;
&lt;br /&gt;
Hlavné vlastnosti:&lt;br /&gt;
* Čip RP2350 s dvoma jadrami, ktoré je možné prepnúť medzi Arm Cortex-M33 a RISC-V (Hazard3) – pre bežné použitie postačí predvolený Arm režim&lt;br /&gt;
* Takt do cca 150 MHz&lt;br /&gt;
* 520 kB SRAM priamo na čipe + externá 4 MB flash pamäť na uloženie programu (a prípadne aj vlastných súborov)&lt;br /&gt;
* USB-C konektor (napájanie aj nahrávanie firmvéru)&lt;br /&gt;
* Tlačidlo BOOT (na prepnutie do režimu nahrávania firmvéru) a tlačidlo RESET&lt;br /&gt;
* Jedna onboard RGB LED (WS2812/NeoPixel), ovládateľná jediným pinom&lt;br /&gt;
* Podpora PIO (Programmable I/O) – špeciálna periféria RP2350, ktorá vie v hardvéri &amp;quot;napodobniť&amp;quot; takmer akýkoľvek komunikačný protokol&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 8px;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:RP2040-Zero-Pinout.jpg|600px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:RP2040-Zero-Board.jpg|350px]]&lt;br /&gt;
[[File:RP2350_Box.jpg|350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
V našej stavebnici je RP2350-Zero &amp;quot;mozog&amp;quot; robota – riadi servá, číta senzory a komunikuje cez USB s počítačom.&lt;br /&gt;
&lt;br /&gt;
Pre účely variability našej stavebnice sme k RP2350-Zero vybrali aj expanznú podložku s vyvedenými VCC a GND pinmi. Má aj svoj vlastný držiak, ktorý sa pomocou M2 skrutiek priskrutkuje k expanznej podložke.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Poznámka:&#039;&#039;&#039; presné číslovanie pinov a niektoré detaily (napr. veľkosť flash pamäte na konkrétnej revízii dosky) si over v [https://www.waveshare.com/wiki/RP2350-Zero#Arduino_IDE_Series oficiálnej dokumentácii Waveshare] – ide o pomerne nový produkt a údaje sa medzi revíziami môžu líšiť.&lt;br /&gt;
&lt;br /&gt;
=== GPIO piny ===&lt;br /&gt;
&lt;br /&gt;
GPIO (General Purpose Input/Output) sú piny, cez ktoré doska komunikuje s okolitým svetom – môžu fungovať ako digitálny vstup (čítanie stavu, napr. tlačidlo), digitálny výstup (zapínanie/vypínanie, napr. LED) alebo majú aj špeciálne funkcie.&lt;br /&gt;
&lt;br /&gt;
Nasledujú typy funkcií, ktoré piny na RP2350 zvládajú (nie každý pin vie všetko naraz – funkciu si vždy nastavuje program). Podrobné vysvetlenie a testovací kód pre jednotlivé protokoly nájdeš na ich podstránkach – klikni na názov funkcie v tabuľke:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Funkcia !! Na čo slúži !! Príklad z našej stavebnice&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/GPIO|Digitálny vstup/výstup]] || Zapnutie/vypnutie, čítanie stavu tlačidla alebo spínača || Joystick tlačidlo&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/PWM|PWM]] (Pulse Width Modulation) || Riadenie servomotorov, stmievanie LED || Servo, LED modul&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/ADC|ADC]] (analógový vstup) || Čítanie analógovej hodnoty (napätia) || Joystick, mikrofón&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/I2C|I2C]] || Komunikácia so senzormi/displejmi cez 2 vodiče (SDA, SCL) || Gyroskop BNO055, laser VL53L0X&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/UART|UART]] || Sériová komunikácia (napr. debug výpisy medzi dvoma doskami alebo LCD displejom) || Zatiaľ nevyužité&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/SPI|SPI]] || Rýchlejšia komunikácia, napr. SD karta || Zatiaľ nevyužité&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Zapisovanie do pamäte ===&lt;br /&gt;
&lt;br /&gt;
Doska má 520 kB SRAM, do ktorej sa zapisuje kód, ktorý sa po zapnutí spustí. Ďalej má 4 MB flash pamäte, do ktorej môžeme zapisovať dáta, a to dvoma spôsobmi – podrobný návod a ukážkový kód pre každý z nich nájdeš na jeho podstránke:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Spôsob !! Na čo sa hodí&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/EEPROM|EEPROM]] || Jednoduché, pre malé množstvo dát (do 4 kB, jeden súbor)&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/LittleFS|LittleFS]] || Skutočný súborový systém, pre viac dát so štruktúrou (viac ako 4 kB, dlhodobé snímanie)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Dve jadrá a dve architektúry (Arm / RISC-V) ===&lt;br /&gt;
&lt;br /&gt;
RP2350 má vo vnútri celkovo štyri jadrá – dvojicu &#039;&#039;&#039;Arm Cortex-M33&#039;&#039;&#039; a dvojicu &#039;&#039;&#039;RISC-V (Hazard3)&#039;&#039;&#039; – naraz je ale možné použiť len jednu z týchto dvoch dvojíc, nie všetky štyri súčasne.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Voľba architektúry (Arm alebo RISC-V)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ktorá dvojica jadier sa použije, sa nastavuje v Arduino IDE cez &#039;&#039;&#039;Tools → CPU Architecture → Arm&#039;&#039;&#039; alebo &#039;&#039;&#039;RISC-V&#039;&#039;&#039;. Nejde o prepínanie za behu programu – ide o nastavenie pre celý sketch, takže po zmene treba program nahrať odznova.&lt;br /&gt;
&lt;br /&gt;
[[File: CPU-arm-risc-v.png | 500px]]&lt;br /&gt;
&lt;br /&gt;
Pre bežné použitie (a takmer všetky knižnice v našej stavebnici) postačí predvolený Arm režim. RISC-V je skôr na experimentovanie – niektoré knižnice pod ním zatiaľ nemusia fungovať (napr. FreeRTOS).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Použitie oboch jadier naraz (multicore)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Bez ohľadu na zvolenú architektúru vie RP2350 spúšťať kód na oboch jadrách naraz. Popri známych funkciách &amp;lt;code&amp;gt;setup()&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;loop()&amp;lt;/code&amp;gt; (tie bežia na jadre 0) stačí do sketchu pridať funkcie &amp;lt;code&amp;gt;setup1()&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;loop1()&amp;lt;/code&amp;gt; – tie automaticky pobežia paralelne na jadre 1:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
// Jadro 0 - hlavna logika (napr. citanie senzorov)&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  Serial.println(&amp;quot;Jadro 0 bezi...&amp;quot;);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Jadro 1 - bezi paralelne s jadrom 0 (napr. blikanie LED)&lt;br /&gt;
void setup1() {&lt;br /&gt;
  pinMode(LED_BUILTIN, OUTPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop1() {&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  delay(200);&lt;br /&gt;
  digitalWrite(LED_BUILTIN, LOW);&lt;br /&gt;
  delay(200);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pár vecí, na ktoré si treba dať pozor:&lt;br /&gt;
* Obe jadrá si delia len 8 kB zásobníka (stack) – pri multicore sa rozdelí na 4 kB + 4 kB (namiesto plných 8 kB pre jedno jadro), takže vo &amp;lt;code&amp;gt;setup1()&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;loop1()&amp;lt;/code&amp;gt; netreba používať príliš veľké lokálne premenné či polia.&lt;br /&gt;
* Nie je bezpečné volať tú istú perifériu (napr. &amp;lt;code&amp;gt;Serial.print()&amp;lt;/code&amp;gt;) súčasne z oboch jadier bez synchronizácie – môže to spôsobiť nepredvídateľné správanie.&lt;br /&gt;
* Ak treba jadro 1 reštartovať alebo pozastaviť, dajú sa použiť funkcie &amp;lt;code&amp;gt;rp2040.restartCore1()&amp;lt;/code&amp;gt; a &amp;lt;code&amp;gt;rp2040.resumeOtherCore()&amp;lt;/code&amp;gt; (názov &amp;quot;rp2040&amp;quot; v knižnici ostáva zachovaný aj na RP2350 kvôli spätnej kompatibilite).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Komunikácia medzi jadrami&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Keďže jadro 0 a jadro 1 bežia úplne nezávisle (každé má svoj vlastný &amp;lt;code&amp;gt;setup&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;loop&amp;lt;/code&amp;gt;), potrebujú spôsob, ako si navzájom bezpečne posielať dáta – napríklad keď jadro 0 prečíta senzor a jadro 1 na základe toho niečo riadi. RP2350 má na to priamo v hardvéri dva malé kruhové zásobníky (FIFO) medzi jadrami – jeden v smere 0→1, druhý 1→0, každý s kapacitou 8 čísel (32-bitových). Arduino-pico ich sprístupňuje cez objekt &amp;lt;code&amp;gt;rp2040.fifo&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;rp2040.fifo.push(hodnota)&amp;lt;/code&amp;gt; – pošle 32-bitové číslo druhému jadru (počká, ak je FIFO plné)&lt;br /&gt;
* &amp;lt;code&amp;gt;rp2040.fifo.pop()&amp;lt;/code&amp;gt; – prečíta ďalšie prijaté číslo (počká, ak ešte nič neprišlo)&lt;br /&gt;
* &amp;lt;code&amp;gt;rp2040.fifo.available()&amp;lt;/code&amp;gt; – koľko hodnôt čaká na prečítanie&lt;br /&gt;
&lt;br /&gt;
[[File: CPU-FIFO.png | 500px]]&lt;br /&gt;
&lt;br /&gt;
Napríklad, ak má jadro 0 (číta senzor) posielať nameranú hodnotu jadru 1 (ktoré ju napríklad len vypisuje alebo podľa nej niečo riadi):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
// Jadro 0 - odosiela data jadru 1&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  int hodnota = analogRead(A0);     // napr. nacitanie zo senzora&lt;br /&gt;
  rp2040.fifo.push(hodnota);        // posli hodnotu jadru 1&lt;br /&gt;
  delay(200);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Jadro 1 - prijima data od jadra 0&lt;br /&gt;
void setup1() {&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop1() {&lt;br /&gt;
  if (rp2040.fifo.available() &amp;gt; 0) {&lt;br /&gt;
    int prijataHodnota = rp2040.fifo.pop();&lt;br /&gt;
    Serial.print(&amp;quot;Jadro 1 prijalo: &amp;quot;);&lt;br /&gt;
    Serial.println(prijataHodnota);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
FIFO vie naraz preniesť len jedno 32-bitové číslo, takže sa hodí najmä na jednoduché hodnoty alebo príkazy (napr. &amp;quot;toto je nová nameraná vzdialenosť&amp;quot;). Pre zdieľanie zložitejších dát (viac hodnôt naraz) sa zvyčajne cez FIFO pošle len signál &amp;quot;dáta sú pripravené&amp;quot; a samotné dáta sa čítajú zo spoločnej globálnej premennej (označenej &amp;lt;code&amp;gt;volatile&amp;lt;/code&amp;gt;), do ktorej ich medzitým zapísalo druhé jadro.&lt;br /&gt;
&lt;br /&gt;
__notoc__&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:CPU-FIFO.png&amp;diff=1215</id>
		<title>Súbor:CPU-FIFO.png</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:CPU-FIFO.png&amp;diff=1215"/>
		<updated>2026-09-08T20:16:27Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=RP2350_-_%C3%BAvod&amp;diff=1214</id>
		<title>RP2350 - úvod</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=RP2350_-_%C3%BAvod&amp;diff=1214"/>
		<updated>2026-09-08T20:07:49Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: /* Dve jadrá a dve architektúry (Arm / RISC-V) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Electronics|Späť do zoznamu]]|[[ RP2350_-_setup | HW príprava RP2350-zero]]&lt;br /&gt;
&lt;br /&gt;
=== Opis ===&lt;br /&gt;
&lt;br /&gt;
RP2350-Zero je malá vývojová doska od firmy Waveshare, postavená na čipe RP2350 (rovnaký čip ako v novšom Raspberry Pi Pico 2). Ide o kompaktnú alternatívu k bežnému Pico formátu – je výrazne menšia, a preto sa hodí presne tam, kde je málo miesta, ako je to aj v našej stavebnici.&lt;br /&gt;
&lt;br /&gt;
Hlavné vlastnosti:&lt;br /&gt;
* Čip RP2350 s dvoma jadrami, ktoré je možné prepnúť medzi Arm Cortex-M33 a RISC-V (Hazard3) – pre bežné použitie postačí predvolený Arm režim&lt;br /&gt;
* Takt do cca 150 MHz&lt;br /&gt;
* 520 kB SRAM priamo na čipe + externá 4 MB flash pamäť na uloženie programu (a prípadne aj vlastných súborov)&lt;br /&gt;
* USB-C konektor (napájanie aj nahrávanie firmvéru)&lt;br /&gt;
* Tlačidlo BOOT (na prepnutie do režimu nahrávania firmvéru) a tlačidlo RESET&lt;br /&gt;
* Jedna onboard RGB LED (WS2812/NeoPixel), ovládateľná jediným pinom&lt;br /&gt;
* Podpora PIO (Programmable I/O) – špeciálna periféria RP2350, ktorá vie v hardvéri &amp;quot;napodobniť&amp;quot; takmer akýkoľvek komunikačný protokol&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 8px;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:RP2040-Zero-Pinout.jpg|600px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:RP2040-Zero-Board.jpg|350px]]&lt;br /&gt;
[[File:RP2350_Box.jpg|350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
V našej stavebnici je RP2350-Zero &amp;quot;mozog&amp;quot; robota – riadi servá, číta senzory a komunikuje cez USB s počítačom.&lt;br /&gt;
&lt;br /&gt;
Pre účely variability našej stavebnice sme k RP2350-Zero vybrali aj expanznú podložku s vyvedenými VCC a GND pinmi. Má aj svoj vlastný držiak, ktorý sa pomocou M2 skrutiek priskrutkuje k expanznej podložke.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Poznámka:&#039;&#039;&#039; presné číslovanie pinov a niektoré detaily (napr. veľkosť flash pamäte na konkrétnej revízii dosky) si over v [https://www.waveshare.com/wiki/RP2350-Zero#Arduino_IDE_Series oficiálnej dokumentácii Waveshare] – ide o pomerne nový produkt a údaje sa medzi revíziami môžu líšiť.&lt;br /&gt;
&lt;br /&gt;
=== GPIO piny ===&lt;br /&gt;
&lt;br /&gt;
GPIO (General Purpose Input/Output) sú piny, cez ktoré doska komunikuje s okolitým svetom – môžu fungovať ako digitálny vstup (čítanie stavu, napr. tlačidlo), digitálny výstup (zapínanie/vypínanie, napr. LED) alebo majú aj špeciálne funkcie.&lt;br /&gt;
&lt;br /&gt;
Nasledujú typy funkcií, ktoré piny na RP2350 zvládajú (nie každý pin vie všetko naraz – funkciu si vždy nastavuje program). Podrobné vysvetlenie a testovací kód pre jednotlivé protokoly nájdeš na ich podstránkach – klikni na názov funkcie v tabuľke:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Funkcia !! Na čo slúži !! Príklad z našej stavebnice&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/GPIO|Digitálny vstup/výstup]] || Zapnutie/vypnutie, čítanie stavu tlačidla alebo spínača || Joystick tlačidlo&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/PWM|PWM]] (Pulse Width Modulation) || Riadenie servomotorov, stmievanie LED || Servo, LED modul&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/ADC|ADC]] (analógový vstup) || Čítanie analógovej hodnoty (napätia) || Joystick, mikrofón&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/I2C|I2C]] || Komunikácia so senzormi/displejmi cez 2 vodiče (SDA, SCL) || Gyroskop BNO055, laser VL53L0X&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/UART|UART]] || Sériová komunikácia (napr. debug výpisy medzi dvoma doskami alebo LCD displejom) || Zatiaľ nevyužité&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/SPI|SPI]] || Rýchlejšia komunikácia, napr. SD karta || Zatiaľ nevyužité&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Zapisovanie do pamäte ===&lt;br /&gt;
&lt;br /&gt;
Doska má 520 kB SRAM, do ktorej sa zapisuje kód, ktorý sa po zapnutí spustí. Ďalej má 4 MB flash pamäte, do ktorej môžeme zapisovať dáta, a to dvoma spôsobmi – podrobný návod a ukážkový kód pre každý z nich nájdeš na jeho podstránke:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Spôsob !! Na čo sa hodí&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/EEPROM|EEPROM]] || Jednoduché, pre malé množstvo dát (do 4 kB, jeden súbor)&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/LittleFS|LittleFS]] || Skutočný súborový systém, pre viac dát so štruktúrou (viac ako 4 kB, dlhodobé snímanie)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Electronics|Späť do zoznamu]]|[[ RP2350_-_setup | HW príprava RP2350-zero]]&lt;br /&gt;
&lt;br /&gt;
=== Opis ===&lt;br /&gt;
&lt;br /&gt;
RP2350-Zero je malá vývojová doska od firmy Waveshare, postavená na čipe RP2350 (rovnaký čip ako v novšom Raspberry Pi Pico 2). Ide o kompaktnú alternatívu k bežnému Pico formátu – je výrazne menšia, a preto sa hodí presne tam, kde je málo miesta, ako je to aj v našej stavebnici.&lt;br /&gt;
&lt;br /&gt;
Hlavné vlastnosti:&lt;br /&gt;
* Čip RP2350 s dvoma jadrami, ktoré je možné prepnúť medzi Arm Cortex-M33 a RISC-V (Hazard3) – pre bežné použitie postačí predvolený Arm režim&lt;br /&gt;
* Takt do cca 150 MHz&lt;br /&gt;
* 520 kB SRAM priamo na čipe + externá 4 MB flash pamäť na uloženie programu (a prípadne aj vlastných súborov)&lt;br /&gt;
* USB-C konektor (napájanie aj nahrávanie firmvéru)&lt;br /&gt;
* Tlačidlo BOOT (na prepnutie do režimu nahrávania firmvéru) a tlačidlo RESET&lt;br /&gt;
* Jedna onboard RGB LED (WS2812/NeoPixel), ovládateľná jediným pinom&lt;br /&gt;
* Podpora PIO (Programmable I/O) – špeciálna periféria RP2350, ktorá vie v hardvéri &amp;quot;napodobniť&amp;quot; takmer akýkoľvek komunikačný protokol&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 8px;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:RP2040-Zero-Pinout.jpg|600px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:RP2040-Zero-Board.jpg|350px]]&lt;br /&gt;
[[File:RP2350_Box.jpg|350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
V našej stavebnici je RP2350-Zero &amp;quot;mozog&amp;quot; robota – riadi servá, číta senzory a komunikuje cez USB s počítačom.&lt;br /&gt;
&lt;br /&gt;
Pre účely variability našej stavebnice sme k RP2350-Zero vybrali aj expanznú podložku s vyvedenými VCC a GND pinmi. Má aj svoj vlastný držiak, ktorý sa pomocou M2 skrutiek priskrutkuje k expanznej podložke.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Poznámka:&#039;&#039;&#039; presné číslovanie pinov a niektoré detaily (napr. veľkosť flash pamäte na konkrétnej revízii dosky) si over v [https://www.waveshare.com/wiki/RP2350-Zero#Arduino_IDE_Series oficiálnej dokumentácii Waveshare] – ide o pomerne nový produkt a údaje sa medzi revíziami môžu líšiť.&lt;br /&gt;
&lt;br /&gt;
=== GPIO piny ===&lt;br /&gt;
&lt;br /&gt;
GPIO (General Purpose Input/Output) sú piny, cez ktoré doska komunikuje s okolitým svetom – môžu fungovať ako digitálny vstup (čítanie stavu, napr. tlačidlo), digitálny výstup (zapínanie/vypínanie, napr. LED) alebo majú aj špeciálne funkcie.&lt;br /&gt;
&lt;br /&gt;
Nasledujú typy funkcií, ktoré piny na RP2350 zvládajú (nie každý pin vie všetko naraz – funkciu si vždy nastavuje program). Podrobné vysvetlenie a testovací kód pre jednotlivé protokoly nájdeš na ich podstránkach – klikni na názov funkcie v tabuľke:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Funkcia !! Na čo slúži !! Príklad z našej stavebnice&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/GPIO|Digitálny vstup/výstup]] || Zapnutie/vypnutie, čítanie stavu tlačidla alebo spínača || Joystick tlačidlo&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/PWM|PWM]] (Pulse Width Modulation) || Riadenie servomotorov, stmievanie LED || Servo, LED modul&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/ADC|ADC]] (analógový vstup) || Čítanie analógovej hodnoty (napätia) || Joystick, mikrofón&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/I2C|I2C]] || Komunikácia so senzormi/displejmi cez 2 vodiče (SDA, SCL) || Gyroskop BNO055, laser VL53L0X&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/UART|UART]] || Sériová komunikácia (napr. debug výpisy medzi dvoma doskami alebo LCD displejom) || Zatiaľ nevyužité&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/SPI|SPI]] || Rýchlejšia komunikácia, napr. SD karta || Zatiaľ nevyužité&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Zapisovanie do pamäte ===&lt;br /&gt;
&lt;br /&gt;
Doska má 520 kB SRAM, do ktorej sa zapisuje kód, ktorý sa po zapnutí spustí. Ďalej má 4 MB flash pamäte, do ktorej môžeme zapisovať dáta, a to dvoma spôsobmi – podrobný návod a ukážkový kód pre každý z nich nájdeš na jeho podstránke:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Spôsob !! Na čo sa hodí&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/EEPROM|EEPROM]] || Jednoduché, pre malé množstvo dát (do 4 kB, jeden súbor)&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/LittleFS|LittleFS]] || Skutočný súborový systém, pre viac dát so štruktúrou (viac ako 4 kB, dlhodobé snímanie)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Dve jadrá a dve architektúry (Arm / RISC-V) ===&lt;br /&gt;
&lt;br /&gt;
RP2350 má vo vnútri celkovo štyri jadrá – dvojicu &#039;&#039;&#039;Arm Cortex-M33&#039;&#039;&#039; a dvojicu &#039;&#039;&#039;RISC-V (Hazard3)&#039;&#039;&#039; – naraz je ale možné použiť len jednu z týchto dvoch dvojíc, nie všetky štyri súčasne.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Voľba architektúry (Arm alebo RISC-V)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ktorá dvojica jadier sa použije, sa nastavuje v Arduino IDE cez &#039;&#039;&#039;Tools → CPU Architecture → Arm&#039;&#039;&#039; alebo &#039;&#039;&#039;RISC-V&#039;&#039;&#039;. Nejde o prepínanie za behu programu – ide o nastavenie pre celý sketch, takže po zmene treba program nahrať odznova.&lt;br /&gt;
&lt;br /&gt;
[[File: CPU-arm-risc-v.png | 500px]]&lt;br /&gt;
&lt;br /&gt;
Pre bežné použitie (a takmer všetky knižnice v našej stavebnici) postačí predvolený Arm režim. RISC-V je skôr na experimentovanie – niektoré knižnice pod ním zatiaľ nemusia fungovať (napr. FreeRTOS).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Použitie oboch jadier naraz (multicore)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Bez ohľadu na zvolenú architektúru vie RP2350 spúšťať kód na oboch jadrách naraz. Popri známych funkciách &amp;lt;code&amp;gt;setup()&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;loop()&amp;lt;/code&amp;gt; (tie bežia na jadre 0) stačí do sketchu pridať funkcie &amp;lt;code&amp;gt;setup1()&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;loop1()&amp;lt;/code&amp;gt; – tie automaticky pobežia paralelne na jadre 1:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
// Jadro 0 - hlavna logika (napr. citanie senzorov)&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  Serial.println(&amp;quot;Jadro 0 bezi...&amp;quot;);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Jadro 1 - bezi paralelne s jadrom 0 (napr. blikanie LED)&lt;br /&gt;
void setup1() {&lt;br /&gt;
  pinMode(LED_BUILTIN, OUTPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop1() {&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  delay(200);&lt;br /&gt;
  digitalWrite(LED_BUILTIN, LOW);&lt;br /&gt;
  delay(200);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pár vecí, na ktoré si treba dať pozor:&lt;br /&gt;
* Obe jadrá si delia len 8 kB zásobníka (stack) – pri multicore sa rozdelí na 4 kB + 4 kB (namiesto plných 8 kB pre jedno jadro), takže vo &amp;lt;code&amp;gt;setup1()&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;loop1()&amp;lt;/code&amp;gt; netreba používať príliš veľké lokálne premenné či polia.&lt;br /&gt;
* Nie je bezpečné volať tú istú perifériu (napr. &amp;lt;code&amp;gt;Serial.print()&amp;lt;/code&amp;gt;) súčasne z oboch jadier bez synchronizácie – môže to spôsobiť nepredvídateľné správanie.&lt;br /&gt;
* Ak treba jadro 1 reštartovať alebo pozastaviť, dajú sa použiť funkcie &amp;lt;code&amp;gt;rp2040.restartCore1()&amp;lt;/code&amp;gt; a &amp;lt;code&amp;gt;rp2040.resumeOtherCore()&amp;lt;/code&amp;gt; (názov &amp;quot;rp2040&amp;quot; v knižnici ostáva zachovaný aj na RP2350 kvôli spätnej kompatibilite).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Komunikácia medzi jadrami&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Keďže jadro 0 a jadro 1 bežia úplne nezávisle (každé má svoj vlastný &amp;lt;code&amp;gt;setup&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;loop&amp;lt;/code&amp;gt;), potrebujú spôsob, ako si navzájom bezpečne posielať dáta – napríklad keď jadro 0 prečíta senzor a jadro 1 na základe toho niečo riadi. RP2350 má na to priamo v hardvéri dva malé kruhové zásobníky (FIFO) medzi jadrami – jeden v smere 0→1, druhý 1→0, každý s kapacitou 8 čísel (32-bitových). Arduino-pico ich sprístupňuje cez objekt &amp;lt;code&amp;gt;rp2040.fifo&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;rp2040.fifo.push(hodnota)&amp;lt;/code&amp;gt; – pošle 32-bitové číslo druhému jadru (počká, ak je FIFO plné)&lt;br /&gt;
* &amp;lt;code&amp;gt;rp2040.fifo.pop()&amp;lt;/code&amp;gt; – prečíta ďalšie prijaté číslo (počká, ak ešte nič neprišlo)&lt;br /&gt;
* &amp;lt;code&amp;gt;rp2040.fifo.available()&amp;lt;/code&amp;gt; – koľko hodnôt čaká na prečítanie&lt;br /&gt;
&lt;br /&gt;
Napríklad, ak má jadro 0 (číta senzor) posielať nameranú hodnotu jadru 1 (ktoré ju napríklad len vypisuje alebo podľa nej niečo riadi):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
// Jadro 0 - odosiela data jadru 1&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  int hodnota = analogRead(A0);     // napr. nacitanie zo senzora&lt;br /&gt;
  rp2040.fifo.push(hodnota);        // posli hodnotu jadru 1&lt;br /&gt;
  delay(200);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Jadro 1 - prijima data od jadra 0&lt;br /&gt;
void setup1() {&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop1() {&lt;br /&gt;
  if (rp2040.fifo.available() &amp;gt; 0) {&lt;br /&gt;
    int prijataHodnota = rp2040.fifo.pop();&lt;br /&gt;
    Serial.print(&amp;quot;Jadro 1 prijalo: &amp;quot;);&lt;br /&gt;
    Serial.println(prijataHodnota);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
FIFO vie naraz preniesť len jedno 32-bitové číslo, takže sa hodí najmä na jednoduché hodnoty alebo príkazy (napr. &amp;quot;toto je nová nameraná vzdialenosť&amp;quot;). Pre zdieľanie zložitejších dát (viac hodnôt naraz) sa zvyčajne cez FIFO pošle len signál &amp;quot;dáta sú pripravené&amp;quot; a samotné dáta sa čítajú zo spoločnej globálnej premennej (označenej &amp;lt;code&amp;gt;volatile&amp;lt;/code&amp;gt;), do ktorej ich medzitým zapísalo druhé jadro.&lt;br /&gt;
&lt;br /&gt;
__notoc__&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:CPU-arm-risc-v.png&amp;diff=1213</id>
		<title>Súbor:CPU-arm-risc-v.png</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:CPU-arm-risc-v.png&amp;diff=1213"/>
		<updated>2026-09-08T19:59:06Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=RP2350-Zero/EEPROM&amp;diff=1212</id>
		<title>RP2350-Zero/EEPROM</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=RP2350-Zero/EEPROM&amp;diff=1212"/>
		<updated>2026-09-08T19:55:41Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[RP2350 - úvod|Späť na RP2350 - úvod]]&lt;br /&gt;
&lt;br /&gt;
== EEPROM ==&lt;br /&gt;
&lt;br /&gt;
EEPROM pamäť na RP2350 si vieš predstaviť ako pole so 4096 adresami – teda 4096 priehradiek, do ktorých sa zmestí presne 1 bajt, očíslovaných od 0 po 4095.&lt;br /&gt;
&lt;br /&gt;
[[File: EEPROM-adress.png | 400px]]&lt;br /&gt;
&lt;br /&gt;
Skôr než do tohto poľa začneme zapisovať, musíme si povedať, koľko z týchto 4096 adries chceme reálne použiť – to sa volá rezervovanie (alokovanie) pamäte. Je to podobné, ako keby sme si v hoteli so 4096 očíslovanými izbami zabookovali určitý rozsah izieb, napríklad od čísla 0 po číslo 255 – v rámci tohto rozsahu si môžeme robiť, čo chceme, a jedine náš program má „kľúč“ k týmto izbám, takže sa do nich nedostane nič iné. Rezervovaný rozsah pritom nikdy nemôže presiahnuť veľkosť celého poľa, teda 4096 bajtov.&lt;br /&gt;
&lt;br /&gt;
Keď si pamäť rezervujeme, môžeme do nej zapisovať, čo chceme – napríklad namerané vzdialenosti z ultrazvukového senzora.&lt;br /&gt;
&lt;br /&gt;
Treba dávať pozor na to, že rezervovaný rozsah je adresovaný od 0 po náš zvolený bajt − 1. Každé číslo, znak či dátový typ pritom v poli zaberá inú veľkosť, teda iný počet susedných adries:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Dátový typ !! Veľkosť&lt;br /&gt;
|-&lt;br /&gt;
| bool, byte, char || 1 bajt&lt;br /&gt;
|-&lt;br /&gt;
| short || 2 bajty&lt;br /&gt;
|-&lt;br /&gt;
| int, unsigned int || 4 bajty&lt;br /&gt;
|-&lt;br /&gt;
| long, unsigned long || 4 bajty&lt;br /&gt;
|-&lt;br /&gt;
| float || 4 bajty&lt;br /&gt;
|-&lt;br /&gt;
| double || 8 bajtov&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File: EEPROM-data.png | 500px ]]&lt;br /&gt;
&lt;br /&gt;
Ak si nie si istý veľkosťou konkrétneho typu, over si ju priamo v kóde príkazom &amp;lt;code&amp;gt;sizeof(premenná)&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Všetky testovacie programy nájdeš v File → Examples → EEPROM.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Zápis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;EEPROM.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  EEPROM.begin(256);      // rezervuje 256 bajtov &amp;quot;EEPROM&amp;quot; priestoru vo flashi (max. 4096)&lt;br /&gt;
&lt;br /&gt;
  EEPROM.write(0, 123);   // zapíše hodnotu 123 na adresu 0&lt;br /&gt;
  EEPROM.commit();        // POVINNÉ – reálne zapíše do flashe (inak zostane len v RAM cache)&lt;br /&gt;
&lt;br /&gt;
  byte hodnota = EEPROM.read(0);&lt;br /&gt;
  Serial.print(&amp;quot;Zapísaná hodnota: &amp;quot;);&lt;br /&gt;
  Serial.println(hodnota);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ak chceme zapisovať aj viacbajtové typy (napr. &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; alebo &amp;lt;code&amp;gt;float&amp;lt;/code&amp;gt;), nemusíme ich rozkladať na jednotlivé bajty ručne – knižnica má na to funkcie &amp;lt;code&amp;gt;EEPROM.put()&amp;lt;/code&amp;gt; a &amp;lt;code&amp;gt;EEPROM.get()&amp;lt;/code&amp;gt;, ktoré si samy poradia so správnym počtom bajtov podľa typu premennej:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;EEPROM.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int adresa = 0;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  EEPROM.begin(256);&lt;br /&gt;
&lt;br /&gt;
  float vzdialenost = 23.5;&lt;br /&gt;
  EEPROM.put(adresa, vzdialenost);      // zapíše všetkých sizeof(float) = 4 bajty naraz&lt;br /&gt;
  EEPROM.commit();&lt;br /&gt;
&lt;br /&gt;
  adresa += sizeof(float);&lt;br /&gt;
  vzdialenost += 10;&lt;br /&gt;
  EEPROM.put(adresa, vzdialenost);&lt;br /&gt;
  EEPROM.commit();&lt;br /&gt;
&lt;br /&gt;
  float nacitanaHodnota;&lt;br /&gt;
  EEPROM.get(adresa, nacitanaHodnota);  // prečíta správny počet bajtov automaticky&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Načítaná hodnota: &amp;quot;);&lt;br /&gt;
  Serial.println(nacitanaHodnota);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Čítanie&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ak chceš z pamäte iba čítať (napríklad po reštarte dosky, keď chceš zistiť naposledy uloženú hodnotu):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;EEPROM.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int adresa = 0;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  EEPROM.begin(256);&lt;br /&gt;
&lt;br /&gt;
  byte hodnota = EEPROM.read(adresa);&lt;br /&gt;
  Serial.print(&amp;quot;Hodnota na adrese 0: &amp;quot;);&lt;br /&gt;
  Serial.println(hodnota);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vynulovanie&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ak chceš celú rezervovanú pamäť vynulovať (napríklad pred novým meraním):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;EEPROM.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  EEPROM.begin(256);&lt;br /&gt;
&lt;br /&gt;
  for (int i = 0; i &amp;lt; 256; i++) {&lt;br /&gt;
    EEPROM.write(i, 0);   // 0 používame ako &amp;quot;prázdnu&amp;quot; hodnotu&lt;br /&gt;
  }&lt;br /&gt;
  EEPROM.commit();        // bez tohto sa vynulovanie neuloží natrvalo&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  Serial.println(&amp;quot;Pamäť vynulovaná.&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__notoc__&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=RP2350-Zero/EEPROM&amp;diff=1211</id>
		<title>RP2350-Zero/EEPROM</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=RP2350-Zero/EEPROM&amp;diff=1211"/>
		<updated>2026-09-08T19:55:20Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: /* EEPROM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[RP2350 - úvod|Späť na RP2350 - úvod]]&lt;br /&gt;
&lt;br /&gt;
[[RP2350 - úvod|Späť na RP2350 - úvod]]&lt;br /&gt;
&lt;br /&gt;
== EEPROM ==&lt;br /&gt;
&lt;br /&gt;
EEPROM pamäť na RP2350 si vieš predstaviť ako pole so 4096 adresami – teda 4096 priehradiek, do ktorých sa zmestí presne 1 bajt, očíslovaných od 0 po 4095.&lt;br /&gt;
&lt;br /&gt;
[[File: EEPROM-adress.png | 400px]]&lt;br /&gt;
&lt;br /&gt;
Skôr než do tohto poľa začneme zapisovať, musíme si povedať, koľko z týchto 4096 adries chceme reálne použiť – to sa volá rezervovanie (alokovanie) pamäte. Je to podobné, ako keby sme si v hoteli so 4096 očíslovanými izbami zabookovali určitý rozsah izieb, napríklad od čísla 0 po číslo 255 – v rámci tohto rozsahu si môžeme robiť, čo chceme, a jedine náš program má „kľúč“ k týmto izbám, takže sa do nich nedostane nič iné. Rezervovaný rozsah pritom nikdy nemôže presiahnuť veľkosť celého poľa, teda 4096 bajtov.&lt;br /&gt;
&lt;br /&gt;
Keď si pamäť rezervujeme, môžeme do nej zapisovať, čo chceme – napríklad namerané vzdialenosti z ultrazvukového senzora.&lt;br /&gt;
&lt;br /&gt;
Treba dávať pozor na to, že rezervovaný rozsah je adresovaný od 0 po náš zvolený bajt − 1. Každé číslo, znak či dátový typ pritom v poli zaberá inú veľkosť, teda iný počet susedných adries:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Dátový typ !! Veľkosť&lt;br /&gt;
|-&lt;br /&gt;
| bool, byte, char || 1 bajt&lt;br /&gt;
|-&lt;br /&gt;
| short || 2 bajty&lt;br /&gt;
|-&lt;br /&gt;
| int, unsigned int || 4 bajty&lt;br /&gt;
|-&lt;br /&gt;
| long, unsigned long || 4 bajty&lt;br /&gt;
|-&lt;br /&gt;
| float || 4 bajty&lt;br /&gt;
|-&lt;br /&gt;
| double || 8 bajtov&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File: EEPROM-data.png | 500px ]]&lt;br /&gt;
&lt;br /&gt;
Ak si nie si istý veľkosťou konkrétneho typu, over si ju priamo v kóde príkazom &amp;lt;code&amp;gt;sizeof(premenná)&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Všetky testovacie programy nájdeš v File → Examples → EEPROM.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Zápis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;EEPROM.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  EEPROM.begin(256);      // rezervuje 256 bajtov &amp;quot;EEPROM&amp;quot; priestoru vo flashi (max. 4096)&lt;br /&gt;
&lt;br /&gt;
  EEPROM.write(0, 123);   // zapíše hodnotu 123 na adresu 0&lt;br /&gt;
  EEPROM.commit();        // POVINNÉ – reálne zapíše do flashe (inak zostane len v RAM cache)&lt;br /&gt;
&lt;br /&gt;
  byte hodnota = EEPROM.read(0);&lt;br /&gt;
  Serial.print(&amp;quot;Zapísaná hodnota: &amp;quot;);&lt;br /&gt;
  Serial.println(hodnota);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ak chceme zapisovať aj viacbajtové typy (napr. &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; alebo &amp;lt;code&amp;gt;float&amp;lt;/code&amp;gt;), nemusíme ich rozkladať na jednotlivé bajty ručne – knižnica má na to funkcie &amp;lt;code&amp;gt;EEPROM.put()&amp;lt;/code&amp;gt; a &amp;lt;code&amp;gt;EEPROM.get()&amp;lt;/code&amp;gt;, ktoré si samy poradia so správnym počtom bajtov podľa typu premennej:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;EEPROM.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int adresa = 0;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  EEPROM.begin(256);&lt;br /&gt;
&lt;br /&gt;
  float vzdialenost = 23.5;&lt;br /&gt;
  EEPROM.put(adresa, vzdialenost);      // zapíše všetkých sizeof(float) = 4 bajty naraz&lt;br /&gt;
  EEPROM.commit();&lt;br /&gt;
&lt;br /&gt;
  adresa += sizeof(float);&lt;br /&gt;
  vzdialenost += 10;&lt;br /&gt;
  EEPROM.put(adresa, vzdialenost);&lt;br /&gt;
  EEPROM.commit();&lt;br /&gt;
&lt;br /&gt;
  float nacitanaHodnota;&lt;br /&gt;
  EEPROM.get(adresa, nacitanaHodnota);  // prečíta správny počet bajtov automaticky&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Načítaná hodnota: &amp;quot;);&lt;br /&gt;
  Serial.println(nacitanaHodnota);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Čítanie&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ak chceš z pamäte iba čítať (napríklad po reštarte dosky, keď chceš zistiť naposledy uloženú hodnotu):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;EEPROM.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int adresa = 0;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  EEPROM.begin(256);&lt;br /&gt;
&lt;br /&gt;
  byte hodnota = EEPROM.read(adresa);&lt;br /&gt;
  Serial.print(&amp;quot;Hodnota na adrese 0: &amp;quot;);&lt;br /&gt;
  Serial.println(hodnota);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vynulovanie&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ak chceš celú rezervovanú pamäť vynulovať (napríklad pred novým meraním):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;EEPROM.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  EEPROM.begin(256);&lt;br /&gt;
&lt;br /&gt;
  for (int i = 0; i &amp;lt; 256; i++) {&lt;br /&gt;
    EEPROM.write(i, 0);   // 0 používame ako &amp;quot;prázdnu&amp;quot; hodnotu&lt;br /&gt;
  }&lt;br /&gt;
  EEPROM.commit();        // bez tohto sa vynulovanie neuloží natrvalo&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  Serial.println(&amp;quot;Pamäť vynulovaná.&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__notoc__&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:EEPROM-data.png&amp;diff=1210</id>
		<title>Súbor:EEPROM-data.png</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:EEPROM-data.png&amp;diff=1210"/>
		<updated>2026-09-08T19:53:01Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:EEPROM-adress.png&amp;diff=1209</id>
		<title>Súbor:EEPROM-adress.png</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:EEPROM-adress.png&amp;diff=1209"/>
		<updated>2026-09-08T19:45:57Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=RP2350-Zero/LittleFS&amp;diff=1208</id>
		<title>RP2350-Zero/LittleFS</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=RP2350-Zero/LittleFS&amp;diff=1208"/>
		<updated>2026-09-08T19:43:59Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: Vytvorená stránka „Späť na RP2350 - úvod  == LittleFS ==  Na rozdiel od EEPROM (jeden blok bajtov, adresovaný číslom) je LittleFS skutočný &amp;#039;&amp;#039;&amp;#039;súborový systém&amp;#039;&amp;#039;&amp;#039; – vieš v ňom mať viacero súborov s vlastnými menami, prípadne aj priečinky, podobne ako na počítači. Hodí sa vtedy, keď chceš uložiť viac dát (viac ako 4 kB) alebo dáta so štruktúrou (napr. samostatný súbor pre každé meranie).  &amp;#039;&amp;#039;&amp;#039;Nastavenie dosky&amp;#039;&amp;#039;&amp;#039;  Skôr než LittleFS…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[RP2350 - úvod|Späť na RP2350 - úvod]]&lt;br /&gt;
&lt;br /&gt;
== LittleFS ==&lt;br /&gt;
&lt;br /&gt;
Na rozdiel od EEPROM (jeden blok bajtov, adresovaný číslom) je LittleFS skutočný &#039;&#039;&#039;súborový systém&#039;&#039;&#039; – vieš v ňom mať viacero súborov s vlastnými menami, prípadne aj priečinky, podobne ako na počítači. Hodí sa vtedy, keď chceš uložiť viac dát (viac ako 4 kB) alebo dáta so štruktúrou (napr. samostatný súbor pre každé meranie).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nastavenie dosky&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Skôr než LittleFS použiješ, treba vo flash pamäti vyhradiť miesto pre súborový systém – v Arduino IDE to nastavíš cez &#039;&#039;&#039;Tools → Flash Size&#039;&#039;&#039;, kde zvolíš rozdelenie, ktoré obsahuje aj časť pre FS (napríklad niečo ako &amp;quot;2MB (Sketch: 1MB, FS: 1MB)&amp;quot; – presné položky menu sa môžu podľa verzie balíka pre RP2350 líšiť, tak si over aktuálny zoznam priamo v IDE). Bez tohto nastavenia LittleFS nemá kde fyzicky existovať a &amp;lt;code&amp;gt;begin()&amp;lt;/code&amp;gt; zlyhá.&lt;br /&gt;
&lt;br /&gt;
[[File: Flash-size.png | 400px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Štruktúra súborov&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Všetky cesty v LittleFS začínajú od koreňového priečinka &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; – napríklad súbor &amp;lt;code&amp;gt;data.txt&amp;lt;/code&amp;gt; uložený priamo v koreni má cestu &amp;lt;code&amp;gt;/data.txt&amp;lt;/code&amp;gt;. LittleFS podporuje aj podpriečinky, takže si vieš dáta usporiadať napríklad takto:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/&lt;br /&gt;
├── config.txt&lt;br /&gt;
└── logs/&lt;br /&gt;
    ├── log_01.txt&lt;br /&gt;
    └── log_02.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Priečinok si vytvoríš pomocou &amp;lt;code&amp;gt;LittleFS.mkdir(&amp;quot;/logs&amp;quot;)&amp;lt;/code&amp;gt;, súbor v ňom potom otvoríš cestou &amp;lt;code&amp;gt;/logs/log_01.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Pred prvým použitím treba súborový systém &amp;quot;nabehnúť&amp;quot; (a pri prvom spustení na novej doske sa automaticky naformátuje):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;LittleFS.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
&lt;br /&gt;
  if (!LittleFS.begin()) {&lt;br /&gt;
    Serial.println(&amp;quot;LittleFS sa nepodarilo spustit!&amp;quot;);&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
  Serial.println(&amp;quot;LittleFS pripraveny.&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vytvorenie a zápis súboru&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Mód &amp;lt;code&amp;gt;&amp;quot;w&amp;quot;&amp;lt;/code&amp;gt; súbor vytvorí (ak neexistuje) alebo prepíše jeho obsah (ak existuje):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
File f = LittleFS.open(&amp;quot;/data.txt&amp;quot;, &amp;quot;w&amp;quot;);&lt;br /&gt;
if (f) {&lt;br /&gt;
  f.println(&amp;quot;Prvy riadok dat&amp;quot;);&lt;br /&gt;
  f.println(&amp;quot;Druhy riadok dat&amp;quot;);&lt;br /&gt;
  f.close();&lt;br /&gt;
  Serial.println(&amp;quot;Zapisane.&amp;quot;);&lt;br /&gt;
} else {&lt;br /&gt;
  Serial.println(&amp;quot;Nepodarilo sa otvorit súbor na zapis!&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Čítanie súboru&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Mód &amp;lt;code&amp;gt;&amp;quot;r&amp;quot;&amp;lt;/code&amp;gt; otvorí súbor len na čítanie – &amp;lt;code&amp;gt;f.available()&amp;lt;/code&amp;gt; hovorí, či ešte zostávajú nejaké neprečítané bajty:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
File f = LittleFS.open(&amp;quot;/data.txt&amp;quot;, &amp;quot;r&amp;quot;);&lt;br /&gt;
if (f) {&lt;br /&gt;
  while (f.available()) {&lt;br /&gt;
    Serial.write(f.read());&lt;br /&gt;
  }&lt;br /&gt;
  f.close();&lt;br /&gt;
} else {&lt;br /&gt;
  Serial.println(&amp;quot;Súbor neexistuje!&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Appendovanie (pripájanie na konec)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Mód &amp;lt;code&amp;gt;&amp;quot;a&amp;quot;&amp;lt;/code&amp;gt; na rozdiel od &amp;lt;code&amp;gt;&amp;quot;w&amp;quot;&amp;lt;/code&amp;gt; existujúci obsah nevymaže – nový text sa pripíše na koniec súboru. Hodí sa napríklad na priebežné logovanie:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
File f = LittleFS.open(&amp;quot;/data.txt&amp;quot;, &amp;quot;a&amp;quot;);&lt;br /&gt;
if (f) {&lt;br /&gt;
  f.println(&amp;quot;Dalsi zaznam, ktory sa priplete na koniec&amp;quot;);&lt;br /&gt;
  f.close();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Poznámka:&#039;&#039;&#039; pred otvorením súboru sa oplatí overiť, či existuje, pomocou &amp;lt;code&amp;gt;LittleFS.exists(&amp;quot;/data.txt&amp;quot;)&amp;lt;/code&amp;gt; – napríklad ak chceš pri prvom spustení vytvoriť súbor len raz a pri ďalších spusteniach doňho už len appendovať.&lt;br /&gt;
&lt;br /&gt;
__notoc__&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=RP2350-Zero/EEPROM&amp;diff=1207</id>
		<title>RP2350-Zero/EEPROM</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=RP2350-Zero/EEPROM&amp;diff=1207"/>
		<updated>2026-09-08T19:43:39Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: Vytvorená stránka „Späť na RP2350 - úvod  == EEPROM ==  Aby sme mohli s pamäťou pracovať, musíme si ju najprv rezervovať (alokovať). Rezervovať si ju môžeme po bajtoch, až do 4096 bajtov, čo je jeden blok pamäte. Do tohto bloku nám nič nemôže zasahovať okrem nášho programu.  Je to podobné, ako keby sme si v hoteli rezervovali izbu – môžeme si v nej robiť, čo chceme, a jedine my máme kľúč od izby, takže sa do nej nedostane nikto in…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[RP2350 - úvod|Späť na RP2350 - úvod]]&lt;br /&gt;
&lt;br /&gt;
== EEPROM ==&lt;br /&gt;
&lt;br /&gt;
Aby sme mohli s pamäťou pracovať, musíme si ju najprv rezervovať (alokovať). Rezervovať si ju môžeme po bajtoch, až do 4096 bajtov, čo je jeden blok pamäte. Do tohto bloku nám nič nemôže zasahovať okrem nášho programu.&lt;br /&gt;
&lt;br /&gt;
Je to podobné, ako keby sme si v hoteli rezervovali izbu – môžeme si v nej robiť, čo chceme, a jedine my máme kľúč od izby, takže sa do nej nedostane nikto iný.&lt;br /&gt;
&lt;br /&gt;
Keď si pamäť rezervujeme, môžeme do nej zapisovať, čo chceme – napríklad namerané vzdialenosti z ultrazvukového senzora.&lt;br /&gt;
&lt;br /&gt;
Treba dávať pozor na to, že rezervovanú pamäť máme aj adresovanú, a to od bajtu 0 po náš zvolený bajt − 1. Každé číslo, znak či dátový typ pritom v pamäti zaberá inú veľkosť:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Dátový typ !! Veľkosť&lt;br /&gt;
|-&lt;br /&gt;
| bool, byte, char || 1 bajt&lt;br /&gt;
|-&lt;br /&gt;
| short || 2 bajty&lt;br /&gt;
|-&lt;br /&gt;
| int, unsigned int || 4 bajty&lt;br /&gt;
|-&lt;br /&gt;
| long, unsigned long || 4 bajty&lt;br /&gt;
|-&lt;br /&gt;
| float || 4 bajty&lt;br /&gt;
|-&lt;br /&gt;
| double || 8 bajtov&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Ak si nie si istý veľkosťou konkrétneho typu, over si ju priamo v kóde príkazom &amp;lt;code&amp;gt;sizeof(premenná)&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Všetky testovacie programy nájdeš v File → Examples → EEPROM.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Zápis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;EEPROM.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  EEPROM.begin(256);      // rezervuje 256 bajtov &amp;quot;EEPROM&amp;quot; priestoru vo flashi (max. 4096)&lt;br /&gt;
&lt;br /&gt;
  EEPROM.write(0, 123);   // zapíše hodnotu 123 na adresu 0&lt;br /&gt;
  EEPROM.commit();        // POVINNÉ – reálne zapíše do flashe (inak zostane len v RAM cache)&lt;br /&gt;
&lt;br /&gt;
  byte hodnota = EEPROM.read(0);&lt;br /&gt;
  Serial.print(&amp;quot;Zapísaná hodnota: &amp;quot;);&lt;br /&gt;
  Serial.println(hodnota);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ak chceme zapisovať aj viacbajtové typy (napr. &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; alebo &amp;lt;code&amp;gt;float&amp;lt;/code&amp;gt;), nemusíme ich rozkladať na jednotlivé bajty ručne – knižnica má na to funkcie &amp;lt;code&amp;gt;EEPROM.put()&amp;lt;/code&amp;gt; a &amp;lt;code&amp;gt;EEPROM.get()&amp;lt;/code&amp;gt;, ktoré si samy poradia so správnym počtom bajtov podľa typu premennej:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;EEPROM.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int adresa = 0;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  EEPROM.begin(256);&lt;br /&gt;
&lt;br /&gt;
  float vzdialenost = 23.5;&lt;br /&gt;
  EEPROM.put(adresa, vzdialenost);      // zapíše všetkých sizeof(float) = 4 bajty naraz&lt;br /&gt;
  EEPROM.commit();&lt;br /&gt;
&lt;br /&gt;
  adresa += sizeof(float);&lt;br /&gt;
  vzdialenost += 10;&lt;br /&gt;
  EEPROM.put(adresa, vzdialenost);&lt;br /&gt;
  EEPROM.commit();&lt;br /&gt;
&lt;br /&gt;
  float nacitanaHodnota;&lt;br /&gt;
  EEPROM.get(adresa, nacitanaHodnota);  // prečíta správny počet bajtov automaticky&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Načítaná hodnota: &amp;quot;);&lt;br /&gt;
  Serial.println(nacitanaHodnota);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Čítanie&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ak chceš z pamäte iba čítať (napríklad po reštarte dosky, keď chceš zistiť naposledy uloženú hodnotu):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;EEPROM.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int adresa = 0;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  EEPROM.begin(256);&lt;br /&gt;
&lt;br /&gt;
  byte hodnota = EEPROM.read(adresa);&lt;br /&gt;
  Serial.print(&amp;quot;Hodnota na adrese 0: &amp;quot;);&lt;br /&gt;
  Serial.println(hodnota);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vynulovanie&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ak chceš celú rezervovanú pamäť vynulovať (napríklad pred novým meraním):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;EEPROM.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  EEPROM.begin(256);&lt;br /&gt;
&lt;br /&gt;
  for (int i = 0; i &amp;lt; 256; i++) {&lt;br /&gt;
    EEPROM.write(i, 0);   // 0 používame ako &amp;quot;prázdnu&amp;quot; hodnotu&lt;br /&gt;
  }&lt;br /&gt;
  EEPROM.commit();        // bez tohto sa vynulovanie neuloží natrvalo&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  Serial.println(&amp;quot;Pamäť vynulovaná.&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__notoc__&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=RP2350_-_%C3%BAvod&amp;diff=1206</id>
		<title>RP2350 - úvod</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=RP2350_-_%C3%BAvod&amp;diff=1206"/>
		<updated>2026-09-08T19:43:07Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Electronics|Späť do zoznamu]]|[[ RP2350_-_setup | HW príprava RP2350-zero]]&lt;br /&gt;
&lt;br /&gt;
=== Opis ===&lt;br /&gt;
&lt;br /&gt;
RP2350-Zero je malá vývojová doska od firmy Waveshare, postavená na čipe RP2350 (rovnaký čip ako v novšom Raspberry Pi Pico 2). Ide o kompaktnú alternatívu k bežnému Pico formátu – je výrazne menšia, a preto sa hodí presne tam, kde je málo miesta, ako je to aj v našej stavebnici.&lt;br /&gt;
&lt;br /&gt;
Hlavné vlastnosti:&lt;br /&gt;
* Čip RP2350 s dvoma jadrami, ktoré je možné prepnúť medzi Arm Cortex-M33 a RISC-V (Hazard3) – pre bežné použitie postačí predvolený Arm režim&lt;br /&gt;
* Takt do cca 150 MHz&lt;br /&gt;
* 520 kB SRAM priamo na čipe + externá 4 MB flash pamäť na uloženie programu (a prípadne aj vlastných súborov)&lt;br /&gt;
* USB-C konektor (napájanie aj nahrávanie firmvéru)&lt;br /&gt;
* Tlačidlo BOOT (na prepnutie do režimu nahrávania firmvéru) a tlačidlo RESET&lt;br /&gt;
* Jedna onboard RGB LED (WS2812/NeoPixel), ovládateľná jediným pinom&lt;br /&gt;
* Podpora PIO (Programmable I/O) – špeciálna periféria RP2350, ktorá vie v hardvéri &amp;quot;napodobniť&amp;quot; takmer akýkoľvek komunikačný protokol&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 8px;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:RP2040-Zero-Pinout.jpg|600px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:RP2040-Zero-Board.jpg|350px]]&lt;br /&gt;
[[File:RP2350_Box.jpg|350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
V našej stavebnici je RP2350-Zero &amp;quot;mozog&amp;quot; robota – riadi servá, číta senzory a komunikuje cez USB s počítačom.&lt;br /&gt;
&lt;br /&gt;
Pre účely variability našej stavebnice sme k RP2350-Zero vybrali aj expanznú podložku s vyvedenými VCC a GND pinmi. Má aj svoj vlastný držiak, ktorý sa pomocou M2 skrutiek priskrutkuje k expanznej podložke.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Poznámka:&#039;&#039;&#039; presné číslovanie pinov a niektoré detaily (napr. veľkosť flash pamäte na konkrétnej revízii dosky) si over v [https://www.waveshare.com/wiki/RP2350-Zero#Arduino_IDE_Series oficiálnej dokumentácii Waveshare] – ide o pomerne nový produkt a údaje sa medzi revíziami môžu líšiť.&lt;br /&gt;
&lt;br /&gt;
=== GPIO piny ===&lt;br /&gt;
&lt;br /&gt;
GPIO (General Purpose Input/Output) sú piny, cez ktoré doska komunikuje s okolitým svetom – môžu fungovať ako digitálny vstup (čítanie stavu, napr. tlačidlo), digitálny výstup (zapínanie/vypínanie, napr. LED) alebo majú aj špeciálne funkcie.&lt;br /&gt;
&lt;br /&gt;
Nasledujú typy funkcií, ktoré piny na RP2350 zvládajú (nie každý pin vie všetko naraz – funkciu si vždy nastavuje program). Podrobné vysvetlenie a testovací kód pre jednotlivé protokoly nájdeš na ich podstránkach – klikni na názov funkcie v tabuľke:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Funkcia !! Na čo slúži !! Príklad z našej stavebnice&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/GPIO|Digitálny vstup/výstup]] || Zapnutie/vypnutie, čítanie stavu tlačidla alebo spínača || Joystick tlačidlo&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/PWM|PWM]] (Pulse Width Modulation) || Riadenie servomotorov, stmievanie LED || Servo, LED modul&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/ADC|ADC]] (analógový vstup) || Čítanie analógovej hodnoty (napätia) || Joystick, mikrofón&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/I2C|I2C]] || Komunikácia so senzormi/displejmi cez 2 vodiče (SDA, SCL) || Gyroskop BNO055, laser VL53L0X&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/UART|UART]] || Sériová komunikácia (napr. debug výpisy medzi dvoma doskami alebo LCD displejom) || Zatiaľ nevyužité&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/SPI|SPI]] || Rýchlejšia komunikácia, napr. SD karta || Zatiaľ nevyužité&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Zapisovanie do pamäte ===&lt;br /&gt;
&lt;br /&gt;
Doska má 520 kB SRAM, do ktorej sa zapisuje kód, ktorý sa po zapnutí spustí. Ďalej má 4 MB flash pamäte, do ktorej môžeme zapisovať dáta, a to dvoma spôsobmi – podrobný návod a ukážkový kód pre každý z nich nájdeš na jeho podstránke:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Spôsob !! Na čo sa hodí&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/EEPROM|EEPROM]] || Jednoduché, pre malé množstvo dát (do 4 kB, jeden súbor)&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/LittleFS|LittleFS]] || Skutočný súborový systém, pre viac dát so štruktúrou (viac ako 4 kB, dlhodobé snímanie)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Dve jadrá a dve architektúry (Arm / RISC-V) ===&lt;br /&gt;
&lt;br /&gt;
RP2350 má vo vnútri celkovo štyri jadrá – dvojicu &#039;&#039;&#039;Arm Cortex-M33&#039;&#039;&#039; a dvojicu &#039;&#039;&#039;RISC-V (Hazard3)&#039;&#039;&#039; – naraz je ale možné použiť len jednu z týchto dvoch dvojíc, nie všetky štyri súčasne.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Voľba architektúry (Arm alebo RISC-V)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ktorá dvojica jadier sa použije, sa nastavuje v Arduino IDE cez &#039;&#039;&#039;Tools → CPU Architecture → Arm&#039;&#039;&#039; alebo &#039;&#039;&#039;RISC-V&#039;&#039;&#039;. Nejde o prepínanie za behu programu – ide o nastavenie pre celý sketch, takže po zmene treba program nahrať odznova.&lt;br /&gt;
&lt;br /&gt;
Pre bežné použitie (a takmer všetky knižnice v našej stavebnici) postačí predvolený Arm režim. RISC-V je skôr na experimentovanie – niektoré knižnice pod ním zatiaľ nemusia fungovať (napr. FreeRTOS).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Použitie oboch jadier naraz (multicore)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Bez ohľadu na zvolenú architektúru vie RP2350 spúšťať kód na oboch jadrách naraz. Popri známych funkciách &amp;lt;code&amp;gt;setup()&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;loop()&amp;lt;/code&amp;gt; (tie bežia na jadre 0) stačí do sketchu pridať funkcie &amp;lt;code&amp;gt;setup1()&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;loop1()&amp;lt;/code&amp;gt; – tie automaticky pobežia paralelne na jadre 1:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
// Jadro 0 - hlavna logika (napr. citanie senzorov)&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  Serial.println(&amp;quot;Jadro 0 bezi...&amp;quot;);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Jadro 1 - bezi paralelne s jadrom 0 (napr. blikanie LED)&lt;br /&gt;
void setup1() {&lt;br /&gt;
  pinMode(LED_BUILTIN, OUTPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop1() {&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  delay(200);&lt;br /&gt;
  digitalWrite(LED_BUILTIN, LOW);&lt;br /&gt;
  delay(200);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pár vecí, na ktoré si treba dať pozor:&lt;br /&gt;
* Obe jadrá si delia len 8 kB zásobníka (stack) – pri multicore sa rozdelí na 4 kB + 4 kB (namiesto plných 8 kB pre jedno jadro), takže vo &amp;lt;code&amp;gt;setup1()&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;loop1()&amp;lt;/code&amp;gt; netreba používať príliš veľké lokálne premenné či polia.&lt;br /&gt;
* Nie je bezpečné volať tú istú perifériu (napr. &amp;lt;code&amp;gt;Serial.print()&amp;lt;/code&amp;gt;) súčasne z oboch jadier bez synchronizácie – môže to spôsobiť nepredvídateľné správanie.&lt;br /&gt;
* Ak treba jadro 1 reštartovať alebo pozastaviť, dajú sa použiť funkcie &amp;lt;code&amp;gt;rp2040.restartCore1()&amp;lt;/code&amp;gt; a &amp;lt;code&amp;gt;rp2040.resumeOtherCore()&amp;lt;/code&amp;gt; (názov &amp;quot;rp2040&amp;quot; v knižnici ostáva zachovaný aj na RP2350 kvôli spätnej kompatibilite).&lt;br /&gt;
&lt;br /&gt;
__notoc__&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=RP2350_-_%C3%BAvod&amp;diff=1205</id>
		<title>RP2350 - úvod</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=RP2350_-_%C3%BAvod&amp;diff=1205"/>
		<updated>2026-09-08T19:26:09Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: /* LittleFS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Electronics|Späť do zoznamu]]|[[ RP2350_-_setup | HW príprava RP2350-zero]]&lt;br /&gt;
&lt;br /&gt;
=== Opis ===&lt;br /&gt;
&lt;br /&gt;
RP2350-Zero je malá vývojová doska od firmy Waveshare, postavená na čipe RP2350 (rovnaký čip ako v novšom Raspberry Pi Pico 2). Ide o kompaktnú alternatívu k bežnému Pico formátu – je výrazne menšia, a preto sa hodí presne tam, kde je málo miesta, ako je to aj v našej stavebnici.&lt;br /&gt;
&lt;br /&gt;
Hlavné vlastnosti:&lt;br /&gt;
* Čip RP2350 s dvoma jadrami, ktoré je možné prepnúť medzi Arm Cortex-M33 a RISC-V (Hazard3) – pre bežné použitie postačí predvolený Arm režim&lt;br /&gt;
* Takt do cca 150 MHz&lt;br /&gt;
* 520 kB SRAM priamo na čipe + externá 4 MB flash pamäť na uloženie programu (a prípadne aj vlastných súborov)&lt;br /&gt;
* USB-C konektor (napájanie aj nahrávanie firmvéru)&lt;br /&gt;
* Tlačidlo BOOT (na prepnutie do režimu nahrávania firmvéru) a tlačidlo RESET&lt;br /&gt;
* Jedna onboard RGB LED (WS2812/NeoPixel), ovládateľná jediným pinom&lt;br /&gt;
* Podpora PIO (Programmable I/O) – špeciálna periféria RP2350, ktorá vie v hardvéri &amp;quot;napodobniť&amp;quot; takmer akýkoľvek komunikačný protokol&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 8px;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:RP2040-Zero-Pinout.jpg|600px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:RP2040-Zero-Board.jpg|350px]]&lt;br /&gt;
[[File:RP2350_Box.jpg|350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
V našej stavebnici je RP2350-Zero &amp;quot;mozog&amp;quot; robota – riadi servá, číta senzory a komunikuje cez USB s počítačom.&lt;br /&gt;
&lt;br /&gt;
Pre účely variability našej stavebnice sme k RP2350-Zero vybrali aj expanznú podložku s vyvedenými VCC a GND pinmi. Má aj svoj vlastný držiak, ktorý sa pomocou M2 skrutiek priskrutkuje k expanznej podložke.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Poznámka:&#039;&#039;&#039; presné číslovanie pinov a niektoré detaily (napr. veľkosť flash pamäte na konkrétnej revízii dosky) si over v [https://www.waveshare.com/wiki/RP2350-Zero#Arduino_IDE_Series oficiálnej dokumentácii Waveshare] – ide o pomerne nový produkt a údaje sa medzi revíziami môžu líšiť.&lt;br /&gt;
&lt;br /&gt;
=== GPIO piny ===&lt;br /&gt;
&lt;br /&gt;
GPIO (General Purpose Input/Output) sú piny, cez ktoré doska komunikuje s okolitým svetom – môžu fungovať ako digitálny vstup (čítanie stavu, napr. tlačidlo), digitálny výstup (zapínanie/vypínanie, napr. LED) alebo majú aj špeciálne funkcie.&lt;br /&gt;
&lt;br /&gt;
Nasledujú typy funkcií, ktoré piny na RP2350 zvládajú (nie každý pin vie všetko naraz – funkciu si vždy nastavuje program). Podrobné vysvetlenie a testovací kód pre jednotlivé protokoly nájdeš na ich podstránkach – klikni na názov funkcie v tabuľke:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Funkcia !! Na čo slúži !! Príklad z našej stavebnice&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/GPIO|Digitálny vstup/výstup]] || Zapnutie/vypnutie, čítanie stavu tlačidla alebo spínača || Joystick tlačidlo&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/PWM|PWM]] (Pulse Width Modulation) || Riadenie servomotorov, stmievanie LED || Servo, LED modul&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/ADC|ADC]] (analógový vstup) || Čítanie analógovej hodnoty (napätia) || Joystick, mikrofón&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/I2C|I2C]] || Komunikácia so senzormi/displejmi cez 2 vodiče (SDA, SCL) || Gyroskop BNO055, laser VL53L0X&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/UART|UART]] || Sériová komunikácia (napr. debug výpisy medzi dvoma doskami alebo LCD displejom) || Zatiaľ nevyužité&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/SPI|SPI]] || Rýchlejšia komunikácia, napr. SD karta || Zatiaľ nevyužité&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Zapisovanie do pamäte ===&lt;br /&gt;
&lt;br /&gt;
Doska má 520 kB SRAM, do ktorej sa zapisuje kód, ktorý sa po zapnutí spustí. Ďalej má 4 MB flash pamäte, do ktorej môžeme zapisovať dáta.&lt;br /&gt;
&lt;br /&gt;
Dáta môžeme zapisovať dvoma spôsobmi:&lt;br /&gt;
&lt;br /&gt;
# Cez EEPROM knižnicu – jednoduché a pre malé množstvo dát (do 4 kB, jeden súbor)&lt;br /&gt;
# Cez súborový systém (LittleFS) – zložitejšie a pre viac dát so štruktúrou (viac ako 4 kB, dlhodobé snímanie)&lt;br /&gt;
&lt;br /&gt;
==== EEPROM ====&lt;br /&gt;
&lt;br /&gt;
Aby sme mohli s pamäťou pracovať, musíme si ju najprv rezervovať (alokovať). Rezervovať si ju môžeme po bajtoch, až do 4096 bajtov, čo je jeden blok pamäte. Do tohto bloku nám nič nemôže zasahovať okrem nášho programu.&lt;br /&gt;
&lt;br /&gt;
Je to podobné, ako keby sme si v hoteli rezervovali izbu – môžeme si v nej robiť, čo chceme, a jedine my máme kľúč od izby, takže sa do nej nedostane nikto iný.&lt;br /&gt;
&lt;br /&gt;
Keď si pamäť rezervujeme, môžeme do nej zapisovať, čo chceme – napríklad namerané vzdialenosti z ultrazvukového senzora.&lt;br /&gt;
&lt;br /&gt;
Treba dávať pozor na to, že rezervovanú pamäť máme aj adresovanú, a to od bajtu 0 po náš zvolený bajt − 1. Každé číslo, znak či dátový typ pritom v pamäti zaberá inú veľkosť:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Dátový typ !! Veľkosť&lt;br /&gt;
|-&lt;br /&gt;
| bool, byte, char || 1 bajt&lt;br /&gt;
|-&lt;br /&gt;
| short || 2 bajty&lt;br /&gt;
|-&lt;br /&gt;
| int, unsigned int || 4 bajty&lt;br /&gt;
|-&lt;br /&gt;
| long, unsigned long || 4 bajty&lt;br /&gt;
|-&lt;br /&gt;
| float || 4 bajty&lt;br /&gt;
|-&lt;br /&gt;
| double || 8 bajtov&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Ak si nie si istý veľkosťou konkrétneho typu, over si ju priamo v kóde príkazom &amp;lt;code&amp;gt;sizeof(premenná)&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Všetky testovacie programy nájdeš v File → Examples → EEPROM.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Zápis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;EEPROM.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  EEPROM.begin(256);      // rezervuje 256 bajtov &amp;quot;EEPROM&amp;quot; priestoru vo flashi (max. 4096)&lt;br /&gt;
&lt;br /&gt;
  EEPROM.write(0, 123);   // zapíše hodnotu 123 na adresu 0&lt;br /&gt;
  EEPROM.commit();        // POVINNÉ – reálne zapíše do flashe (inak zostane len v RAM cache)&lt;br /&gt;
&lt;br /&gt;
  byte hodnota = EEPROM.read(0);&lt;br /&gt;
  Serial.print(&amp;quot;Zapísaná hodnota: &amp;quot;);&lt;br /&gt;
  Serial.println(hodnota);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ak chceme zapisovať aj viacbajtové typy (napr. &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; alebo &amp;lt;code&amp;gt;float&amp;lt;/code&amp;gt;), nemusíme ich rozkladať na jednotlivé bajty ručne – knižnica má na to funkcie &amp;lt;code&amp;gt;EEPROM.put()&amp;lt;/code&amp;gt; a &amp;lt;code&amp;gt;EEPROM.get()&amp;lt;/code&amp;gt;, ktoré si samy poradia so správnym počtom bajtov podľa typu premennej:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;EEPROM.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int adresa = 0;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  EEPROM.begin(256);&lt;br /&gt;
&lt;br /&gt;
  float vzdialenost = 23.5;&lt;br /&gt;
  EEPROM.put(adresa, vzdialenost);      // zapíše všetkých sizeof(float) = 4 bajty naraz&lt;br /&gt;
  EEPROM.commit();&lt;br /&gt;
&lt;br /&gt;
  adresa += sizeof(float);&lt;br /&gt;
  vzdialenost += 10;&lt;br /&gt;
  EEPROM.put(adresa, vzdialenost);&lt;br /&gt;
  EEPROM.commit();&lt;br /&gt;
&lt;br /&gt;
  float nacitanaHodnota;&lt;br /&gt;
  EEPROM.get(adresa, nacitanaHodnota);  // prečíta správny počet bajtov automaticky&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Načítaná hodnota: &amp;quot;);&lt;br /&gt;
  Serial.println(nacitanaHodnota);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Čítanie&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ak chceš z pamäte iba čítať (napríklad po reštarte dosky, keď chceš zistiť naposledy uloženú hodnotu):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;EEPROM.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int adresa = 0;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  EEPROM.begin(256);&lt;br /&gt;
&lt;br /&gt;
  byte hodnota = EEPROM.read(ardesa);&lt;br /&gt;
  Serial.print(&amp;quot;Hodnota na adrese 0: &amp;quot;);&lt;br /&gt;
  Serial.println(hodnota);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vynulovanie&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ak chceš celú rezervovanú pamäť vynulovať (napríklad pred novým meraním):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;EEPROM.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  EEPROM.begin(256);&lt;br /&gt;
&lt;br /&gt;
  for (int i = 0; i &amp;lt; 256; i++) {&lt;br /&gt;
    EEPROM.write(i, 0);   // 0 používame ako &amp;quot;prázdnu&amp;quot; hodnotu&lt;br /&gt;
  }&lt;br /&gt;
  EEPROM.commit();        // bez tohto sa vynulovanie neuloží natrvalo&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  Serial.println(&amp;quot;Pamäť vynulovaná.&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LittleFS ====&lt;br /&gt;
&lt;br /&gt;
Na rozdiel od EEPROM (jeden blok bajtov, adresovaný číslom) je LittleFS skutočný &#039;&#039;&#039;súborový systém&#039;&#039;&#039; – vieš v ňom mať viacero súborov s vlastnými menami, prípadne aj priečinky, podobne ako na počítači. Hodí sa vtedy, keď chceš uložiť viac dát (viac ako 4 kB) alebo dáta so štruktúrou (napr. samostatný súbor pre každé meranie).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nastavenie dosky&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Skôr než LittleFS použiješ, treba vo flash pamäti vyhradiť miesto pre súborový systém – v Arduino IDE to nastavíš cez &#039;&#039;&#039;Tools → Flash Size&#039;&#039;&#039;, kde zvolíš rozdelenie, ktoré obsahuje aj časť pre FS (napríklad niečo ako &amp;quot;2MB (Sketch: 1MB, FS: 1MB)&amp;quot; – presné položky menu sa môžu podľa verzie balíka pre RP2350 líšiť, tak si over aktuálny zoznam priamo v IDE). Bez tohto nastavenia LittleFS nemá kde fyzicky existovať a &amp;lt;code&amp;gt;begin()&amp;lt;/code&amp;gt; zlyhá.&lt;br /&gt;
&lt;br /&gt;
[[File: Flash-size.png | 400px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Štruktúra súborov&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Všetky cesty v LittleFS začínajú od koreňového priečinka &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; – napríklad súbor &amp;lt;code&amp;gt;data.txt&amp;lt;/code&amp;gt; uložený priamo v koreni má cestu &amp;lt;code&amp;gt;/data.txt&amp;lt;/code&amp;gt;. LittleFS podporuje aj podpriečinky, takže si vieš dáta usporiadať napríklad takto:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/&lt;br /&gt;
├── config.txt&lt;br /&gt;
└── logs/&lt;br /&gt;
    ├── log_01.txt&lt;br /&gt;
    └── log_02.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Priečinok si vytvoríš pomocou &amp;lt;code&amp;gt;LittleFS.mkdir(&amp;quot;/logs&amp;quot;)&amp;lt;/code&amp;gt;, súbor v ňom potom otvoríš cestou &amp;lt;code&amp;gt;/logs/log_01.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Pred prvým použitím treba súborový systém &amp;quot;nabehnúť&amp;quot; (a pri prvom spustení na novej doske sa automaticky naformátuje):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;LittleFS.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
&lt;br /&gt;
  if (!LittleFS.begin()) {&lt;br /&gt;
    Serial.println(&amp;quot;LittleFS sa nepodarilo spustit!&amp;quot;);&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
  Serial.println(&amp;quot;LittleFS pripraveny.&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vytvorenie a zápis súboru&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Mód &amp;lt;code&amp;gt;&amp;quot;w&amp;quot;&amp;lt;/code&amp;gt; súbor vytvorí (ak neexistuje) alebo prepíše jeho obsah (ak existuje):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
File f = LittleFS.open(&amp;quot;/data.txt&amp;quot;, &amp;quot;w&amp;quot;);&lt;br /&gt;
if (f) {&lt;br /&gt;
  f.println(&amp;quot;Prvy riadok dat&amp;quot;);&lt;br /&gt;
  f.println(&amp;quot;Druhy riadok dat&amp;quot;);&lt;br /&gt;
  f.close();&lt;br /&gt;
  Serial.println(&amp;quot;Zapisane.&amp;quot;);&lt;br /&gt;
} else {&lt;br /&gt;
  Serial.println(&amp;quot;Nepodarilo sa otvorit súbor na zapis!&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Čítanie súboru&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Mód &amp;lt;code&amp;gt;&amp;quot;r&amp;quot;&amp;lt;/code&amp;gt; otvorí súbor len na čítanie – &amp;lt;code&amp;gt;f.available()&amp;lt;/code&amp;gt; hovorí, či ešte zostávajú nejaké neprečítané bajty:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
File f = LittleFS.open(&amp;quot;/data.txt&amp;quot;, &amp;quot;r&amp;quot;);&lt;br /&gt;
if (f) {&lt;br /&gt;
  while (f.available()) {&lt;br /&gt;
    Serial.write(f.read());&lt;br /&gt;
  }&lt;br /&gt;
  f.close();&lt;br /&gt;
} else {&lt;br /&gt;
  Serial.println(&amp;quot;Súbor neexistuje!&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Appendovanie (pripájanie na konec)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Mód &amp;lt;code&amp;gt;&amp;quot;a&amp;quot;&amp;lt;/code&amp;gt; na rozdiel od &amp;lt;code&amp;gt;&amp;quot;w&amp;quot;&amp;lt;/code&amp;gt; existujúci obsah nevymaže – nový text sa pripíše na koniec súboru. Hodí sa napríklad na priebežné logovanie:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
File f = LittleFS.open(&amp;quot;/data.txt&amp;quot;, &amp;quot;a&amp;quot;);&lt;br /&gt;
if (f) {&lt;br /&gt;
  f.println(&amp;quot;Dalsi zaznam, ktory sa priplete na koniec&amp;quot;);&lt;br /&gt;
  f.close();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Poznámka:&#039;&#039;&#039; pred otvorením súboru sa oplatí overiť, či existuje, pomocou &amp;lt;code&amp;gt;LittleFS.exists(&amp;quot;/data.txt&amp;quot;)&amp;lt;/code&amp;gt; – napríklad ak chceš pri prvom spustení vytvoriť súbor len raz a pri ďalších spusteniach doňho už len appendovať.&lt;br /&gt;
&lt;br /&gt;
__notoc__&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:Flash-size.png&amp;diff=1204</id>
		<title>Súbor:Flash-size.png</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=S%C3%BAbor:Flash-size.png&amp;diff=1204"/>
		<updated>2026-09-08T19:14:18Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=RP2350_-_%C3%BAvod&amp;diff=1203</id>
		<title>RP2350 - úvod</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=RP2350_-_%C3%BAvod&amp;diff=1203"/>
		<updated>2026-09-08T18:57:53Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: /* GPIO piny */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Electronics|Späť do zoznamu]]|[[ RP2350_-_setup | HW príprava RP2350-zero]]&lt;br /&gt;
&lt;br /&gt;
=== Opis ===&lt;br /&gt;
&lt;br /&gt;
RP2350-Zero je malá vývojová doska od firmy Waveshare, postavená na čipe RP2350 (rovnaký čip ako v novšom Raspberry Pi Pico 2). Ide o kompaktnú alternatívu k bežnému Pico formátu – je výrazne menšia, a preto sa hodí presne tam, kde je málo miesta, ako je to aj v našej stavebnici.&lt;br /&gt;
&lt;br /&gt;
Hlavné vlastnosti:&lt;br /&gt;
* Čip RP2350 s dvoma jadrami, ktoré je možné prepnúť medzi Arm Cortex-M33 a RISC-V (Hazard3) – pre bežné použitie postačí predvolený Arm režim&lt;br /&gt;
* Takt do cca 150 MHz&lt;br /&gt;
* 520 kB SRAM priamo na čipe + externá 4 MB flash pamäť na uloženie programu (a prípadne aj vlastných súborov)&lt;br /&gt;
* USB-C konektor (napájanie aj nahrávanie firmvéru)&lt;br /&gt;
* Tlačidlo BOOT (na prepnutie do režimu nahrávania firmvéru) a tlačidlo RESET&lt;br /&gt;
* Jedna onboard RGB LED (WS2812/NeoPixel), ovládateľná jediným pinom&lt;br /&gt;
* Podpora PIO (Programmable I/O) – špeciálna periféria RP2350, ktorá vie v hardvéri &amp;quot;napodobniť&amp;quot; takmer akýkoľvek komunikačný protokol&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; gap: 8px;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:RP2040-Zero-Pinout.jpg|600px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:RP2040-Zero-Board.jpg|350px]]&lt;br /&gt;
[[File:RP2350_Box.jpg|350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
V našej stavebnici je RP2350-Zero &amp;quot;mozog&amp;quot; robota – riadi servá, číta senzory a komunikuje cez USB s počítačom.&lt;br /&gt;
&lt;br /&gt;
Pre účely variability našej stavebnice sme k RP2350-Zero vybrali aj expanznú podložku s vyvedenými VCC a GND pinmi. Má aj svoj vlastný držiak, ktorý sa pomocou M2 skrutiek priskrutkuje k expanznej podložke.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Poznámka:&#039;&#039;&#039; presné číslovanie pinov a niektoré detaily (napr. veľkosť flash pamäte na konkrétnej revízii dosky) si over v [https://www.waveshare.com/wiki/RP2350-Zero#Arduino_IDE_Series oficiálnej dokumentácii Waveshare] – ide o pomerne nový produkt a údaje sa medzi revíziami môžu líšiť.&lt;br /&gt;
&lt;br /&gt;
=== GPIO piny ===&lt;br /&gt;
&lt;br /&gt;
GPIO (General Purpose Input/Output) sú piny, cez ktoré doska komunikuje s okolitým svetom – môžu fungovať ako digitálny vstup (čítanie stavu, napr. tlačidlo), digitálny výstup (zapínanie/vypínanie, napr. LED) alebo majú aj špeciálne funkcie.&lt;br /&gt;
&lt;br /&gt;
Nasledujú typy funkcií, ktoré piny na RP2350 zvládajú (nie každý pin vie všetko naraz – funkciu si vždy nastavuje program). Podrobné vysvetlenie a testovací kód pre jednotlivé protokoly nájdeš na ich podstránkach – klikni na názov funkcie v tabuľke:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Funkcia !! Na čo slúži !! Príklad z našej stavebnice&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/GPIO|Digitálny vstup/výstup]] || Zapnutie/vypnutie, čítanie stavu tlačidla alebo spínača || Joystick tlačidlo&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/PWM|PWM]] (Pulse Width Modulation) || Riadenie servomotorov, stmievanie LED || Servo, LED modul&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/ADC|ADC]] (analógový vstup) || Čítanie analógovej hodnoty (napätia) || Joystick, mikrofón&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/I2C|I2C]] || Komunikácia so senzormi/displejmi cez 2 vodiče (SDA, SCL) || Gyroskop BNO055, laser VL53L0X&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/UART|UART]] || Sériová komunikácia (napr. debug výpisy medzi dvoma doskami alebo LCD displejom) || Zatiaľ nevyužité&lt;br /&gt;
|-&lt;br /&gt;
| [[RP2350-Zero/SPI|SPI]] || Rýchlejšia komunikácia, napr. SD karta || Zatiaľ nevyužité&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Zapisovanie do pamäte ===&lt;br /&gt;
&lt;br /&gt;
Doska má 520 kB SRAM, do ktorej sa zapisuje kód, ktorý sa po zapnutí spustí. Ďalej má 4 MB flash pamäte, do ktorej môžeme zapisovať dáta.&lt;br /&gt;
&lt;br /&gt;
Dáta môžeme zapisovať dvoma spôsobmi:&lt;br /&gt;
&lt;br /&gt;
# Cez EEPROM knižnicu – jednoduché a pre malé množstvo dát (do 4 kB, jeden súbor)&lt;br /&gt;
# Cez súborový systém (LittleFS) – zložitejšie a pre viac dát so štruktúrou (viac ako 4 kB, dlhodobé snímanie)&lt;br /&gt;
&lt;br /&gt;
==== EEPROM ====&lt;br /&gt;
&lt;br /&gt;
Aby sme mohli s pamäťou pracovať, musíme si ju najprv rezervovať (alokovať). Rezervovať si ju môžeme po bajtoch, až do 4096 bajtov, čo je jeden blok pamäte. Do tohto bloku nám nič nemôže zasahovať okrem nášho programu.&lt;br /&gt;
&lt;br /&gt;
Je to podobné, ako keby sme si v hoteli rezervovali izbu – môžeme si v nej robiť, čo chceme, a jedine my máme kľúč od izby, takže sa do nej nedostane nikto iný.&lt;br /&gt;
&lt;br /&gt;
Keď si pamäť rezervujeme, môžeme do nej zapisovať, čo chceme – napríklad namerané vzdialenosti z ultrazvukového senzora.&lt;br /&gt;
&lt;br /&gt;
Treba dávať pozor na to, že rezervovanú pamäť máme aj adresovanú, a to od bajtu 0 po náš zvolený bajt − 1. Každé číslo, znak či dátový typ pritom v pamäti zaberá inú veľkosť:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Dátový typ !! Veľkosť&lt;br /&gt;
|-&lt;br /&gt;
| bool, byte, char || 1 bajt&lt;br /&gt;
|-&lt;br /&gt;
| short || 2 bajty&lt;br /&gt;
|-&lt;br /&gt;
| int, unsigned int || 4 bajty&lt;br /&gt;
|-&lt;br /&gt;
| long, unsigned long || 4 bajty&lt;br /&gt;
|-&lt;br /&gt;
| float || 4 bajty&lt;br /&gt;
|-&lt;br /&gt;
| double || 8 bajtov&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Ak si nie si istý veľkosťou konkrétneho typu, over si ju priamo v kóde príkazom &amp;lt;code&amp;gt;sizeof(premenná)&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Všetky testovacie programy nájdeš v File → Examples → EEPROM.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Zápis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;EEPROM.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  EEPROM.begin(256);      // rezervuje 256 bajtov &amp;quot;EEPROM&amp;quot; priestoru vo flashi (max. 4096)&lt;br /&gt;
&lt;br /&gt;
  EEPROM.write(0, 123);   // zapíše hodnotu 123 na adresu 0&lt;br /&gt;
  EEPROM.commit();        // POVINNÉ – reálne zapíše do flashe (inak zostane len v RAM cache)&lt;br /&gt;
&lt;br /&gt;
  byte hodnota = EEPROM.read(0);&lt;br /&gt;
  Serial.print(&amp;quot;Zapísaná hodnota: &amp;quot;);&lt;br /&gt;
  Serial.println(hodnota);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ak chceme zapisovať aj viacbajtové typy (napr. &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; alebo &amp;lt;code&amp;gt;float&amp;lt;/code&amp;gt;), nemusíme ich rozkladať na jednotlivé bajty ručne – knižnica má na to funkcie &amp;lt;code&amp;gt;EEPROM.put()&amp;lt;/code&amp;gt; a &amp;lt;code&amp;gt;EEPROM.get()&amp;lt;/code&amp;gt;, ktoré si samy poradia so správnym počtom bajtov podľa typu premennej:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;EEPROM.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int adresa = 0;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  EEPROM.begin(256);&lt;br /&gt;
&lt;br /&gt;
  float vzdialenost = 23.5;&lt;br /&gt;
  EEPROM.put(adresa, vzdialenost);      // zapíše všetkých sizeof(float) = 4 bajty naraz&lt;br /&gt;
  EEPROM.commit();&lt;br /&gt;
&lt;br /&gt;
  adresa += sizeof(float);&lt;br /&gt;
  vzdialenost += 10;&lt;br /&gt;
  EEPROM.put(adresa, vzdialenost);&lt;br /&gt;
  EEPROM.commit();&lt;br /&gt;
&lt;br /&gt;
  float nacitanaHodnota;&lt;br /&gt;
  EEPROM.get(adresa, nacitanaHodnota);  // prečíta správny počet bajtov automaticky&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Načítaná hodnota: &amp;quot;);&lt;br /&gt;
  Serial.println(nacitanaHodnota);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Čítanie&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ak chceš z pamäte iba čítať (napríklad po reštarte dosky, keď chceš zistiť naposledy uloženú hodnotu):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;EEPROM.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int adresa = 0;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  EEPROM.begin(256);&lt;br /&gt;
&lt;br /&gt;
  byte hodnota = EEPROM.read(ardesa);&lt;br /&gt;
  Serial.print(&amp;quot;Hodnota na adrese 0: &amp;quot;);&lt;br /&gt;
  Serial.println(hodnota);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vynulovanie&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ak chceš celú rezervovanú pamäť vynulovať (napríklad pred novým meraním):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;EEPROM.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  EEPROM.begin(256);&lt;br /&gt;
&lt;br /&gt;
  for (int i = 0; i &amp;lt; 256; i++) {&lt;br /&gt;
    EEPROM.write(i, 0);   // 0 používame ako &amp;quot;prázdnu&amp;quot; hodnotu&lt;br /&gt;
  }&lt;br /&gt;
  EEPROM.commit();        // bez tohto sa vynulovanie neuloží natrvalo&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  Serial.println(&amp;quot;Pamäť vynulovaná.&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LittleFS ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__notoc__&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=3D_liga_wiki&amp;diff=1202</id>
		<title>3D liga wiki</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=3D_liga_wiki&amp;diff=1202"/>
		<updated>2026-09-08T18:53:13Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Vitajte na wiki stránkach Robotickej 3D Ligy!&lt;br /&gt;
&lt;br /&gt;
Nájdete tu informácie o práci so stavebnicou, ktorú používame v súťaži [https://3dliga.robotika.sk 3D Robotická liga].&lt;br /&gt;
&lt;br /&gt;
Ako začať a postupovať?&lt;br /&gt;
&lt;br /&gt;
* celkom na začiatok si [[SW Setup|pripravíme softvérovú prostredie na programovanie stavebnice]]. Budeme používať klasické Arduino IDE, keďže v ňom je dobrá podpora knižníc a vývojových dosiek, ale v prípade záujmu sa dajú použiť alternatívy ako napr. Visual Studio Code. &lt;br /&gt;
* hneď potom odporúčame pripraviť stavebnicu na použitie z hardvérového hľadiska - postupne po jednotlivých súčiastkach podľa stránky [[HW Setup]]&lt;br /&gt;
* v ďalšom kroku je dobre zbežne sa zoznámiť aj s ostatnými plastovými 3D tlačenými dielmi - podľa stránky [[3D models]]&lt;br /&gt;
* no a napokon Vás pozývame do riešenia úloh v [[Tutorial|Tutoriále]], z ktorého sa budeme odkazovať aj na ostatné časti stránky - ktoré potom zostávajú ako &amp;quot;referenčná príručka&amp;quot; - [[Electronics]] a [[Basic Robots]].&lt;br /&gt;
&lt;br /&gt;
[[File:Stavebnica.jpg|900px|center]]&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=Analogovy_joystick_-_manual&amp;diff=1201</id>
		<title>Analogovy joystick - manual</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=Analogovy_joystick_-_manual&amp;diff=1201"/>
		<updated>2026-09-08T18:33:43Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Electronics | Späť do zoznamu]] | [[Joystick - setup|HW príprava analógového joysticku]]&lt;br /&gt;
&lt;br /&gt;
=== Joystick ===&lt;br /&gt;
&lt;br /&gt;
Joystick ktorý ste dostali má &#039;&#039;&#039;2 osi&#039;&#039;&#039; (X a Y) a &#039;&#039;&#039;1 tlačidlo&#039;&#039;&#039; (SW – stlačenie joysticku). Funguje ako dva potenciometre – otočením v smere X alebo Y sa mení odpor a tým aj analógová hodnota na výstupe.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Zapojenie &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Pin joysticku !! Pin na RP2350-Zero&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;VCC&#039;&#039;&#039; || 3.3V&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;GND&#039;&#039;&#039; || GND&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;VRX&#039;&#039;&#039; (os X) || GP26 (ADC)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;VRY&#039;&#039;&#039; (os Y) || GP27 (ADC)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;SW&#039;&#039;&#039; (tlačidlo) || GP6&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Kód &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background:#CCFFCC&amp;quot;&amp;gt;&#039;&#039;&#039;Vyskúšaj toto:&#039;&#039;&#039;&amp;lt;/span&amp;gt; Skopíruj a spusti nasledujúci program. Otvor sériový monitor (115200 baud) a pohybuj joystickom. Sleduj ako sa menia hodnoty.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
const int JOY_X  = 26;&lt;br /&gt;
const int JOY_Y  = 27;&lt;br /&gt;
const int JOY_SW = 6;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  analogReadResolution(12);  // 12-bitové ADC (0–4095)&lt;br /&gt;
  pinMode(JOY_SW, INPUT_PULLUP);  // tlačidlo – aktívne LOW&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  int x  = analogRead(JOY_X);&lt;br /&gt;
  int y  = analogRead(JOY_Y);&lt;br /&gt;
  int sw = digitalRead(JOY_SW);  // 0 = stlačené, 1 = nestlačené&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;X: &amp;quot;); Serial.print(x);&lt;br /&gt;
  Serial.print(&amp;quot;  Y: &amp;quot;); Serial.print(y);&lt;br /&gt;
  Serial.print(&amp;quot;  SW: &amp;quot;); Serial.println(sw == LOW ? &amp;quot;stlacene&amp;quot; : &amp;quot;volne&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  delay(100);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Novinka !! Vysvetlenie&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;INPUT_PULLUP&amp;lt;/code&amp;gt; || Aktivuje vnútorný pull-up rezistor – tlačidlo číta &amp;lt;code&amp;gt;LOW&amp;lt;/code&amp;gt; keď je stlačené a &amp;lt;code&amp;gt;HIGH&amp;lt;/code&amp;gt; keď nie&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;sw == LOW&amp;lt;/code&amp;gt; || Tlačidlo je aktívne LOW – stlačenie stiahne pin na GND&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=Pasivny_bzuciak_-_manual&amp;diff=1200</id>
		<title>Pasivny bzuciak - manual</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=Pasivny_bzuciak_-_manual&amp;diff=1200"/>
		<updated>2026-09-08T18:32:49Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: /* Bzučiak (Buzzer) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Electronics | Späť do zoznamu]] | [[Buzzer - setup|HW príprava bzučiaka]]&lt;br /&gt;
&lt;br /&gt;
=== Bzučiak (Buzzer) ===&lt;br /&gt;
&lt;br /&gt;
Bzučiak je jednoduchý reproduktor. Reproduktory vydávajú zvuk tak, že rýchlo rozkmitajú tenkú fóliu vo vnútri. Toto kmitanie stláča a rozťahuje vzduch okolo – a práve tieto tlakové vlny vnímame ako zvuk.&lt;br /&gt;
&lt;br /&gt;
Fóliu rozkmitáme malým elektromagnetom. Aby sa elektromagnet zapol, potrebuje elektrický prúd, ktorý mu dodá mikrokontrolér RP2350.&lt;br /&gt;
&lt;br /&gt;
Jeden kmit dosiahneme logickým zapnutím a následným vypnutím pinu. Zvuk je v skutočnosti niekoľko stoviek až tisíc takýchto kmitov za sekundu – čiže zapínanie a vypínanie musí prebiehať každých niekoľko &#039;&#039;&#039;mikrosekúnd&#039;&#039;&#039;. Čím rýchlejšie kmitáme, tým &#039;&#039;&#039;vyšší tón&#039;&#039;&#039; vzniká.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:buzzer.png|250px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Zapojenie &#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Kábel !! Pin na RP2350-Zero&lt;br /&gt;
|-&lt;br /&gt;
| Čierny || GND&lt;br /&gt;
|-&lt;br /&gt;
| Červený || GP4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background:#CCFFCC&amp;quot;&amp;gt;&#039;&#039;&#039;Vyskúšaj toto:&#039;&#039;&#039;&amp;lt;/span&amp;gt; Skopíruj kód nižšie, doplň funkciu &amp;lt;code&amp;gt;playNote()&amp;lt;/code&amp;gt; podľa vysvetlenia vyššie a nahraj ho do mikrokontroléra. Sleduj sériový monitor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Kód &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Nasledujúci program prechádza rozsahom tónov od 500 Hz do 2500 Hz. Funkcia &amp;lt;code&amp;gt;playNote()&amp;lt;/code&amp;gt; je zatiaľ prázdna – to je tvoja úloha ju doplniť!&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
const int BUZZER = 4;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(BUZZER, OUTPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
void playNote(int note)&lt;br /&gt;
{&lt;br /&gt;
  int halfPeriod = 500000 / note;&lt;br /&gt;
&lt;br /&gt;
  for (int i = 0; i &amp;lt; 10; i++) {&lt;br /&gt;
    digitalWrite(BUZZER, HIGH);   &lt;br /&gt;
    delayMicroseconds(halfPeriod); &lt;br /&gt;
    digitalWrite(BUZZER, LOW);    &lt;br /&gt;
    delayMicroseconds(halfPeriod); &lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  for (int i = 500; i &amp;lt; 2500; i++) {&lt;br /&gt;
    playNote(i);&lt;br /&gt;
    Serial.print(&amp;quot;Hrám notu: &amp;quot;);&lt;br /&gt;
    Serial.println(i);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Princíp &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kľúčom je funkcia &amp;lt;code&amp;gt;playNote()&amp;lt;/code&amp;gt;. Zvuk vzniká pravidelným striedaním HIGH a LOW na pine bzučiaka:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Pojem !! Vysvetlenie&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Frekvencia&#039;&#039;&#039; || Počet kmitov za sekundu, udáva sa v Hz. Vyššia frekvencia = vyšší tón.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Perióda&#039;&#039;&#039; || Čas jedného celého kmitu (zapnutie + vypnutie). Perióda = 1 000 000 / frekvencia µs.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Polovica periódy&#039;&#039;&#039; || Čas, ktorý pin strávi v stave HIGH (alebo LOW). Vypočítame ju ako 500 000 / frekvencia.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;delayMicroseconds()&amp;lt;/code&amp;gt; || Rovnaké ako &amp;lt;code&amp;gt;delay()&amp;lt;/code&amp;gt;, ale čaká v &#039;&#039;&#039;mikrosekundách&#039;&#039;&#039; namiesto milisekúnd.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Napríklad pre tón 1000 Hz:&lt;br /&gt;
* Perióda = 1 000 000 / 1000 = &#039;&#039;&#039;1000 µs&#039;&#039;&#039;&lt;br /&gt;
* Polovica periódy = &#039;&#039;&#039;500 µs&#039;&#039;&#039;&lt;br /&gt;
* Pin bude HIGH 500 µs, potom LOW 500 µs – a to 10-krát za sebou&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=Servo_SG90_-_manual&amp;diff=1199</id>
		<title>Servo SG90 - manual</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=Servo_SG90_-_manual&amp;diff=1199"/>
		<updated>2026-09-08T18:31:58Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Electronics | Späť do zoznamu]] | [[SG90 - setup|HW príprava serva SG90]]&lt;br /&gt;
&lt;br /&gt;
=== Servo motorček - manual ===&lt;br /&gt;
&lt;br /&gt;
[[Príprava elektroniky - hardware setup | Späť k zoznamu]]&lt;br /&gt;
&lt;br /&gt;
Dostali ste dva druhy servo motorčekov: &#039;&#039;&#039;180°&#039;&#039;&#039; a &#039;&#039;&#039;360°&#039;&#039;&#039;. Oba vyzerajú takmer rovnako a ovládajú sa rovnakým spôsobom, ale výsledné správanie je odlišné.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;180&amp;quot;&amp;gt;&lt;br /&gt;
Image:Sg90-micro-servo.jpg|Servo motorček 180°/360°&lt;br /&gt;
Image:ServoSetup7.jpg|Vytlačiteľné držiaky pre servo&lt;br /&gt;
Image:ServoSetup10.jpg|Vytlačiteľné boxe pre servo&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Ako servo funguje ====&lt;br /&gt;
Servo motorček neriadime priamo napätím ako obyčajný motorček, ale sériou opakovaných &#039;&#039;&#039;elektrických impulzov&#039;&#039;&#039;. Každých približne 20 ms príde jeden krátky impulz, ktorého &#039;&#039;&#039;dĺžka (v mikrosekundách)&#039;&#039;&#039; hovorí servu, čo má urobiť:&lt;br /&gt;
* Impulz okolo &#039;&#039;&#039;1500 µs&#039;&#039;&#039; zodpovedá strednej pozícii (90°).&lt;br /&gt;
* Kratší impulz (bližšie k &#039;&#039;&#039;500 µs&#039;&#039;&#039;) posunie servo k jednému kraju.&lt;br /&gt;
* Dlhší impulz (bližšie k &#039;&#039;&#039;2500 µs&#039;&#039;&#039;) posunie servo k druhému kraju.&lt;br /&gt;
&lt;br /&gt;
Vnútri serva je malý riadiaci obvod, ktorý dĺžku impulzu neustále porovnáva so skutočnou polohou hriadeľa (tú sníma potenciometer) a podľa výsledku dobieha motorček do správnej polohy. Práve toto priebežné porovnávanie je dôvod, prečo servo dokáže polohu aj &#039;&#039;&#039;držať&#039;&#039;&#039; – ak ho niekto rukou pohne, samo sa vráti späť.&lt;br /&gt;
&lt;br /&gt;
Rozdiel medzi typmi je v tom, čo sa vo vnútri serva deje s týmto signálom:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Typ !! Správanie&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;180° servo&#039;&#039;&#039; || Riadiaci obvod polohu skutočne obmedzuje – servo sa nastaví na presnú pozíciu (napr. 0°, 90°, 180°) a tam zostane&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;360° servo&#039;&#039;&#039; || Obmedzenie polohy je odstránené – servo namiesto pozície interpretuje signál ako &#039;&#039;&#039;smer a rýchlosť&#039;&#039;&#039; otáčania: hodnota 90° = stoj, pod 90° = točenie na jednu stranu, nad 90° = točenie na druhú stranu (čím ďalej od 90°, tým rýchlejšie)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Servo dostáva riadiace impulzy v rozsahu &#039;&#039;&#039;500–2500 µs&#039;&#039;&#039;. Zapojte servo na pin &#039;&#039;&#039;GP12&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dôležité: servo nikdy neotáčame rukou, pretože sa takto ozubené prevody veľmi jednoducho pokazia. Vždy [https://github.com/Robotics-DAI-FMFI-UK/3dliga/blob/main/HWsetup/servo/center_servo/center_servo.ino použite program], ktorým si servo nastavíte do potrebnej polohy. Napríklad pri montáži 180° je väčšinou potrebné dať servo do stredu - na polohu 90°.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--{{Note|Ak servo pri pohybe spôsobuje reštart mikrokontroléra, je odberané priveľa prúdu. V takom prípade napájajte servo samostatne a spojte iba GND.}}--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background:#CCFFCC&amp;quot;&amp;gt;&#039;&#039;&#039;Vyskúšaj toto:&#039;&#039;&#039;&amp;lt;/span&amp;gt; Nahrajte nasledujúci program. Otvorte sériový monitor (115200 baud), zadajte číslo od 0 do 180 a stlačte Enter. Vyskúšajte si to najprv s 180° servom, potom s 360°. Čo si všimnete?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
#define SERVO_PIN 12&lt;br /&gt;
&lt;br /&gt;
Servo servo;&lt;br /&gt;
int position = 90;&lt;br /&gt;
//int impulz = 1500;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  servo.attach(SERVO_PIN, 500, 2500);&lt;br /&gt;
  servo.write(position);&lt;br /&gt;
  //servo.writeMicroseconds(impulz);&lt;br /&gt;
  Serial.print(&amp;quot;Motor je na pozicii: &amp;quot;);&lt;br /&gt;
  Serial.println(servo.read(SERVO_PIN));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Novinka !! Vysvetlenie&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#include &amp;lt;Servo.h&amp;gt;&amp;lt;/code&amp;gt; || Načítame knižnicu pre ovládanie serva – bez nej by sme museli impulzy generovať ručne&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;servo.attach(pin, 500, 2500)&amp;lt;/code&amp;gt; || Pripojíme servo na pin a definujeme rozsah impulzov (500–2500 µs)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;servo.write(uhol)&amp;lt;/code&amp;gt; || Nastavíme servo na požadovaný uhol (0–180°)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;servo.writeMicroseconds(impulz)&amp;lt;/code&amp;gt; || Alternatíva k &amp;lt;code&amp;gt;write()&amp;lt;/code&amp;gt; – dĺžku impulzu (v µs) nastavíme priamo, bez prepočtu na uhol. Riadok je v kóde zakomentovaný, môžete si ho vyskúšať namiesto &amp;lt;code&amp;gt;servo.write()&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;!-- |-&lt;br /&gt;
| &amp;lt;code&amp;gt;inputString.toInt()&amp;lt;/code&amp;gt; || Prevedie textový reťazec na celé číslo – napr. &amp;lt;code&amp;gt;&amp;quot;120&amp;quot;&amp;lt;/code&amp;gt; → &amp;lt;code&amp;gt;120&amp;lt;/code&amp;gt;--&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=LED_-_manual&amp;diff=1198</id>
		<title>LED - manual</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=LED_-_manual&amp;diff=1198"/>
		<updated>2026-09-08T18:31:01Z</updated>

		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Electronics | Späť do zoznamu]] | [[RGB LED - setup|HW príprava LED modulu]]&lt;br /&gt;
&lt;br /&gt;
=== RGB LED modul ===&lt;br /&gt;
&lt;br /&gt;
RGB LED je súčiastka, ktorá dokáže svietiť v ľubovoľnej farbe – kombinuje totiž tri farebné diódy v jednom puzdre: &amp;lt;span style=&amp;quot;color:#cc0000&amp;quot;&amp;gt;&#039;&#039;&#039;červenú (R)&#039;&#039;&#039;&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;color:#007700&amp;quot;&amp;gt;&#039;&#039;&#039;zelenú (G)&#039;&#039;&#039;&amp;lt;/span&amp;gt; a &amp;lt;span style=&amp;quot;color:#0000cc&amp;quot;&amp;gt;&#039;&#039;&#039;modrú (B)&#039;&#039;&#039;&amp;lt;/span&amp;gt;. Miešaním intenzity týchto troch farieb vieme dosiahnuť akýkoľvek odtieň.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Kód &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background:#CCFFCC&amp;quot;&amp;gt;&#039;&#039;&#039;Skušobný kód:&#039;&#039;&#039;&amp;lt;/span&amp;gt; Nasledujúci program rozsvieti RGB LED na bielo a zhasne.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
// Definujeme čísla pinov&lt;br /&gt;
const int PIN_R = 0;&lt;br /&gt;
const int PIN_G = 1;&lt;br /&gt;
const int PIN_B = 2;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(PIN_R, OUTPUT);&lt;br /&gt;
  pinMode(PIN_G, OUTPUT);&lt;br /&gt;
  pinMode(PIN_B, OUTPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  digitalWrite(PIN_R, HIGH);&lt;br /&gt;
  digitalWrite(PIN_G, HIGH);&lt;br /&gt;
  digitalWrite(PIN_B, HIGH);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
&lt;br /&gt;
  digitalWrite(PIN_R, LOW);&lt;br /&gt;
  digitalWrite(PIN_G, LOW);&lt;br /&gt;
  digitalWrite(PIN_B, LOW);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Princíp &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Princíp je rovnaký ako pri jednofarebnej LED – &amp;lt;code&amp;gt;HIGH&amp;lt;/code&amp;gt; = farba svieti, &amp;lt;code&amp;gt;LOW&amp;lt;/code&amp;gt; = farba nesvieti. Kombináciou troch pinov vieme získať rôzne farby:&lt;br /&gt;
&lt;br /&gt;
[[Image:RGB palete.jpg|350px]]&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
</feed>