<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl">
	<id>https://robo.city/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Isj</id>
	<title>RoboCity - Wkład użytkownika [pl]</title>
	<link rel="self" type="application/atom+xml" href="https://robo.city/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Isj"/>
	<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Specjalna:Wk%C5%82ad/Isj"/>
	<updated>2026-04-17T04:58:55Z</updated>
	<subtitle>Wkład użytkownika</subtitle>
	<generator>MediaWiki 1.32.0</generator>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=655</id>
		<title>Strona główna</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=655"/>
		<updated>2025-10-12T14:59:50Z</updated>

		<summary type="html">&lt;p&gt;Isj: Dodany film &amp;quot;Jak zbudować sondę i nie zwariować&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Wyłączenie spisu treści strony --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;!-- Wyłączenie linków [edit] przy tytułach sekcji (zaśmiecają obraz) --&amp;gt;&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
Wiki do wymiany informacji o projektach. Jeśli jesteś tutaj pierwszy raz '''zerknij na stronę [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]]''' żeby dowiedzieć się więcej.&lt;br /&gt;
=== Indeks ===&lt;br /&gt;
===== Programowanie =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Programowanie&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Strony o Malinie Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Projekty wykorzystujące Malinę Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Projekty Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Moduły elektroniczne =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Moduły elektroniczne&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Roboty =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Roboty&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
order = ascending&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Ubuntu =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Ubuntu&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Aktualności ===&lt;br /&gt;
'''12 października 2025'''&lt;br /&gt;
&lt;br /&gt;
Zgrabnie opowiedziana rzeczywistość.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;sHUghOlZtWc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''16 stycznia 2025'''&lt;br /&gt;
&lt;br /&gt;
W przyszłym roku pełny chodzący klon. 279 sztuk w wersji premium za ponad 100 tys. dolarów. Docelowo 20 tys.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;4fh0hu2t67&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''11 sierpnia 2024'''&lt;br /&gt;
&lt;br /&gt;
Film z budowy i bicia rekordu zanużenia łodzi podwodnej w nieczynnej kopalni uranu od CPSDrone. W filmie podlinkowany kurs DIY.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;P2kChvtPxyw&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''12 listopada 2023'''&lt;br /&gt;
&lt;br /&gt;
KPLabs z Gliwic podaje sporo szczegółów o tym na czym polega budowanie mikrosatelity przy okazji wysłania swoich najnowszych urządzeń na orbitę&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;7xsd-TPYg1Y&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''19 września 2023'''&lt;br /&gt;
&lt;br /&gt;
Jakby ktoś budował warto zwrócić uwagę na warte tysięcy niutonów wibracje przy włączaniu (tj. wstępne testy wytrzymałości można wykonać przez obrzucenie lżejszymi samochodami osobowymi)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;0srs5jZ1qdg&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''31 sierpnia 2023'''&lt;br /&gt;
&lt;br /&gt;
Pozytywne myślenie i odporność na lenistwo w nudnej codziennej praktyce... Warto się włączyć skoro [https://razna120lat.pl/ raz na 120 lat]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;q604QNPK804&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''5 stycznia 2023'''&lt;br /&gt;
&lt;br /&gt;
Parę dni temu ulokowali sobie satelitę testowego na orbicie. Multispectralne narzędzia z Wrocławia w różnych zastosowaniach&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;HdZJPrXSLEs&amp;lt;/youtube&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''30 grudnia 2022'''&lt;br /&gt;
&lt;br /&gt;
I już nie w garażu tylko w willi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;WcZjLQyRoR8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
... a parę ulic dalej&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;tgMg8jnQrag&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''22 października 2021'''&lt;br /&gt;
&lt;br /&gt;
A tymczasem gdzieś w [https://patronite.pl/LukaszKozlik Polsce w garażu].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;guDIwspRGJ8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''24 sierpnia 2021'''&lt;br /&gt;
&lt;br /&gt;
Ciąg dalszy ostrzeżeń żeby nie nastawiać się na zarabianie prostą pracą fizyczną ponieważ może jej bardzo brakować w niedalekiej przyszłości.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;HUP6Z5voiS8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jakby ktoś się zastanawiał, czy taki robot może ogarniać. W innym projekcie firmy Tesla zmajstrowali coś wielkości szachownicy co ma '''9Pflops mocy obliczeniowej'''. Trzy takie &amp;quot;płytki&amp;quot; i można się załapać do [https://top500.org/lists/top500/2021/06/ pierwszej dziesiątki najszybszych komputerów na świecie], które zwykle zajmują powierzchnię bliższą garażom niż szachownicom. Za kilka lat po dalszej miniaturyzacji i dopracowaniu oprogramowania taki procesor bez problemu pozwoli wykonywać pożyteczną pracę i prowadzić spójne rozmowy, czyli osiągnie wydajność ponad dwóch celebrytów.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;DSw3IwsgNnc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''17 lipca 2021'''&lt;br /&gt;
&lt;br /&gt;
Kurs [https://www.youtube.com/playlist?list=PLgVHnJyC3KulUOELRVrtO5k6_te16a0-9 Fusion360], programu wygodnego do przygotowywania wydruków 3D. 8 lekcji wideo po polsku (łącznie ok. półtorej godziny).&lt;br /&gt;
&lt;br /&gt;
'''10 lipca 2021'''&lt;br /&gt;
&lt;br /&gt;
Nieco trudniejszy kawałek, ale pokazuje podstawowe przyczyny, dla których łatwo rozpoznać naukowego ignoranta kiedy twierdzi, że nauka &amp;quot;może wszystko&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;HeQX2HjkcNo&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''23 czerwca 2021'''&lt;br /&gt;
&lt;br /&gt;
Dla odmiany praktyczny przykład naukowego odkrycia i uruchomienia jego masowej produkcji z własnego podwórka. Jak widać nie trzeba kopiować tego co ktoś inny wymyślił, nie trzeba szukać &amp;quot;komu by się dobrze sprzedać&amp;quot;. Można wymyślić i skorzystać.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;0w7ZuRb8lI4&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''5 marca 2021'''&lt;br /&gt;
&lt;br /&gt;
Grafenowe mięśnie otwierają możliwość budowania mechanizmów o możliwościach takich jak naturalne. Ewolucja biologiczna traci fragment przewagi technologicznej.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;50_kK9phHy8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''26 luty 2021'''&lt;br /&gt;
&lt;br /&gt;
Syn [https://pl.wikipedia.org/wiki/Henryk_Jerzy_Chmielewski Papcia Chmiela], menadżer NASA, o ostatnim lądowaniu na Marsie, w ogóle o misjach kosmicznych oraz w jakiej sprawie tato go duśdał&amp;lt;sup&amp;gt;*&amp;lt;/sup&amp;gt;, a w jakiej on sam teraz duśda Polaków. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;em&amp;gt;*) znaczenie wyjaśnia się w rozmowie&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;a7kNoZmQGDE&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''10 październik 2019'''&lt;br /&gt;
&lt;br /&gt;
Japońskie roboty potrafią być też szybkie... &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;-KxjVlaLBmk&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''10 sierpnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe symulacje pokazujące jak można skutecznie stłumić wibracje w układzie wykonując ruch sprytniejszym oprogramowaniem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;Z1jgaEO9aRs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2019'''&lt;br /&gt;
&lt;br /&gt;
Kilka mniej schematycznych zastosowań serw i silników&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;BaDz12Yt0rw&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Jeśli ktoś nie może zasnąć &amp;amp;mdash; ekstremalnie porywająca siatkówka w wykonaniu Toyoty&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;V_nhy4iIaBA&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''1 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Siła fizyczna już nie zapewni kariery w logistyce...&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;youtube&amp;gt;5iV_hB08Uns&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''16 marca 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe ujęcia poklatkowe pozwalające zobaczyć bez zasłaniającej głowicy jak powstaje wydruk 3D&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;aubLuCFIejc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''12 luty 2019, 0:30 '''&lt;br /&gt;
&lt;br /&gt;
Aktualizacja oprogramowania strony do '''Wikimedia 1.32'''. Domyślny styl został zmieniony ze względu na brak uaktualnionej wersji dotychczasowego.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 lutego 2019, 13:04'''&lt;br /&gt;
&lt;br /&gt;
Gwiezdne Wojny w [https://www.pb.pl/droid-z-agh-952687 Krakowie]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 listopada 2018, 15:50'''&lt;br /&gt;
&lt;br /&gt;
[https://spaceforest.pl/bigos-4/ BIGOS] poleciał :)&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;aJiJKennwWU&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''27 października 2018, 19:00'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Znajdowanie_IP_maliny_przy_pomocy_kom.C3.B3rki|opis]] wyszukiwania adresu IP Maliny w lokalnej sieci WiFi przy pomocy komórki z Androidem.&lt;br /&gt;
&lt;br /&gt;
'''26 października 2018, 2:30'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Ustawienie_domy.C5.9Blnej_sieci_WiFi_dla_RaspberryPi_Zero_W|opis]] prekonfiguracji systemu i łączenia z Maliną przez WiFi. &lt;br /&gt;
&lt;br /&gt;
'''25 października 2018, 16:00'''&lt;br /&gt;
&lt;br /&gt;
Dodana obsługa emaila w robo.city. Dzięki temu możliwe jest odzyskiwanie haseł, ustawianie alertów o zmianach, itd. &lt;br /&gt;
&lt;br /&gt;
Zmieniony domyślny styl całej strony na wygodniejszy na komórkach. &lt;br /&gt;
&lt;br /&gt;
'''16 września 2016, 1:20'''&lt;br /&gt;
&lt;br /&gt;
W opisie elektroniki [[Trzykołowiec#Po.C5.82.C4.85czenia_elektryczne|trzykołowca]] dodane zdjęcie wtyczki USB z przylutowanymi przewodami zasilania i kondensatorem.&lt;br /&gt;
&lt;br /&gt;
'''7 września 2016,19:10'''&lt;br /&gt;
&lt;br /&gt;
Na stronie poświęconej budowie [[Trzykołowiec|trzykołowca]] dodany rozdział o łączeniu kabelków i programowaniu ruchu. Znajduje się tam link do modułu w pythonie dzięki, któremu można zapisać tor ruchu kilkoma prostymi poleceniami. Dodany  [[Trzykołowiec#W akcji|przykład kodu z nagraniem zachowania robota]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 sierpnia 2016, 16:05'''&lt;br /&gt;
&lt;br /&gt;
VirtualBox&lt;br /&gt;
&lt;br /&gt;
Na stronie https://www.virtualbox.org/wiki/Downloads trzeba pobrać '''VirtualBox 5.1.2 for Windows hosts''' jeśli systemem roboczym ma być Windows i zainstalować. Potem w tym programie tworzymy maszyny wirtualne i na nich instalujemy potrzebny system. &lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Trafiłem na taki krótki filmik (po polsku) o tym jak sobie człowiek drukarkę 3D zbudował. Właściwie ludzie potrafiący projektować części w 3D, oraz nie bojący się silnika krokowego &amp;amp;mdash; czyli każdy kto zrobi trzykołowca z drukowanymi własnymi częściami &amp;amp;mdash; może bez problemu taką drukarkę samemu zrobić!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;_KdsQ2qVVVY&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 0:10'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o to jakie są dostępne filamenty. Ten sklep https://3dfilamenty.com/strona/faq posiada całkiem dużą ofertę z opisami zalet różnych materiałów.&lt;br /&gt;
&lt;br /&gt;
'''5 sierpnia 2016, 20:50'''&lt;br /&gt;
&lt;br /&gt;
Nawiązując do rozmowy o programach pozwalających na obróbkę obrazów:&lt;br /&gt;
&lt;br /&gt;
Do obrazów rastrowych (czyli komponowanych z wielu pojedynczych  punktów) na Ubuntu warto zainstalować '''Gimp'''(a). Raczej spory program z wieloma opcjami i nie łatwy do nauczenia się od razu. Jednak potem bardzo poręczny i skuteczny,&lt;br /&gt;
&lt;br /&gt;
Do obrazów wektorowych świetnie nadaje się '''Inkscape'''. Do jego zainstalowania można użyć standardowego dodawana aplikacji Ubuntu. Pojęcie grafiki wektorowej już znacie -- dokładnie w takim trybie działa choćby FreeCAD, tyle tylko że robi to w trzech wymiarach. InkScape i FreeCAD są pod w tym względem bardzo podobne. Kiedy we FreeCADzie chcemy zdefiniować kulę określamy tylko pozycję jej środka i promień. Podobnie w InkScape, jeśli chcemy narysować okrąg podajemy tylko  pozycję i promień. Potem możemy dodatkowo zmieniać kolor wnętrza figury i jej brzegów, rodzaj użytej linii, itd.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''29 lipca 2016, 21:21'''&lt;br /&gt;
&lt;br /&gt;
Dodana strona o [[Instalowanie najnowszej wersji FreeCAD| instalowaniu najnowszej wersji FreeCADa]] na Ubuntu. &lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2016, 21:56'''&lt;br /&gt;
&lt;br /&gt;
Nowa strona w kategorii Projekty Pi Zero: [[Przylutowanie pinów do Maliny Zero]]. Strona zwiera też film pokazujący lutowanie.&lt;br /&gt;
&lt;br /&gt;
'''12 lipca 2016, 21:24'''&lt;br /&gt;
&lt;br /&gt;
Dołączył nowy użytkownik [[Użytkownik:pawhan|pawhan]]. Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] jest cały wstępniak, czyli co warto wiedzieć na początek.&lt;br /&gt;
&lt;br /&gt;
'''8 lipca 2016, 13:06'''&lt;br /&gt;
&lt;br /&gt;
Przyjechały:&lt;br /&gt;
&lt;br /&gt;
[[Plik:Silniki nema 14.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1 lipca 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o przygotowaniu systemu dla Maliny dodany rozdział o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Dostęp_do_plików_Maliny_z_komputera_zasilającego| uzyskiwaniu dostępu do plików działającej Maliny]].&lt;br /&gt;
&lt;br /&gt;
'''30 czerwca 2016, 23:40'''&lt;br /&gt;
&lt;br /&gt;
Na stronie [[Trzykołowiec]] pierwsze informacje o konstrukcji robota. Strona zawiera także wstępny plik projektu w programie FreeCAD jeśli ktoś chciałby w nim projektować podwozie. &lt;br /&gt;
&lt;br /&gt;
'''29 czerwca 2016, 1:55'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o Politechnikę Wrocławską. A tak się chłopaki bawią. Zaczyna się po angielsku, ale z robotem rozmawiają po polsku.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;v1GBBIFbwXs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''28 czerwca 2016, 1:15'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o [[Mrugająca_dioda_LED| projekcie z mrugającą diodą LED]] dodany przykładowy kod i minimalny opis pinów.&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 18:40''' &lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=U39RMUzCjiU Przykład mało intuicyjnego] zachowania aż do bólu prostego układu mechanicznego: dopóki sztabki są sztywno skręcone wahadło zachowuje się &amp;quot;zwyczajnie&amp;quot;; kiedy jednak uwolnimy zawias dzielący wahadło na dwie części, oscylacja staje się zupełnie nieoczekiwana. Okazuje się, że wiele bardziej skomplikowanych układów zachowuje się zgodnie z tymi samymi regułami opisywanymi '''teorią chaosu''' (nie mylić z &amp;quot;chaotyczną teorią&amp;quot;, z którą ta ścisła nie ma nic wspólnego). Na przykład takie zaskakujące ruchy mogą wykonywać notowania na giełdzie, pogoda, lub społeczeństwa. Warto o tym pamiętać patrząc na to co potrafi najprostsze wahadło. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 12:30'''&lt;br /&gt;
Do strony o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| przygotowaniu systemu dla Maliny]] dodany rozdział na temat naszej wersji obrazu uwzględniającej konfigurację połączenia po USB. Po wgraniu tej wersji na kartę będzie można łączyć się zdalnie.&lt;br /&gt;
&lt;br /&gt;
'''19 czerwca 2016, 23:15'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: orange;&amp;quot;&amp;gt;'''Już 3 maliny mają nowych właścicieli! Kolejna czeka...'''&amp;lt;/span&amp;gt; Do obioru potrzebna jest własna karta SD, z którą Malina zadziała. Szczegóły jej przygotowania są opisane [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| tutaj]], a kilka komentarzy zawiera ta strona [[Dyskusja_użytkownika:Grucha|dyskusji]].&lt;br /&gt;
[[Plik:4_maliny_nowe_zero_bez_trzech.jpg|400px|center]]&lt;br /&gt;
&lt;br /&gt;
=== Rzeczy do zrobienia ===&lt;br /&gt;
==== Strony własne użytkowników ====&lt;br /&gt;
Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] znajduje się lista użytkowników. Czerwony link na liście oznacza brak strony użytkownika, a jego kliknięcie pozwala rozpocząć jej dodawanie (o ile jest się zalogowanym). '''Zbudowanie własnej strony -- choćby najprostszej -- jest zadaniem użytkownika.'''&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=654</id>
		<title>Strona główna</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=654"/>
		<updated>2025-01-16T16:51:24Z</updated>

		<summary type="html">&lt;p&gt;Isj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Wyłączenie spisu treści strony --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;!-- Wyłączenie linków [edit] przy tytułach sekcji (zaśmiecają obraz) --&amp;gt;&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
Wiki do wymiany informacji o projektach. Jeśli jesteś tutaj pierwszy raz '''zerknij na stronę [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]]''' żeby dowiedzieć się więcej.&lt;br /&gt;
=== Indeks ===&lt;br /&gt;
===== Programowanie =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Programowanie&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Strony o Malinie Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Projekty wykorzystujące Malinę Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Projekty Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Moduły elektroniczne =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Moduły elektroniczne&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Roboty =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Roboty&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
order = ascending&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Ubuntu =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Ubuntu&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Aktualności ===&lt;br /&gt;
&lt;br /&gt;
'''16 stycznia 2025'''&lt;br /&gt;
&lt;br /&gt;
W przyszłym roku pełny chodzący klon. 279 sztuk w wersji premium za ponad 100 tys. dolarów. Docelowo 20 tys.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;4fh0hu2t67&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''11 sierpnia 2024'''&lt;br /&gt;
&lt;br /&gt;
Film z budowy i bicia rekordu zanużenia łodzi podwodnej w nieczynnej kopalni uranu od CPSDrone. W filmie podlinkowany kurs DIY.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;P2kChvtPxyw&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''12 listopada 2023'''&lt;br /&gt;
&lt;br /&gt;
KPLabs z Gliwic podaje sporo szczegółów o tym na czym polega budowanie mikrosatelity przy okazji wysłania swoich najnowszych urządzeń na orbitę&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;7xsd-TPYg1Y&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''19 września 2023'''&lt;br /&gt;
&lt;br /&gt;
Jakby ktoś budował warto zwrócić uwagę na warte tysięcy niutonów wibracje przy włączaniu (tj. wstępne testy wytrzymałości można wykonać przez obrzucenie lżejszymi samochodami osobowymi)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;0srs5jZ1qdg&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''31 sierpnia 2023'''&lt;br /&gt;
&lt;br /&gt;
Pozytywne myślenie i odporność na lenistwo w nudnej codziennej praktyce... Warto się włączyć skoro [https://razna120lat.pl/ raz na 120 lat]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;q604QNPK804&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''5 stycznia 2023'''&lt;br /&gt;
&lt;br /&gt;
Parę dni temu ulokowali sobie satelitę testowego na orbicie. Multispectralne narzędzia z Wrocławia w różnych zastosowaniach&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;HdZJPrXSLEs&amp;lt;/youtube&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''30 grudnia 2022'''&lt;br /&gt;
&lt;br /&gt;
I już nie w garażu tylko w willi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;WcZjLQyRoR8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
... a parę ulic dalej&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;tgMg8jnQrag&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''22 października 2021'''&lt;br /&gt;
&lt;br /&gt;
A tymczasem gdzieś w [https://patronite.pl/LukaszKozlik Polsce w garażu].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;guDIwspRGJ8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''24 sierpnia 2021'''&lt;br /&gt;
&lt;br /&gt;
Ciąg dalszy ostrzeżeń żeby nie nastawiać się na zarabianie prostą pracą fizyczną ponieważ może jej bardzo brakować w niedalekiej przyszłości.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;HUP6Z5voiS8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jakby ktoś się zastanawiał, czy taki robot może ogarniać. W innym projekcie firmy Tesla zmajstrowali coś wielkości szachownicy co ma '''9Pflops mocy obliczeniowej'''. Trzy takie &amp;quot;płytki&amp;quot; i można się załapać do [https://top500.org/lists/top500/2021/06/ pierwszej dziesiątki najszybszych komputerów na świecie], które zwykle zajmują powierzchnię bliższą garażom niż szachownicom. Za kilka lat po dalszej miniaturyzacji i dopracowaniu oprogramowania taki procesor bez problemu pozwoli wykonywać pożyteczną pracę i prowadzić spójne rozmowy, czyli osiągnie wydajność ponad dwóch celebrytów.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;DSw3IwsgNnc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''17 lipca 2021'''&lt;br /&gt;
&lt;br /&gt;
Kurs [https://www.youtube.com/playlist?list=PLgVHnJyC3KulUOELRVrtO5k6_te16a0-9 Fusion360], programu wygodnego do przygotowywania wydruków 3D. 8 lekcji wideo po polsku (łącznie ok. półtorej godziny).&lt;br /&gt;
&lt;br /&gt;
'''10 lipca 2021'''&lt;br /&gt;
&lt;br /&gt;
Nieco trudniejszy kawałek, ale pokazuje podstawowe przyczyny, dla których łatwo rozpoznać naukowego ignoranta kiedy twierdzi, że nauka &amp;quot;może wszystko&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;HeQX2HjkcNo&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''23 czerwca 2021'''&lt;br /&gt;
&lt;br /&gt;
Dla odmiany praktyczny przykład naukowego odkrycia i uruchomienia jego masowej produkcji z własnego podwórka. Jak widać nie trzeba kopiować tego co ktoś inny wymyślił, nie trzeba szukać &amp;quot;komu by się dobrze sprzedać&amp;quot;. Można wymyślić i skorzystać.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;0w7ZuRb8lI4&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''5 marca 2021'''&lt;br /&gt;
&lt;br /&gt;
Grafenowe mięśnie otwierają możliwość budowania mechanizmów o możliwościach takich jak naturalne. Ewolucja biologiczna traci fragment przewagi technologicznej.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;50_kK9phHy8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''26 luty 2021'''&lt;br /&gt;
&lt;br /&gt;
Syn [https://pl.wikipedia.org/wiki/Henryk_Jerzy_Chmielewski Papcia Chmiela], menadżer NASA, o ostatnim lądowaniu na Marsie, w ogóle o misjach kosmicznych oraz w jakiej sprawie tato go duśdał&amp;lt;sup&amp;gt;*&amp;lt;/sup&amp;gt;, a w jakiej on sam teraz duśda Polaków. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;em&amp;gt;*) znaczenie wyjaśnia się w rozmowie&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;a7kNoZmQGDE&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''10 październik 2019'''&lt;br /&gt;
&lt;br /&gt;
Japońskie roboty potrafią być też szybkie... &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;-KxjVlaLBmk&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''10 sierpnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe symulacje pokazujące jak można skutecznie stłumić wibracje w układzie wykonując ruch sprytniejszym oprogramowaniem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;Z1jgaEO9aRs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2019'''&lt;br /&gt;
&lt;br /&gt;
Kilka mniej schematycznych zastosowań serw i silników&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;BaDz12Yt0rw&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Jeśli ktoś nie może zasnąć &amp;amp;mdash; ekstremalnie porywająca siatkówka w wykonaniu Toyoty&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;V_nhy4iIaBA&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''1 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Siła fizyczna już nie zapewni kariery w logistyce...&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;youtube&amp;gt;5iV_hB08Uns&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''16 marca 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe ujęcia poklatkowe pozwalające zobaczyć bez zasłaniającej głowicy jak powstaje wydruk 3D&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;aubLuCFIejc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''12 luty 2019, 0:30 '''&lt;br /&gt;
&lt;br /&gt;
Aktualizacja oprogramowania strony do '''Wikimedia 1.32'''. Domyślny styl został zmieniony ze względu na brak uaktualnionej wersji dotychczasowego.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 lutego 2019, 13:04'''&lt;br /&gt;
&lt;br /&gt;
Gwiezdne Wojny w [https://www.pb.pl/droid-z-agh-952687 Krakowie]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 listopada 2018, 15:50'''&lt;br /&gt;
&lt;br /&gt;
[https://spaceforest.pl/bigos-4/ BIGOS] poleciał :)&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;aJiJKennwWU&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''27 października 2018, 19:00'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Znajdowanie_IP_maliny_przy_pomocy_kom.C3.B3rki|opis]] wyszukiwania adresu IP Maliny w lokalnej sieci WiFi przy pomocy komórki z Androidem.&lt;br /&gt;
&lt;br /&gt;
'''26 października 2018, 2:30'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Ustawienie_domy.C5.9Blnej_sieci_WiFi_dla_RaspberryPi_Zero_W|opis]] prekonfiguracji systemu i łączenia z Maliną przez WiFi. &lt;br /&gt;
&lt;br /&gt;
'''25 października 2018, 16:00'''&lt;br /&gt;
&lt;br /&gt;
Dodana obsługa emaila w robo.city. Dzięki temu możliwe jest odzyskiwanie haseł, ustawianie alertów o zmianach, itd. &lt;br /&gt;
&lt;br /&gt;
Zmieniony domyślny styl całej strony na wygodniejszy na komórkach. &lt;br /&gt;
&lt;br /&gt;
'''16 września 2016, 1:20'''&lt;br /&gt;
&lt;br /&gt;
W opisie elektroniki [[Trzykołowiec#Po.C5.82.C4.85czenia_elektryczne|trzykołowca]] dodane zdjęcie wtyczki USB z przylutowanymi przewodami zasilania i kondensatorem.&lt;br /&gt;
&lt;br /&gt;
'''7 września 2016,19:10'''&lt;br /&gt;
&lt;br /&gt;
Na stronie poświęconej budowie [[Trzykołowiec|trzykołowca]] dodany rozdział o łączeniu kabelków i programowaniu ruchu. Znajduje się tam link do modułu w pythonie dzięki, któremu można zapisać tor ruchu kilkoma prostymi poleceniami. Dodany  [[Trzykołowiec#W akcji|przykład kodu z nagraniem zachowania robota]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 sierpnia 2016, 16:05'''&lt;br /&gt;
&lt;br /&gt;
VirtualBox&lt;br /&gt;
&lt;br /&gt;
Na stronie https://www.virtualbox.org/wiki/Downloads trzeba pobrać '''VirtualBox 5.1.2 for Windows hosts''' jeśli systemem roboczym ma być Windows i zainstalować. Potem w tym programie tworzymy maszyny wirtualne i na nich instalujemy potrzebny system. &lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Trafiłem na taki krótki filmik (po polsku) o tym jak sobie człowiek drukarkę 3D zbudował. Właściwie ludzie potrafiący projektować części w 3D, oraz nie bojący się silnika krokowego &amp;amp;mdash; czyli każdy kto zrobi trzykołowca z drukowanymi własnymi częściami &amp;amp;mdash; może bez problemu taką drukarkę samemu zrobić!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;_KdsQ2qVVVY&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 0:10'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o to jakie są dostępne filamenty. Ten sklep https://3dfilamenty.com/strona/faq posiada całkiem dużą ofertę z opisami zalet różnych materiałów.&lt;br /&gt;
&lt;br /&gt;
'''5 sierpnia 2016, 20:50'''&lt;br /&gt;
&lt;br /&gt;
Nawiązując do rozmowy o programach pozwalających na obróbkę obrazów:&lt;br /&gt;
&lt;br /&gt;
Do obrazów rastrowych (czyli komponowanych z wielu pojedynczych  punktów) na Ubuntu warto zainstalować '''Gimp'''(a). Raczej spory program z wieloma opcjami i nie łatwy do nauczenia się od razu. Jednak potem bardzo poręczny i skuteczny,&lt;br /&gt;
&lt;br /&gt;
Do obrazów wektorowych świetnie nadaje się '''Inkscape'''. Do jego zainstalowania można użyć standardowego dodawana aplikacji Ubuntu. Pojęcie grafiki wektorowej już znacie -- dokładnie w takim trybie działa choćby FreeCAD, tyle tylko że robi to w trzech wymiarach. InkScape i FreeCAD są pod w tym względem bardzo podobne. Kiedy we FreeCADzie chcemy zdefiniować kulę określamy tylko pozycję jej środka i promień. Podobnie w InkScape, jeśli chcemy narysować okrąg podajemy tylko  pozycję i promień. Potem możemy dodatkowo zmieniać kolor wnętrza figury i jej brzegów, rodzaj użytej linii, itd.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''29 lipca 2016, 21:21'''&lt;br /&gt;
&lt;br /&gt;
Dodana strona o [[Instalowanie najnowszej wersji FreeCAD| instalowaniu najnowszej wersji FreeCADa]] na Ubuntu. &lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2016, 21:56'''&lt;br /&gt;
&lt;br /&gt;
Nowa strona w kategorii Projekty Pi Zero: [[Przylutowanie pinów do Maliny Zero]]. Strona zwiera też film pokazujący lutowanie.&lt;br /&gt;
&lt;br /&gt;
'''12 lipca 2016, 21:24'''&lt;br /&gt;
&lt;br /&gt;
Dołączył nowy użytkownik [[Użytkownik:pawhan|pawhan]]. Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] jest cały wstępniak, czyli co warto wiedzieć na początek.&lt;br /&gt;
&lt;br /&gt;
'''8 lipca 2016, 13:06'''&lt;br /&gt;
&lt;br /&gt;
Przyjechały:&lt;br /&gt;
&lt;br /&gt;
[[Plik:Silniki nema 14.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1 lipca 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o przygotowaniu systemu dla Maliny dodany rozdział o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Dostęp_do_plików_Maliny_z_komputera_zasilającego| uzyskiwaniu dostępu do plików działającej Maliny]].&lt;br /&gt;
&lt;br /&gt;
'''30 czerwca 2016, 23:40'''&lt;br /&gt;
&lt;br /&gt;
Na stronie [[Trzykołowiec]] pierwsze informacje o konstrukcji robota. Strona zawiera także wstępny plik projektu w programie FreeCAD jeśli ktoś chciałby w nim projektować podwozie. &lt;br /&gt;
&lt;br /&gt;
'''29 czerwca 2016, 1:55'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o Politechnikę Wrocławską. A tak się chłopaki bawią. Zaczyna się po angielsku, ale z robotem rozmawiają po polsku.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;v1GBBIFbwXs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''28 czerwca 2016, 1:15'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o [[Mrugająca_dioda_LED| projekcie z mrugającą diodą LED]] dodany przykładowy kod i minimalny opis pinów.&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 18:40''' &lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=U39RMUzCjiU Przykład mało intuicyjnego] zachowania aż do bólu prostego układu mechanicznego: dopóki sztabki są sztywno skręcone wahadło zachowuje się &amp;quot;zwyczajnie&amp;quot;; kiedy jednak uwolnimy zawias dzielący wahadło na dwie części, oscylacja staje się zupełnie nieoczekiwana. Okazuje się, że wiele bardziej skomplikowanych układów zachowuje się zgodnie z tymi samymi regułami opisywanymi '''teorią chaosu''' (nie mylić z &amp;quot;chaotyczną teorią&amp;quot;, z którą ta ścisła nie ma nic wspólnego). Na przykład takie zaskakujące ruchy mogą wykonywać notowania na giełdzie, pogoda, lub społeczeństwa. Warto o tym pamiętać patrząc na to co potrafi najprostsze wahadło. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 12:30'''&lt;br /&gt;
Do strony o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| przygotowaniu systemu dla Maliny]] dodany rozdział na temat naszej wersji obrazu uwzględniającej konfigurację połączenia po USB. Po wgraniu tej wersji na kartę będzie można łączyć się zdalnie.&lt;br /&gt;
&lt;br /&gt;
'''19 czerwca 2016, 23:15'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: orange;&amp;quot;&amp;gt;'''Już 3 maliny mają nowych właścicieli! Kolejna czeka...'''&amp;lt;/span&amp;gt; Do obioru potrzebna jest własna karta SD, z którą Malina zadziała. Szczegóły jej przygotowania są opisane [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| tutaj]], a kilka komentarzy zawiera ta strona [[Dyskusja_użytkownika:Grucha|dyskusji]].&lt;br /&gt;
[[Plik:4_maliny_nowe_zero_bez_trzech.jpg|400px|center]]&lt;br /&gt;
&lt;br /&gt;
=== Rzeczy do zrobienia ===&lt;br /&gt;
==== Strony własne użytkowników ====&lt;br /&gt;
Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] znajduje się lista użytkowników. Czerwony link na liście oznacza brak strony użytkownika, a jego kliknięcie pozwala rozpocząć jej dodawanie (o ile jest się zalogowanym). '''Zbudowanie własnej strony -- choćby najprostszej -- jest zadaniem użytkownika.'''&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=653</id>
		<title>Strona główna</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=653"/>
		<updated>2024-08-11T14:30:15Z</updated>

		<summary type="html">&lt;p&gt;Isj: dodana łódź podwodan CPSDrone&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Wyłączenie spisu treści strony --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;!-- Wyłączenie linków [edit] przy tytułach sekcji (zaśmiecają obraz) --&amp;gt;&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
Wiki do wymiany informacji o projektach. Jeśli jesteś tutaj pierwszy raz '''zerknij na stronę [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]]''' żeby dowiedzieć się więcej.&lt;br /&gt;
=== Indeks ===&lt;br /&gt;
===== Programowanie =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Programowanie&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Strony o Malinie Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Projekty wykorzystujące Malinę Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Projekty Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Moduły elektroniczne =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Moduły elektroniczne&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Roboty =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Roboty&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
order = ascending&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Ubuntu =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Ubuntu&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Aktualności ===&lt;br /&gt;
&lt;br /&gt;
'''11 sierpnia 2024'''&lt;br /&gt;
&lt;br /&gt;
Film z budowy i bicia rekordu zanużenia łodzi podwodnej w nieczynnej kopalni uranu od CPSDrone. W filmie podlinkowany kurs DIY.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;P2kChvtPxyw&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''12 listopada 2023'''&lt;br /&gt;
&lt;br /&gt;
KPLabs z Gliwic podaje sporo szczegółów o tym na czym polega budowanie mikrosatelity przy okazji wysłania swoich najnowszych urządzeń na orbitę&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;7xsd-TPYg1Y&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''19 września 2023'''&lt;br /&gt;
&lt;br /&gt;
Jakby ktoś budował warto zwrócić uwagę na warte tysięcy niutonów wibracje przy włączaniu (tj. wstępne testy wytrzymałości można wykonać przez obrzucenie lżejszymi samochodami osobowymi)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;0srs5jZ1qdg&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''31 sierpnia 2023'''&lt;br /&gt;
&lt;br /&gt;
Pozytywne myślenie i odporność na lenistwo w nudnej codziennej praktyce... Warto się włączyć skoro [https://razna120lat.pl/ raz na 120 lat]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;q604QNPK804&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''5 stycznia 2023'''&lt;br /&gt;
&lt;br /&gt;
Parę dni temu ulokowali sobie satelitę testowego na orbicie. Multispectralne narzędzia z Wrocławia w różnych zastosowaniach&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;HdZJPrXSLEs&amp;lt;/youtube&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''30 grudnia 2022'''&lt;br /&gt;
&lt;br /&gt;
I już nie w garażu tylko w willi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;WcZjLQyRoR8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
... a parę ulic dalej&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;tgMg8jnQrag&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''22 października 2021'''&lt;br /&gt;
&lt;br /&gt;
A tymczasem gdzieś w [https://patronite.pl/LukaszKozlik Polsce w garażu].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;guDIwspRGJ8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''24 sierpnia 2021'''&lt;br /&gt;
&lt;br /&gt;
Ciąg dalszy ostrzeżeń żeby nie nastawiać się na zarabianie prostą pracą fizyczną ponieważ może jej bardzo brakować w niedalekiej przyszłości.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;HUP6Z5voiS8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jakby ktoś się zastanawiał, czy taki robot może ogarniać. W innym projekcie firmy Tesla zmajstrowali coś wielkości szachownicy co ma '''9Pflops mocy obliczeniowej'''. Trzy takie &amp;quot;płytki&amp;quot; i można się załapać do [https://top500.org/lists/top500/2021/06/ pierwszej dziesiątki najszybszych komputerów na świecie], które zwykle zajmują powierzchnię bliższą garażom niż szachownicom. Za kilka lat po dalszej miniaturyzacji i dopracowaniu oprogramowania taki procesor bez problemu pozwoli wykonywać pożyteczną pracę i prowadzić spójne rozmowy, czyli osiągnie wydajność ponad dwóch celebrytów.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;DSw3IwsgNnc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''17 lipca 2021'''&lt;br /&gt;
&lt;br /&gt;
Kurs [https://www.youtube.com/playlist?list=PLgVHnJyC3KulUOELRVrtO5k6_te16a0-9 Fusion360], programu wygodnego do przygotowywania wydruków 3D. 8 lekcji wideo po polsku (łącznie ok. półtorej godziny).&lt;br /&gt;
&lt;br /&gt;
'''10 lipca 2021'''&lt;br /&gt;
&lt;br /&gt;
Nieco trudniejszy kawałek, ale pokazuje podstawowe przyczyny, dla których łatwo rozpoznać naukowego ignoranta kiedy twierdzi, że nauka &amp;quot;może wszystko&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;HeQX2HjkcNo&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''23 czerwca 2021'''&lt;br /&gt;
&lt;br /&gt;
Dla odmiany praktyczny przykład naukowego odkrycia i uruchomienia jego masowej produkcji z własnego podwórka. Jak widać nie trzeba kopiować tego co ktoś inny wymyślił, nie trzeba szukać &amp;quot;komu by się dobrze sprzedać&amp;quot;. Można wymyślić i skorzystać.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;0w7ZuRb8lI4&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''5 marca 2021'''&lt;br /&gt;
&lt;br /&gt;
Grafenowe mięśnie otwierają możliwość budowania mechanizmów o możliwościach takich jak naturalne. Ewolucja biologiczna traci fragment przewagi technologicznej.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;50_kK9phHy8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''26 luty 2021'''&lt;br /&gt;
&lt;br /&gt;
Syn [https://pl.wikipedia.org/wiki/Henryk_Jerzy_Chmielewski Papcia Chmiela], menadżer NASA, o ostatnim lądowaniu na Marsie, w ogóle o misjach kosmicznych oraz w jakiej sprawie tato go duśdał&amp;lt;sup&amp;gt;*&amp;lt;/sup&amp;gt;, a w jakiej on sam teraz duśda Polaków. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;em&amp;gt;*) znaczenie wyjaśnia się w rozmowie&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;a7kNoZmQGDE&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''10 październik 2019'''&lt;br /&gt;
&lt;br /&gt;
Japońskie roboty potrafią być też szybkie... &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;-KxjVlaLBmk&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''10 sierpnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe symulacje pokazujące jak można skutecznie stłumić wibracje w układzie wykonując ruch sprytniejszym oprogramowaniem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;Z1jgaEO9aRs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2019'''&lt;br /&gt;
&lt;br /&gt;
Kilka mniej schematycznych zastosowań serw i silników&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;BaDz12Yt0rw&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Jeśli ktoś nie może zasnąć &amp;amp;mdash; ekstremalnie porywająca siatkówka w wykonaniu Toyoty&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;V_nhy4iIaBA&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''1 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Siła fizyczna już nie zapewni kariery w logistyce...&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;youtube&amp;gt;5iV_hB08Uns&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''16 marca 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe ujęcia poklatkowe pozwalające zobaczyć bez zasłaniającej głowicy jak powstaje wydruk 3D&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;aubLuCFIejc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''12 luty 2019, 0:30 '''&lt;br /&gt;
&lt;br /&gt;
Aktualizacja oprogramowania strony do '''Wikimedia 1.32'''. Domyślny styl został zmieniony ze względu na brak uaktualnionej wersji dotychczasowego.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 lutego 2019, 13:04'''&lt;br /&gt;
&lt;br /&gt;
Gwiezdne Wojny w [https://www.pb.pl/droid-z-agh-952687 Krakowie]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 listopada 2018, 15:50'''&lt;br /&gt;
&lt;br /&gt;
[https://spaceforest.pl/bigos-4/ BIGOS] poleciał :)&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;aJiJKennwWU&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''27 października 2018, 19:00'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Znajdowanie_IP_maliny_przy_pomocy_kom.C3.B3rki|opis]] wyszukiwania adresu IP Maliny w lokalnej sieci WiFi przy pomocy komórki z Androidem.&lt;br /&gt;
&lt;br /&gt;
'''26 października 2018, 2:30'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Ustawienie_domy.C5.9Blnej_sieci_WiFi_dla_RaspberryPi_Zero_W|opis]] prekonfiguracji systemu i łączenia z Maliną przez WiFi. &lt;br /&gt;
&lt;br /&gt;
'''25 października 2018, 16:00'''&lt;br /&gt;
&lt;br /&gt;
Dodana obsługa emaila w robo.city. Dzięki temu możliwe jest odzyskiwanie haseł, ustawianie alertów o zmianach, itd. &lt;br /&gt;
&lt;br /&gt;
Zmieniony domyślny styl całej strony na wygodniejszy na komórkach. &lt;br /&gt;
&lt;br /&gt;
'''16 września 2016, 1:20'''&lt;br /&gt;
&lt;br /&gt;
W opisie elektroniki [[Trzykołowiec#Po.C5.82.C4.85czenia_elektryczne|trzykołowca]] dodane zdjęcie wtyczki USB z przylutowanymi przewodami zasilania i kondensatorem.&lt;br /&gt;
&lt;br /&gt;
'''7 września 2016,19:10'''&lt;br /&gt;
&lt;br /&gt;
Na stronie poświęconej budowie [[Trzykołowiec|trzykołowca]] dodany rozdział o łączeniu kabelków i programowaniu ruchu. Znajduje się tam link do modułu w pythonie dzięki, któremu można zapisać tor ruchu kilkoma prostymi poleceniami. Dodany  [[Trzykołowiec#W akcji|przykład kodu z nagraniem zachowania robota]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 sierpnia 2016, 16:05'''&lt;br /&gt;
&lt;br /&gt;
VirtualBox&lt;br /&gt;
&lt;br /&gt;
Na stronie https://www.virtualbox.org/wiki/Downloads trzeba pobrać '''VirtualBox 5.1.2 for Windows hosts''' jeśli systemem roboczym ma być Windows i zainstalować. Potem w tym programie tworzymy maszyny wirtualne i na nich instalujemy potrzebny system. &lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Trafiłem na taki krótki filmik (po polsku) o tym jak sobie człowiek drukarkę 3D zbudował. Właściwie ludzie potrafiący projektować części w 3D, oraz nie bojący się silnika krokowego &amp;amp;mdash; czyli każdy kto zrobi trzykołowca z drukowanymi własnymi częściami &amp;amp;mdash; może bez problemu taką drukarkę samemu zrobić!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;_KdsQ2qVVVY&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 0:10'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o to jakie są dostępne filamenty. Ten sklep https://3dfilamenty.com/strona/faq posiada całkiem dużą ofertę z opisami zalet różnych materiałów.&lt;br /&gt;
&lt;br /&gt;
'''5 sierpnia 2016, 20:50'''&lt;br /&gt;
&lt;br /&gt;
Nawiązując do rozmowy o programach pozwalających na obróbkę obrazów:&lt;br /&gt;
&lt;br /&gt;
Do obrazów rastrowych (czyli komponowanych z wielu pojedynczych  punktów) na Ubuntu warto zainstalować '''Gimp'''(a). Raczej spory program z wieloma opcjami i nie łatwy do nauczenia się od razu. Jednak potem bardzo poręczny i skuteczny,&lt;br /&gt;
&lt;br /&gt;
Do obrazów wektorowych świetnie nadaje się '''Inkscape'''. Do jego zainstalowania można użyć standardowego dodawana aplikacji Ubuntu. Pojęcie grafiki wektorowej już znacie -- dokładnie w takim trybie działa choćby FreeCAD, tyle tylko że robi to w trzech wymiarach. InkScape i FreeCAD są pod w tym względem bardzo podobne. Kiedy we FreeCADzie chcemy zdefiniować kulę określamy tylko pozycję jej środka i promień. Podobnie w InkScape, jeśli chcemy narysować okrąg podajemy tylko  pozycję i promień. Potem możemy dodatkowo zmieniać kolor wnętrza figury i jej brzegów, rodzaj użytej linii, itd.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''29 lipca 2016, 21:21'''&lt;br /&gt;
&lt;br /&gt;
Dodana strona o [[Instalowanie najnowszej wersji FreeCAD| instalowaniu najnowszej wersji FreeCADa]] na Ubuntu. &lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2016, 21:56'''&lt;br /&gt;
&lt;br /&gt;
Nowa strona w kategorii Projekty Pi Zero: [[Przylutowanie pinów do Maliny Zero]]. Strona zwiera też film pokazujący lutowanie.&lt;br /&gt;
&lt;br /&gt;
'''12 lipca 2016, 21:24'''&lt;br /&gt;
&lt;br /&gt;
Dołączył nowy użytkownik [[Użytkownik:pawhan|pawhan]]. Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] jest cały wstępniak, czyli co warto wiedzieć na początek.&lt;br /&gt;
&lt;br /&gt;
'''8 lipca 2016, 13:06'''&lt;br /&gt;
&lt;br /&gt;
Przyjechały:&lt;br /&gt;
&lt;br /&gt;
[[Plik:Silniki nema 14.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1 lipca 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o przygotowaniu systemu dla Maliny dodany rozdział o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Dostęp_do_plików_Maliny_z_komputera_zasilającego| uzyskiwaniu dostępu do plików działającej Maliny]].&lt;br /&gt;
&lt;br /&gt;
'''30 czerwca 2016, 23:40'''&lt;br /&gt;
&lt;br /&gt;
Na stronie [[Trzykołowiec]] pierwsze informacje o konstrukcji robota. Strona zawiera także wstępny plik projektu w programie FreeCAD jeśli ktoś chciałby w nim projektować podwozie. &lt;br /&gt;
&lt;br /&gt;
'''29 czerwca 2016, 1:55'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o Politechnikę Wrocławską. A tak się chłopaki bawią. Zaczyna się po angielsku, ale z robotem rozmawiają po polsku.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;v1GBBIFbwXs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''28 czerwca 2016, 1:15'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o [[Mrugająca_dioda_LED| projekcie z mrugającą diodą LED]] dodany przykładowy kod i minimalny opis pinów.&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 18:40''' &lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=U39RMUzCjiU Przykład mało intuicyjnego] zachowania aż do bólu prostego układu mechanicznego: dopóki sztabki są sztywno skręcone wahadło zachowuje się &amp;quot;zwyczajnie&amp;quot;; kiedy jednak uwolnimy zawias dzielący wahadło na dwie części, oscylacja staje się zupełnie nieoczekiwana. Okazuje się, że wiele bardziej skomplikowanych układów zachowuje się zgodnie z tymi samymi regułami opisywanymi '''teorią chaosu''' (nie mylić z &amp;quot;chaotyczną teorią&amp;quot;, z którą ta ścisła nie ma nic wspólnego). Na przykład takie zaskakujące ruchy mogą wykonywać notowania na giełdzie, pogoda, lub społeczeństwa. Warto o tym pamiętać patrząc na to co potrafi najprostsze wahadło. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 12:30'''&lt;br /&gt;
Do strony o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| przygotowaniu systemu dla Maliny]] dodany rozdział na temat naszej wersji obrazu uwzględniającej konfigurację połączenia po USB. Po wgraniu tej wersji na kartę będzie można łączyć się zdalnie.&lt;br /&gt;
&lt;br /&gt;
'''19 czerwca 2016, 23:15'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: orange;&amp;quot;&amp;gt;'''Już 3 maliny mają nowych właścicieli! Kolejna czeka...'''&amp;lt;/span&amp;gt; Do obioru potrzebna jest własna karta SD, z którą Malina zadziała. Szczegóły jej przygotowania są opisane [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| tutaj]], a kilka komentarzy zawiera ta strona [[Dyskusja_użytkownika:Grucha|dyskusji]].&lt;br /&gt;
[[Plik:4_maliny_nowe_zero_bez_trzech.jpg|400px|center]]&lt;br /&gt;
&lt;br /&gt;
=== Rzeczy do zrobienia ===&lt;br /&gt;
==== Strony własne użytkowników ====&lt;br /&gt;
Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] znajduje się lista użytkowników. Czerwony link na liście oznacza brak strony użytkownika, a jego kliknięcie pozwala rozpocząć jej dodawanie (o ile jest się zalogowanym). '''Zbudowanie własnej strony -- choćby najprostszej -- jest zadaniem użytkownika.'''&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=652</id>
		<title>Strona główna</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=652"/>
		<updated>2023-11-15T22:59:14Z</updated>

		<summary type="html">&lt;p&gt;Isj: KPLabs z gliwic&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Wyłączenie spisu treści strony --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;!-- Wyłączenie linków [edit] przy tytułach sekcji (zaśmiecają obraz) --&amp;gt;&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
Wiki do wymiany informacji o projektach. Jeśli jesteś tutaj pierwszy raz '''zerknij na stronę [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]]''' żeby dowiedzieć się więcej.&lt;br /&gt;
=== Indeks ===&lt;br /&gt;
===== Programowanie =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Programowanie&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Strony o Malinie Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Projekty wykorzystujące Malinę Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Projekty Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Moduły elektroniczne =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Moduły elektroniczne&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Roboty =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Roboty&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
order = ascending&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Ubuntu =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Ubuntu&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Aktualności ===&lt;br /&gt;
&lt;br /&gt;
'''12 listopada 2023'''&lt;br /&gt;
&lt;br /&gt;
KPLabs z Gliwic podaje sporo szczegółów o tym na czym polega budowanie mikrosatelity przy okazji wysłania swoich najnowszych urządzeń na orbitę&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;7xsd-TPYg1Y&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''19 września 2023'''&lt;br /&gt;
&lt;br /&gt;
Jakby ktoś budował warto zwrócić uwagę na warte tysięcy niutonów wibracje przy włączaniu (tj. wstępne testy wytrzymałości można wykonać przez obrzucenie lżejszymi samochodami osobowymi)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;0srs5jZ1qdg&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''31 sierpnia 2023'''&lt;br /&gt;
&lt;br /&gt;
Pozytywne myślenie i odporność na lenistwo w nudnej codziennej praktyce... Warto się włączyć skoro [https://razna120lat.pl/ raz na 120 lat]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;q604QNPK804&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''5 stycznia 2023'''&lt;br /&gt;
&lt;br /&gt;
Parę dni temu ulokowali sobie satelitę testowego na orbicie. Multispectralne narzędzia z Wrocławia w różnych zastosowaniach&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;HdZJPrXSLEs&amp;lt;/youtube&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''30 grudnia 2022'''&lt;br /&gt;
&lt;br /&gt;
I już nie w garażu tylko w willi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;WcZjLQyRoR8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
... a parę ulic dalej&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;tgMg8jnQrag&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''22 października 2021'''&lt;br /&gt;
&lt;br /&gt;
A tymczasem gdzieś w [https://patronite.pl/LukaszKozlik Polsce w garażu].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;guDIwspRGJ8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''24 sierpnia 2021'''&lt;br /&gt;
&lt;br /&gt;
Ciąg dalszy ostrzeżeń żeby nie nastawiać się na zarabianie prostą pracą fizyczną ponieważ może jej bardzo brakować w niedalekiej przyszłości.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;HUP6Z5voiS8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jakby ktoś się zastanawiał, czy taki robot może ogarniać. W innym projekcie firmy Tesla zmajstrowali coś wielkości szachownicy co ma '''9Pflops mocy obliczeniowej'''. Trzy takie &amp;quot;płytki&amp;quot; i można się załapać do [https://top500.org/lists/top500/2021/06/ pierwszej dziesiątki najszybszych komputerów na świecie], które zwykle zajmują powierzchnię bliższą garażom niż szachownicom. Za kilka lat po dalszej miniaturyzacji i dopracowaniu oprogramowania taki procesor bez problemu pozwoli wykonywać pożyteczną pracę i prowadzić spójne rozmowy, czyli osiągnie wydajność ponad dwóch celebrytów.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;DSw3IwsgNnc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''17 lipca 2021'''&lt;br /&gt;
&lt;br /&gt;
Kurs [https://www.youtube.com/playlist?list=PLgVHnJyC3KulUOELRVrtO5k6_te16a0-9 Fusion360], programu wygodnego do przygotowywania wydruków 3D. 8 lekcji wideo po polsku (łącznie ok. półtorej godziny).&lt;br /&gt;
&lt;br /&gt;
'''10 lipca 2021'''&lt;br /&gt;
&lt;br /&gt;
Nieco trudniejszy kawałek, ale pokazuje podstawowe przyczyny, dla których łatwo rozpoznać naukowego ignoranta kiedy twierdzi, że nauka &amp;quot;może wszystko&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;HeQX2HjkcNo&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''23 czerwca 2021'''&lt;br /&gt;
&lt;br /&gt;
Dla odmiany praktyczny przykład naukowego odkrycia i uruchomienia jego masowej produkcji z własnego podwórka. Jak widać nie trzeba kopiować tego co ktoś inny wymyślił, nie trzeba szukać &amp;quot;komu by się dobrze sprzedać&amp;quot;. Można wymyślić i skorzystać.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;0w7ZuRb8lI4&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''5 marca 2021'''&lt;br /&gt;
&lt;br /&gt;
Grafenowe mięśnie otwierają możliwość budowania mechanizmów o możliwościach takich jak naturalne. Ewolucja biologiczna traci fragment przewagi technologicznej.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;50_kK9phHy8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''26 luty 2021'''&lt;br /&gt;
&lt;br /&gt;
Syn [https://pl.wikipedia.org/wiki/Henryk_Jerzy_Chmielewski Papcia Chmiela], menadżer NASA, o ostatnim lądowaniu na Marsie, w ogóle o misjach kosmicznych oraz w jakiej sprawie tato go duśdał&amp;lt;sup&amp;gt;*&amp;lt;/sup&amp;gt;, a w jakiej on sam teraz duśda Polaków. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;em&amp;gt;*) znaczenie wyjaśnia się w rozmowie&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;a7kNoZmQGDE&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''10 październik 2019'''&lt;br /&gt;
&lt;br /&gt;
Japońskie roboty potrafią być też szybkie... &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;-KxjVlaLBmk&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''10 sierpnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe symulacje pokazujące jak można skutecznie stłumić wibracje w układzie wykonując ruch sprytniejszym oprogramowaniem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;Z1jgaEO9aRs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2019'''&lt;br /&gt;
&lt;br /&gt;
Kilka mniej schematycznych zastosowań serw i silników&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;BaDz12Yt0rw&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Jeśli ktoś nie może zasnąć &amp;amp;mdash; ekstremalnie porywająca siatkówka w wykonaniu Toyoty&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;V_nhy4iIaBA&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''1 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Siła fizyczna już nie zapewni kariery w logistyce...&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;youtube&amp;gt;5iV_hB08Uns&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''16 marca 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe ujęcia poklatkowe pozwalające zobaczyć bez zasłaniającej głowicy jak powstaje wydruk 3D&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;aubLuCFIejc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''12 luty 2019, 0:30 '''&lt;br /&gt;
&lt;br /&gt;
Aktualizacja oprogramowania strony do '''Wikimedia 1.32'''. Domyślny styl został zmieniony ze względu na brak uaktualnionej wersji dotychczasowego.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 lutego 2019, 13:04'''&lt;br /&gt;
&lt;br /&gt;
Gwiezdne Wojny w [https://www.pb.pl/droid-z-agh-952687 Krakowie]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 listopada 2018, 15:50'''&lt;br /&gt;
&lt;br /&gt;
[https://spaceforest.pl/bigos-4/ BIGOS] poleciał :)&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;aJiJKennwWU&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''27 października 2018, 19:00'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Znajdowanie_IP_maliny_przy_pomocy_kom.C3.B3rki|opis]] wyszukiwania adresu IP Maliny w lokalnej sieci WiFi przy pomocy komórki z Androidem.&lt;br /&gt;
&lt;br /&gt;
'''26 października 2018, 2:30'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Ustawienie_domy.C5.9Blnej_sieci_WiFi_dla_RaspberryPi_Zero_W|opis]] prekonfiguracji systemu i łączenia z Maliną przez WiFi. &lt;br /&gt;
&lt;br /&gt;
'''25 października 2018, 16:00'''&lt;br /&gt;
&lt;br /&gt;
Dodana obsługa emaila w robo.city. Dzięki temu możliwe jest odzyskiwanie haseł, ustawianie alertów o zmianach, itd. &lt;br /&gt;
&lt;br /&gt;
Zmieniony domyślny styl całej strony na wygodniejszy na komórkach. &lt;br /&gt;
&lt;br /&gt;
'''16 września 2016, 1:20'''&lt;br /&gt;
&lt;br /&gt;
W opisie elektroniki [[Trzykołowiec#Po.C5.82.C4.85czenia_elektryczne|trzykołowca]] dodane zdjęcie wtyczki USB z przylutowanymi przewodami zasilania i kondensatorem.&lt;br /&gt;
&lt;br /&gt;
'''7 września 2016,19:10'''&lt;br /&gt;
&lt;br /&gt;
Na stronie poświęconej budowie [[Trzykołowiec|trzykołowca]] dodany rozdział o łączeniu kabelków i programowaniu ruchu. Znajduje się tam link do modułu w pythonie dzięki, któremu można zapisać tor ruchu kilkoma prostymi poleceniami. Dodany  [[Trzykołowiec#W akcji|przykład kodu z nagraniem zachowania robota]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 sierpnia 2016, 16:05'''&lt;br /&gt;
&lt;br /&gt;
VirtualBox&lt;br /&gt;
&lt;br /&gt;
Na stronie https://www.virtualbox.org/wiki/Downloads trzeba pobrać '''VirtualBox 5.1.2 for Windows hosts''' jeśli systemem roboczym ma być Windows i zainstalować. Potem w tym programie tworzymy maszyny wirtualne i na nich instalujemy potrzebny system. &lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Trafiłem na taki krótki filmik (po polsku) o tym jak sobie człowiek drukarkę 3D zbudował. Właściwie ludzie potrafiący projektować części w 3D, oraz nie bojący się silnika krokowego &amp;amp;mdash; czyli każdy kto zrobi trzykołowca z drukowanymi własnymi częściami &amp;amp;mdash; może bez problemu taką drukarkę samemu zrobić!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;_KdsQ2qVVVY&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 0:10'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o to jakie są dostępne filamenty. Ten sklep https://3dfilamenty.com/strona/faq posiada całkiem dużą ofertę z opisami zalet różnych materiałów.&lt;br /&gt;
&lt;br /&gt;
'''5 sierpnia 2016, 20:50'''&lt;br /&gt;
&lt;br /&gt;
Nawiązując do rozmowy o programach pozwalających na obróbkę obrazów:&lt;br /&gt;
&lt;br /&gt;
Do obrazów rastrowych (czyli komponowanych z wielu pojedynczych  punktów) na Ubuntu warto zainstalować '''Gimp'''(a). Raczej spory program z wieloma opcjami i nie łatwy do nauczenia się od razu. Jednak potem bardzo poręczny i skuteczny,&lt;br /&gt;
&lt;br /&gt;
Do obrazów wektorowych świetnie nadaje się '''Inkscape'''. Do jego zainstalowania można użyć standardowego dodawana aplikacji Ubuntu. Pojęcie grafiki wektorowej już znacie -- dokładnie w takim trybie działa choćby FreeCAD, tyle tylko że robi to w trzech wymiarach. InkScape i FreeCAD są pod w tym względem bardzo podobne. Kiedy we FreeCADzie chcemy zdefiniować kulę określamy tylko pozycję jej środka i promień. Podobnie w InkScape, jeśli chcemy narysować okrąg podajemy tylko  pozycję i promień. Potem możemy dodatkowo zmieniać kolor wnętrza figury i jej brzegów, rodzaj użytej linii, itd.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''29 lipca 2016, 21:21'''&lt;br /&gt;
&lt;br /&gt;
Dodana strona o [[Instalowanie najnowszej wersji FreeCAD| instalowaniu najnowszej wersji FreeCADa]] na Ubuntu. &lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2016, 21:56'''&lt;br /&gt;
&lt;br /&gt;
Nowa strona w kategorii Projekty Pi Zero: [[Przylutowanie pinów do Maliny Zero]]. Strona zwiera też film pokazujący lutowanie.&lt;br /&gt;
&lt;br /&gt;
'''12 lipca 2016, 21:24'''&lt;br /&gt;
&lt;br /&gt;
Dołączył nowy użytkownik [[Użytkownik:pawhan|pawhan]]. Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] jest cały wstępniak, czyli co warto wiedzieć na początek.&lt;br /&gt;
&lt;br /&gt;
'''8 lipca 2016, 13:06'''&lt;br /&gt;
&lt;br /&gt;
Przyjechały:&lt;br /&gt;
&lt;br /&gt;
[[Plik:Silniki nema 14.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1 lipca 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o przygotowaniu systemu dla Maliny dodany rozdział o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Dostęp_do_plików_Maliny_z_komputera_zasilającego| uzyskiwaniu dostępu do plików działającej Maliny]].&lt;br /&gt;
&lt;br /&gt;
'''30 czerwca 2016, 23:40'''&lt;br /&gt;
&lt;br /&gt;
Na stronie [[Trzykołowiec]] pierwsze informacje o konstrukcji robota. Strona zawiera także wstępny plik projektu w programie FreeCAD jeśli ktoś chciałby w nim projektować podwozie. &lt;br /&gt;
&lt;br /&gt;
'''29 czerwca 2016, 1:55'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o Politechnikę Wrocławską. A tak się chłopaki bawią. Zaczyna się po angielsku, ale z robotem rozmawiają po polsku.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;v1GBBIFbwXs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''28 czerwca 2016, 1:15'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o [[Mrugająca_dioda_LED| projekcie z mrugającą diodą LED]] dodany przykładowy kod i minimalny opis pinów.&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 18:40''' &lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=U39RMUzCjiU Przykład mało intuicyjnego] zachowania aż do bólu prostego układu mechanicznego: dopóki sztabki są sztywno skręcone wahadło zachowuje się &amp;quot;zwyczajnie&amp;quot;; kiedy jednak uwolnimy zawias dzielący wahadło na dwie części, oscylacja staje się zupełnie nieoczekiwana. Okazuje się, że wiele bardziej skomplikowanych układów zachowuje się zgodnie z tymi samymi regułami opisywanymi '''teorią chaosu''' (nie mylić z &amp;quot;chaotyczną teorią&amp;quot;, z którą ta ścisła nie ma nic wspólnego). Na przykład takie zaskakujące ruchy mogą wykonywać notowania na giełdzie, pogoda, lub społeczeństwa. Warto o tym pamiętać patrząc na to co potrafi najprostsze wahadło. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 12:30'''&lt;br /&gt;
Do strony o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| przygotowaniu systemu dla Maliny]] dodany rozdział na temat naszej wersji obrazu uwzględniającej konfigurację połączenia po USB. Po wgraniu tej wersji na kartę będzie można łączyć się zdalnie.&lt;br /&gt;
&lt;br /&gt;
'''19 czerwca 2016, 23:15'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: orange;&amp;quot;&amp;gt;'''Już 3 maliny mają nowych właścicieli! Kolejna czeka...'''&amp;lt;/span&amp;gt; Do obioru potrzebna jest własna karta SD, z którą Malina zadziała. Szczegóły jej przygotowania są opisane [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| tutaj]], a kilka komentarzy zawiera ta strona [[Dyskusja_użytkownika:Grucha|dyskusji]].&lt;br /&gt;
[[Plik:4_maliny_nowe_zero_bez_trzech.jpg|400px|center]]&lt;br /&gt;
&lt;br /&gt;
=== Rzeczy do zrobienia ===&lt;br /&gt;
==== Strony własne użytkowników ====&lt;br /&gt;
Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] znajduje się lista użytkowników. Czerwony link na liście oznacza brak strony użytkownika, a jego kliknięcie pozwala rozpocząć jej dodawanie (o ile jest się zalogowanym). '''Zbudowanie własnej strony -- choćby najprostszej -- jest zadaniem użytkownika.'''&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=651</id>
		<title>Strona główna</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=651"/>
		<updated>2023-09-19T08:30:01Z</updated>

		<summary type="html">&lt;p&gt;Isj: dodany film z rozruchem silnika na paliwo RP1 z tlenem&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Wyłączenie spisu treści strony --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;!-- Wyłączenie linków [edit] przy tytułach sekcji (zaśmiecają obraz) --&amp;gt;&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
Wiki do wymiany informacji o projektach. Jeśli jesteś tutaj pierwszy raz '''zerknij na stronę [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]]''' żeby dowiedzieć się więcej.&lt;br /&gt;
=== Indeks ===&lt;br /&gt;
===== Programowanie =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Programowanie&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Strony o Malinie Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Projekty wykorzystujące Malinę Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Projekty Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Moduły elektroniczne =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Moduły elektroniczne&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Roboty =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Roboty&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
order = ascending&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Ubuntu =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Ubuntu&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Aktualności ===&lt;br /&gt;
'''19 września 2023'''&lt;br /&gt;
&lt;br /&gt;
Jakby ktoś budował warto zwrócić uwagę na warte tysięcy niutonów wibracje przy włączaniu (tj. wstępne testy wytrzymałości można wykonać przez obrzucenie lżejszymi samochodami osobowymi)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;0srs5jZ1qdg&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''31 sierpnia 2023'''&lt;br /&gt;
&lt;br /&gt;
Pozytywne myślenie i odporność na lenistwo w nudnej codziennej praktyce... Warto się włączyć skoro [https://razna120lat.pl/ raz na 120 lat]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;q604QNPK804&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''5 stycznia 2023'''&lt;br /&gt;
&lt;br /&gt;
Parę dni temu ulokowali sobie satelitę testowego na orbicie. Multispectralne narzędzia z Wrocławia w różnych zastosowaniach&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;HdZJPrXSLEs&amp;lt;/youtube&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''30 grudnia 2022'''&lt;br /&gt;
&lt;br /&gt;
I już nie w garażu tylko w willi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;WcZjLQyRoR8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
... a parę ulic dalej&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;tgMg8jnQrag&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''22 października 2021'''&lt;br /&gt;
&lt;br /&gt;
A tymczasem gdzieś w [https://patronite.pl/LukaszKozlik Polsce w garażu].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;guDIwspRGJ8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''24 sierpnia 2021'''&lt;br /&gt;
&lt;br /&gt;
Ciąg dalszy ostrzeżeń żeby nie nastawiać się na zarabianie prostą pracą fizyczną ponieważ może jej bardzo brakować w niedalekiej przyszłości.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;HUP6Z5voiS8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jakby ktoś się zastanawiał, czy taki robot może ogarniać. W innym projekcie firmy Tesla zmajstrowali coś wielkości szachownicy co ma '''9Pflops mocy obliczeniowej'''. Trzy takie &amp;quot;płytki&amp;quot; i można się załapać do [https://top500.org/lists/top500/2021/06/ pierwszej dziesiątki najszybszych komputerów na świecie], które zwykle zajmują powierzchnię bliższą garażom niż szachownicom. Za kilka lat po dalszej miniaturyzacji i dopracowaniu oprogramowania taki procesor bez problemu pozwoli wykonywać pożyteczną pracę i prowadzić spójne rozmowy, czyli osiągnie wydajność ponad dwóch celebrytów.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;DSw3IwsgNnc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''17 lipca 2021'''&lt;br /&gt;
&lt;br /&gt;
Kurs [https://www.youtube.com/playlist?list=PLgVHnJyC3KulUOELRVrtO5k6_te16a0-9 Fusion360], programu wygodnego do przygotowywania wydruków 3D. 8 lekcji wideo po polsku (łącznie ok. półtorej godziny).&lt;br /&gt;
&lt;br /&gt;
'''10 lipca 2021'''&lt;br /&gt;
&lt;br /&gt;
Nieco trudniejszy kawałek, ale pokazuje podstawowe przyczyny, dla których łatwo rozpoznać naukowego ignoranta kiedy twierdzi, że nauka &amp;quot;może wszystko&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;HeQX2HjkcNo&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''23 czerwca 2021'''&lt;br /&gt;
&lt;br /&gt;
Dla odmiany praktyczny przykład naukowego odkrycia i uruchomienia jego masowej produkcji z własnego podwórka. Jak widać nie trzeba kopiować tego co ktoś inny wymyślił, nie trzeba szukać &amp;quot;komu by się dobrze sprzedać&amp;quot;. Można wymyślić i skorzystać.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;0w7ZuRb8lI4&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''5 marca 2021'''&lt;br /&gt;
&lt;br /&gt;
Grafenowe mięśnie otwierają możliwość budowania mechanizmów o możliwościach takich jak naturalne. Ewolucja biologiczna traci fragment przewagi technologicznej.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;50_kK9phHy8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''26 luty 2021'''&lt;br /&gt;
&lt;br /&gt;
Syn [https://pl.wikipedia.org/wiki/Henryk_Jerzy_Chmielewski Papcia Chmiela], menadżer NASA, o ostatnim lądowaniu na Marsie, w ogóle o misjach kosmicznych oraz w jakiej sprawie tato go duśdał&amp;lt;sup&amp;gt;*&amp;lt;/sup&amp;gt;, a w jakiej on sam teraz duśda Polaków. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;em&amp;gt;*) znaczenie wyjaśnia się w rozmowie&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;a7kNoZmQGDE&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''10 październik 2019'''&lt;br /&gt;
&lt;br /&gt;
Japońskie roboty potrafią być też szybkie... &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;-KxjVlaLBmk&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''10 sierpnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe symulacje pokazujące jak można skutecznie stłumić wibracje w układzie wykonując ruch sprytniejszym oprogramowaniem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;Z1jgaEO9aRs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2019'''&lt;br /&gt;
&lt;br /&gt;
Kilka mniej schematycznych zastosowań serw i silników&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;BaDz12Yt0rw&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Jeśli ktoś nie może zasnąć &amp;amp;mdash; ekstremalnie porywająca siatkówka w wykonaniu Toyoty&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;V_nhy4iIaBA&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''1 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Siła fizyczna już nie zapewni kariery w logistyce...&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;youtube&amp;gt;5iV_hB08Uns&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''16 marca 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe ujęcia poklatkowe pozwalające zobaczyć bez zasłaniającej głowicy jak powstaje wydruk 3D&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;aubLuCFIejc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''12 luty 2019, 0:30 '''&lt;br /&gt;
&lt;br /&gt;
Aktualizacja oprogramowania strony do '''Wikimedia 1.32'''. Domyślny styl został zmieniony ze względu na brak uaktualnionej wersji dotychczasowego.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 lutego 2019, 13:04'''&lt;br /&gt;
&lt;br /&gt;
Gwiezdne Wojny w [https://www.pb.pl/droid-z-agh-952687 Krakowie]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 listopada 2018, 15:50'''&lt;br /&gt;
&lt;br /&gt;
[https://spaceforest.pl/bigos-4/ BIGOS] poleciał :)&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;aJiJKennwWU&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''27 października 2018, 19:00'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Znajdowanie_IP_maliny_przy_pomocy_kom.C3.B3rki|opis]] wyszukiwania adresu IP Maliny w lokalnej sieci WiFi przy pomocy komórki z Androidem.&lt;br /&gt;
&lt;br /&gt;
'''26 października 2018, 2:30'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Ustawienie_domy.C5.9Blnej_sieci_WiFi_dla_RaspberryPi_Zero_W|opis]] prekonfiguracji systemu i łączenia z Maliną przez WiFi. &lt;br /&gt;
&lt;br /&gt;
'''25 października 2018, 16:00'''&lt;br /&gt;
&lt;br /&gt;
Dodana obsługa emaila w robo.city. Dzięki temu możliwe jest odzyskiwanie haseł, ustawianie alertów o zmianach, itd. &lt;br /&gt;
&lt;br /&gt;
Zmieniony domyślny styl całej strony na wygodniejszy na komórkach. &lt;br /&gt;
&lt;br /&gt;
'''16 września 2016, 1:20'''&lt;br /&gt;
&lt;br /&gt;
W opisie elektroniki [[Trzykołowiec#Po.C5.82.C4.85czenia_elektryczne|trzykołowca]] dodane zdjęcie wtyczki USB z przylutowanymi przewodami zasilania i kondensatorem.&lt;br /&gt;
&lt;br /&gt;
'''7 września 2016,19:10'''&lt;br /&gt;
&lt;br /&gt;
Na stronie poświęconej budowie [[Trzykołowiec|trzykołowca]] dodany rozdział o łączeniu kabelków i programowaniu ruchu. Znajduje się tam link do modułu w pythonie dzięki, któremu można zapisać tor ruchu kilkoma prostymi poleceniami. Dodany  [[Trzykołowiec#W akcji|przykład kodu z nagraniem zachowania robota]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 sierpnia 2016, 16:05'''&lt;br /&gt;
&lt;br /&gt;
VirtualBox&lt;br /&gt;
&lt;br /&gt;
Na stronie https://www.virtualbox.org/wiki/Downloads trzeba pobrać '''VirtualBox 5.1.2 for Windows hosts''' jeśli systemem roboczym ma być Windows i zainstalować. Potem w tym programie tworzymy maszyny wirtualne i na nich instalujemy potrzebny system. &lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Trafiłem na taki krótki filmik (po polsku) o tym jak sobie człowiek drukarkę 3D zbudował. Właściwie ludzie potrafiący projektować części w 3D, oraz nie bojący się silnika krokowego &amp;amp;mdash; czyli każdy kto zrobi trzykołowca z drukowanymi własnymi częściami &amp;amp;mdash; może bez problemu taką drukarkę samemu zrobić!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;_KdsQ2qVVVY&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 0:10'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o to jakie są dostępne filamenty. Ten sklep https://3dfilamenty.com/strona/faq posiada całkiem dużą ofertę z opisami zalet różnych materiałów.&lt;br /&gt;
&lt;br /&gt;
'''5 sierpnia 2016, 20:50'''&lt;br /&gt;
&lt;br /&gt;
Nawiązując do rozmowy o programach pozwalających na obróbkę obrazów:&lt;br /&gt;
&lt;br /&gt;
Do obrazów rastrowych (czyli komponowanych z wielu pojedynczych  punktów) na Ubuntu warto zainstalować '''Gimp'''(a). Raczej spory program z wieloma opcjami i nie łatwy do nauczenia się od razu. Jednak potem bardzo poręczny i skuteczny,&lt;br /&gt;
&lt;br /&gt;
Do obrazów wektorowych świetnie nadaje się '''Inkscape'''. Do jego zainstalowania można użyć standardowego dodawana aplikacji Ubuntu. Pojęcie grafiki wektorowej już znacie -- dokładnie w takim trybie działa choćby FreeCAD, tyle tylko że robi to w trzech wymiarach. InkScape i FreeCAD są pod w tym względem bardzo podobne. Kiedy we FreeCADzie chcemy zdefiniować kulę określamy tylko pozycję jej środka i promień. Podobnie w InkScape, jeśli chcemy narysować okrąg podajemy tylko  pozycję i promień. Potem możemy dodatkowo zmieniać kolor wnętrza figury i jej brzegów, rodzaj użytej linii, itd.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''29 lipca 2016, 21:21'''&lt;br /&gt;
&lt;br /&gt;
Dodana strona o [[Instalowanie najnowszej wersji FreeCAD| instalowaniu najnowszej wersji FreeCADa]] na Ubuntu. &lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2016, 21:56'''&lt;br /&gt;
&lt;br /&gt;
Nowa strona w kategorii Projekty Pi Zero: [[Przylutowanie pinów do Maliny Zero]]. Strona zwiera też film pokazujący lutowanie.&lt;br /&gt;
&lt;br /&gt;
'''12 lipca 2016, 21:24'''&lt;br /&gt;
&lt;br /&gt;
Dołączył nowy użytkownik [[Użytkownik:pawhan|pawhan]]. Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] jest cały wstępniak, czyli co warto wiedzieć na początek.&lt;br /&gt;
&lt;br /&gt;
'''8 lipca 2016, 13:06'''&lt;br /&gt;
&lt;br /&gt;
Przyjechały:&lt;br /&gt;
&lt;br /&gt;
[[Plik:Silniki nema 14.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1 lipca 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o przygotowaniu systemu dla Maliny dodany rozdział o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Dostęp_do_plików_Maliny_z_komputera_zasilającego| uzyskiwaniu dostępu do plików działającej Maliny]].&lt;br /&gt;
&lt;br /&gt;
'''30 czerwca 2016, 23:40'''&lt;br /&gt;
&lt;br /&gt;
Na stronie [[Trzykołowiec]] pierwsze informacje o konstrukcji robota. Strona zawiera także wstępny plik projektu w programie FreeCAD jeśli ktoś chciałby w nim projektować podwozie. &lt;br /&gt;
&lt;br /&gt;
'''29 czerwca 2016, 1:55'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o Politechnikę Wrocławską. A tak się chłopaki bawią. Zaczyna się po angielsku, ale z robotem rozmawiają po polsku.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;v1GBBIFbwXs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''28 czerwca 2016, 1:15'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o [[Mrugająca_dioda_LED| projekcie z mrugającą diodą LED]] dodany przykładowy kod i minimalny opis pinów.&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 18:40''' &lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=U39RMUzCjiU Przykład mało intuicyjnego] zachowania aż do bólu prostego układu mechanicznego: dopóki sztabki są sztywno skręcone wahadło zachowuje się &amp;quot;zwyczajnie&amp;quot;; kiedy jednak uwolnimy zawias dzielący wahadło na dwie części, oscylacja staje się zupełnie nieoczekiwana. Okazuje się, że wiele bardziej skomplikowanych układów zachowuje się zgodnie z tymi samymi regułami opisywanymi '''teorią chaosu''' (nie mylić z &amp;quot;chaotyczną teorią&amp;quot;, z którą ta ścisła nie ma nic wspólnego). Na przykład takie zaskakujące ruchy mogą wykonywać notowania na giełdzie, pogoda, lub społeczeństwa. Warto o tym pamiętać patrząc na to co potrafi najprostsze wahadło. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 12:30'''&lt;br /&gt;
Do strony o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| przygotowaniu systemu dla Maliny]] dodany rozdział na temat naszej wersji obrazu uwzględniającej konfigurację połączenia po USB. Po wgraniu tej wersji na kartę będzie można łączyć się zdalnie.&lt;br /&gt;
&lt;br /&gt;
'''19 czerwca 2016, 23:15'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: orange;&amp;quot;&amp;gt;'''Już 3 maliny mają nowych właścicieli! Kolejna czeka...'''&amp;lt;/span&amp;gt; Do obioru potrzebna jest własna karta SD, z którą Malina zadziała. Szczegóły jej przygotowania są opisane [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| tutaj]], a kilka komentarzy zawiera ta strona [[Dyskusja_użytkownika:Grucha|dyskusji]].&lt;br /&gt;
[[Plik:4_maliny_nowe_zero_bez_trzech.jpg|400px|center]]&lt;br /&gt;
&lt;br /&gt;
=== Rzeczy do zrobienia ===&lt;br /&gt;
==== Strony własne użytkowników ====&lt;br /&gt;
Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] znajduje się lista użytkowników. Czerwony link na liście oznacza brak strony użytkownika, a jego kliknięcie pozwala rozpocząć jej dodawanie (o ile jest się zalogowanym). '''Zbudowanie własnej strony -- choćby najprostszej -- jest zadaniem użytkownika.'''&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=650</id>
		<title>Strona główna</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=650"/>
		<updated>2023-08-31T10:53:25Z</updated>

		<summary type="html">&lt;p&gt;Isj: dodany nowy film&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Wyłączenie spisu treści strony --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;!-- Wyłączenie linków [edit] przy tytułach sekcji (zaśmiecają obraz) --&amp;gt;&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
Wiki do wymiany informacji o projektach. Jeśli jesteś tutaj pierwszy raz '''zerknij na stronę [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]]''' żeby dowiedzieć się więcej.&lt;br /&gt;
=== Indeks ===&lt;br /&gt;
===== Programowanie =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Programowanie&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Strony o Malinie Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Projekty wykorzystujące Malinę Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Projekty Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Moduły elektroniczne =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Moduły elektroniczne&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Roboty =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Roboty&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
order = ascending&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Ubuntu =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Ubuntu&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Aktualności ===&lt;br /&gt;
'''31 sierpnia 2023'''&lt;br /&gt;
&lt;br /&gt;
Pozytywne myślenie i odporność na lenistwo w nudnej codziennej praktyce... Warto się włączyć skoro [https://razna120lat.pl/ raz na 120 lat]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;q604QNPK804&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''5 stycznia 2023'''&lt;br /&gt;
&lt;br /&gt;
Parę dni temu ulokowali sobie satelitę testowego na orbicie. Multispectralne narzędzia z Wrocławia w różnych zastosowaniach&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;HdZJPrXSLEs&amp;lt;/youtube&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''30 grudnia 2022'''&lt;br /&gt;
&lt;br /&gt;
I już nie w garażu tylko w willi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;WcZjLQyRoR8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
... a parę ulic dalej&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;tgMg8jnQrag&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''22 października 2021'''&lt;br /&gt;
&lt;br /&gt;
A tymczasem gdzieś w [https://patronite.pl/LukaszKozlik Polsce w garażu].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;guDIwspRGJ8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''24 sierpnia 2021'''&lt;br /&gt;
&lt;br /&gt;
Ciąg dalszy ostrzeżeń żeby nie nastawiać się na zarabianie prostą pracą fizyczną ponieważ może jej bardzo brakować w niedalekiej przyszłości.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;HUP6Z5voiS8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jakby ktoś się zastanawiał, czy taki robot może ogarniać. W innym projekcie firmy Tesla zmajstrowali coś wielkości szachownicy co ma '''9Pflops mocy obliczeniowej'''. Trzy takie &amp;quot;płytki&amp;quot; i można się załapać do [https://top500.org/lists/top500/2021/06/ pierwszej dziesiątki najszybszych komputerów na świecie], które zwykle zajmują powierzchnię bliższą garażom niż szachownicom. Za kilka lat po dalszej miniaturyzacji i dopracowaniu oprogramowania taki procesor bez problemu pozwoli wykonywać pożyteczną pracę i prowadzić spójne rozmowy, czyli osiągnie wydajność ponad dwóch celebrytów.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;DSw3IwsgNnc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''17 lipca 2021'''&lt;br /&gt;
&lt;br /&gt;
Kurs [https://www.youtube.com/playlist?list=PLgVHnJyC3KulUOELRVrtO5k6_te16a0-9 Fusion360], programu wygodnego do przygotowywania wydruków 3D. 8 lekcji wideo po polsku (łącznie ok. półtorej godziny).&lt;br /&gt;
&lt;br /&gt;
'''10 lipca 2021'''&lt;br /&gt;
&lt;br /&gt;
Nieco trudniejszy kawałek, ale pokazuje podstawowe przyczyny, dla których łatwo rozpoznać naukowego ignoranta kiedy twierdzi, że nauka &amp;quot;może wszystko&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;HeQX2HjkcNo&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''23 czerwca 2021'''&lt;br /&gt;
&lt;br /&gt;
Dla odmiany praktyczny przykład naukowego odkrycia i uruchomienia jego masowej produkcji z własnego podwórka. Jak widać nie trzeba kopiować tego co ktoś inny wymyślił, nie trzeba szukać &amp;quot;komu by się dobrze sprzedać&amp;quot;. Można wymyślić i skorzystać.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;0w7ZuRb8lI4&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''5 marca 2021'''&lt;br /&gt;
&lt;br /&gt;
Grafenowe mięśnie otwierają możliwość budowania mechanizmów o możliwościach takich jak naturalne. Ewolucja biologiczna traci fragment przewagi technologicznej.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;50_kK9phHy8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''26 luty 2021'''&lt;br /&gt;
&lt;br /&gt;
Syn [https://pl.wikipedia.org/wiki/Henryk_Jerzy_Chmielewski Papcia Chmiela], menadżer NASA, o ostatnim lądowaniu na Marsie, w ogóle o misjach kosmicznych oraz w jakiej sprawie tato go duśdał&amp;lt;sup&amp;gt;*&amp;lt;/sup&amp;gt;, a w jakiej on sam teraz duśda Polaków. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;em&amp;gt;*) znaczenie wyjaśnia się w rozmowie&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;a7kNoZmQGDE&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''10 październik 2019'''&lt;br /&gt;
&lt;br /&gt;
Japońskie roboty potrafią być też szybkie... &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;-KxjVlaLBmk&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''10 sierpnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe symulacje pokazujące jak można skutecznie stłumić wibracje w układzie wykonując ruch sprytniejszym oprogramowaniem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;Z1jgaEO9aRs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2019'''&lt;br /&gt;
&lt;br /&gt;
Kilka mniej schematycznych zastosowań serw i silników&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;BaDz12Yt0rw&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Jeśli ktoś nie może zasnąć &amp;amp;mdash; ekstremalnie porywająca siatkówka w wykonaniu Toyoty&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;V_nhy4iIaBA&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''1 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Siła fizyczna już nie zapewni kariery w logistyce...&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;youtube&amp;gt;5iV_hB08Uns&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''16 marca 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe ujęcia poklatkowe pozwalające zobaczyć bez zasłaniającej głowicy jak powstaje wydruk 3D&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;aubLuCFIejc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''12 luty 2019, 0:30 '''&lt;br /&gt;
&lt;br /&gt;
Aktualizacja oprogramowania strony do '''Wikimedia 1.32'''. Domyślny styl został zmieniony ze względu na brak uaktualnionej wersji dotychczasowego.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 lutego 2019, 13:04'''&lt;br /&gt;
&lt;br /&gt;
Gwiezdne Wojny w [https://www.pb.pl/droid-z-agh-952687 Krakowie]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 listopada 2018, 15:50'''&lt;br /&gt;
&lt;br /&gt;
[https://spaceforest.pl/bigos-4/ BIGOS] poleciał :)&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;aJiJKennwWU&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''27 października 2018, 19:00'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Znajdowanie_IP_maliny_przy_pomocy_kom.C3.B3rki|opis]] wyszukiwania adresu IP Maliny w lokalnej sieci WiFi przy pomocy komórki z Androidem.&lt;br /&gt;
&lt;br /&gt;
'''26 października 2018, 2:30'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Ustawienie_domy.C5.9Blnej_sieci_WiFi_dla_RaspberryPi_Zero_W|opis]] prekonfiguracji systemu i łączenia z Maliną przez WiFi. &lt;br /&gt;
&lt;br /&gt;
'''25 października 2018, 16:00'''&lt;br /&gt;
&lt;br /&gt;
Dodana obsługa emaila w robo.city. Dzięki temu możliwe jest odzyskiwanie haseł, ustawianie alertów o zmianach, itd. &lt;br /&gt;
&lt;br /&gt;
Zmieniony domyślny styl całej strony na wygodniejszy na komórkach. &lt;br /&gt;
&lt;br /&gt;
'''16 września 2016, 1:20'''&lt;br /&gt;
&lt;br /&gt;
W opisie elektroniki [[Trzykołowiec#Po.C5.82.C4.85czenia_elektryczne|trzykołowca]] dodane zdjęcie wtyczki USB z przylutowanymi przewodami zasilania i kondensatorem.&lt;br /&gt;
&lt;br /&gt;
'''7 września 2016,19:10'''&lt;br /&gt;
&lt;br /&gt;
Na stronie poświęconej budowie [[Trzykołowiec|trzykołowca]] dodany rozdział o łączeniu kabelków i programowaniu ruchu. Znajduje się tam link do modułu w pythonie dzięki, któremu można zapisać tor ruchu kilkoma prostymi poleceniami. Dodany  [[Trzykołowiec#W akcji|przykład kodu z nagraniem zachowania robota]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 sierpnia 2016, 16:05'''&lt;br /&gt;
&lt;br /&gt;
VirtualBox&lt;br /&gt;
&lt;br /&gt;
Na stronie https://www.virtualbox.org/wiki/Downloads trzeba pobrać '''VirtualBox 5.1.2 for Windows hosts''' jeśli systemem roboczym ma być Windows i zainstalować. Potem w tym programie tworzymy maszyny wirtualne i na nich instalujemy potrzebny system. &lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Trafiłem na taki krótki filmik (po polsku) o tym jak sobie człowiek drukarkę 3D zbudował. Właściwie ludzie potrafiący projektować części w 3D, oraz nie bojący się silnika krokowego &amp;amp;mdash; czyli każdy kto zrobi trzykołowca z drukowanymi własnymi częściami &amp;amp;mdash; może bez problemu taką drukarkę samemu zrobić!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;_KdsQ2qVVVY&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 0:10'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o to jakie są dostępne filamenty. Ten sklep https://3dfilamenty.com/strona/faq posiada całkiem dużą ofertę z opisami zalet różnych materiałów.&lt;br /&gt;
&lt;br /&gt;
'''5 sierpnia 2016, 20:50'''&lt;br /&gt;
&lt;br /&gt;
Nawiązując do rozmowy o programach pozwalających na obróbkę obrazów:&lt;br /&gt;
&lt;br /&gt;
Do obrazów rastrowych (czyli komponowanych z wielu pojedynczych  punktów) na Ubuntu warto zainstalować '''Gimp'''(a). Raczej spory program z wieloma opcjami i nie łatwy do nauczenia się od razu. Jednak potem bardzo poręczny i skuteczny,&lt;br /&gt;
&lt;br /&gt;
Do obrazów wektorowych świetnie nadaje się '''Inkscape'''. Do jego zainstalowania można użyć standardowego dodawana aplikacji Ubuntu. Pojęcie grafiki wektorowej już znacie -- dokładnie w takim trybie działa choćby FreeCAD, tyle tylko że robi to w trzech wymiarach. InkScape i FreeCAD są pod w tym względem bardzo podobne. Kiedy we FreeCADzie chcemy zdefiniować kulę określamy tylko pozycję jej środka i promień. Podobnie w InkScape, jeśli chcemy narysować okrąg podajemy tylko  pozycję i promień. Potem możemy dodatkowo zmieniać kolor wnętrza figury i jej brzegów, rodzaj użytej linii, itd.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''29 lipca 2016, 21:21'''&lt;br /&gt;
&lt;br /&gt;
Dodana strona o [[Instalowanie najnowszej wersji FreeCAD| instalowaniu najnowszej wersji FreeCADa]] na Ubuntu. &lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2016, 21:56'''&lt;br /&gt;
&lt;br /&gt;
Nowa strona w kategorii Projekty Pi Zero: [[Przylutowanie pinów do Maliny Zero]]. Strona zwiera też film pokazujący lutowanie.&lt;br /&gt;
&lt;br /&gt;
'''12 lipca 2016, 21:24'''&lt;br /&gt;
&lt;br /&gt;
Dołączył nowy użytkownik [[Użytkownik:pawhan|pawhan]]. Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] jest cały wstępniak, czyli co warto wiedzieć na początek.&lt;br /&gt;
&lt;br /&gt;
'''8 lipca 2016, 13:06'''&lt;br /&gt;
&lt;br /&gt;
Przyjechały:&lt;br /&gt;
&lt;br /&gt;
[[Plik:Silniki nema 14.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1 lipca 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o przygotowaniu systemu dla Maliny dodany rozdział o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Dostęp_do_plików_Maliny_z_komputera_zasilającego| uzyskiwaniu dostępu do plików działającej Maliny]].&lt;br /&gt;
&lt;br /&gt;
'''30 czerwca 2016, 23:40'''&lt;br /&gt;
&lt;br /&gt;
Na stronie [[Trzykołowiec]] pierwsze informacje o konstrukcji robota. Strona zawiera także wstępny plik projektu w programie FreeCAD jeśli ktoś chciałby w nim projektować podwozie. &lt;br /&gt;
&lt;br /&gt;
'''29 czerwca 2016, 1:55'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o Politechnikę Wrocławską. A tak się chłopaki bawią. Zaczyna się po angielsku, ale z robotem rozmawiają po polsku.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;v1GBBIFbwXs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''28 czerwca 2016, 1:15'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o [[Mrugająca_dioda_LED| projekcie z mrugającą diodą LED]] dodany przykładowy kod i minimalny opis pinów.&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 18:40''' &lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=U39RMUzCjiU Przykład mało intuicyjnego] zachowania aż do bólu prostego układu mechanicznego: dopóki sztabki są sztywno skręcone wahadło zachowuje się &amp;quot;zwyczajnie&amp;quot;; kiedy jednak uwolnimy zawias dzielący wahadło na dwie części, oscylacja staje się zupełnie nieoczekiwana. Okazuje się, że wiele bardziej skomplikowanych układów zachowuje się zgodnie z tymi samymi regułami opisywanymi '''teorią chaosu''' (nie mylić z &amp;quot;chaotyczną teorią&amp;quot;, z którą ta ścisła nie ma nic wspólnego). Na przykład takie zaskakujące ruchy mogą wykonywać notowania na giełdzie, pogoda, lub społeczeństwa. Warto o tym pamiętać patrząc na to co potrafi najprostsze wahadło. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 12:30'''&lt;br /&gt;
Do strony o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| przygotowaniu systemu dla Maliny]] dodany rozdział na temat naszej wersji obrazu uwzględniającej konfigurację połączenia po USB. Po wgraniu tej wersji na kartę będzie można łączyć się zdalnie.&lt;br /&gt;
&lt;br /&gt;
'''19 czerwca 2016, 23:15'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: orange;&amp;quot;&amp;gt;'''Już 3 maliny mają nowych właścicieli! Kolejna czeka...'''&amp;lt;/span&amp;gt; Do obioru potrzebna jest własna karta SD, z którą Malina zadziała. Szczegóły jej przygotowania są opisane [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| tutaj]], a kilka komentarzy zawiera ta strona [[Dyskusja_użytkownika:Grucha|dyskusji]].&lt;br /&gt;
[[Plik:4_maliny_nowe_zero_bez_trzech.jpg|400px|center]]&lt;br /&gt;
&lt;br /&gt;
=== Rzeczy do zrobienia ===&lt;br /&gt;
==== Strony własne użytkowników ====&lt;br /&gt;
Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] znajduje się lista użytkowników. Czerwony link na liście oznacza brak strony użytkownika, a jego kliknięcie pozwala rozpocząć jej dodawanie (o ile jest się zalogowanym). '''Zbudowanie własnej strony -- choćby najprostszej -- jest zadaniem użytkownika.'''&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=649</id>
		<title>Strona główna</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=649"/>
		<updated>2023-05-02T20:23:19Z</updated>

		<summary type="html">&lt;p&gt;Isj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Wyłączenie spisu treści strony --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;!-- Wyłączenie linków [edit] przy tytułach sekcji (zaśmiecają obraz) --&amp;gt;&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
Wiki do wymiany informacji o projektach. Jeśli jesteś tutaj pierwszy raz '''zerknij na stronę [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]]''' żeby dowiedzieć się więcej.&lt;br /&gt;
=== Indeks ===&lt;br /&gt;
===== Programowanie =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Programowanie&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Strony o Malinie Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Projekty wykorzystujące Malinę Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Projekty Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Moduły elektroniczne =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Moduły elektroniczne&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Roboty =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Roboty&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
order = ascending&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Ubuntu =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Ubuntu&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Aktualności ===&lt;br /&gt;
'''5 stycznia 2023'''&lt;br /&gt;
&lt;br /&gt;
Parę dni temu ulokowali sobie satelitę testowego na orbicie. Multispectralne narzędzia z Wrocławia w różnych zastosowaniach&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;HdZJPrXSLEs&amp;lt;/youtube&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''30 grudnia 2022'''&lt;br /&gt;
&lt;br /&gt;
I już nie w garażu tylko w willi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;WcZjLQyRoR8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
... a parę ulic dalej&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;tgMg8jnQrag&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''22 października 2021'''&lt;br /&gt;
&lt;br /&gt;
A tymczasem gdzieś w [https://patronite.pl/LukaszKozlik Polsce w garażu].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;guDIwspRGJ8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''24 sierpnia 2021'''&lt;br /&gt;
&lt;br /&gt;
Ciąg dalszy ostrzeżeń żeby nie nastawiać się na zarabianie prostą pracą fizyczną ponieważ może jej bardzo brakować w niedalekiej przyszłości.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;HUP6Z5voiS8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jakby ktoś się zastanawiał, czy taki robot może ogarniać. W innym projekcie firmy Tesla zmajstrowali coś wielkości szachownicy co ma '''9Pflops mocy obliczeniowej'''. Trzy takie &amp;quot;płytki&amp;quot; i można się załapać do [https://top500.org/lists/top500/2021/06/ pierwszej dziesiątki najszybszych komputerów na świecie], które zwykle zajmują powierzchnię bliższą garażom niż szachownicom. Za kilka lat po dalszej miniaturyzacji i dopracowaniu oprogramowania taki procesor bez problemu pozwoli wykonywać pożyteczną pracę i prowadzić spójne rozmowy, czyli osiągnie wydajność ponad dwóch celebrytów.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;DSw3IwsgNnc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''17 lipca 2021'''&lt;br /&gt;
&lt;br /&gt;
Kurs [https://www.youtube.com/playlist?list=PLgVHnJyC3KulUOELRVrtO5k6_te16a0-9 Fusion360], programu wygodnego do przygotowywania wydruków 3D. 8 lekcji wideo po polsku (łącznie ok. półtorej godziny).&lt;br /&gt;
&lt;br /&gt;
'''10 lipca 2021'''&lt;br /&gt;
&lt;br /&gt;
Nieco trudniejszy kawałek, ale pokazuje podstawowe przyczyny, dla których łatwo rozpoznać naukowego ignoranta kiedy twierdzi, że nauka &amp;quot;może wszystko&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;HeQX2HjkcNo&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''23 czerwca 2021'''&lt;br /&gt;
&lt;br /&gt;
Dla odmiany praktyczny przykład naukowego odkrycia i uruchomienia jego masowej produkcji z własnego podwórka. Jak widać nie trzeba kopiować tego co ktoś inny wymyślił, nie trzeba szukać &amp;quot;komu by się dobrze sprzedać&amp;quot;. Można wymyślić i skorzystać.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;0w7ZuRb8lI4&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''5 marca 2021'''&lt;br /&gt;
&lt;br /&gt;
Grafenowe mięśnie otwierają możliwość budowania mechanizmów o możliwościach takich jak naturalne. Ewolucja biologiczna traci fragment przewagi technologicznej.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;50_kK9phHy8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''26 luty 2021'''&lt;br /&gt;
&lt;br /&gt;
Syn [https://pl.wikipedia.org/wiki/Henryk_Jerzy_Chmielewski Papcia Chmiela], menadżer NASA, o ostatnim lądowaniu na Marsie, w ogóle o misjach kosmicznych oraz w jakiej sprawie tato go duśdał&amp;lt;sup&amp;gt;*&amp;lt;/sup&amp;gt;, a w jakiej on sam teraz duśda Polaków. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;em&amp;gt;*) znaczenie wyjaśnia się w rozmowie&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;a7kNoZmQGDE&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''10 październik 2019'''&lt;br /&gt;
&lt;br /&gt;
Japońskie roboty potrafią być też szybkie... &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;-KxjVlaLBmk&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''10 sierpnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe symulacje pokazujące jak można skutecznie stłumić wibracje w układzie wykonując ruch sprytniejszym oprogramowaniem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;Z1jgaEO9aRs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2019'''&lt;br /&gt;
&lt;br /&gt;
Kilka mniej schematycznych zastosowań serw i silników&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;BaDz12Yt0rw&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Jeśli ktoś nie może zasnąć &amp;amp;mdash; ekstremalnie porywająca siatkówka w wykonaniu Toyoty&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;V_nhy4iIaBA&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''1 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Siła fizyczna już nie zapewni kariery w logistyce...&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;youtube&amp;gt;5iV_hB08Uns&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''16 marca 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe ujęcia poklatkowe pozwalające zobaczyć bez zasłaniającej głowicy jak powstaje wydruk 3D&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;aubLuCFIejc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''12 luty 2019, 0:30 '''&lt;br /&gt;
&lt;br /&gt;
Aktualizacja oprogramowania strony do '''Wikimedia 1.32'''. Domyślny styl został zmieniony ze względu na brak uaktualnionej wersji dotychczasowego.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 lutego 2019, 13:04'''&lt;br /&gt;
&lt;br /&gt;
Gwiezdne Wojny w [https://www.pb.pl/droid-z-agh-952687 Krakowie]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 listopada 2018, 15:50'''&lt;br /&gt;
&lt;br /&gt;
[https://spaceforest.pl/bigos-4/ BIGOS] poleciał :)&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;aJiJKennwWU&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''27 października 2018, 19:00'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Znajdowanie_IP_maliny_przy_pomocy_kom.C3.B3rki|opis]] wyszukiwania adresu IP Maliny w lokalnej sieci WiFi przy pomocy komórki z Androidem.&lt;br /&gt;
&lt;br /&gt;
'''26 października 2018, 2:30'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Ustawienie_domy.C5.9Blnej_sieci_WiFi_dla_RaspberryPi_Zero_W|opis]] prekonfiguracji systemu i łączenia z Maliną przez WiFi. &lt;br /&gt;
&lt;br /&gt;
'''25 października 2018, 16:00'''&lt;br /&gt;
&lt;br /&gt;
Dodana obsługa emaila w robo.city. Dzięki temu możliwe jest odzyskiwanie haseł, ustawianie alertów o zmianach, itd. &lt;br /&gt;
&lt;br /&gt;
Zmieniony domyślny styl całej strony na wygodniejszy na komórkach. &lt;br /&gt;
&lt;br /&gt;
'''16 września 2016, 1:20'''&lt;br /&gt;
&lt;br /&gt;
W opisie elektroniki [[Trzykołowiec#Po.C5.82.C4.85czenia_elektryczne|trzykołowca]] dodane zdjęcie wtyczki USB z przylutowanymi przewodami zasilania i kondensatorem.&lt;br /&gt;
&lt;br /&gt;
'''7 września 2016,19:10'''&lt;br /&gt;
&lt;br /&gt;
Na stronie poświęconej budowie [[Trzykołowiec|trzykołowca]] dodany rozdział o łączeniu kabelków i programowaniu ruchu. Znajduje się tam link do modułu w pythonie dzięki, któremu można zapisać tor ruchu kilkoma prostymi poleceniami. Dodany  [[Trzykołowiec#W akcji|przykład kodu z nagraniem zachowania robota]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 sierpnia 2016, 16:05'''&lt;br /&gt;
&lt;br /&gt;
VirtualBox&lt;br /&gt;
&lt;br /&gt;
Na stronie https://www.virtualbox.org/wiki/Downloads trzeba pobrać '''VirtualBox 5.1.2 for Windows hosts''' jeśli systemem roboczym ma być Windows i zainstalować. Potem w tym programie tworzymy maszyny wirtualne i na nich instalujemy potrzebny system. &lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Trafiłem na taki krótki filmik (po polsku) o tym jak sobie człowiek drukarkę 3D zbudował. Właściwie ludzie potrafiący projektować części w 3D, oraz nie bojący się silnika krokowego &amp;amp;mdash; czyli każdy kto zrobi trzykołowca z drukowanymi własnymi częściami &amp;amp;mdash; może bez problemu taką drukarkę samemu zrobić!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;_KdsQ2qVVVY&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 0:10'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o to jakie są dostępne filamenty. Ten sklep https://3dfilamenty.com/strona/faq posiada całkiem dużą ofertę z opisami zalet różnych materiałów.&lt;br /&gt;
&lt;br /&gt;
'''5 sierpnia 2016, 20:50'''&lt;br /&gt;
&lt;br /&gt;
Nawiązując do rozmowy o programach pozwalających na obróbkę obrazów:&lt;br /&gt;
&lt;br /&gt;
Do obrazów rastrowych (czyli komponowanych z wielu pojedynczych  punktów) na Ubuntu warto zainstalować '''Gimp'''(a). Raczej spory program z wieloma opcjami i nie łatwy do nauczenia się od razu. Jednak potem bardzo poręczny i skuteczny,&lt;br /&gt;
&lt;br /&gt;
Do obrazów wektorowych świetnie nadaje się '''Inkscape'''. Do jego zainstalowania można użyć standardowego dodawana aplikacji Ubuntu. Pojęcie grafiki wektorowej już znacie -- dokładnie w takim trybie działa choćby FreeCAD, tyle tylko że robi to w trzech wymiarach. InkScape i FreeCAD są pod w tym względem bardzo podobne. Kiedy we FreeCADzie chcemy zdefiniować kulę określamy tylko pozycję jej środka i promień. Podobnie w InkScape, jeśli chcemy narysować okrąg podajemy tylko  pozycję i promień. Potem możemy dodatkowo zmieniać kolor wnętrza figury i jej brzegów, rodzaj użytej linii, itd.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''29 lipca 2016, 21:21'''&lt;br /&gt;
&lt;br /&gt;
Dodana strona o [[Instalowanie najnowszej wersji FreeCAD| instalowaniu najnowszej wersji FreeCADa]] na Ubuntu. &lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2016, 21:56'''&lt;br /&gt;
&lt;br /&gt;
Nowa strona w kategorii Projekty Pi Zero: [[Przylutowanie pinów do Maliny Zero]]. Strona zwiera też film pokazujący lutowanie.&lt;br /&gt;
&lt;br /&gt;
'''12 lipca 2016, 21:24'''&lt;br /&gt;
&lt;br /&gt;
Dołączył nowy użytkownik [[Użytkownik:pawhan|pawhan]]. Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] jest cały wstępniak, czyli co warto wiedzieć na początek.&lt;br /&gt;
&lt;br /&gt;
'''8 lipca 2016, 13:06'''&lt;br /&gt;
&lt;br /&gt;
Przyjechały:&lt;br /&gt;
&lt;br /&gt;
[[Plik:Silniki nema 14.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1 lipca 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o przygotowaniu systemu dla Maliny dodany rozdział o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Dostęp_do_plików_Maliny_z_komputera_zasilającego| uzyskiwaniu dostępu do plików działającej Maliny]].&lt;br /&gt;
&lt;br /&gt;
'''30 czerwca 2016, 23:40'''&lt;br /&gt;
&lt;br /&gt;
Na stronie [[Trzykołowiec]] pierwsze informacje o konstrukcji robota. Strona zawiera także wstępny plik projektu w programie FreeCAD jeśli ktoś chciałby w nim projektować podwozie. &lt;br /&gt;
&lt;br /&gt;
'''29 czerwca 2016, 1:55'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o Politechnikę Wrocławską. A tak się chłopaki bawią. Zaczyna się po angielsku, ale z robotem rozmawiają po polsku.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;v1GBBIFbwXs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''28 czerwca 2016, 1:15'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o [[Mrugająca_dioda_LED| projekcie z mrugającą diodą LED]] dodany przykładowy kod i minimalny opis pinów.&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 18:40''' &lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=U39RMUzCjiU Przykład mało intuicyjnego] zachowania aż do bólu prostego układu mechanicznego: dopóki sztabki są sztywno skręcone wahadło zachowuje się &amp;quot;zwyczajnie&amp;quot;; kiedy jednak uwolnimy zawias dzielący wahadło na dwie części, oscylacja staje się zupełnie nieoczekiwana. Okazuje się, że wiele bardziej skomplikowanych układów zachowuje się zgodnie z tymi samymi regułami opisywanymi '''teorią chaosu''' (nie mylić z &amp;quot;chaotyczną teorią&amp;quot;, z którą ta ścisła nie ma nic wspólnego). Na przykład takie zaskakujące ruchy mogą wykonywać notowania na giełdzie, pogoda, lub społeczeństwa. Warto o tym pamiętać patrząc na to co potrafi najprostsze wahadło. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 12:30'''&lt;br /&gt;
Do strony o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| przygotowaniu systemu dla Maliny]] dodany rozdział na temat naszej wersji obrazu uwzględniającej konfigurację połączenia po USB. Po wgraniu tej wersji na kartę będzie można łączyć się zdalnie.&lt;br /&gt;
&lt;br /&gt;
'''19 czerwca 2016, 23:15'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: orange;&amp;quot;&amp;gt;'''Już 3 maliny mają nowych właścicieli! Kolejna czeka...'''&amp;lt;/span&amp;gt; Do obioru potrzebna jest własna karta SD, z którą Malina zadziała. Szczegóły jej przygotowania są opisane [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| tutaj]], a kilka komentarzy zawiera ta strona [[Dyskusja_użytkownika:Grucha|dyskusji]].&lt;br /&gt;
[[Plik:4_maliny_nowe_zero_bez_trzech.jpg|400px|center]]&lt;br /&gt;
&lt;br /&gt;
=== Rzeczy do zrobienia ===&lt;br /&gt;
==== Strony własne użytkowników ====&lt;br /&gt;
Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] znajduje się lista użytkowników. Czerwony link na liście oznacza brak strony użytkownika, a jego kliknięcie pozwala rozpocząć jej dodawanie (o ile jest się zalogowanym). '''Zbudowanie własnej strony -- choćby najprostszej -- jest zadaniem użytkownika.'''&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=648</id>
		<title>Strona główna</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=648"/>
		<updated>2023-01-05T15:45:36Z</updated>

		<summary type="html">&lt;p&gt;Isj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Wyłączenie spisu treści strony --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;!-- Wyłączenie linków [edit] przy tytułach sekcji (zaśmiecają obraz) --&amp;gt;&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
Wiki do wymiany informacji o projektach. Jeśli jesteś tutaj pierwszy raz '''zerknij na stronę [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]]''' żeby dowiedzieć się więcej.&lt;br /&gt;
=== Indeks ===&lt;br /&gt;
===== Programowanie =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Programowanie&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Strony o Malinie Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Projekty wykorzystujące Malinę Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Projekty Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Moduły elektroniczne =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Moduły elektroniczne&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Roboty =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Roboty&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
order = ascending&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Ubuntu =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Ubuntu&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Aktualności ===&lt;br /&gt;
'''5 stycznia 2022'''&lt;br /&gt;
&lt;br /&gt;
Parę dni temu ulokowali sobie satelitę testowego na orbicie. Multispectralne narzędzia z Wrocławia w różnych zastosowaniach&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;HdZJPrXSLEs&amp;lt;/youtube&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''30 grudnia 2022'''&lt;br /&gt;
&lt;br /&gt;
I już nie w garażu tylko w willi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;WcZjLQyRoR8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
... a parę ulic dalej&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;tgMg8jnQrag&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''22 października 2021'''&lt;br /&gt;
&lt;br /&gt;
A tymczasem gdzieś w [https://patronite.pl/LukaszKozlik Polsce w garażu].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;guDIwspRGJ8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''24 sierpnia 2021'''&lt;br /&gt;
&lt;br /&gt;
Ciąg dalszy ostrzeżeń żeby nie nastawiać się na zarabianie prostą pracą fizyczną ponieważ może jej bardzo brakować w niedalekiej przyszłości.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;HUP6Z5voiS8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jakby ktoś się zastanawiał, czy taki robot może ogarniać. W innym projekcie firmy Tesla zmajstrowali coś wielkości szachownicy co ma '''9Pflops mocy obliczeniowej'''. Trzy takie &amp;quot;płytki&amp;quot; i można się załapać do [https://top500.org/lists/top500/2021/06/ pierwszej dziesiątki najszybszych komputerów na świecie], które zwykle zajmują powierzchnię bliższą garażom niż szachownicom. Za kilka lat po dalszej miniaturyzacji i dopracowaniu oprogramowania taki procesor bez problemu pozwoli wykonywać pożyteczną pracę i prowadzić spójne rozmowy, czyli osiągnie wydajność ponad dwóch celebrytów.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;DSw3IwsgNnc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''17 lipca 2021'''&lt;br /&gt;
&lt;br /&gt;
Kurs [https://www.youtube.com/playlist?list=PLgVHnJyC3KulUOELRVrtO5k6_te16a0-9 Fusion360], programu wygodnego do przygotowywania wydruków 3D. 8 lekcji wideo po polsku (łącznie ok. półtorej godziny).&lt;br /&gt;
&lt;br /&gt;
'''10 lipca 2021'''&lt;br /&gt;
&lt;br /&gt;
Nieco trudniejszy kawałek, ale pokazuje podstawowe przyczyny, dla których łatwo rozpoznać naukowego ignoranta kiedy twierdzi, że nauka &amp;quot;może wszystko&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;HeQX2HjkcNo&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''23 czerwca 2021'''&lt;br /&gt;
&lt;br /&gt;
Dla odmiany praktyczny przykład naukowego odkrycia i uruchomienia jego masowej produkcji z własnego podwórka. Jak widać nie trzeba kopiować tego co ktoś inny wymyślił, nie trzeba szukać &amp;quot;komu by się dobrze sprzedać&amp;quot;. Można wymyślić i skorzystać.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;0w7ZuRb8lI4&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''5 marca 2021'''&lt;br /&gt;
&lt;br /&gt;
Grafenowe mięśnie otwierają możliwość budowania mechanizmów o możliwościach takich jak naturalne. Ewolucja biologiczna traci fragment przewagi technologicznej.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;50_kK9phHy8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''26 luty 2021'''&lt;br /&gt;
&lt;br /&gt;
Syn [https://pl.wikipedia.org/wiki/Henryk_Jerzy_Chmielewski Papcia Chmiela], menadżer NASA, o ostatnim lądowaniu na Marsie, w ogóle o misjach kosmicznych oraz w jakiej sprawie tato go duśdał&amp;lt;sup&amp;gt;*&amp;lt;/sup&amp;gt;, a w jakiej on sam teraz duśda Polaków. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;em&amp;gt;*) znaczenie wyjaśnia się w rozmowie&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;a7kNoZmQGDE&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''10 październik 2019'''&lt;br /&gt;
&lt;br /&gt;
Japońskie roboty potrafią być też szybkie... &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;-KxjVlaLBmk&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''10 sierpnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe symulacje pokazujące jak można skutecznie stłumić wibracje w układzie wykonując ruch sprytniejszym oprogramowaniem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;Z1jgaEO9aRs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2019'''&lt;br /&gt;
&lt;br /&gt;
Kilka mniej schematycznych zastosowań serw i silników&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;BaDz12Yt0rw&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Jeśli ktoś nie może zasnąć &amp;amp;mdash; ekstremalnie porywająca siatkówka w wykonaniu Toyoty&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;V_nhy4iIaBA&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''1 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Siła fizyczna już nie zapewni kariery w logistyce...&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;youtube&amp;gt;5iV_hB08Uns&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''16 marca 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe ujęcia poklatkowe pozwalające zobaczyć bez zasłaniającej głowicy jak powstaje wydruk 3D&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;aubLuCFIejc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''12 luty 2019, 0:30 '''&lt;br /&gt;
&lt;br /&gt;
Aktualizacja oprogramowania strony do '''Wikimedia 1.32'''. Domyślny styl został zmieniony ze względu na brak uaktualnionej wersji dotychczasowego.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 lutego 2019, 13:04'''&lt;br /&gt;
&lt;br /&gt;
Gwiezdne Wojny w [https://www.pb.pl/droid-z-agh-952687 Krakowie]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 listopada 2018, 15:50'''&lt;br /&gt;
&lt;br /&gt;
[https://spaceforest.pl/bigos-4/ BIGOS] poleciał :)&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;aJiJKennwWU&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''27 października 2018, 19:00'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Znajdowanie_IP_maliny_przy_pomocy_kom.C3.B3rki|opis]] wyszukiwania adresu IP Maliny w lokalnej sieci WiFi przy pomocy komórki z Androidem.&lt;br /&gt;
&lt;br /&gt;
'''26 października 2018, 2:30'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Ustawienie_domy.C5.9Blnej_sieci_WiFi_dla_RaspberryPi_Zero_W|opis]] prekonfiguracji systemu i łączenia z Maliną przez WiFi. &lt;br /&gt;
&lt;br /&gt;
'''25 października 2018, 16:00'''&lt;br /&gt;
&lt;br /&gt;
Dodana obsługa emaila w robo.city. Dzięki temu możliwe jest odzyskiwanie haseł, ustawianie alertów o zmianach, itd. &lt;br /&gt;
&lt;br /&gt;
Zmieniony domyślny styl całej strony na wygodniejszy na komórkach. &lt;br /&gt;
&lt;br /&gt;
'''16 września 2016, 1:20'''&lt;br /&gt;
&lt;br /&gt;
W opisie elektroniki [[Trzykołowiec#Po.C5.82.C4.85czenia_elektryczne|trzykołowca]] dodane zdjęcie wtyczki USB z przylutowanymi przewodami zasilania i kondensatorem.&lt;br /&gt;
&lt;br /&gt;
'''7 września 2016,19:10'''&lt;br /&gt;
&lt;br /&gt;
Na stronie poświęconej budowie [[Trzykołowiec|trzykołowca]] dodany rozdział o łączeniu kabelków i programowaniu ruchu. Znajduje się tam link do modułu w pythonie dzięki, któremu można zapisać tor ruchu kilkoma prostymi poleceniami. Dodany  [[Trzykołowiec#W akcji|przykład kodu z nagraniem zachowania robota]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 sierpnia 2016, 16:05'''&lt;br /&gt;
&lt;br /&gt;
VirtualBox&lt;br /&gt;
&lt;br /&gt;
Na stronie https://www.virtualbox.org/wiki/Downloads trzeba pobrać '''VirtualBox 5.1.2 for Windows hosts''' jeśli systemem roboczym ma być Windows i zainstalować. Potem w tym programie tworzymy maszyny wirtualne i na nich instalujemy potrzebny system. &lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Trafiłem na taki krótki filmik (po polsku) o tym jak sobie człowiek drukarkę 3D zbudował. Właściwie ludzie potrafiący projektować części w 3D, oraz nie bojący się silnika krokowego &amp;amp;mdash; czyli każdy kto zrobi trzykołowca z drukowanymi własnymi częściami &amp;amp;mdash; może bez problemu taką drukarkę samemu zrobić!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;_KdsQ2qVVVY&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 0:10'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o to jakie są dostępne filamenty. Ten sklep https://3dfilamenty.com/strona/faq posiada całkiem dużą ofertę z opisami zalet różnych materiałów.&lt;br /&gt;
&lt;br /&gt;
'''5 sierpnia 2016, 20:50'''&lt;br /&gt;
&lt;br /&gt;
Nawiązując do rozmowy o programach pozwalających na obróbkę obrazów:&lt;br /&gt;
&lt;br /&gt;
Do obrazów rastrowych (czyli komponowanych z wielu pojedynczych  punktów) na Ubuntu warto zainstalować '''Gimp'''(a). Raczej spory program z wieloma opcjami i nie łatwy do nauczenia się od razu. Jednak potem bardzo poręczny i skuteczny,&lt;br /&gt;
&lt;br /&gt;
Do obrazów wektorowych świetnie nadaje się '''Inkscape'''. Do jego zainstalowania można użyć standardowego dodawana aplikacji Ubuntu. Pojęcie grafiki wektorowej już znacie -- dokładnie w takim trybie działa choćby FreeCAD, tyle tylko że robi to w trzech wymiarach. InkScape i FreeCAD są pod w tym względem bardzo podobne. Kiedy we FreeCADzie chcemy zdefiniować kulę określamy tylko pozycję jej środka i promień. Podobnie w InkScape, jeśli chcemy narysować okrąg podajemy tylko  pozycję i promień. Potem możemy dodatkowo zmieniać kolor wnętrza figury i jej brzegów, rodzaj użytej linii, itd.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''29 lipca 2016, 21:21'''&lt;br /&gt;
&lt;br /&gt;
Dodana strona o [[Instalowanie najnowszej wersji FreeCAD| instalowaniu najnowszej wersji FreeCADa]] na Ubuntu. &lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2016, 21:56'''&lt;br /&gt;
&lt;br /&gt;
Nowa strona w kategorii Projekty Pi Zero: [[Przylutowanie pinów do Maliny Zero]]. Strona zwiera też film pokazujący lutowanie.&lt;br /&gt;
&lt;br /&gt;
'''12 lipca 2016, 21:24'''&lt;br /&gt;
&lt;br /&gt;
Dołączył nowy użytkownik [[Użytkownik:pawhan|pawhan]]. Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] jest cały wstępniak, czyli co warto wiedzieć na początek.&lt;br /&gt;
&lt;br /&gt;
'''8 lipca 2016, 13:06'''&lt;br /&gt;
&lt;br /&gt;
Przyjechały:&lt;br /&gt;
&lt;br /&gt;
[[Plik:Silniki nema 14.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1 lipca 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o przygotowaniu systemu dla Maliny dodany rozdział o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Dostęp_do_plików_Maliny_z_komputera_zasilającego| uzyskiwaniu dostępu do plików działającej Maliny]].&lt;br /&gt;
&lt;br /&gt;
'''30 czerwca 2016, 23:40'''&lt;br /&gt;
&lt;br /&gt;
Na stronie [[Trzykołowiec]] pierwsze informacje o konstrukcji robota. Strona zawiera także wstępny plik projektu w programie FreeCAD jeśli ktoś chciałby w nim projektować podwozie. &lt;br /&gt;
&lt;br /&gt;
'''29 czerwca 2016, 1:55'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o Politechnikę Wrocławską. A tak się chłopaki bawią. Zaczyna się po angielsku, ale z robotem rozmawiają po polsku.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;v1GBBIFbwXs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''28 czerwca 2016, 1:15'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o [[Mrugająca_dioda_LED| projekcie z mrugającą diodą LED]] dodany przykładowy kod i minimalny opis pinów.&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 18:40''' &lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=U39RMUzCjiU Przykład mało intuicyjnego] zachowania aż do bólu prostego układu mechanicznego: dopóki sztabki są sztywno skręcone wahadło zachowuje się &amp;quot;zwyczajnie&amp;quot;; kiedy jednak uwolnimy zawias dzielący wahadło na dwie części, oscylacja staje się zupełnie nieoczekiwana. Okazuje się, że wiele bardziej skomplikowanych układów zachowuje się zgodnie z tymi samymi regułami opisywanymi '''teorią chaosu''' (nie mylić z &amp;quot;chaotyczną teorią&amp;quot;, z którą ta ścisła nie ma nic wspólnego). Na przykład takie zaskakujące ruchy mogą wykonywać notowania na giełdzie, pogoda, lub społeczeństwa. Warto o tym pamiętać patrząc na to co potrafi najprostsze wahadło. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 12:30'''&lt;br /&gt;
Do strony o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| przygotowaniu systemu dla Maliny]] dodany rozdział na temat naszej wersji obrazu uwzględniającej konfigurację połączenia po USB. Po wgraniu tej wersji na kartę będzie można łączyć się zdalnie.&lt;br /&gt;
&lt;br /&gt;
'''19 czerwca 2016, 23:15'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: orange;&amp;quot;&amp;gt;'''Już 3 maliny mają nowych właścicieli! Kolejna czeka...'''&amp;lt;/span&amp;gt; Do obioru potrzebna jest własna karta SD, z którą Malina zadziała. Szczegóły jej przygotowania są opisane [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| tutaj]], a kilka komentarzy zawiera ta strona [[Dyskusja_użytkownika:Grucha|dyskusji]].&lt;br /&gt;
[[Plik:4_maliny_nowe_zero_bez_trzech.jpg|400px|center]]&lt;br /&gt;
&lt;br /&gt;
=== Rzeczy do zrobienia ===&lt;br /&gt;
==== Strony własne użytkowników ====&lt;br /&gt;
Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] znajduje się lista użytkowników. Czerwony link na liście oznacza brak strony użytkownika, a jego kliknięcie pozwala rozpocząć jej dodawanie (o ile jest się zalogowanym). '''Zbudowanie własnej strony -- choćby najprostszej -- jest zadaniem użytkownika.'''&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=647</id>
		<title>Strona główna</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=647"/>
		<updated>2022-12-30T16:05:09Z</updated>

		<summary type="html">&lt;p&gt;Isj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Wyłączenie spisu treści strony --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;!-- Wyłączenie linków [edit] przy tytułach sekcji (zaśmiecają obraz) --&amp;gt;&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
Wiki do wymiany informacji o projektach. Jeśli jesteś tutaj pierwszy raz '''zerknij na stronę [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]]''' żeby dowiedzieć się więcej.&lt;br /&gt;
=== Indeks ===&lt;br /&gt;
===== Programowanie =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Programowanie&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Strony o Malinie Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Projekty wykorzystujące Malinę Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Projekty Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Moduły elektroniczne =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Moduły elektroniczne&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Roboty =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Roboty&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
order = ascending&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Ubuntu =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Ubuntu&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Aktualności ===&lt;br /&gt;
'''30 grudnia 2022'''&lt;br /&gt;
&lt;br /&gt;
I już nie w garażu tylko w willi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;WcZjLQyRoR8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
... a parę ulic dalej&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;tgMg8jnQrag&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''22 października 2021'''&lt;br /&gt;
&lt;br /&gt;
A tymczasem gdzieś w [https://patronite.pl/LukaszKozlik Polsce w garażu].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;guDIwspRGJ8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''24 sierpnia 2021'''&lt;br /&gt;
&lt;br /&gt;
Ciąg dalszy ostrzeżeń żeby nie nastawiać się na zarabianie prostą pracą fizyczną ponieważ może jej bardzo brakować w niedalekiej przyszłości.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;HUP6Z5voiS8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jakby ktoś się zastanawiał, czy taki robot może ogarniać. W innym projekcie firmy Tesla zmajstrowali coś wielkości szachownicy co ma '''9Pflops mocy obliczeniowej'''. Trzy takie &amp;quot;płytki&amp;quot; i można się załapać do [https://top500.org/lists/top500/2021/06/ pierwszej dziesiątki najszybszych komputerów na świecie], które zwykle zajmują powierzchnię bliższą garażom niż szachownicom. Za kilka lat po dalszej miniaturyzacji i dopracowaniu oprogramowania taki procesor bez problemu pozwoli wykonywać pożyteczną pracę i prowadzić spójne rozmowy, czyli osiągnie wydajność ponad dwóch celebrytów.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;DSw3IwsgNnc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''17 lipca 2021'''&lt;br /&gt;
&lt;br /&gt;
Kurs [https://www.youtube.com/playlist?list=PLgVHnJyC3KulUOELRVrtO5k6_te16a0-9 Fusion360], programu wygodnego do przygotowywania wydruków 3D. 8 lekcji wideo po polsku (łącznie ok. półtorej godziny).&lt;br /&gt;
&lt;br /&gt;
'''10 lipca 2021'''&lt;br /&gt;
&lt;br /&gt;
Nieco trudniejszy kawałek, ale pokazuje podstawowe przyczyny, dla których łatwo rozpoznać naukowego ignoranta kiedy twierdzi, że nauka &amp;quot;może wszystko&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;HeQX2HjkcNo&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''23 czerwca 2021'''&lt;br /&gt;
&lt;br /&gt;
Dla odmiany praktyczny przykład naukowego odkrycia i uruchomienia jego masowej produkcji z własnego podwórka. Jak widać nie trzeba kopiować tego co ktoś inny wymyślił, nie trzeba szukać &amp;quot;komu by się dobrze sprzedać&amp;quot;. Można wymyślić i skorzystać.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;0w7ZuRb8lI4&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''5 marca 2021'''&lt;br /&gt;
&lt;br /&gt;
Grafenowe mięśnie otwierają możliwość budowania mechanizmów o możliwościach takich jak naturalne. Ewolucja biologiczna traci fragment przewagi technologicznej.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;50_kK9phHy8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''26 luty 2021'''&lt;br /&gt;
&lt;br /&gt;
Syn [https://pl.wikipedia.org/wiki/Henryk_Jerzy_Chmielewski Papcia Chmiela], menadżer NASA, o ostatnim lądowaniu na Marsie, w ogóle o misjach kosmicznych oraz w jakiej sprawie tato go duśdał&amp;lt;sup&amp;gt;*&amp;lt;/sup&amp;gt;, a w jakiej on sam teraz duśda Polaków. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;em&amp;gt;*) znaczenie wyjaśnia się w rozmowie&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;a7kNoZmQGDE&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''10 październik 2019'''&lt;br /&gt;
&lt;br /&gt;
Japońskie roboty potrafią być też szybkie... &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;-KxjVlaLBmk&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''10 sierpnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe symulacje pokazujące jak można skutecznie stłumić wibracje w układzie wykonując ruch sprytniejszym oprogramowaniem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;Z1jgaEO9aRs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2019'''&lt;br /&gt;
&lt;br /&gt;
Kilka mniej schematycznych zastosowań serw i silników&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;BaDz12Yt0rw&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Jeśli ktoś nie może zasnąć &amp;amp;mdash; ekstremalnie porywająca siatkówka w wykonaniu Toyoty&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;V_nhy4iIaBA&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''1 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Siła fizyczna już nie zapewni kariery w logistyce...&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;youtube&amp;gt;5iV_hB08Uns&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''16 marca 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe ujęcia poklatkowe pozwalające zobaczyć bez zasłaniającej głowicy jak powstaje wydruk 3D&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;aubLuCFIejc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''12 luty 2019, 0:30 '''&lt;br /&gt;
&lt;br /&gt;
Aktualizacja oprogramowania strony do '''Wikimedia 1.32'''. Domyślny styl został zmieniony ze względu na brak uaktualnionej wersji dotychczasowego.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 lutego 2019, 13:04'''&lt;br /&gt;
&lt;br /&gt;
Gwiezdne Wojny w [https://www.pb.pl/droid-z-agh-952687 Krakowie]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 listopada 2018, 15:50'''&lt;br /&gt;
&lt;br /&gt;
[https://spaceforest.pl/bigos-4/ BIGOS] poleciał :)&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;aJiJKennwWU&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''27 października 2018, 19:00'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Znajdowanie_IP_maliny_przy_pomocy_kom.C3.B3rki|opis]] wyszukiwania adresu IP Maliny w lokalnej sieci WiFi przy pomocy komórki z Androidem.&lt;br /&gt;
&lt;br /&gt;
'''26 października 2018, 2:30'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Ustawienie_domy.C5.9Blnej_sieci_WiFi_dla_RaspberryPi_Zero_W|opis]] prekonfiguracji systemu i łączenia z Maliną przez WiFi. &lt;br /&gt;
&lt;br /&gt;
'''25 października 2018, 16:00'''&lt;br /&gt;
&lt;br /&gt;
Dodana obsługa emaila w robo.city. Dzięki temu możliwe jest odzyskiwanie haseł, ustawianie alertów o zmianach, itd. &lt;br /&gt;
&lt;br /&gt;
Zmieniony domyślny styl całej strony na wygodniejszy na komórkach. &lt;br /&gt;
&lt;br /&gt;
'''16 września 2016, 1:20'''&lt;br /&gt;
&lt;br /&gt;
W opisie elektroniki [[Trzykołowiec#Po.C5.82.C4.85czenia_elektryczne|trzykołowca]] dodane zdjęcie wtyczki USB z przylutowanymi przewodami zasilania i kondensatorem.&lt;br /&gt;
&lt;br /&gt;
'''7 września 2016,19:10'''&lt;br /&gt;
&lt;br /&gt;
Na stronie poświęconej budowie [[Trzykołowiec|trzykołowca]] dodany rozdział o łączeniu kabelków i programowaniu ruchu. Znajduje się tam link do modułu w pythonie dzięki, któremu można zapisać tor ruchu kilkoma prostymi poleceniami. Dodany  [[Trzykołowiec#W akcji|przykład kodu z nagraniem zachowania robota]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 sierpnia 2016, 16:05'''&lt;br /&gt;
&lt;br /&gt;
VirtualBox&lt;br /&gt;
&lt;br /&gt;
Na stronie https://www.virtualbox.org/wiki/Downloads trzeba pobrać '''VirtualBox 5.1.2 for Windows hosts''' jeśli systemem roboczym ma być Windows i zainstalować. Potem w tym programie tworzymy maszyny wirtualne i na nich instalujemy potrzebny system. &lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Trafiłem na taki krótki filmik (po polsku) o tym jak sobie człowiek drukarkę 3D zbudował. Właściwie ludzie potrafiący projektować części w 3D, oraz nie bojący się silnika krokowego &amp;amp;mdash; czyli każdy kto zrobi trzykołowca z drukowanymi własnymi częściami &amp;amp;mdash; może bez problemu taką drukarkę samemu zrobić!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;_KdsQ2qVVVY&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 0:10'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o to jakie są dostępne filamenty. Ten sklep https://3dfilamenty.com/strona/faq posiada całkiem dużą ofertę z opisami zalet różnych materiałów.&lt;br /&gt;
&lt;br /&gt;
'''5 sierpnia 2016, 20:50'''&lt;br /&gt;
&lt;br /&gt;
Nawiązując do rozmowy o programach pozwalających na obróbkę obrazów:&lt;br /&gt;
&lt;br /&gt;
Do obrazów rastrowych (czyli komponowanych z wielu pojedynczych  punktów) na Ubuntu warto zainstalować '''Gimp'''(a). Raczej spory program z wieloma opcjami i nie łatwy do nauczenia się od razu. Jednak potem bardzo poręczny i skuteczny,&lt;br /&gt;
&lt;br /&gt;
Do obrazów wektorowych świetnie nadaje się '''Inkscape'''. Do jego zainstalowania można użyć standardowego dodawana aplikacji Ubuntu. Pojęcie grafiki wektorowej już znacie -- dokładnie w takim trybie działa choćby FreeCAD, tyle tylko że robi to w trzech wymiarach. InkScape i FreeCAD są pod w tym względem bardzo podobne. Kiedy we FreeCADzie chcemy zdefiniować kulę określamy tylko pozycję jej środka i promień. Podobnie w InkScape, jeśli chcemy narysować okrąg podajemy tylko  pozycję i promień. Potem możemy dodatkowo zmieniać kolor wnętrza figury i jej brzegów, rodzaj użytej linii, itd.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''29 lipca 2016, 21:21'''&lt;br /&gt;
&lt;br /&gt;
Dodana strona o [[Instalowanie najnowszej wersji FreeCAD| instalowaniu najnowszej wersji FreeCADa]] na Ubuntu. &lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2016, 21:56'''&lt;br /&gt;
&lt;br /&gt;
Nowa strona w kategorii Projekty Pi Zero: [[Przylutowanie pinów do Maliny Zero]]. Strona zwiera też film pokazujący lutowanie.&lt;br /&gt;
&lt;br /&gt;
'''12 lipca 2016, 21:24'''&lt;br /&gt;
&lt;br /&gt;
Dołączył nowy użytkownik [[Użytkownik:pawhan|pawhan]]. Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] jest cały wstępniak, czyli co warto wiedzieć na początek.&lt;br /&gt;
&lt;br /&gt;
'''8 lipca 2016, 13:06'''&lt;br /&gt;
&lt;br /&gt;
Przyjechały:&lt;br /&gt;
&lt;br /&gt;
[[Plik:Silniki nema 14.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1 lipca 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o przygotowaniu systemu dla Maliny dodany rozdział o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Dostęp_do_plików_Maliny_z_komputera_zasilającego| uzyskiwaniu dostępu do plików działającej Maliny]].&lt;br /&gt;
&lt;br /&gt;
'''30 czerwca 2016, 23:40'''&lt;br /&gt;
&lt;br /&gt;
Na stronie [[Trzykołowiec]] pierwsze informacje o konstrukcji robota. Strona zawiera także wstępny plik projektu w programie FreeCAD jeśli ktoś chciałby w nim projektować podwozie. &lt;br /&gt;
&lt;br /&gt;
'''29 czerwca 2016, 1:55'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o Politechnikę Wrocławską. A tak się chłopaki bawią. Zaczyna się po angielsku, ale z robotem rozmawiają po polsku.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;v1GBBIFbwXs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''28 czerwca 2016, 1:15'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o [[Mrugająca_dioda_LED| projekcie z mrugającą diodą LED]] dodany przykładowy kod i minimalny opis pinów.&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 18:40''' &lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=U39RMUzCjiU Przykład mało intuicyjnego] zachowania aż do bólu prostego układu mechanicznego: dopóki sztabki są sztywno skręcone wahadło zachowuje się &amp;quot;zwyczajnie&amp;quot;; kiedy jednak uwolnimy zawias dzielący wahadło na dwie części, oscylacja staje się zupełnie nieoczekiwana. Okazuje się, że wiele bardziej skomplikowanych układów zachowuje się zgodnie z tymi samymi regułami opisywanymi '''teorią chaosu''' (nie mylić z &amp;quot;chaotyczną teorią&amp;quot;, z którą ta ścisła nie ma nic wspólnego). Na przykład takie zaskakujące ruchy mogą wykonywać notowania na giełdzie, pogoda, lub społeczeństwa. Warto o tym pamiętać patrząc na to co potrafi najprostsze wahadło. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 12:30'''&lt;br /&gt;
Do strony o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| przygotowaniu systemu dla Maliny]] dodany rozdział na temat naszej wersji obrazu uwzględniającej konfigurację połączenia po USB. Po wgraniu tej wersji na kartę będzie można łączyć się zdalnie.&lt;br /&gt;
&lt;br /&gt;
'''19 czerwca 2016, 23:15'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: orange;&amp;quot;&amp;gt;'''Już 3 maliny mają nowych właścicieli! Kolejna czeka...'''&amp;lt;/span&amp;gt; Do obioru potrzebna jest własna karta SD, z którą Malina zadziała. Szczegóły jej przygotowania są opisane [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| tutaj]], a kilka komentarzy zawiera ta strona [[Dyskusja_użytkownika:Grucha|dyskusji]].&lt;br /&gt;
[[Plik:4_maliny_nowe_zero_bez_trzech.jpg|400px|center]]&lt;br /&gt;
&lt;br /&gt;
=== Rzeczy do zrobienia ===&lt;br /&gt;
==== Strony własne użytkowników ====&lt;br /&gt;
Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] znajduje się lista użytkowników. Czerwony link na liście oznacza brak strony użytkownika, a jego kliknięcie pozwala rozpocząć jej dodawanie (o ile jest się zalogowanym). '''Zbudowanie własnej strony -- choćby najprostszej -- jest zadaniem użytkownika.'''&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=646</id>
		<title>Strona główna</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=646"/>
		<updated>2021-10-22T08:43:33Z</updated>

		<summary type="html">&lt;p&gt;Isj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Wyłączenie spisu treści strony --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;!-- Wyłączenie linków [edit] przy tytułach sekcji (zaśmiecają obraz) --&amp;gt;&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
Wiki do wymiany informacji o projektach. Jeśli jesteś tutaj pierwszy raz '''zerknij na stronę [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]]''' żeby dowiedzieć się więcej.&lt;br /&gt;
=== Indeks ===&lt;br /&gt;
===== Programowanie =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Programowanie&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Strony o Malinie Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Projekty wykorzystujące Malinę Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Projekty Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Moduły elektroniczne =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Moduły elektroniczne&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Roboty =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Roboty&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
order = ascending&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Ubuntu =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Ubuntu&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Aktualności ===&lt;br /&gt;
'''22 października 2021'''&lt;br /&gt;
&lt;br /&gt;
A tymczasem gdzieś w [https://patronite.pl/LukaszKozlik Polsce w garażu].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;guDIwspRGJ8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''24 sierpnia 2021'''&lt;br /&gt;
&lt;br /&gt;
Ciąg dalszy ostrzeżeń żeby nie nastawiać się na zarabianie prostą pracą fizyczną ponieważ może jej bardzo brakować w niedalekiej przyszłości.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;HUP6Z5voiS8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jakby ktoś się zastanawiał, czy taki robot może ogarniać. W innym projekcie firmy Tesla zmajstrowali coś wielkości szachownicy co ma '''9Pflops mocy obliczeniowej'''. Trzy takie &amp;quot;płytki&amp;quot; i można się załapać do [https://top500.org/lists/top500/2021/06/ pierwszej dziesiątki najszybszych komputerów na świecie], które zwykle zajmują powierzchnię bliższą garażom niż szachownicom. Za kilka lat po dalszej miniaturyzacji i dopracowaniu oprogramowania taki procesor bez problemu pozwoli wykonywać pożyteczną pracę i prowadzić spójne rozmowy, czyli osiągnie wydajność ponad dwóch celebrytów.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;DSw3IwsgNnc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''17 lipca 2021'''&lt;br /&gt;
&lt;br /&gt;
Kurs [https://www.youtube.com/playlist?list=PLgVHnJyC3KulUOELRVrtO5k6_te16a0-9 Fusion360], programu wygodnego do przygotowywania wydruków 3D. 8 lekcji wideo po polsku (łącznie ok. półtorej godziny).&lt;br /&gt;
&lt;br /&gt;
'''10 lipca 2021'''&lt;br /&gt;
&lt;br /&gt;
Nieco trudniejszy kawałek, ale pokazuje podstawowe przyczyny, dla których łatwo rozpoznać naukowego ignoranta kiedy twierdzi, że nauka &amp;quot;może wszystko&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;HeQX2HjkcNo&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''23 czerwca 2021'''&lt;br /&gt;
&lt;br /&gt;
Dla odmiany praktyczny przykład naukowego odkrycia i uruchomienia jego masowej produkcji z własnego podwórka. Jak widać nie trzeba kopiować tego co ktoś inny wymyślił, nie trzeba szukać &amp;quot;komu by się dobrze sprzedać&amp;quot;. Można wymyślić i skorzystać.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;0w7ZuRb8lI4&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''5 marca 2021'''&lt;br /&gt;
&lt;br /&gt;
Grafenowe mięśnie otwierają możliwość budowania mechanizmów o możliwościach takich jak naturalne. Ewolucja biologiczna traci fragment przewagi technologicznej.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;50_kK9phHy8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''26 luty 2021'''&lt;br /&gt;
&lt;br /&gt;
Syn [https://pl.wikipedia.org/wiki/Henryk_Jerzy_Chmielewski Papcia Chmiela], menadżer NASA, o ostatnim lądowaniu na Marsie, w ogóle o misjach kosmicznych oraz w jakiej sprawie tato go duśdał&amp;lt;sup&amp;gt;*&amp;lt;/sup&amp;gt;, a w jakiej on sam teraz duśda Polaków. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;em&amp;gt;*) znaczenie wyjaśnia się w rozmowie&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;a7kNoZmQGDE&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''10 październik 2019'''&lt;br /&gt;
&lt;br /&gt;
Japońskie roboty potrafią być też szybkie... &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;-KxjVlaLBmk&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''10 sierpnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe symulacje pokazujące jak można skutecznie stłumić wibracje w układzie wykonując ruch sprytniejszym oprogramowaniem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;Z1jgaEO9aRs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2019'''&lt;br /&gt;
&lt;br /&gt;
Kilka mniej schematycznych zastosowań serw i silników&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;BaDz12Yt0rw&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Jeśli ktoś nie może zasnąć &amp;amp;mdash; ekstremalnie porywająca siatkówka w wykonaniu Toyoty&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;V_nhy4iIaBA&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''1 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Siła fizyczna już nie zapewni kariery w logistyce...&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;youtube&amp;gt;5iV_hB08Uns&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''16 marca 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe ujęcia poklatkowe pozwalające zobaczyć bez zasłaniającej głowicy jak powstaje wydruk 3D&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;aubLuCFIejc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''12 luty 2019, 0:30 '''&lt;br /&gt;
&lt;br /&gt;
Aktualizacja oprogramowania strony do '''Wikimedia 1.32'''. Domyślny styl został zmieniony ze względu na brak uaktualnionej wersji dotychczasowego.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 lutego 2019, 13:04'''&lt;br /&gt;
&lt;br /&gt;
Gwiezdne Wojny w [https://www.pb.pl/droid-z-agh-952687 Krakowie]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 listopada 2018, 15:50'''&lt;br /&gt;
&lt;br /&gt;
[https://spaceforest.pl/bigos-4/ BIGOS] poleciał :)&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;aJiJKennwWU&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''27 października 2018, 19:00'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Znajdowanie_IP_maliny_przy_pomocy_kom.C3.B3rki|opis]] wyszukiwania adresu IP Maliny w lokalnej sieci WiFi przy pomocy komórki z Androidem.&lt;br /&gt;
&lt;br /&gt;
'''26 października 2018, 2:30'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Ustawienie_domy.C5.9Blnej_sieci_WiFi_dla_RaspberryPi_Zero_W|opis]] prekonfiguracji systemu i łączenia z Maliną przez WiFi. &lt;br /&gt;
&lt;br /&gt;
'''25 października 2018, 16:00'''&lt;br /&gt;
&lt;br /&gt;
Dodana obsługa emaila w robo.city. Dzięki temu możliwe jest odzyskiwanie haseł, ustawianie alertów o zmianach, itd. &lt;br /&gt;
&lt;br /&gt;
Zmieniony domyślny styl całej strony na wygodniejszy na komórkach. &lt;br /&gt;
&lt;br /&gt;
'''16 września 2016, 1:20'''&lt;br /&gt;
&lt;br /&gt;
W opisie elektroniki [[Trzykołowiec#Po.C5.82.C4.85czenia_elektryczne|trzykołowca]] dodane zdjęcie wtyczki USB z przylutowanymi przewodami zasilania i kondensatorem.&lt;br /&gt;
&lt;br /&gt;
'''7 września 2016,19:10'''&lt;br /&gt;
&lt;br /&gt;
Na stronie poświęconej budowie [[Trzykołowiec|trzykołowca]] dodany rozdział o łączeniu kabelków i programowaniu ruchu. Znajduje się tam link do modułu w pythonie dzięki, któremu można zapisać tor ruchu kilkoma prostymi poleceniami. Dodany  [[Trzykołowiec#W akcji|przykład kodu z nagraniem zachowania robota]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 sierpnia 2016, 16:05'''&lt;br /&gt;
&lt;br /&gt;
VirtualBox&lt;br /&gt;
&lt;br /&gt;
Na stronie https://www.virtualbox.org/wiki/Downloads trzeba pobrać '''VirtualBox 5.1.2 for Windows hosts''' jeśli systemem roboczym ma być Windows i zainstalować. Potem w tym programie tworzymy maszyny wirtualne i na nich instalujemy potrzebny system. &lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Trafiłem na taki krótki filmik (po polsku) o tym jak sobie człowiek drukarkę 3D zbudował. Właściwie ludzie potrafiący projektować części w 3D, oraz nie bojący się silnika krokowego &amp;amp;mdash; czyli każdy kto zrobi trzykołowca z drukowanymi własnymi częściami &amp;amp;mdash; może bez problemu taką drukarkę samemu zrobić!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;_KdsQ2qVVVY&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 0:10'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o to jakie są dostępne filamenty. Ten sklep https://3dfilamenty.com/strona/faq posiada całkiem dużą ofertę z opisami zalet różnych materiałów.&lt;br /&gt;
&lt;br /&gt;
'''5 sierpnia 2016, 20:50'''&lt;br /&gt;
&lt;br /&gt;
Nawiązując do rozmowy o programach pozwalających na obróbkę obrazów:&lt;br /&gt;
&lt;br /&gt;
Do obrazów rastrowych (czyli komponowanych z wielu pojedynczych  punktów) na Ubuntu warto zainstalować '''Gimp'''(a). Raczej spory program z wieloma opcjami i nie łatwy do nauczenia się od razu. Jednak potem bardzo poręczny i skuteczny,&lt;br /&gt;
&lt;br /&gt;
Do obrazów wektorowych świetnie nadaje się '''Inkscape'''. Do jego zainstalowania można użyć standardowego dodawana aplikacji Ubuntu. Pojęcie grafiki wektorowej już znacie -- dokładnie w takim trybie działa choćby FreeCAD, tyle tylko że robi to w trzech wymiarach. InkScape i FreeCAD są pod w tym względem bardzo podobne. Kiedy we FreeCADzie chcemy zdefiniować kulę określamy tylko pozycję jej środka i promień. Podobnie w InkScape, jeśli chcemy narysować okrąg podajemy tylko  pozycję i promień. Potem możemy dodatkowo zmieniać kolor wnętrza figury i jej brzegów, rodzaj użytej linii, itd.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''29 lipca 2016, 21:21'''&lt;br /&gt;
&lt;br /&gt;
Dodana strona o [[Instalowanie najnowszej wersji FreeCAD| instalowaniu najnowszej wersji FreeCADa]] na Ubuntu. &lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2016, 21:56'''&lt;br /&gt;
&lt;br /&gt;
Nowa strona w kategorii Projekty Pi Zero: [[Przylutowanie pinów do Maliny Zero]]. Strona zwiera też film pokazujący lutowanie.&lt;br /&gt;
&lt;br /&gt;
'''12 lipca 2016, 21:24'''&lt;br /&gt;
&lt;br /&gt;
Dołączył nowy użytkownik [[Użytkownik:pawhan|pawhan]]. Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] jest cały wstępniak, czyli co warto wiedzieć na początek.&lt;br /&gt;
&lt;br /&gt;
'''8 lipca 2016, 13:06'''&lt;br /&gt;
&lt;br /&gt;
Przyjechały:&lt;br /&gt;
&lt;br /&gt;
[[Plik:Silniki nema 14.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1 lipca 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o przygotowaniu systemu dla Maliny dodany rozdział o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Dostęp_do_plików_Maliny_z_komputera_zasilającego| uzyskiwaniu dostępu do plików działającej Maliny]].&lt;br /&gt;
&lt;br /&gt;
'''30 czerwca 2016, 23:40'''&lt;br /&gt;
&lt;br /&gt;
Na stronie [[Trzykołowiec]] pierwsze informacje o konstrukcji robota. Strona zawiera także wstępny plik projektu w programie FreeCAD jeśli ktoś chciałby w nim projektować podwozie. &lt;br /&gt;
&lt;br /&gt;
'''29 czerwca 2016, 1:55'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o Politechnikę Wrocławską. A tak się chłopaki bawią. Zaczyna się po angielsku, ale z robotem rozmawiają po polsku.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;v1GBBIFbwXs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''28 czerwca 2016, 1:15'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o [[Mrugająca_dioda_LED| projekcie z mrugającą diodą LED]] dodany przykładowy kod i minimalny opis pinów.&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 18:40''' &lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=U39RMUzCjiU Przykład mało intuicyjnego] zachowania aż do bólu prostego układu mechanicznego: dopóki sztabki są sztywno skręcone wahadło zachowuje się &amp;quot;zwyczajnie&amp;quot;; kiedy jednak uwolnimy zawias dzielący wahadło na dwie części, oscylacja staje się zupełnie nieoczekiwana. Okazuje się, że wiele bardziej skomplikowanych układów zachowuje się zgodnie z tymi samymi regułami opisywanymi '''teorią chaosu''' (nie mylić z &amp;quot;chaotyczną teorią&amp;quot;, z którą ta ścisła nie ma nic wspólnego). Na przykład takie zaskakujące ruchy mogą wykonywać notowania na giełdzie, pogoda, lub społeczeństwa. Warto o tym pamiętać patrząc na to co potrafi najprostsze wahadło. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 12:30'''&lt;br /&gt;
Do strony o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| przygotowaniu systemu dla Maliny]] dodany rozdział na temat naszej wersji obrazu uwzględniającej konfigurację połączenia po USB. Po wgraniu tej wersji na kartę będzie można łączyć się zdalnie.&lt;br /&gt;
&lt;br /&gt;
'''19 czerwca 2016, 23:15'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: orange;&amp;quot;&amp;gt;'''Już 3 maliny mają nowych właścicieli! Kolejna czeka...'''&amp;lt;/span&amp;gt; Do obioru potrzebna jest własna karta SD, z którą Malina zadziała. Szczegóły jej przygotowania są opisane [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| tutaj]], a kilka komentarzy zawiera ta strona [[Dyskusja_użytkownika:Grucha|dyskusji]].&lt;br /&gt;
[[Plik:4_maliny_nowe_zero_bez_trzech.jpg|400px|center]]&lt;br /&gt;
&lt;br /&gt;
=== Rzeczy do zrobienia ===&lt;br /&gt;
==== Strony własne użytkowników ====&lt;br /&gt;
Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] znajduje się lista użytkowników. Czerwony link na liście oznacza brak strony użytkownika, a jego kliknięcie pozwala rozpocząć jej dodawanie (o ile jest się zalogowanym). '''Zbudowanie własnej strony -- choćby najprostszej -- jest zadaniem użytkownika.'''&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=645</id>
		<title>Strona główna</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=645"/>
		<updated>2021-08-24T10:54:16Z</updated>

		<summary type="html">&lt;p&gt;Isj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Wyłączenie spisu treści strony --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;!-- Wyłączenie linków [edit] przy tytułach sekcji (zaśmiecają obraz) --&amp;gt;&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
Wiki do wymiany informacji o projektach. Jeśli jesteś tutaj pierwszy raz '''zerknij na stronę [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]]''' żeby dowiedzieć się więcej.&lt;br /&gt;
=== Indeks ===&lt;br /&gt;
===== Programowanie =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Programowanie&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Strony o Malinie Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Projekty wykorzystujące Malinę Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Projekty Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Moduły elektroniczne =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Moduły elektroniczne&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Roboty =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Roboty&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
order = ascending&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Ubuntu =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Ubuntu&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Aktualności ===&lt;br /&gt;
'''24 sierpnia 2021'''&lt;br /&gt;
&lt;br /&gt;
Ciąg dalszy ostrzeżeń żeby nie nastawiać się na zarabianie prostą pracą fizyczną ponieważ może jej bardzo brakować w niedalekiej przyszłości.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;HUP6Z5voiS8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jakby ktoś się zastanawiał, czy taki robot może ogarniać. W innym projekcie firmy Tesla zmajstrowali coś wielkości szachownicy co ma '''9Pflops mocy obliczeniowej'''. Trzy takie &amp;quot;płytki&amp;quot; i można się załapać do [https://top500.org/lists/top500/2021/06/ pierwszej dziesiątki najszybszych komputerów na świecie], które zwykle zajmują powierzchnię bliższą garażom niż szachownicom. Za kilka lat po dalszej miniaturyzacji i dopracowaniu oprogramowania taki procesor bez problemu pozwoli wykonywać pożyteczną pracę i prowadzić spójne rozmowy, czyli osiągnie wydajność ponad dwóch celebrytów.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;DSw3IwsgNnc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''17 lipca 2021'''&lt;br /&gt;
&lt;br /&gt;
Kurs [https://www.youtube.com/playlist?list=PLgVHnJyC3KulUOELRVrtO5k6_te16a0-9 Fusion360], programu wygodnego do przygotowywania wydruków 3D. 8 lekcji wideo po polsku (łącznie ok. półtorej godziny).&lt;br /&gt;
&lt;br /&gt;
'''10 lipca 2021'''&lt;br /&gt;
&lt;br /&gt;
Nieco trudniejszy kawałek, ale pokazuje podstawowe przyczyny, dla których łatwo rozpoznać naukowego ignoranta kiedy twierdzi, że nauka &amp;quot;może wszystko&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;HeQX2HjkcNo&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''23 czerwca 2021'''&lt;br /&gt;
&lt;br /&gt;
Dla odmiany praktyczny przykład naukowego odkrycia i uruchomienia jego masowej produkcji z własnego podwórka. Jak widać nie trzeba kopiować tego co ktoś inny wymyślił, nie trzeba szukać &amp;quot;komu by się dobrze sprzedać&amp;quot;. Można wymyślić i skorzystać.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;0w7ZuRb8lI4&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''5 marca 2021'''&lt;br /&gt;
&lt;br /&gt;
Grafenowe mięśnie otwierają możliwość budowania mechanizmów o możliwościach takich jak naturalne. Ewolucja biologiczna traci fragment przewagi technologicznej.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;50_kK9phHy8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''26 luty 2021'''&lt;br /&gt;
&lt;br /&gt;
Syn [https://pl.wikipedia.org/wiki/Henryk_Jerzy_Chmielewski Papcia Chmiela], menadżer NASA, o ostatnim lądowaniu na Marsie, w ogóle o misjach kosmicznych oraz w jakiej sprawie tato go duśdał&amp;lt;sup&amp;gt;*&amp;lt;/sup&amp;gt;, a w jakiej on sam teraz duśda Polaków. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;em&amp;gt;*) znaczenie wyjaśnia się w rozmowie&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;a7kNoZmQGDE&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''10 październik 2019'''&lt;br /&gt;
&lt;br /&gt;
Japońskie roboty potrafią być też szybkie... &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;-KxjVlaLBmk&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''10 sierpnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe symulacje pokazujące jak można skutecznie stłumić wibracje w układzie wykonując ruch sprytniejszym oprogramowaniem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;Z1jgaEO9aRs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2019'''&lt;br /&gt;
&lt;br /&gt;
Kilka mniej schematycznych zastosowań serw i silników&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;BaDz12Yt0rw&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Jeśli ktoś nie może zasnąć &amp;amp;mdash; ekstremalnie porywająca siatkówka w wykonaniu Toyoty&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;V_nhy4iIaBA&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''1 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Siła fizyczna już nie zapewni kariery w logistyce...&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;youtube&amp;gt;5iV_hB08Uns&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''16 marca 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe ujęcia poklatkowe pozwalające zobaczyć bez zasłaniającej głowicy jak powstaje wydruk 3D&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;aubLuCFIejc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''12 luty 2019, 0:30 '''&lt;br /&gt;
&lt;br /&gt;
Aktualizacja oprogramowania strony do '''Wikimedia 1.32'''. Domyślny styl został zmieniony ze względu na brak uaktualnionej wersji dotychczasowego.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 lutego 2019, 13:04'''&lt;br /&gt;
&lt;br /&gt;
Gwiezdne Wojny w [https://www.pb.pl/droid-z-agh-952687 Krakowie]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 listopada 2018, 15:50'''&lt;br /&gt;
&lt;br /&gt;
[https://spaceforest.pl/bigos-4/ BIGOS] poleciał :)&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;aJiJKennwWU&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''27 października 2018, 19:00'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Znajdowanie_IP_maliny_przy_pomocy_kom.C3.B3rki|opis]] wyszukiwania adresu IP Maliny w lokalnej sieci WiFi przy pomocy komórki z Androidem.&lt;br /&gt;
&lt;br /&gt;
'''26 października 2018, 2:30'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Ustawienie_domy.C5.9Blnej_sieci_WiFi_dla_RaspberryPi_Zero_W|opis]] prekonfiguracji systemu i łączenia z Maliną przez WiFi. &lt;br /&gt;
&lt;br /&gt;
'''25 października 2018, 16:00'''&lt;br /&gt;
&lt;br /&gt;
Dodana obsługa emaila w robo.city. Dzięki temu możliwe jest odzyskiwanie haseł, ustawianie alertów o zmianach, itd. &lt;br /&gt;
&lt;br /&gt;
Zmieniony domyślny styl całej strony na wygodniejszy na komórkach. &lt;br /&gt;
&lt;br /&gt;
'''16 września 2016, 1:20'''&lt;br /&gt;
&lt;br /&gt;
W opisie elektroniki [[Trzykołowiec#Po.C5.82.C4.85czenia_elektryczne|trzykołowca]] dodane zdjęcie wtyczki USB z przylutowanymi przewodami zasilania i kondensatorem.&lt;br /&gt;
&lt;br /&gt;
'''7 września 2016,19:10'''&lt;br /&gt;
&lt;br /&gt;
Na stronie poświęconej budowie [[Trzykołowiec|trzykołowca]] dodany rozdział o łączeniu kabelków i programowaniu ruchu. Znajduje się tam link do modułu w pythonie dzięki, któremu można zapisać tor ruchu kilkoma prostymi poleceniami. Dodany  [[Trzykołowiec#W akcji|przykład kodu z nagraniem zachowania robota]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 sierpnia 2016, 16:05'''&lt;br /&gt;
&lt;br /&gt;
VirtualBox&lt;br /&gt;
&lt;br /&gt;
Na stronie https://www.virtualbox.org/wiki/Downloads trzeba pobrać '''VirtualBox 5.1.2 for Windows hosts''' jeśli systemem roboczym ma być Windows i zainstalować. Potem w tym programie tworzymy maszyny wirtualne i na nich instalujemy potrzebny system. &lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Trafiłem na taki krótki filmik (po polsku) o tym jak sobie człowiek drukarkę 3D zbudował. Właściwie ludzie potrafiący projektować części w 3D, oraz nie bojący się silnika krokowego &amp;amp;mdash; czyli każdy kto zrobi trzykołowca z drukowanymi własnymi częściami &amp;amp;mdash; może bez problemu taką drukarkę samemu zrobić!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;_KdsQ2qVVVY&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 0:10'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o to jakie są dostępne filamenty. Ten sklep https://3dfilamenty.com/strona/faq posiada całkiem dużą ofertę z opisami zalet różnych materiałów.&lt;br /&gt;
&lt;br /&gt;
'''5 sierpnia 2016, 20:50'''&lt;br /&gt;
&lt;br /&gt;
Nawiązując do rozmowy o programach pozwalających na obróbkę obrazów:&lt;br /&gt;
&lt;br /&gt;
Do obrazów rastrowych (czyli komponowanych z wielu pojedynczych  punktów) na Ubuntu warto zainstalować '''Gimp'''(a). Raczej spory program z wieloma opcjami i nie łatwy do nauczenia się od razu. Jednak potem bardzo poręczny i skuteczny,&lt;br /&gt;
&lt;br /&gt;
Do obrazów wektorowych świetnie nadaje się '''Inkscape'''. Do jego zainstalowania można użyć standardowego dodawana aplikacji Ubuntu. Pojęcie grafiki wektorowej już znacie -- dokładnie w takim trybie działa choćby FreeCAD, tyle tylko że robi to w trzech wymiarach. InkScape i FreeCAD są pod w tym względem bardzo podobne. Kiedy we FreeCADzie chcemy zdefiniować kulę określamy tylko pozycję jej środka i promień. Podobnie w InkScape, jeśli chcemy narysować okrąg podajemy tylko  pozycję i promień. Potem możemy dodatkowo zmieniać kolor wnętrza figury i jej brzegów, rodzaj użytej linii, itd.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''29 lipca 2016, 21:21'''&lt;br /&gt;
&lt;br /&gt;
Dodana strona o [[Instalowanie najnowszej wersji FreeCAD| instalowaniu najnowszej wersji FreeCADa]] na Ubuntu. &lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2016, 21:56'''&lt;br /&gt;
&lt;br /&gt;
Nowa strona w kategorii Projekty Pi Zero: [[Przylutowanie pinów do Maliny Zero]]. Strona zwiera też film pokazujący lutowanie.&lt;br /&gt;
&lt;br /&gt;
'''12 lipca 2016, 21:24'''&lt;br /&gt;
&lt;br /&gt;
Dołączył nowy użytkownik [[Użytkownik:pawhan|pawhan]]. Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] jest cały wstępniak, czyli co warto wiedzieć na początek.&lt;br /&gt;
&lt;br /&gt;
'''8 lipca 2016, 13:06'''&lt;br /&gt;
&lt;br /&gt;
Przyjechały:&lt;br /&gt;
&lt;br /&gt;
[[Plik:Silniki nema 14.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1 lipca 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o przygotowaniu systemu dla Maliny dodany rozdział o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Dostęp_do_plików_Maliny_z_komputera_zasilającego| uzyskiwaniu dostępu do plików działającej Maliny]].&lt;br /&gt;
&lt;br /&gt;
'''30 czerwca 2016, 23:40'''&lt;br /&gt;
&lt;br /&gt;
Na stronie [[Trzykołowiec]] pierwsze informacje o konstrukcji robota. Strona zawiera także wstępny plik projektu w programie FreeCAD jeśli ktoś chciałby w nim projektować podwozie. &lt;br /&gt;
&lt;br /&gt;
'''29 czerwca 2016, 1:55'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o Politechnikę Wrocławską. A tak się chłopaki bawią. Zaczyna się po angielsku, ale z robotem rozmawiają po polsku.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;v1GBBIFbwXs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''28 czerwca 2016, 1:15'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o [[Mrugająca_dioda_LED| projekcie z mrugającą diodą LED]] dodany przykładowy kod i minimalny opis pinów.&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 18:40''' &lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=U39RMUzCjiU Przykład mało intuicyjnego] zachowania aż do bólu prostego układu mechanicznego: dopóki sztabki są sztywno skręcone wahadło zachowuje się &amp;quot;zwyczajnie&amp;quot;; kiedy jednak uwolnimy zawias dzielący wahadło na dwie części, oscylacja staje się zupełnie nieoczekiwana. Okazuje się, że wiele bardziej skomplikowanych układów zachowuje się zgodnie z tymi samymi regułami opisywanymi '''teorią chaosu''' (nie mylić z &amp;quot;chaotyczną teorią&amp;quot;, z którą ta ścisła nie ma nic wspólnego). Na przykład takie zaskakujące ruchy mogą wykonywać notowania na giełdzie, pogoda, lub społeczeństwa. Warto o tym pamiętać patrząc na to co potrafi najprostsze wahadło. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 12:30'''&lt;br /&gt;
Do strony o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| przygotowaniu systemu dla Maliny]] dodany rozdział na temat naszej wersji obrazu uwzględniającej konfigurację połączenia po USB. Po wgraniu tej wersji na kartę będzie można łączyć się zdalnie.&lt;br /&gt;
&lt;br /&gt;
'''19 czerwca 2016, 23:15'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: orange;&amp;quot;&amp;gt;'''Już 3 maliny mają nowych właścicieli! Kolejna czeka...'''&amp;lt;/span&amp;gt; Do obioru potrzebna jest własna karta SD, z którą Malina zadziała. Szczegóły jej przygotowania są opisane [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| tutaj]], a kilka komentarzy zawiera ta strona [[Dyskusja_użytkownika:Grucha|dyskusji]].&lt;br /&gt;
[[Plik:4_maliny_nowe_zero_bez_trzech.jpg|400px|center]]&lt;br /&gt;
&lt;br /&gt;
=== Rzeczy do zrobienia ===&lt;br /&gt;
==== Strony własne użytkowników ====&lt;br /&gt;
Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] znajduje się lista użytkowników. Czerwony link na liście oznacza brak strony użytkownika, a jego kliknięcie pozwala rozpocząć jej dodawanie (o ile jest się zalogowanym). '''Zbudowanie własnej strony -- choćby najprostszej -- jest zadaniem użytkownika.'''&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=644</id>
		<title>Strona główna</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=644"/>
		<updated>2021-08-24T10:36:39Z</updated>

		<summary type="html">&lt;p&gt;Isj: humanoidy od Tesli&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Wyłączenie spisu treści strony --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;!-- Wyłączenie linków [edit] przy tytułach sekcji (zaśmiecają obraz) --&amp;gt;&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
Wiki do wymiany informacji o projektach. Jeśli jesteś tutaj pierwszy raz '''zerknij na stronę [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]]''' żeby dowiedzieć się więcej.&lt;br /&gt;
=== Indeks ===&lt;br /&gt;
===== Programowanie =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Programowanie&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Strony o Malinie Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Projekty wykorzystujące Malinę Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Projekty Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Moduły elektroniczne =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Moduły elektroniczne&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Roboty =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Roboty&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
order = ascending&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Ubuntu =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Ubuntu&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Aktualności ===&lt;br /&gt;
'''24 sierpnia 2021'''&lt;br /&gt;
&lt;br /&gt;
Ciąg dalszy ostrzeżeń żeby nie nastawiać się na zarabianie prostą pracą fizyczną ponieważ może jej bardzo brakować w niedalekiej przyszłości.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;HUP6Z5voiS8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''17 lipca 2021'''&lt;br /&gt;
&lt;br /&gt;
Kurs [https://www.youtube.com/playlist?list=PLgVHnJyC3KulUOELRVrtO5k6_te16a0-9 Fusion360], programu wygodnego do przygotowywania wydruków 3D. 8 lekcji wideo po polsku (łącznie ok. półtorej godziny).&lt;br /&gt;
&lt;br /&gt;
'''10 lipca 2021'''&lt;br /&gt;
&lt;br /&gt;
Nieco trudniejszy kawałek, ale pokazuje podstawowe przyczyny, dla których łatwo rozpoznać naukowego ignoranta kiedy twierdzi, że nauka &amp;quot;może wszystko&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;HeQX2HjkcNo&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''23 czerwca 2021'''&lt;br /&gt;
&lt;br /&gt;
Dla odmiany praktyczny przykład naukowego odkrycia i uruchomienia jego masowej produkcji z własnego podwórka. Jak widać nie trzeba kopiować tego co ktoś inny wymyślił, nie trzeba szukać &amp;quot;komu by się dobrze sprzedać&amp;quot;. Można wymyślić i skorzystać.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;0w7ZuRb8lI4&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''5 marca 2021'''&lt;br /&gt;
&lt;br /&gt;
Grafenowe mięśnie otwierają możliwość budowania mechanizmów o możliwościach takich jak naturalne. Ewolucja biologiczna traci fragment przewagi technologicznej.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;50_kK9phHy8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''26 luty 2021'''&lt;br /&gt;
&lt;br /&gt;
Syn [https://pl.wikipedia.org/wiki/Henryk_Jerzy_Chmielewski Papcia Chmiela], menadżer NASA, o ostatnim lądowaniu na Marsie, w ogóle o misjach kosmicznych oraz w jakiej sprawie tato go duśdał&amp;lt;sup&amp;gt;*&amp;lt;/sup&amp;gt;, a w jakiej on sam teraz duśda Polaków. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;em&amp;gt;*) znaczenie wyjaśnia się w rozmowie&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;a7kNoZmQGDE&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''10 październik 2019'''&lt;br /&gt;
&lt;br /&gt;
Japońskie roboty potrafią być też szybkie... &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;-KxjVlaLBmk&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''10 sierpnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe symulacje pokazujące jak można skutecznie stłumić wibracje w układzie wykonując ruch sprytniejszym oprogramowaniem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;Z1jgaEO9aRs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2019'''&lt;br /&gt;
&lt;br /&gt;
Kilka mniej schematycznych zastosowań serw i silników&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;BaDz12Yt0rw&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Jeśli ktoś nie może zasnąć &amp;amp;mdash; ekstremalnie porywająca siatkówka w wykonaniu Toyoty&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;V_nhy4iIaBA&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''1 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Siła fizyczna już nie zapewni kariery w logistyce...&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;youtube&amp;gt;5iV_hB08Uns&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''16 marca 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe ujęcia poklatkowe pozwalające zobaczyć bez zasłaniającej głowicy jak powstaje wydruk 3D&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;aubLuCFIejc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''12 luty 2019, 0:30 '''&lt;br /&gt;
&lt;br /&gt;
Aktualizacja oprogramowania strony do '''Wikimedia 1.32'''. Domyślny styl został zmieniony ze względu na brak uaktualnionej wersji dotychczasowego.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 lutego 2019, 13:04'''&lt;br /&gt;
&lt;br /&gt;
Gwiezdne Wojny w [https://www.pb.pl/droid-z-agh-952687 Krakowie]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 listopada 2018, 15:50'''&lt;br /&gt;
&lt;br /&gt;
[https://spaceforest.pl/bigos-4/ BIGOS] poleciał :)&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;aJiJKennwWU&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''27 października 2018, 19:00'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Znajdowanie_IP_maliny_przy_pomocy_kom.C3.B3rki|opis]] wyszukiwania adresu IP Maliny w lokalnej sieci WiFi przy pomocy komórki z Androidem.&lt;br /&gt;
&lt;br /&gt;
'''26 października 2018, 2:30'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Ustawienie_domy.C5.9Blnej_sieci_WiFi_dla_RaspberryPi_Zero_W|opis]] prekonfiguracji systemu i łączenia z Maliną przez WiFi. &lt;br /&gt;
&lt;br /&gt;
'''25 października 2018, 16:00'''&lt;br /&gt;
&lt;br /&gt;
Dodana obsługa emaila w robo.city. Dzięki temu możliwe jest odzyskiwanie haseł, ustawianie alertów o zmianach, itd. &lt;br /&gt;
&lt;br /&gt;
Zmieniony domyślny styl całej strony na wygodniejszy na komórkach. &lt;br /&gt;
&lt;br /&gt;
'''16 września 2016, 1:20'''&lt;br /&gt;
&lt;br /&gt;
W opisie elektroniki [[Trzykołowiec#Po.C5.82.C4.85czenia_elektryczne|trzykołowca]] dodane zdjęcie wtyczki USB z przylutowanymi przewodami zasilania i kondensatorem.&lt;br /&gt;
&lt;br /&gt;
'''7 września 2016,19:10'''&lt;br /&gt;
&lt;br /&gt;
Na stronie poświęconej budowie [[Trzykołowiec|trzykołowca]] dodany rozdział o łączeniu kabelków i programowaniu ruchu. Znajduje się tam link do modułu w pythonie dzięki, któremu można zapisać tor ruchu kilkoma prostymi poleceniami. Dodany  [[Trzykołowiec#W akcji|przykład kodu z nagraniem zachowania robota]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 sierpnia 2016, 16:05'''&lt;br /&gt;
&lt;br /&gt;
VirtualBox&lt;br /&gt;
&lt;br /&gt;
Na stronie https://www.virtualbox.org/wiki/Downloads trzeba pobrać '''VirtualBox 5.1.2 for Windows hosts''' jeśli systemem roboczym ma być Windows i zainstalować. Potem w tym programie tworzymy maszyny wirtualne i na nich instalujemy potrzebny system. &lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Trafiłem na taki krótki filmik (po polsku) o tym jak sobie człowiek drukarkę 3D zbudował. Właściwie ludzie potrafiący projektować części w 3D, oraz nie bojący się silnika krokowego &amp;amp;mdash; czyli każdy kto zrobi trzykołowca z drukowanymi własnymi częściami &amp;amp;mdash; może bez problemu taką drukarkę samemu zrobić!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;_KdsQ2qVVVY&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 0:10'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o to jakie są dostępne filamenty. Ten sklep https://3dfilamenty.com/strona/faq posiada całkiem dużą ofertę z opisami zalet różnych materiałów.&lt;br /&gt;
&lt;br /&gt;
'''5 sierpnia 2016, 20:50'''&lt;br /&gt;
&lt;br /&gt;
Nawiązując do rozmowy o programach pozwalających na obróbkę obrazów:&lt;br /&gt;
&lt;br /&gt;
Do obrazów rastrowych (czyli komponowanych z wielu pojedynczych  punktów) na Ubuntu warto zainstalować '''Gimp'''(a). Raczej spory program z wieloma opcjami i nie łatwy do nauczenia się od razu. Jednak potem bardzo poręczny i skuteczny,&lt;br /&gt;
&lt;br /&gt;
Do obrazów wektorowych świetnie nadaje się '''Inkscape'''. Do jego zainstalowania można użyć standardowego dodawana aplikacji Ubuntu. Pojęcie grafiki wektorowej już znacie -- dokładnie w takim trybie działa choćby FreeCAD, tyle tylko że robi to w trzech wymiarach. InkScape i FreeCAD są pod w tym względem bardzo podobne. Kiedy we FreeCADzie chcemy zdefiniować kulę określamy tylko pozycję jej środka i promień. Podobnie w InkScape, jeśli chcemy narysować okrąg podajemy tylko  pozycję i promień. Potem możemy dodatkowo zmieniać kolor wnętrza figury i jej brzegów, rodzaj użytej linii, itd.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''29 lipca 2016, 21:21'''&lt;br /&gt;
&lt;br /&gt;
Dodana strona o [[Instalowanie najnowszej wersji FreeCAD| instalowaniu najnowszej wersji FreeCADa]] na Ubuntu. &lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2016, 21:56'''&lt;br /&gt;
&lt;br /&gt;
Nowa strona w kategorii Projekty Pi Zero: [[Przylutowanie pinów do Maliny Zero]]. Strona zwiera też film pokazujący lutowanie.&lt;br /&gt;
&lt;br /&gt;
'''12 lipca 2016, 21:24'''&lt;br /&gt;
&lt;br /&gt;
Dołączył nowy użytkownik [[Użytkownik:pawhan|pawhan]]. Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] jest cały wstępniak, czyli co warto wiedzieć na początek.&lt;br /&gt;
&lt;br /&gt;
'''8 lipca 2016, 13:06'''&lt;br /&gt;
&lt;br /&gt;
Przyjechały:&lt;br /&gt;
&lt;br /&gt;
[[Plik:Silniki nema 14.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1 lipca 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o przygotowaniu systemu dla Maliny dodany rozdział o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Dostęp_do_plików_Maliny_z_komputera_zasilającego| uzyskiwaniu dostępu do plików działającej Maliny]].&lt;br /&gt;
&lt;br /&gt;
'''30 czerwca 2016, 23:40'''&lt;br /&gt;
&lt;br /&gt;
Na stronie [[Trzykołowiec]] pierwsze informacje o konstrukcji robota. Strona zawiera także wstępny plik projektu w programie FreeCAD jeśli ktoś chciałby w nim projektować podwozie. &lt;br /&gt;
&lt;br /&gt;
'''29 czerwca 2016, 1:55'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o Politechnikę Wrocławską. A tak się chłopaki bawią. Zaczyna się po angielsku, ale z robotem rozmawiają po polsku.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;v1GBBIFbwXs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''28 czerwca 2016, 1:15'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o [[Mrugająca_dioda_LED| projekcie z mrugającą diodą LED]] dodany przykładowy kod i minimalny opis pinów.&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 18:40''' &lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=U39RMUzCjiU Przykład mało intuicyjnego] zachowania aż do bólu prostego układu mechanicznego: dopóki sztabki są sztywno skręcone wahadło zachowuje się &amp;quot;zwyczajnie&amp;quot;; kiedy jednak uwolnimy zawias dzielący wahadło na dwie części, oscylacja staje się zupełnie nieoczekiwana. Okazuje się, że wiele bardziej skomplikowanych układów zachowuje się zgodnie z tymi samymi regułami opisywanymi '''teorią chaosu''' (nie mylić z &amp;quot;chaotyczną teorią&amp;quot;, z którą ta ścisła nie ma nic wspólnego). Na przykład takie zaskakujące ruchy mogą wykonywać notowania na giełdzie, pogoda, lub społeczeństwa. Warto o tym pamiętać patrząc na to co potrafi najprostsze wahadło. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 12:30'''&lt;br /&gt;
Do strony o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| przygotowaniu systemu dla Maliny]] dodany rozdział na temat naszej wersji obrazu uwzględniającej konfigurację połączenia po USB. Po wgraniu tej wersji na kartę będzie można łączyć się zdalnie.&lt;br /&gt;
&lt;br /&gt;
'''19 czerwca 2016, 23:15'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: orange;&amp;quot;&amp;gt;'''Już 3 maliny mają nowych właścicieli! Kolejna czeka...'''&amp;lt;/span&amp;gt; Do obioru potrzebna jest własna karta SD, z którą Malina zadziała. Szczegóły jej przygotowania są opisane [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| tutaj]], a kilka komentarzy zawiera ta strona [[Dyskusja_użytkownika:Grucha|dyskusji]].&lt;br /&gt;
[[Plik:4_maliny_nowe_zero_bez_trzech.jpg|400px|center]]&lt;br /&gt;
&lt;br /&gt;
=== Rzeczy do zrobienia ===&lt;br /&gt;
==== Strony własne użytkowników ====&lt;br /&gt;
Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] znajduje się lista użytkowników. Czerwony link na liście oznacza brak strony użytkownika, a jego kliknięcie pozwala rozpocząć jej dodawanie (o ile jest się zalogowanym). '''Zbudowanie własnej strony -- choćby najprostszej -- jest zadaniem użytkownika.'''&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=642</id>
		<title>Strona główna</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=642"/>
		<updated>2021-07-17T15:42:10Z</updated>

		<summary type="html">&lt;p&gt;Isj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Wyłączenie spisu treści strony --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;!-- Wyłączenie linków [edit] przy tytułach sekcji (zaśmiecają obraz) --&amp;gt;&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
Wiki do wymiany informacji o projektach. Jeśli jesteś tutaj pierwszy raz '''zerknij na stronę [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]]''' żeby dowiedzieć się więcej.&lt;br /&gt;
=== Indeks ===&lt;br /&gt;
===== Programowanie =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Programowanie&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Strony o Malinie Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Projekty wykorzystujące Malinę Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Projekty Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Moduły elektroniczne =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Moduły elektroniczne&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Roboty =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Roboty&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
order = ascending&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Ubuntu =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Ubuntu&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Aktualności ===&lt;br /&gt;
'''17 lipca 2021'''&lt;br /&gt;
&lt;br /&gt;
Kurs [https://www.youtube.com/playlist?list=PLgVHnJyC3KulUOELRVrtO5k6_te16a0-9 Fusion360], programu wygodnego do przygotowywania wydruków 3D. 8 lekcji wideo po polsku (łącznie ok. półtorej godziny).&lt;br /&gt;
&lt;br /&gt;
'''10 lipca 2021'''&lt;br /&gt;
&lt;br /&gt;
Nieco trudniejszy kawałek, ale pokazuje podstawowe przyczyny, dla których łatwo rozpoznać naukowego ignoranta kiedy twierdzi, że nauka &amp;quot;może wszystko&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;HeQX2HjkcNo&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''23 czerwca 2021'''&lt;br /&gt;
&lt;br /&gt;
Dla odmiany praktyczny przykład naukowego odkrycia i uruchomienia jego masowej produkcji z własnego podwórka. Jak widać nie trzeba kopiować tego co ktoś inny wymyślił, nie trzeba szukać &amp;quot;komu by się dobrze sprzedać&amp;quot;. Można wymyślić i skorzystać.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;0w7ZuRb8lI4&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''5 marca 2021'''&lt;br /&gt;
&lt;br /&gt;
Grafenowe mięśnie otwierają możliwość budowania mechanizmów o możliwościach takich jak naturalne. Ewolucja biologiczna traci fragment przewagi technologicznej.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;50_kK9phHy8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''26 luty 2021'''&lt;br /&gt;
&lt;br /&gt;
Syn [https://pl.wikipedia.org/wiki/Henryk_Jerzy_Chmielewski Papcia Chmiela], menadżer NASA, o ostatnim lądowaniu na Marsie, w ogóle o misjach kosmicznych oraz w jakiej sprawie tato go duśdał&amp;lt;sup&amp;gt;*&amp;lt;/sup&amp;gt;, a w jakiej on sam teraz duśda Polaków. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;em&amp;gt;*) znaczenie wyjaśnia się w rozmowie&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;a7kNoZmQGDE&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''10 październik 2019'''&lt;br /&gt;
&lt;br /&gt;
Japońskie roboty potrafią być też szybkie... &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;-KxjVlaLBmk&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''10 sierpnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe symulacje pokazujące jak można skutecznie stłumić wibracje w układzie wykonując ruch sprytniejszym oprogramowaniem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;Z1jgaEO9aRs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2019'''&lt;br /&gt;
&lt;br /&gt;
Kilka mniej schematycznych zastosowań serw i silników&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;BaDz12Yt0rw&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Jeśli ktoś nie może zasnąć &amp;amp;mdash; ekstremalnie porywająca siatkówka w wykonaniu Toyoty&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;V_nhy4iIaBA&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''1 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Siła fizyczna już nie zapewni kariery w logistyce...&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;youtube&amp;gt;5iV_hB08Uns&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''16 marca 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe ujęcia poklatkowe pozwalające zobaczyć bez zasłaniającej głowicy jak powstaje wydruk 3D&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;aubLuCFIejc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''12 luty 2019, 0:30 '''&lt;br /&gt;
&lt;br /&gt;
Aktualizacja oprogramowania strony do '''Wikimedia 1.32'''. Domyślny styl został zmieniony ze względu na brak uaktualnionej wersji dotychczasowego.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 lutego 2019, 13:04'''&lt;br /&gt;
&lt;br /&gt;
Gwiezdne Wojny w [https://www.pb.pl/droid-z-agh-952687 Krakowie]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 listopada 2018, 15:50'''&lt;br /&gt;
&lt;br /&gt;
[https://spaceforest.pl/bigos-4/ BIGOS] poleciał :)&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;aJiJKennwWU&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''27 października 2018, 19:00'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Znajdowanie_IP_maliny_przy_pomocy_kom.C3.B3rki|opis]] wyszukiwania adresu IP Maliny w lokalnej sieci WiFi przy pomocy komórki z Androidem.&lt;br /&gt;
&lt;br /&gt;
'''26 października 2018, 2:30'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Ustawienie_domy.C5.9Blnej_sieci_WiFi_dla_RaspberryPi_Zero_W|opis]] prekonfiguracji systemu i łączenia z Maliną przez WiFi. &lt;br /&gt;
&lt;br /&gt;
'''25 października 2018, 16:00'''&lt;br /&gt;
&lt;br /&gt;
Dodana obsługa emaila w robo.city. Dzięki temu możliwe jest odzyskiwanie haseł, ustawianie alertów o zmianach, itd. &lt;br /&gt;
&lt;br /&gt;
Zmieniony domyślny styl całej strony na wygodniejszy na komórkach. &lt;br /&gt;
&lt;br /&gt;
'''16 września 2016, 1:20'''&lt;br /&gt;
&lt;br /&gt;
W opisie elektroniki [[Trzykołowiec#Po.C5.82.C4.85czenia_elektryczne|trzykołowca]] dodane zdjęcie wtyczki USB z przylutowanymi przewodami zasilania i kondensatorem.&lt;br /&gt;
&lt;br /&gt;
'''7 września 2016,19:10'''&lt;br /&gt;
&lt;br /&gt;
Na stronie poświęconej budowie [[Trzykołowiec|trzykołowca]] dodany rozdział o łączeniu kabelków i programowaniu ruchu. Znajduje się tam link do modułu w pythonie dzięki, któremu można zapisać tor ruchu kilkoma prostymi poleceniami. Dodany  [[Trzykołowiec#W akcji|przykład kodu z nagraniem zachowania robota]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 sierpnia 2016, 16:05'''&lt;br /&gt;
&lt;br /&gt;
VirtualBox&lt;br /&gt;
&lt;br /&gt;
Na stronie https://www.virtualbox.org/wiki/Downloads trzeba pobrać '''VirtualBox 5.1.2 for Windows hosts''' jeśli systemem roboczym ma być Windows i zainstalować. Potem w tym programie tworzymy maszyny wirtualne i na nich instalujemy potrzebny system. &lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Trafiłem na taki krótki filmik (po polsku) o tym jak sobie człowiek drukarkę 3D zbudował. Właściwie ludzie potrafiący projektować części w 3D, oraz nie bojący się silnika krokowego &amp;amp;mdash; czyli każdy kto zrobi trzykołowca z drukowanymi własnymi częściami &amp;amp;mdash; może bez problemu taką drukarkę samemu zrobić!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;_KdsQ2qVVVY&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 0:10'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o to jakie są dostępne filamenty. Ten sklep https://3dfilamenty.com/strona/faq posiada całkiem dużą ofertę z opisami zalet różnych materiałów.&lt;br /&gt;
&lt;br /&gt;
'''5 sierpnia 2016, 20:50'''&lt;br /&gt;
&lt;br /&gt;
Nawiązując do rozmowy o programach pozwalających na obróbkę obrazów:&lt;br /&gt;
&lt;br /&gt;
Do obrazów rastrowych (czyli komponowanych z wielu pojedynczych  punktów) na Ubuntu warto zainstalować '''Gimp'''(a). Raczej spory program z wieloma opcjami i nie łatwy do nauczenia się od razu. Jednak potem bardzo poręczny i skuteczny,&lt;br /&gt;
&lt;br /&gt;
Do obrazów wektorowych świetnie nadaje się '''Inkscape'''. Do jego zainstalowania można użyć standardowego dodawana aplikacji Ubuntu. Pojęcie grafiki wektorowej już znacie -- dokładnie w takim trybie działa choćby FreeCAD, tyle tylko że robi to w trzech wymiarach. InkScape i FreeCAD są pod w tym względem bardzo podobne. Kiedy we FreeCADzie chcemy zdefiniować kulę określamy tylko pozycję jej środka i promień. Podobnie w InkScape, jeśli chcemy narysować okrąg podajemy tylko  pozycję i promień. Potem możemy dodatkowo zmieniać kolor wnętrza figury i jej brzegów, rodzaj użytej linii, itd.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''29 lipca 2016, 21:21'''&lt;br /&gt;
&lt;br /&gt;
Dodana strona o [[Instalowanie najnowszej wersji FreeCAD| instalowaniu najnowszej wersji FreeCADa]] na Ubuntu. &lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2016, 21:56'''&lt;br /&gt;
&lt;br /&gt;
Nowa strona w kategorii Projekty Pi Zero: [[Przylutowanie pinów do Maliny Zero]]. Strona zwiera też film pokazujący lutowanie.&lt;br /&gt;
&lt;br /&gt;
'''12 lipca 2016, 21:24'''&lt;br /&gt;
&lt;br /&gt;
Dołączył nowy użytkownik [[Użytkownik:pawhan|pawhan]]. Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] jest cały wstępniak, czyli co warto wiedzieć na początek.&lt;br /&gt;
&lt;br /&gt;
'''8 lipca 2016, 13:06'''&lt;br /&gt;
&lt;br /&gt;
Przyjechały:&lt;br /&gt;
&lt;br /&gt;
[[Plik:Silniki nema 14.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1 lipca 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o przygotowaniu systemu dla Maliny dodany rozdział o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Dostęp_do_plików_Maliny_z_komputera_zasilającego| uzyskiwaniu dostępu do plików działającej Maliny]].&lt;br /&gt;
&lt;br /&gt;
'''30 czerwca 2016, 23:40'''&lt;br /&gt;
&lt;br /&gt;
Na stronie [[Trzykołowiec]] pierwsze informacje o konstrukcji robota. Strona zawiera także wstępny plik projektu w programie FreeCAD jeśli ktoś chciałby w nim projektować podwozie. &lt;br /&gt;
&lt;br /&gt;
'''29 czerwca 2016, 1:55'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o Politechnikę Wrocławską. A tak się chłopaki bawią. Zaczyna się po angielsku, ale z robotem rozmawiają po polsku.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;v1GBBIFbwXs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''28 czerwca 2016, 1:15'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o [[Mrugająca_dioda_LED| projekcie z mrugającą diodą LED]] dodany przykładowy kod i minimalny opis pinów.&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 18:40''' &lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=U39RMUzCjiU Przykład mało intuicyjnego] zachowania aż do bólu prostego układu mechanicznego: dopóki sztabki są sztywno skręcone wahadło zachowuje się &amp;quot;zwyczajnie&amp;quot;; kiedy jednak uwolnimy zawias dzielący wahadło na dwie części, oscylacja staje się zupełnie nieoczekiwana. Okazuje się, że wiele bardziej skomplikowanych układów zachowuje się zgodnie z tymi samymi regułami opisywanymi '''teorią chaosu''' (nie mylić z &amp;quot;chaotyczną teorią&amp;quot;, z którą ta ścisła nie ma nic wspólnego). Na przykład takie zaskakujące ruchy mogą wykonywać notowania na giełdzie, pogoda, lub społeczeństwa. Warto o tym pamiętać patrząc na to co potrafi najprostsze wahadło. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 12:30'''&lt;br /&gt;
Do strony o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| przygotowaniu systemu dla Maliny]] dodany rozdział na temat naszej wersji obrazu uwzględniającej konfigurację połączenia po USB. Po wgraniu tej wersji na kartę będzie można łączyć się zdalnie.&lt;br /&gt;
&lt;br /&gt;
'''19 czerwca 2016, 23:15'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: orange;&amp;quot;&amp;gt;'''Już 3 maliny mają nowych właścicieli! Kolejna czeka...'''&amp;lt;/span&amp;gt; Do obioru potrzebna jest własna karta SD, z którą Malina zadziała. Szczegóły jej przygotowania są opisane [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| tutaj]], a kilka komentarzy zawiera ta strona [[Dyskusja_użytkownika:Grucha|dyskusji]].&lt;br /&gt;
[[Plik:4_maliny_nowe_zero_bez_trzech.jpg|400px|center]]&lt;br /&gt;
&lt;br /&gt;
=== Rzeczy do zrobienia ===&lt;br /&gt;
==== Strony własne użytkowników ====&lt;br /&gt;
Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] znajduje się lista użytkowników. Czerwony link na liście oznacza brak strony użytkownika, a jego kliknięcie pozwala rozpocząć jej dodawanie (o ile jest się zalogowanym). '''Zbudowanie własnej strony -- choćby najprostszej -- jest zadaniem użytkownika.'''&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=641</id>
		<title>Strona główna</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=641"/>
		<updated>2021-07-17T15:41:51Z</updated>

		<summary type="html">&lt;p&gt;Isj: link do polskiego kursu Fusion360&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Wyłączenie spisu treści strony --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;!-- Wyłączenie linków [edit] przy tytułach sekcji (zaśmiecają obraz) --&amp;gt;&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
Wiki do wymiany informacji o projektach. Jeśli jesteś tutaj pierwszy raz '''zerknij na stronę [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]]''' żeby dowiedzieć się więcej.&lt;br /&gt;
=== Indeks ===&lt;br /&gt;
===== Programowanie =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Programowanie&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Strony o Malinie Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Projekty wykorzystujące Malinę Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Projekty Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Moduły elektroniczne =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Moduły elektroniczne&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Roboty =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Roboty&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
order = ascending&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Ubuntu =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Ubuntu&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Aktualności ===&lt;br /&gt;
'''17 lipca 2021'''&lt;br /&gt;
Kurs [https://www.youtube.com/playlist?list=PLgVHnJyC3KulUOELRVrtO5k6_te16a0-9 Fusion360], programu wygodnego do przygotowywania wydruków 3D. 8 lekcji wideo po polsku (łącznie ok. półtorej godziny).&lt;br /&gt;
&lt;br /&gt;
'''10 lipca 2021'''&lt;br /&gt;
&lt;br /&gt;
Nieco trudniejszy kawałek, ale pokazuje podstawowe przyczyny, dla których łatwo rozpoznać naukowego ignoranta kiedy twierdzi, że nauka &amp;quot;może wszystko&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;HeQX2HjkcNo&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''23 czerwca 2021'''&lt;br /&gt;
&lt;br /&gt;
Dla odmiany praktyczny przykład naukowego odkrycia i uruchomienia jego masowej produkcji z własnego podwórka. Jak widać nie trzeba kopiować tego co ktoś inny wymyślił, nie trzeba szukać &amp;quot;komu by się dobrze sprzedać&amp;quot;. Można wymyślić i skorzystać.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;0w7ZuRb8lI4&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''5 marca 2021'''&lt;br /&gt;
&lt;br /&gt;
Grafenowe mięśnie otwierają możliwość budowania mechanizmów o możliwościach takich jak naturalne. Ewolucja biologiczna traci fragment przewagi technologicznej.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;50_kK9phHy8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''26 luty 2021'''&lt;br /&gt;
&lt;br /&gt;
Syn [https://pl.wikipedia.org/wiki/Henryk_Jerzy_Chmielewski Papcia Chmiela], menadżer NASA, o ostatnim lądowaniu na Marsie, w ogóle o misjach kosmicznych oraz w jakiej sprawie tato go duśdał&amp;lt;sup&amp;gt;*&amp;lt;/sup&amp;gt;, a w jakiej on sam teraz duśda Polaków. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;em&amp;gt;*) znaczenie wyjaśnia się w rozmowie&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;a7kNoZmQGDE&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''10 październik 2019'''&lt;br /&gt;
&lt;br /&gt;
Japońskie roboty potrafią być też szybkie... &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;-KxjVlaLBmk&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''10 sierpnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe symulacje pokazujące jak można skutecznie stłumić wibracje w układzie wykonując ruch sprytniejszym oprogramowaniem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;Z1jgaEO9aRs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2019'''&lt;br /&gt;
&lt;br /&gt;
Kilka mniej schematycznych zastosowań serw i silników&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;BaDz12Yt0rw&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Jeśli ktoś nie może zasnąć &amp;amp;mdash; ekstremalnie porywająca siatkówka w wykonaniu Toyoty&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;V_nhy4iIaBA&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''1 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Siła fizyczna już nie zapewni kariery w logistyce...&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;youtube&amp;gt;5iV_hB08Uns&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''16 marca 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe ujęcia poklatkowe pozwalające zobaczyć bez zasłaniającej głowicy jak powstaje wydruk 3D&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;aubLuCFIejc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''12 luty 2019, 0:30 '''&lt;br /&gt;
&lt;br /&gt;
Aktualizacja oprogramowania strony do '''Wikimedia 1.32'''. Domyślny styl został zmieniony ze względu na brak uaktualnionej wersji dotychczasowego.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 lutego 2019, 13:04'''&lt;br /&gt;
&lt;br /&gt;
Gwiezdne Wojny w [https://www.pb.pl/droid-z-agh-952687 Krakowie]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 listopada 2018, 15:50'''&lt;br /&gt;
&lt;br /&gt;
[https://spaceforest.pl/bigos-4/ BIGOS] poleciał :)&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;aJiJKennwWU&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''27 października 2018, 19:00'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Znajdowanie_IP_maliny_przy_pomocy_kom.C3.B3rki|opis]] wyszukiwania adresu IP Maliny w lokalnej sieci WiFi przy pomocy komórki z Androidem.&lt;br /&gt;
&lt;br /&gt;
'''26 października 2018, 2:30'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Ustawienie_domy.C5.9Blnej_sieci_WiFi_dla_RaspberryPi_Zero_W|opis]] prekonfiguracji systemu i łączenia z Maliną przez WiFi. &lt;br /&gt;
&lt;br /&gt;
'''25 października 2018, 16:00'''&lt;br /&gt;
&lt;br /&gt;
Dodana obsługa emaila w robo.city. Dzięki temu możliwe jest odzyskiwanie haseł, ustawianie alertów o zmianach, itd. &lt;br /&gt;
&lt;br /&gt;
Zmieniony domyślny styl całej strony na wygodniejszy na komórkach. &lt;br /&gt;
&lt;br /&gt;
'''16 września 2016, 1:20'''&lt;br /&gt;
&lt;br /&gt;
W opisie elektroniki [[Trzykołowiec#Po.C5.82.C4.85czenia_elektryczne|trzykołowca]] dodane zdjęcie wtyczki USB z przylutowanymi przewodami zasilania i kondensatorem.&lt;br /&gt;
&lt;br /&gt;
'''7 września 2016,19:10'''&lt;br /&gt;
&lt;br /&gt;
Na stronie poświęconej budowie [[Trzykołowiec|trzykołowca]] dodany rozdział o łączeniu kabelków i programowaniu ruchu. Znajduje się tam link do modułu w pythonie dzięki, któremu można zapisać tor ruchu kilkoma prostymi poleceniami. Dodany  [[Trzykołowiec#W akcji|przykład kodu z nagraniem zachowania robota]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 sierpnia 2016, 16:05'''&lt;br /&gt;
&lt;br /&gt;
VirtualBox&lt;br /&gt;
&lt;br /&gt;
Na stronie https://www.virtualbox.org/wiki/Downloads trzeba pobrać '''VirtualBox 5.1.2 for Windows hosts''' jeśli systemem roboczym ma być Windows i zainstalować. Potem w tym programie tworzymy maszyny wirtualne i na nich instalujemy potrzebny system. &lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Trafiłem na taki krótki filmik (po polsku) o tym jak sobie człowiek drukarkę 3D zbudował. Właściwie ludzie potrafiący projektować części w 3D, oraz nie bojący się silnika krokowego &amp;amp;mdash; czyli każdy kto zrobi trzykołowca z drukowanymi własnymi częściami &amp;amp;mdash; może bez problemu taką drukarkę samemu zrobić!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;_KdsQ2qVVVY&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 0:10'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o to jakie są dostępne filamenty. Ten sklep https://3dfilamenty.com/strona/faq posiada całkiem dużą ofertę z opisami zalet różnych materiałów.&lt;br /&gt;
&lt;br /&gt;
'''5 sierpnia 2016, 20:50'''&lt;br /&gt;
&lt;br /&gt;
Nawiązując do rozmowy o programach pozwalających na obróbkę obrazów:&lt;br /&gt;
&lt;br /&gt;
Do obrazów rastrowych (czyli komponowanych z wielu pojedynczych  punktów) na Ubuntu warto zainstalować '''Gimp'''(a). Raczej spory program z wieloma opcjami i nie łatwy do nauczenia się od razu. Jednak potem bardzo poręczny i skuteczny,&lt;br /&gt;
&lt;br /&gt;
Do obrazów wektorowych świetnie nadaje się '''Inkscape'''. Do jego zainstalowania można użyć standardowego dodawana aplikacji Ubuntu. Pojęcie grafiki wektorowej już znacie -- dokładnie w takim trybie działa choćby FreeCAD, tyle tylko że robi to w trzech wymiarach. InkScape i FreeCAD są pod w tym względem bardzo podobne. Kiedy we FreeCADzie chcemy zdefiniować kulę określamy tylko pozycję jej środka i promień. Podobnie w InkScape, jeśli chcemy narysować okrąg podajemy tylko  pozycję i promień. Potem możemy dodatkowo zmieniać kolor wnętrza figury i jej brzegów, rodzaj użytej linii, itd.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''29 lipca 2016, 21:21'''&lt;br /&gt;
&lt;br /&gt;
Dodana strona o [[Instalowanie najnowszej wersji FreeCAD| instalowaniu najnowszej wersji FreeCADa]] na Ubuntu. &lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2016, 21:56'''&lt;br /&gt;
&lt;br /&gt;
Nowa strona w kategorii Projekty Pi Zero: [[Przylutowanie pinów do Maliny Zero]]. Strona zwiera też film pokazujący lutowanie.&lt;br /&gt;
&lt;br /&gt;
'''12 lipca 2016, 21:24'''&lt;br /&gt;
&lt;br /&gt;
Dołączył nowy użytkownik [[Użytkownik:pawhan|pawhan]]. Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] jest cały wstępniak, czyli co warto wiedzieć na początek.&lt;br /&gt;
&lt;br /&gt;
'''8 lipca 2016, 13:06'''&lt;br /&gt;
&lt;br /&gt;
Przyjechały:&lt;br /&gt;
&lt;br /&gt;
[[Plik:Silniki nema 14.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1 lipca 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o przygotowaniu systemu dla Maliny dodany rozdział o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Dostęp_do_plików_Maliny_z_komputera_zasilającego| uzyskiwaniu dostępu do plików działającej Maliny]].&lt;br /&gt;
&lt;br /&gt;
'''30 czerwca 2016, 23:40'''&lt;br /&gt;
&lt;br /&gt;
Na stronie [[Trzykołowiec]] pierwsze informacje o konstrukcji robota. Strona zawiera także wstępny plik projektu w programie FreeCAD jeśli ktoś chciałby w nim projektować podwozie. &lt;br /&gt;
&lt;br /&gt;
'''29 czerwca 2016, 1:55'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o Politechnikę Wrocławską. A tak się chłopaki bawią. Zaczyna się po angielsku, ale z robotem rozmawiają po polsku.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;v1GBBIFbwXs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''28 czerwca 2016, 1:15'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o [[Mrugająca_dioda_LED| projekcie z mrugającą diodą LED]] dodany przykładowy kod i minimalny opis pinów.&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 18:40''' &lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=U39RMUzCjiU Przykład mało intuicyjnego] zachowania aż do bólu prostego układu mechanicznego: dopóki sztabki są sztywno skręcone wahadło zachowuje się &amp;quot;zwyczajnie&amp;quot;; kiedy jednak uwolnimy zawias dzielący wahadło na dwie części, oscylacja staje się zupełnie nieoczekiwana. Okazuje się, że wiele bardziej skomplikowanych układów zachowuje się zgodnie z tymi samymi regułami opisywanymi '''teorią chaosu''' (nie mylić z &amp;quot;chaotyczną teorią&amp;quot;, z którą ta ścisła nie ma nic wspólnego). Na przykład takie zaskakujące ruchy mogą wykonywać notowania na giełdzie, pogoda, lub społeczeństwa. Warto o tym pamiętać patrząc na to co potrafi najprostsze wahadło. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 12:30'''&lt;br /&gt;
Do strony o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| przygotowaniu systemu dla Maliny]] dodany rozdział na temat naszej wersji obrazu uwzględniającej konfigurację połączenia po USB. Po wgraniu tej wersji na kartę będzie można łączyć się zdalnie.&lt;br /&gt;
&lt;br /&gt;
'''19 czerwca 2016, 23:15'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: orange;&amp;quot;&amp;gt;'''Już 3 maliny mają nowych właścicieli! Kolejna czeka...'''&amp;lt;/span&amp;gt; Do obioru potrzebna jest własna karta SD, z którą Malina zadziała. Szczegóły jej przygotowania są opisane [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| tutaj]], a kilka komentarzy zawiera ta strona [[Dyskusja_użytkownika:Grucha|dyskusji]].&lt;br /&gt;
[[Plik:4_maliny_nowe_zero_bez_trzech.jpg|400px|center]]&lt;br /&gt;
&lt;br /&gt;
=== Rzeczy do zrobienia ===&lt;br /&gt;
==== Strony własne użytkowników ====&lt;br /&gt;
Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] znajduje się lista użytkowników. Czerwony link na liście oznacza brak strony użytkownika, a jego kliknięcie pozwala rozpocząć jej dodawanie (o ile jest się zalogowanym). '''Zbudowanie własnej strony -- choćby najprostszej -- jest zadaniem użytkownika.'''&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=640</id>
		<title>Strona główna</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=640"/>
		<updated>2021-07-10T10:51:05Z</updated>

		<summary type="html">&lt;p&gt;Isj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Wyłączenie spisu treści strony --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;!-- Wyłączenie linków [edit] przy tytułach sekcji (zaśmiecają obraz) --&amp;gt;&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
Wiki do wymiany informacji o projektach. Jeśli jesteś tutaj pierwszy raz '''zerknij na stronę [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]]''' żeby dowiedzieć się więcej.&lt;br /&gt;
=== Indeks ===&lt;br /&gt;
===== Programowanie =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Programowanie&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Strony o Malinie Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Projekty wykorzystujące Malinę Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Projekty Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Moduły elektroniczne =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Moduły elektroniczne&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Roboty =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Roboty&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
order = ascending&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Ubuntu =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Ubuntu&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Aktualności ===&lt;br /&gt;
'''10 lipca 2021'''&lt;br /&gt;
&lt;br /&gt;
Nieco trudniejszy kawałek, ale pokazuje podstawowe przyczyny, dla których łatwo rozpoznać naukowego ignoranta kiedy twierdzi, że nauka &amp;quot;może wszystko&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;HeQX2HjkcNo&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''23 czerwca 2021'''&lt;br /&gt;
&lt;br /&gt;
Dla odmiany praktyczny przykład naukowego odkrycia i uruchomienia jego masowej produkcji z własnego podwórka. Jak widać nie trzeba kopiować tego co ktoś inny wymyślił, nie trzeba szukać &amp;quot;komu by się dobrze sprzedać&amp;quot;. Można wymyślić i skorzystać.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;0w7ZuRb8lI4&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''5 marca 2021'''&lt;br /&gt;
&lt;br /&gt;
Grafenowe mięśnie otwierają możliwość budowania mechanizmów o możliwościach takich jak naturalne. Ewolucja biologiczna traci fragment przewagi technologicznej.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;50_kK9phHy8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''26 luty 2021'''&lt;br /&gt;
&lt;br /&gt;
Syn [https://pl.wikipedia.org/wiki/Henryk_Jerzy_Chmielewski Papcia Chmiela], menadżer NASA, o ostatnim lądowaniu na Marsie, w ogóle o misjach kosmicznych oraz w jakiej sprawie tato go duśdał&amp;lt;sup&amp;gt;*&amp;lt;/sup&amp;gt;, a w jakiej on sam teraz duśda Polaków. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;em&amp;gt;*) znaczenie wyjaśnia się w rozmowie&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;a7kNoZmQGDE&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''10 październik 2019'''&lt;br /&gt;
&lt;br /&gt;
Japońskie roboty potrafią być też szybkie... &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;-KxjVlaLBmk&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''10 sierpnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe symulacje pokazujące jak można skutecznie stłumić wibracje w układzie wykonując ruch sprytniejszym oprogramowaniem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;Z1jgaEO9aRs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2019'''&lt;br /&gt;
&lt;br /&gt;
Kilka mniej schematycznych zastosowań serw i silników&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;BaDz12Yt0rw&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Jeśli ktoś nie może zasnąć &amp;amp;mdash; ekstremalnie porywająca siatkówka w wykonaniu Toyoty&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;V_nhy4iIaBA&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''1 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Siła fizyczna już nie zapewni kariery w logistyce...&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;youtube&amp;gt;5iV_hB08Uns&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''16 marca 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe ujęcia poklatkowe pozwalające zobaczyć bez zasłaniającej głowicy jak powstaje wydruk 3D&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;aubLuCFIejc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''12 luty 2019, 0:30 '''&lt;br /&gt;
&lt;br /&gt;
Aktualizacja oprogramowania strony do '''Wikimedia 1.32'''. Domyślny styl został zmieniony ze względu na brak uaktualnionej wersji dotychczasowego.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 lutego 2019, 13:04'''&lt;br /&gt;
&lt;br /&gt;
Gwiezdne Wojny w [https://www.pb.pl/droid-z-agh-952687 Krakowie]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 listopada 2018, 15:50'''&lt;br /&gt;
&lt;br /&gt;
[https://spaceforest.pl/bigos-4/ BIGOS] poleciał :)&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;aJiJKennwWU&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''27 października 2018, 19:00'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Znajdowanie_IP_maliny_przy_pomocy_kom.C3.B3rki|opis]] wyszukiwania adresu IP Maliny w lokalnej sieci WiFi przy pomocy komórki z Androidem.&lt;br /&gt;
&lt;br /&gt;
'''26 października 2018, 2:30'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Ustawienie_domy.C5.9Blnej_sieci_WiFi_dla_RaspberryPi_Zero_W|opis]] prekonfiguracji systemu i łączenia z Maliną przez WiFi. &lt;br /&gt;
&lt;br /&gt;
'''25 października 2018, 16:00'''&lt;br /&gt;
&lt;br /&gt;
Dodana obsługa emaila w robo.city. Dzięki temu możliwe jest odzyskiwanie haseł, ustawianie alertów o zmianach, itd. &lt;br /&gt;
&lt;br /&gt;
Zmieniony domyślny styl całej strony na wygodniejszy na komórkach. &lt;br /&gt;
&lt;br /&gt;
'''16 września 2016, 1:20'''&lt;br /&gt;
&lt;br /&gt;
W opisie elektroniki [[Trzykołowiec#Po.C5.82.C4.85czenia_elektryczne|trzykołowca]] dodane zdjęcie wtyczki USB z przylutowanymi przewodami zasilania i kondensatorem.&lt;br /&gt;
&lt;br /&gt;
'''7 września 2016,19:10'''&lt;br /&gt;
&lt;br /&gt;
Na stronie poświęconej budowie [[Trzykołowiec|trzykołowca]] dodany rozdział o łączeniu kabelków i programowaniu ruchu. Znajduje się tam link do modułu w pythonie dzięki, któremu można zapisać tor ruchu kilkoma prostymi poleceniami. Dodany  [[Trzykołowiec#W akcji|przykład kodu z nagraniem zachowania robota]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 sierpnia 2016, 16:05'''&lt;br /&gt;
&lt;br /&gt;
VirtualBox&lt;br /&gt;
&lt;br /&gt;
Na stronie https://www.virtualbox.org/wiki/Downloads trzeba pobrać '''VirtualBox 5.1.2 for Windows hosts''' jeśli systemem roboczym ma być Windows i zainstalować. Potem w tym programie tworzymy maszyny wirtualne i na nich instalujemy potrzebny system. &lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Trafiłem na taki krótki filmik (po polsku) o tym jak sobie człowiek drukarkę 3D zbudował. Właściwie ludzie potrafiący projektować części w 3D, oraz nie bojący się silnika krokowego &amp;amp;mdash; czyli każdy kto zrobi trzykołowca z drukowanymi własnymi częściami &amp;amp;mdash; może bez problemu taką drukarkę samemu zrobić!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;_KdsQ2qVVVY&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 0:10'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o to jakie są dostępne filamenty. Ten sklep https://3dfilamenty.com/strona/faq posiada całkiem dużą ofertę z opisami zalet różnych materiałów.&lt;br /&gt;
&lt;br /&gt;
'''5 sierpnia 2016, 20:50'''&lt;br /&gt;
&lt;br /&gt;
Nawiązując do rozmowy o programach pozwalających na obróbkę obrazów:&lt;br /&gt;
&lt;br /&gt;
Do obrazów rastrowych (czyli komponowanych z wielu pojedynczych  punktów) na Ubuntu warto zainstalować '''Gimp'''(a). Raczej spory program z wieloma opcjami i nie łatwy do nauczenia się od razu. Jednak potem bardzo poręczny i skuteczny,&lt;br /&gt;
&lt;br /&gt;
Do obrazów wektorowych świetnie nadaje się '''Inkscape'''. Do jego zainstalowania można użyć standardowego dodawana aplikacji Ubuntu. Pojęcie grafiki wektorowej już znacie -- dokładnie w takim trybie działa choćby FreeCAD, tyle tylko że robi to w trzech wymiarach. InkScape i FreeCAD są pod w tym względem bardzo podobne. Kiedy we FreeCADzie chcemy zdefiniować kulę określamy tylko pozycję jej środka i promień. Podobnie w InkScape, jeśli chcemy narysować okrąg podajemy tylko  pozycję i promień. Potem możemy dodatkowo zmieniać kolor wnętrza figury i jej brzegów, rodzaj użytej linii, itd.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''29 lipca 2016, 21:21'''&lt;br /&gt;
&lt;br /&gt;
Dodana strona o [[Instalowanie najnowszej wersji FreeCAD| instalowaniu najnowszej wersji FreeCADa]] na Ubuntu. &lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2016, 21:56'''&lt;br /&gt;
&lt;br /&gt;
Nowa strona w kategorii Projekty Pi Zero: [[Przylutowanie pinów do Maliny Zero]]. Strona zwiera też film pokazujący lutowanie.&lt;br /&gt;
&lt;br /&gt;
'''12 lipca 2016, 21:24'''&lt;br /&gt;
&lt;br /&gt;
Dołączył nowy użytkownik [[Użytkownik:pawhan|pawhan]]. Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] jest cały wstępniak, czyli co warto wiedzieć na początek.&lt;br /&gt;
&lt;br /&gt;
'''8 lipca 2016, 13:06'''&lt;br /&gt;
&lt;br /&gt;
Przyjechały:&lt;br /&gt;
&lt;br /&gt;
[[Plik:Silniki nema 14.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1 lipca 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o przygotowaniu systemu dla Maliny dodany rozdział o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Dostęp_do_plików_Maliny_z_komputera_zasilającego| uzyskiwaniu dostępu do plików działającej Maliny]].&lt;br /&gt;
&lt;br /&gt;
'''30 czerwca 2016, 23:40'''&lt;br /&gt;
&lt;br /&gt;
Na stronie [[Trzykołowiec]] pierwsze informacje o konstrukcji robota. Strona zawiera także wstępny plik projektu w programie FreeCAD jeśli ktoś chciałby w nim projektować podwozie. &lt;br /&gt;
&lt;br /&gt;
'''29 czerwca 2016, 1:55'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o Politechnikę Wrocławską. A tak się chłopaki bawią. Zaczyna się po angielsku, ale z robotem rozmawiają po polsku.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;v1GBBIFbwXs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''28 czerwca 2016, 1:15'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o [[Mrugająca_dioda_LED| projekcie z mrugającą diodą LED]] dodany przykładowy kod i minimalny opis pinów.&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 18:40''' &lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=U39RMUzCjiU Przykład mało intuicyjnego] zachowania aż do bólu prostego układu mechanicznego: dopóki sztabki są sztywno skręcone wahadło zachowuje się &amp;quot;zwyczajnie&amp;quot;; kiedy jednak uwolnimy zawias dzielący wahadło na dwie części, oscylacja staje się zupełnie nieoczekiwana. Okazuje się, że wiele bardziej skomplikowanych układów zachowuje się zgodnie z tymi samymi regułami opisywanymi '''teorią chaosu''' (nie mylić z &amp;quot;chaotyczną teorią&amp;quot;, z którą ta ścisła nie ma nic wspólnego). Na przykład takie zaskakujące ruchy mogą wykonywać notowania na giełdzie, pogoda, lub społeczeństwa. Warto o tym pamiętać patrząc na to co potrafi najprostsze wahadło. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 12:30'''&lt;br /&gt;
Do strony o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| przygotowaniu systemu dla Maliny]] dodany rozdział na temat naszej wersji obrazu uwzględniającej konfigurację połączenia po USB. Po wgraniu tej wersji na kartę będzie można łączyć się zdalnie.&lt;br /&gt;
&lt;br /&gt;
'''19 czerwca 2016, 23:15'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: orange;&amp;quot;&amp;gt;'''Już 3 maliny mają nowych właścicieli! Kolejna czeka...'''&amp;lt;/span&amp;gt; Do obioru potrzebna jest własna karta SD, z którą Malina zadziała. Szczegóły jej przygotowania są opisane [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| tutaj]], a kilka komentarzy zawiera ta strona [[Dyskusja_użytkownika:Grucha|dyskusji]].&lt;br /&gt;
[[Plik:4_maliny_nowe_zero_bez_trzech.jpg|400px|center]]&lt;br /&gt;
&lt;br /&gt;
=== Rzeczy do zrobienia ===&lt;br /&gt;
==== Strony własne użytkowników ====&lt;br /&gt;
Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] znajduje się lista użytkowników. Czerwony link na liście oznacza brak strony użytkownika, a jego kliknięcie pozwala rozpocząć jej dodawanie (o ile jest się zalogowanym). '''Zbudowanie własnej strony -- choćby najprostszej -- jest zadaniem użytkownika.'''&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=639</id>
		<title>Strona główna</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=639"/>
		<updated>2021-06-23T13:46:28Z</updated>

		<summary type="html">&lt;p&gt;Isj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Wyłączenie spisu treści strony --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;!-- Wyłączenie linków [edit] przy tytułach sekcji (zaśmiecają obraz) --&amp;gt;&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
Wiki do wymiany informacji o projektach. Jeśli jesteś tutaj pierwszy raz '''zerknij na stronę [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]]''' żeby dowiedzieć się więcej.&lt;br /&gt;
=== Indeks ===&lt;br /&gt;
===== Programowanie =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Programowanie&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Strony o Malinie Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Projekty wykorzystujące Malinę Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Projekty Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Moduły elektroniczne =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Moduły elektroniczne&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Roboty =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Roboty&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
order = ascending&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Ubuntu =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Ubuntu&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Aktualności ===&lt;br /&gt;
'''23 czerwca 2021'''&lt;br /&gt;
&lt;br /&gt;
Dla odmiany praktyczny przykład naukowego odkrycia i uruchomienia jego masowej produkcji z własnego podwórka. Jak widać nie trzeba kopiować tego co ktoś inny wymyślił, nie trzeba szukać &amp;quot;komu by się dobrze sprzedać&amp;quot;. Można wymyślić i skorzystać.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;0w7ZuRb8lI4&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''5 marca 2021'''&lt;br /&gt;
&lt;br /&gt;
Grafenowe mięśnie otwierają możliwość budowania mechanizmów o możliwościach takich jak naturalne. Ewolucja biologiczna traci fragment przewagi technologicznej.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;50_kK9phHy8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''26 luty 2021'''&lt;br /&gt;
&lt;br /&gt;
Syn [https://pl.wikipedia.org/wiki/Henryk_Jerzy_Chmielewski Papcia Chmiela], menadżer NASA, o ostatnim lądowaniu na Marsie, w ogóle o misjach kosmicznych oraz w jakiej sprawie tato go duśdał&amp;lt;sup&amp;gt;*&amp;lt;/sup&amp;gt;, a w jakiej on sam teraz duśda Polaków. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;em&amp;gt;*) znaczenie wyjaśnia się w rozmowie&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;a7kNoZmQGDE&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''10 październik 2019'''&lt;br /&gt;
&lt;br /&gt;
Japońskie roboty potrafią być też szybkie... &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;-KxjVlaLBmk&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''10 sierpnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe symulacje pokazujące jak można skutecznie stłumić wibracje w układzie wykonując ruch sprytniejszym oprogramowaniem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;Z1jgaEO9aRs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2019'''&lt;br /&gt;
&lt;br /&gt;
Kilka mniej schematycznych zastosowań serw i silników&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;BaDz12Yt0rw&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Jeśli ktoś nie może zasnąć &amp;amp;mdash; ekstremalnie porywająca siatkówka w wykonaniu Toyoty&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;V_nhy4iIaBA&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''1 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Siła fizyczna już nie zapewni kariery w logistyce...&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;youtube&amp;gt;5iV_hB08Uns&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''16 marca 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe ujęcia poklatkowe pozwalające zobaczyć bez zasłaniającej głowicy jak powstaje wydruk 3D&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;aubLuCFIejc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''12 luty 2019, 0:30 '''&lt;br /&gt;
&lt;br /&gt;
Aktualizacja oprogramowania strony do '''Wikimedia 1.32'''. Domyślny styl został zmieniony ze względu na brak uaktualnionej wersji dotychczasowego.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 lutego 2019, 13:04'''&lt;br /&gt;
&lt;br /&gt;
Gwiezdne Wojny w [https://www.pb.pl/droid-z-agh-952687 Krakowie]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 listopada 2018, 15:50'''&lt;br /&gt;
&lt;br /&gt;
[https://spaceforest.pl/bigos-4/ BIGOS] poleciał :)&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;aJiJKennwWU&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''27 października 2018, 19:00'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Znajdowanie_IP_maliny_przy_pomocy_kom.C3.B3rki|opis]] wyszukiwania adresu IP Maliny w lokalnej sieci WiFi przy pomocy komórki z Androidem.&lt;br /&gt;
&lt;br /&gt;
'''26 października 2018, 2:30'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Ustawienie_domy.C5.9Blnej_sieci_WiFi_dla_RaspberryPi_Zero_W|opis]] prekonfiguracji systemu i łączenia z Maliną przez WiFi. &lt;br /&gt;
&lt;br /&gt;
'''25 października 2018, 16:00'''&lt;br /&gt;
&lt;br /&gt;
Dodana obsługa emaila w robo.city. Dzięki temu możliwe jest odzyskiwanie haseł, ustawianie alertów o zmianach, itd. &lt;br /&gt;
&lt;br /&gt;
Zmieniony domyślny styl całej strony na wygodniejszy na komórkach. &lt;br /&gt;
&lt;br /&gt;
'''16 września 2016, 1:20'''&lt;br /&gt;
&lt;br /&gt;
W opisie elektroniki [[Trzykołowiec#Po.C5.82.C4.85czenia_elektryczne|trzykołowca]] dodane zdjęcie wtyczki USB z przylutowanymi przewodami zasilania i kondensatorem.&lt;br /&gt;
&lt;br /&gt;
'''7 września 2016,19:10'''&lt;br /&gt;
&lt;br /&gt;
Na stronie poświęconej budowie [[Trzykołowiec|trzykołowca]] dodany rozdział o łączeniu kabelków i programowaniu ruchu. Znajduje się tam link do modułu w pythonie dzięki, któremu można zapisać tor ruchu kilkoma prostymi poleceniami. Dodany  [[Trzykołowiec#W akcji|przykład kodu z nagraniem zachowania robota]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 sierpnia 2016, 16:05'''&lt;br /&gt;
&lt;br /&gt;
VirtualBox&lt;br /&gt;
&lt;br /&gt;
Na stronie https://www.virtualbox.org/wiki/Downloads trzeba pobrać '''VirtualBox 5.1.2 for Windows hosts''' jeśli systemem roboczym ma być Windows i zainstalować. Potem w tym programie tworzymy maszyny wirtualne i na nich instalujemy potrzebny system. &lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Trafiłem na taki krótki filmik (po polsku) o tym jak sobie człowiek drukarkę 3D zbudował. Właściwie ludzie potrafiący projektować części w 3D, oraz nie bojący się silnika krokowego &amp;amp;mdash; czyli każdy kto zrobi trzykołowca z drukowanymi własnymi częściami &amp;amp;mdash; może bez problemu taką drukarkę samemu zrobić!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;_KdsQ2qVVVY&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 0:10'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o to jakie są dostępne filamenty. Ten sklep https://3dfilamenty.com/strona/faq posiada całkiem dużą ofertę z opisami zalet różnych materiałów.&lt;br /&gt;
&lt;br /&gt;
'''5 sierpnia 2016, 20:50'''&lt;br /&gt;
&lt;br /&gt;
Nawiązując do rozmowy o programach pozwalających na obróbkę obrazów:&lt;br /&gt;
&lt;br /&gt;
Do obrazów rastrowych (czyli komponowanych z wielu pojedynczych  punktów) na Ubuntu warto zainstalować '''Gimp'''(a). Raczej spory program z wieloma opcjami i nie łatwy do nauczenia się od razu. Jednak potem bardzo poręczny i skuteczny,&lt;br /&gt;
&lt;br /&gt;
Do obrazów wektorowych świetnie nadaje się '''Inkscape'''. Do jego zainstalowania można użyć standardowego dodawana aplikacji Ubuntu. Pojęcie grafiki wektorowej już znacie -- dokładnie w takim trybie działa choćby FreeCAD, tyle tylko że robi to w trzech wymiarach. InkScape i FreeCAD są pod w tym względem bardzo podobne. Kiedy we FreeCADzie chcemy zdefiniować kulę określamy tylko pozycję jej środka i promień. Podobnie w InkScape, jeśli chcemy narysować okrąg podajemy tylko  pozycję i promień. Potem możemy dodatkowo zmieniać kolor wnętrza figury i jej brzegów, rodzaj użytej linii, itd.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''29 lipca 2016, 21:21'''&lt;br /&gt;
&lt;br /&gt;
Dodana strona o [[Instalowanie najnowszej wersji FreeCAD| instalowaniu najnowszej wersji FreeCADa]] na Ubuntu. &lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2016, 21:56'''&lt;br /&gt;
&lt;br /&gt;
Nowa strona w kategorii Projekty Pi Zero: [[Przylutowanie pinów do Maliny Zero]]. Strona zwiera też film pokazujący lutowanie.&lt;br /&gt;
&lt;br /&gt;
'''12 lipca 2016, 21:24'''&lt;br /&gt;
&lt;br /&gt;
Dołączył nowy użytkownik [[Użytkownik:pawhan|pawhan]]. Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] jest cały wstępniak, czyli co warto wiedzieć na początek.&lt;br /&gt;
&lt;br /&gt;
'''8 lipca 2016, 13:06'''&lt;br /&gt;
&lt;br /&gt;
Przyjechały:&lt;br /&gt;
&lt;br /&gt;
[[Plik:Silniki nema 14.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1 lipca 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o przygotowaniu systemu dla Maliny dodany rozdział o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Dostęp_do_plików_Maliny_z_komputera_zasilającego| uzyskiwaniu dostępu do plików działającej Maliny]].&lt;br /&gt;
&lt;br /&gt;
'''30 czerwca 2016, 23:40'''&lt;br /&gt;
&lt;br /&gt;
Na stronie [[Trzykołowiec]] pierwsze informacje o konstrukcji robota. Strona zawiera także wstępny plik projektu w programie FreeCAD jeśli ktoś chciałby w nim projektować podwozie. &lt;br /&gt;
&lt;br /&gt;
'''29 czerwca 2016, 1:55'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o Politechnikę Wrocławską. A tak się chłopaki bawią. Zaczyna się po angielsku, ale z robotem rozmawiają po polsku.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;v1GBBIFbwXs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''28 czerwca 2016, 1:15'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o [[Mrugająca_dioda_LED| projekcie z mrugającą diodą LED]] dodany przykładowy kod i minimalny opis pinów.&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 18:40''' &lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=U39RMUzCjiU Przykład mało intuicyjnego] zachowania aż do bólu prostego układu mechanicznego: dopóki sztabki są sztywno skręcone wahadło zachowuje się &amp;quot;zwyczajnie&amp;quot;; kiedy jednak uwolnimy zawias dzielący wahadło na dwie części, oscylacja staje się zupełnie nieoczekiwana. Okazuje się, że wiele bardziej skomplikowanych układów zachowuje się zgodnie z tymi samymi regułami opisywanymi '''teorią chaosu''' (nie mylić z &amp;quot;chaotyczną teorią&amp;quot;, z którą ta ścisła nie ma nic wspólnego). Na przykład takie zaskakujące ruchy mogą wykonywać notowania na giełdzie, pogoda, lub społeczeństwa. Warto o tym pamiętać patrząc na to co potrafi najprostsze wahadło. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 12:30'''&lt;br /&gt;
Do strony o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| przygotowaniu systemu dla Maliny]] dodany rozdział na temat naszej wersji obrazu uwzględniającej konfigurację połączenia po USB. Po wgraniu tej wersji na kartę będzie można łączyć się zdalnie.&lt;br /&gt;
&lt;br /&gt;
'''19 czerwca 2016, 23:15'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: orange;&amp;quot;&amp;gt;'''Już 3 maliny mają nowych właścicieli! Kolejna czeka...'''&amp;lt;/span&amp;gt; Do obioru potrzebna jest własna karta SD, z którą Malina zadziała. Szczegóły jej przygotowania są opisane [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| tutaj]], a kilka komentarzy zawiera ta strona [[Dyskusja_użytkownika:Grucha|dyskusji]].&lt;br /&gt;
[[Plik:4_maliny_nowe_zero_bez_trzech.jpg|400px|center]]&lt;br /&gt;
&lt;br /&gt;
=== Rzeczy do zrobienia ===&lt;br /&gt;
==== Strony własne użytkowników ====&lt;br /&gt;
Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] znajduje się lista użytkowników. Czerwony link na liście oznacza brak strony użytkownika, a jego kliknięcie pozwala rozpocząć jej dodawanie (o ile jest się zalogowanym). '''Zbudowanie własnej strony -- choćby najprostszej -- jest zadaniem użytkownika.'''&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=638</id>
		<title>Strona główna</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=638"/>
		<updated>2021-03-05T00:03:21Z</updated>

		<summary type="html">&lt;p&gt;Isj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Wyłączenie spisu treści strony --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;!-- Wyłączenie linków [edit] przy tytułach sekcji (zaśmiecają obraz) --&amp;gt;&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
Wiki do wymiany informacji o projektach. Jeśli jesteś tutaj pierwszy raz '''zerknij na stronę [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]]''' żeby dowiedzieć się więcej.&lt;br /&gt;
=== Indeks ===&lt;br /&gt;
===== Programowanie =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Programowanie&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Strony o Malinie Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Projekty wykorzystujące Malinę Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Projekty Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Moduły elektroniczne =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Moduły elektroniczne&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Roboty =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Roboty&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
order = ascending&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Ubuntu =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Ubuntu&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Aktualności ===&lt;br /&gt;
'''5 marca 2021'''&lt;br /&gt;
&lt;br /&gt;
Grafenowe mięśnie otwierają możliwość budowania mechanizmów o możliwościach takich jak naturalne. Ewolucja biologiczna traci fragment przewagi technologicznej.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;50_kK9phHy8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''26 luty 2021'''&lt;br /&gt;
&lt;br /&gt;
Syn [https://pl.wikipedia.org/wiki/Henryk_Jerzy_Chmielewski Papcia Chmiela], menadżer NASA, o ostatnim lądowaniu na Marsie, w ogóle o misjach kosmicznych oraz w jakiej sprawie tato go duśdał&amp;lt;sup&amp;gt;*&amp;lt;/sup&amp;gt;, a w jakiej on sam teraz duśda Polaków. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;em&amp;gt;*) znaczenie wyjaśnia się w rozmowie&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;a7kNoZmQGDE&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''10 październik 2019'''&lt;br /&gt;
&lt;br /&gt;
Japońskie roboty potrafią być też szybkie... &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;-KxjVlaLBmk&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''10 sierpnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe symulacje pokazujące jak można skutecznie stłumić wibracje w układzie wykonując ruch sprytniejszym oprogramowaniem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;Z1jgaEO9aRs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2019'''&lt;br /&gt;
&lt;br /&gt;
Kilka mniej schematycznych zastosowań serw i silników&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;BaDz12Yt0rw&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Jeśli ktoś nie może zasnąć &amp;amp;mdash; ekstremalnie porywająca siatkówka w wykonaniu Toyoty&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;V_nhy4iIaBA&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''1 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Siła fizyczna już nie zapewni kariery w logistyce...&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;youtube&amp;gt;5iV_hB08Uns&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''16 marca 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe ujęcia poklatkowe pozwalające zobaczyć bez zasłaniającej głowicy jak powstaje wydruk 3D&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;aubLuCFIejc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''12 luty 2019, 0:30 '''&lt;br /&gt;
&lt;br /&gt;
Aktualizacja oprogramowania strony do '''Wikimedia 1.32'''. Domyślny styl został zmieniony ze względu na brak uaktualnionej wersji dotychczasowego.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 lutego 2019, 13:04'''&lt;br /&gt;
&lt;br /&gt;
Gwiezdne Wojny w [https://www.pb.pl/droid-z-agh-952687 Krakowie]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 listopada 2018, 15:50'''&lt;br /&gt;
&lt;br /&gt;
[https://spaceforest.pl/bigos-4/ BIGOS] poleciał :)&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;aJiJKennwWU&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''27 października 2018, 19:00'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Znajdowanie_IP_maliny_przy_pomocy_kom.C3.B3rki|opis]] wyszukiwania adresu IP Maliny w lokalnej sieci WiFi przy pomocy komórki z Androidem.&lt;br /&gt;
&lt;br /&gt;
'''26 października 2018, 2:30'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Ustawienie_domy.C5.9Blnej_sieci_WiFi_dla_RaspberryPi_Zero_W|opis]] prekonfiguracji systemu i łączenia z Maliną przez WiFi. &lt;br /&gt;
&lt;br /&gt;
'''25 października 2018, 16:00'''&lt;br /&gt;
&lt;br /&gt;
Dodana obsługa emaila w robo.city. Dzięki temu możliwe jest odzyskiwanie haseł, ustawianie alertów o zmianach, itd. &lt;br /&gt;
&lt;br /&gt;
Zmieniony domyślny styl całej strony na wygodniejszy na komórkach. &lt;br /&gt;
&lt;br /&gt;
'''16 września 2016, 1:20'''&lt;br /&gt;
&lt;br /&gt;
W opisie elektroniki [[Trzykołowiec#Po.C5.82.C4.85czenia_elektryczne|trzykołowca]] dodane zdjęcie wtyczki USB z przylutowanymi przewodami zasilania i kondensatorem.&lt;br /&gt;
&lt;br /&gt;
'''7 września 2016,19:10'''&lt;br /&gt;
&lt;br /&gt;
Na stronie poświęconej budowie [[Trzykołowiec|trzykołowca]] dodany rozdział o łączeniu kabelków i programowaniu ruchu. Znajduje się tam link do modułu w pythonie dzięki, któremu można zapisać tor ruchu kilkoma prostymi poleceniami. Dodany  [[Trzykołowiec#W akcji|przykład kodu z nagraniem zachowania robota]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 sierpnia 2016, 16:05'''&lt;br /&gt;
&lt;br /&gt;
VirtualBox&lt;br /&gt;
&lt;br /&gt;
Na stronie https://www.virtualbox.org/wiki/Downloads trzeba pobrać '''VirtualBox 5.1.2 for Windows hosts''' jeśli systemem roboczym ma być Windows i zainstalować. Potem w tym programie tworzymy maszyny wirtualne i na nich instalujemy potrzebny system. &lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Trafiłem na taki krótki filmik (po polsku) o tym jak sobie człowiek drukarkę 3D zbudował. Właściwie ludzie potrafiący projektować części w 3D, oraz nie bojący się silnika krokowego &amp;amp;mdash; czyli każdy kto zrobi trzykołowca z drukowanymi własnymi częściami &amp;amp;mdash; może bez problemu taką drukarkę samemu zrobić!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;_KdsQ2qVVVY&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 0:10'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o to jakie są dostępne filamenty. Ten sklep https://3dfilamenty.com/strona/faq posiada całkiem dużą ofertę z opisami zalet różnych materiałów.&lt;br /&gt;
&lt;br /&gt;
'''5 sierpnia 2016, 20:50'''&lt;br /&gt;
&lt;br /&gt;
Nawiązując do rozmowy o programach pozwalających na obróbkę obrazów:&lt;br /&gt;
&lt;br /&gt;
Do obrazów rastrowych (czyli komponowanych z wielu pojedynczych  punktów) na Ubuntu warto zainstalować '''Gimp'''(a). Raczej spory program z wieloma opcjami i nie łatwy do nauczenia się od razu. Jednak potem bardzo poręczny i skuteczny,&lt;br /&gt;
&lt;br /&gt;
Do obrazów wektorowych świetnie nadaje się '''Inkscape'''. Do jego zainstalowania można użyć standardowego dodawana aplikacji Ubuntu. Pojęcie grafiki wektorowej już znacie -- dokładnie w takim trybie działa choćby FreeCAD, tyle tylko że robi to w trzech wymiarach. InkScape i FreeCAD są pod w tym względem bardzo podobne. Kiedy we FreeCADzie chcemy zdefiniować kulę określamy tylko pozycję jej środka i promień. Podobnie w InkScape, jeśli chcemy narysować okrąg podajemy tylko  pozycję i promień. Potem możemy dodatkowo zmieniać kolor wnętrza figury i jej brzegów, rodzaj użytej linii, itd.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''29 lipca 2016, 21:21'''&lt;br /&gt;
&lt;br /&gt;
Dodana strona o [[Instalowanie najnowszej wersji FreeCAD| instalowaniu najnowszej wersji FreeCADa]] na Ubuntu. &lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2016, 21:56'''&lt;br /&gt;
&lt;br /&gt;
Nowa strona w kategorii Projekty Pi Zero: [[Przylutowanie pinów do Maliny Zero]]. Strona zwiera też film pokazujący lutowanie.&lt;br /&gt;
&lt;br /&gt;
'''12 lipca 2016, 21:24'''&lt;br /&gt;
&lt;br /&gt;
Dołączył nowy użytkownik [[Użytkownik:pawhan|pawhan]]. Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] jest cały wstępniak, czyli co warto wiedzieć na początek.&lt;br /&gt;
&lt;br /&gt;
'''8 lipca 2016, 13:06'''&lt;br /&gt;
&lt;br /&gt;
Przyjechały:&lt;br /&gt;
&lt;br /&gt;
[[Plik:Silniki nema 14.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1 lipca 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o przygotowaniu systemu dla Maliny dodany rozdział o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Dostęp_do_plików_Maliny_z_komputera_zasilającego| uzyskiwaniu dostępu do plików działającej Maliny]].&lt;br /&gt;
&lt;br /&gt;
'''30 czerwca 2016, 23:40'''&lt;br /&gt;
&lt;br /&gt;
Na stronie [[Trzykołowiec]] pierwsze informacje o konstrukcji robota. Strona zawiera także wstępny plik projektu w programie FreeCAD jeśli ktoś chciałby w nim projektować podwozie. &lt;br /&gt;
&lt;br /&gt;
'''29 czerwca 2016, 1:55'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o Politechnikę Wrocławską. A tak się chłopaki bawią. Zaczyna się po angielsku, ale z robotem rozmawiają po polsku.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;v1GBBIFbwXs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''28 czerwca 2016, 1:15'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o [[Mrugająca_dioda_LED| projekcie z mrugającą diodą LED]] dodany przykładowy kod i minimalny opis pinów.&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 18:40''' &lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=U39RMUzCjiU Przykład mało intuicyjnego] zachowania aż do bólu prostego układu mechanicznego: dopóki sztabki są sztywno skręcone wahadło zachowuje się &amp;quot;zwyczajnie&amp;quot;; kiedy jednak uwolnimy zawias dzielący wahadło na dwie części, oscylacja staje się zupełnie nieoczekiwana. Okazuje się, że wiele bardziej skomplikowanych układów zachowuje się zgodnie z tymi samymi regułami opisywanymi '''teorią chaosu''' (nie mylić z &amp;quot;chaotyczną teorią&amp;quot;, z którą ta ścisła nie ma nic wspólnego). Na przykład takie zaskakujące ruchy mogą wykonywać notowania na giełdzie, pogoda, lub społeczeństwa. Warto o tym pamiętać patrząc na to co potrafi najprostsze wahadło. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 12:30'''&lt;br /&gt;
Do strony o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| przygotowaniu systemu dla Maliny]] dodany rozdział na temat naszej wersji obrazu uwzględniającej konfigurację połączenia po USB. Po wgraniu tej wersji na kartę będzie można łączyć się zdalnie.&lt;br /&gt;
&lt;br /&gt;
'''19 czerwca 2016, 23:15'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: orange;&amp;quot;&amp;gt;'''Już 3 maliny mają nowych właścicieli! Kolejna czeka...'''&amp;lt;/span&amp;gt; Do obioru potrzebna jest własna karta SD, z którą Malina zadziała. Szczegóły jej przygotowania są opisane [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| tutaj]], a kilka komentarzy zawiera ta strona [[Dyskusja_użytkownika:Grucha|dyskusji]].&lt;br /&gt;
[[Plik:4_maliny_nowe_zero_bez_trzech.jpg|400px|center]]&lt;br /&gt;
&lt;br /&gt;
=== Rzeczy do zrobienia ===&lt;br /&gt;
==== Strony własne użytkowników ====&lt;br /&gt;
Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] znajduje się lista użytkowników. Czerwony link na liście oznacza brak strony użytkownika, a jego kliknięcie pozwala rozpocząć jej dodawanie (o ile jest się zalogowanym). '''Zbudowanie własnej strony -- choćby najprostszej -- jest zadaniem użytkownika.'''&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=637</id>
		<title>Strona główna</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=637"/>
		<updated>2021-03-05T00:01:46Z</updated>

		<summary type="html">&lt;p&gt;Isj: korekta linku&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Wyłączenie spisu treści strony --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;!-- Wyłączenie linków [edit] przy tytułach sekcji (zaśmiecają obraz) --&amp;gt;&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
Wiki do wymiany informacji o projektach. Jeśli jesteś tutaj pierwszy raz '''zerknij na stronę [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]]''' żeby dowiedzieć się więcej.&lt;br /&gt;
=== Indeks ===&lt;br /&gt;
===== Programowanie =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Programowanie&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Strony o Malinie Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Projekty wykorzystujące Malinę Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Projekty Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Moduły elektroniczne =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Moduły elektroniczne&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Roboty =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Roboty&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
order = ascending&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Ubuntu =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Ubuntu&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Aktualności ===&lt;br /&gt;
'''5 marca 2021'''&lt;br /&gt;
&lt;br /&gt;
Grafenowe mięśnie otwierają możliwość budowania mechanizmów o możliwościach takich jak naturalne. Ewolucja biologiczna traci fragment przewagi technologicznej.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;50_kK9phHy8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''26 luty 2021'''&lt;br /&gt;
&lt;br /&gt;
Syn [https://pl.wikipedia.org/wiki/Henryk_Jerzy_Chmielewski Papcia Chmiela], menadżer NASA, o ostatnim lądowaniu na Marsie, w ogóle o misjach kosmicznych oraz w jakiej sprawie tato go duśdał&amp;lt;sup&amp;gt;*&amp;lt;/sup&amp;gt;, a w jakiej on sam teraz duśda Polaków. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;em&amp;gt;*) znaczenie wyjaśnia się w rozmowie&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;a7kNoZmQGDE&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''10 październik 2019'''&lt;br /&gt;
&lt;br /&gt;
Japońskie roboty potrafią być też szybkie... &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;-KxjVlaLBmk&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''10 sierpnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe symulacje pokazujące jak można skutecznie stłumić wibracje w układzie wykonując ruch sprytniejszym oprogramowaniem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;Z1jgaEO9aRs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2019'''&lt;br /&gt;
&lt;br /&gt;
Kilka mniej schematycznych zastosowań serw i silników&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;BaDz12Yt0rw&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Jeśli ktoś nie może zasnąć &amp;amp;mdash; ekstremalnie porywająca siatkówka w wykonaniu Toyoty&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;V_nhy4iIaBA&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''1 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Siła fizyczna już nie zapewni kariery w logistyce...&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;youtube&amp;gt;5iV_hB08Uns&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''16 marca 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe ujęcia poklatkowe pozwalające zobaczyć bez zasłaniającej głowicy jak powstaje wydruk 3D&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;aubLuCFIejc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''12 luty 2019, 0:30 '''&lt;br /&gt;
&lt;br /&gt;
Aktualizacja oprogramowania strony do '''Wikimedia 1.32'''. Domyślny styl został zmieniony ze względu na brak uaktualnionej wersji dotychczasowego.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 lutego 2019, 13:04'''&lt;br /&gt;
&lt;br /&gt;
Gwiezdne Wojny w [https://www.pb.pl/droid-z-agh-952687 Krakowie]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 listopada 2018, 15:50'''&lt;br /&gt;
&lt;br /&gt;
[https://spaceforest.pl/bigos-4/ BIGOS] poleciał :)&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;aJiJKennwWU&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''27 października 2018, 19:00'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Znajdowanie_IP_maliny_przy_pomocy_kom.C3.B3rki|opis]] wyszukiwania adresu IP Maliny w lokalnej sieci WiFi przy pomocy komórki z Androidem.&lt;br /&gt;
&lt;br /&gt;
'''26 października 2018, 2:30'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Ustawienie_domy.C5.9Blnej_sieci_WiFi_dla_RaspberryPi_Zero_W|opis]] prekonfiguracji systemu i łączenia z Maliną przez WiFi. &lt;br /&gt;
&lt;br /&gt;
'''25 października 2018, 16:00'''&lt;br /&gt;
&lt;br /&gt;
Dodana obsługa emaila w robo.city. Dzięki temu możliwe jest odzyskiwanie haseł, ustawianie alertów o zmianach, itd. &lt;br /&gt;
&lt;br /&gt;
Zmieniony domyślny styl całej strony na wygodniejszy na komórkach. &lt;br /&gt;
&lt;br /&gt;
'''16 września 2016, 1:20'''&lt;br /&gt;
&lt;br /&gt;
W opisie elektroniki [[Trzykołowiec#Po.C5.82.C4.85czenia_elektryczne|trzykołowca]] dodane zdjęcie wtyczki USB z przylutowanymi przewodami zasilania i kondensatorem.&lt;br /&gt;
&lt;br /&gt;
'''7 września 2016,19:10'''&lt;br /&gt;
&lt;br /&gt;
Na stronie poświęconej budowie [[Trzykołowiec|trzykołowca]] dodany rozdział o łączeniu kabelków i programowaniu ruchu. Znajduje się tam link do modułu w pythonie dzięki, któremu można zapisać tor ruchu kilkoma prostymi poleceniami. Dodany  [[Trzykołowiec#W akcji|przykład kodu z nagraniem zachowania robota]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 sierpnia 2016, 16:05'''&lt;br /&gt;
&lt;br /&gt;
VirtualBox&lt;br /&gt;
&lt;br /&gt;
Na stronie https://www.virtualbox.org/wiki/Downloads trzeba pobrać '''VirtualBox 5.1.2 for Windows hosts''' jeśli systemem roboczym ma być Windows i zainstalować. Potem w tym programie tworzymy maszyny wirtualne i na nich instalujemy potrzebny system. &lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Trafiłem na taki krótki filmik (po polsku) o tym jak sobie człowiek drukarkę 3D zbudował. Właściwie ludzie potrafiący projektować części w 3D, oraz nie bojący się silnika krokowego &amp;amp;mdash; czyli każdy kto zrobi trzykołowca z drukowanymi własnymi częściami &amp;amp;mdash; może bez problemu taką drukarkę samemu zrobić!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;_KdsQ2qVVVY&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 0:10'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o to jakie są dostępne filamenty. Ten sklep http://3dfilamenty.com/ posiada całkiem dużą ofertę z opisami zalet różnych materiałów.&lt;br /&gt;
&lt;br /&gt;
'''5 sierpnia 2016, 20:50'''&lt;br /&gt;
&lt;br /&gt;
Nawiązując do rozmowy o programach pozwalających na obróbkę obrazów:&lt;br /&gt;
&lt;br /&gt;
Do obrazów rastrowych (czyli komponowanych z wielu pojedynczych  punktów) na Ubuntu warto zainstalować '''Gimp'''(a). Raczej spory program z wieloma opcjami i nie łatwy do nauczenia się od razu. Jednak potem bardzo poręczny i skuteczny,&lt;br /&gt;
&lt;br /&gt;
Do obrazów wektorowych świetnie nadaje się '''Inkscape'''. Do jego zainstalowania można użyć standardowego dodawana aplikacji Ubuntu. Pojęcie grafiki wektorowej już znacie -- dokładnie w takim trybie działa choćby FreeCAD, tyle tylko że robi to w trzech wymiarach. InkScape i FreeCAD są pod w tym względem bardzo podobne. Kiedy we FreeCADzie chcemy zdefiniować kulę określamy tylko pozycję jej środka i promień. Podobnie w InkScape, jeśli chcemy narysować okrąg podajemy tylko  pozycję i promień. Potem możemy dodatkowo zmieniać kolor wnętrza figury i jej brzegów, rodzaj użytej linii, itd.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''29 lipca 2016, 21:21'''&lt;br /&gt;
&lt;br /&gt;
Dodana strona o [[Instalowanie najnowszej wersji FreeCAD| instalowaniu najnowszej wersji FreeCADa]] na Ubuntu. &lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2016, 21:56'''&lt;br /&gt;
&lt;br /&gt;
Nowa strona w kategorii Projekty Pi Zero: [[Przylutowanie pinów do Maliny Zero]]. Strona zwiera też film pokazujący lutowanie.&lt;br /&gt;
&lt;br /&gt;
'''12 lipca 2016, 21:24'''&lt;br /&gt;
&lt;br /&gt;
Dołączył nowy użytkownik [[Użytkownik:pawhan|pawhan]]. Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] jest cały wstępniak, czyli co warto wiedzieć na początek.&lt;br /&gt;
&lt;br /&gt;
'''8 lipca 2016, 13:06'''&lt;br /&gt;
&lt;br /&gt;
Przyjechały:&lt;br /&gt;
&lt;br /&gt;
[[Plik:Silniki nema 14.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1 lipca 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o przygotowaniu systemu dla Maliny dodany rozdział o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Dostęp_do_plików_Maliny_z_komputera_zasilającego| uzyskiwaniu dostępu do plików działającej Maliny]].&lt;br /&gt;
&lt;br /&gt;
'''30 czerwca 2016, 23:40'''&lt;br /&gt;
&lt;br /&gt;
Na stronie [[Trzykołowiec]] pierwsze informacje o konstrukcji robota. Strona zawiera także wstępny plik projektu w programie FreeCAD jeśli ktoś chciałby w nim projektować podwozie. &lt;br /&gt;
&lt;br /&gt;
'''29 czerwca 2016, 1:55'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o Politechnikę Wrocławską. A tak się chłopaki bawią. Zaczyna się po angielsku, ale z robotem rozmawiają po polsku.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;v1GBBIFbwXs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''28 czerwca 2016, 1:15'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o [[Mrugająca_dioda_LED| projekcie z mrugającą diodą LED]] dodany przykładowy kod i minimalny opis pinów.&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 18:40''' &lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=U39RMUzCjiU Przykład mało intuicyjnego] zachowania aż do bólu prostego układu mechanicznego: dopóki sztabki są sztywno skręcone wahadło zachowuje się &amp;quot;zwyczajnie&amp;quot;; kiedy jednak uwolnimy zawias dzielący wahadło na dwie części, oscylacja staje się zupełnie nieoczekiwana. Okazuje się, że wiele bardziej skomplikowanych układów zachowuje się zgodnie z tymi samymi regułami opisywanymi '''teorią chaosu''' (nie mylić z &amp;quot;chaotyczną teorią&amp;quot;, z którą ta ścisła nie ma nic wspólnego). Na przykład takie zaskakujące ruchy mogą wykonywać notowania na giełdzie, pogoda, lub społeczeństwa. Warto o tym pamiętać patrząc na to co potrafi najprostsze wahadło. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 12:30'''&lt;br /&gt;
Do strony o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| przygotowaniu systemu dla Maliny]] dodany rozdział na temat naszej wersji obrazu uwzględniającej konfigurację połączenia po USB. Po wgraniu tej wersji na kartę będzie można łączyć się zdalnie.&lt;br /&gt;
&lt;br /&gt;
'''19 czerwca 2016, 23:15'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: orange;&amp;quot;&amp;gt;'''Już 3 maliny mają nowych właścicieli! Kolejna czeka...'''&amp;lt;/span&amp;gt; Do obioru potrzebna jest własna karta SD, z którą Malina zadziała. Szczegóły jej przygotowania są opisane [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| tutaj]], a kilka komentarzy zawiera ta strona [[Dyskusja_użytkownika:Grucha|dyskusji]].&lt;br /&gt;
[[Plik:4_maliny_nowe_zero_bez_trzech.jpg|400px|center]]&lt;br /&gt;
&lt;br /&gt;
=== Rzeczy do zrobienia ===&lt;br /&gt;
==== Strony własne użytkowników ====&lt;br /&gt;
Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] znajduje się lista użytkowników. Czerwony link na liście oznacza brak strony użytkownika, a jego kliknięcie pozwala rozpocząć jej dodawanie (o ile jest się zalogowanym). '''Zbudowanie własnej strony -- choćby najprostszej -- jest zadaniem użytkownika.'''&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=636</id>
		<title>Strona główna</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=636"/>
		<updated>2021-03-04T23:54:47Z</updated>

		<summary type="html">&lt;p&gt;Isj: film z zastosowaniem grafenowych siłowników&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Wyłączenie spisu treści strony --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;!-- Wyłączenie linków [edit] przy tytułach sekcji (zaśmiecają obraz) --&amp;gt;&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
Wiki do wymiany informacji o projektach. Jeśli jesteś tutaj pierwszy raz '''zerknij na stronę [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]]''' żeby dowiedzieć się więcej.&lt;br /&gt;
=== Indeks ===&lt;br /&gt;
===== Programowanie =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Programowanie&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Strony o Malinie Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Projekty wykorzystujące Malinę Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Projekty Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Moduły elektroniczne =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Moduły elektroniczne&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Roboty =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Roboty&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
order = ascending&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Ubuntu =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Ubuntu&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Aktualności ===&lt;br /&gt;
'''5 marca 2021'''&lt;br /&gt;
&lt;br /&gt;
Grafenowe mięśnie otwierają możliwość budowania mechanizmów o możliwościach takich jak naturalne. Ewolucja biologiczna traci fragment przewagi technologicznej.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;50_kK9phHy8&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''26 luty 2021'''&lt;br /&gt;
&lt;br /&gt;
Syn [https://pl.wikipedia.org/wiki/Henryk_Jerzy_Chmielewski Papcia Chmiela], menadżer NASA, o ostatnim lądowaniu na Marsie, w ogóle o misjach kosmicznych oraz w jakiej sprawie tato go duśdał&amp;lt;sup&amp;gt;*&amp;lt;/sup&amp;gt;, a w jakiej on sam teraz duśda Polaków. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;em&amp;gt;*) znaczenie wyjaśnia się w rozmowie&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;a7kNoZmQGDE&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''10 październik 2019'''&lt;br /&gt;
&lt;br /&gt;
Japońskie roboty potrafią być też szybkie... &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;-KxjVlaLBmk&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''10 sierpnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe symulacje pokazujące jak można skutecznie stłumić wibracje w układzie wykonując ruch sprytniejszym oprogramowaniem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;Z1jgaEO9aRs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2019'''&lt;br /&gt;
&lt;br /&gt;
Kilka mniej schematycznych zastosowań serw i silników&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;BaDz12Yt0rw&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Jeśli ktoś nie może zasnąć &amp;amp;mdash; ekstremalnie porywająca siatkówka w wykonaniu Toyoty&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;V_nhy4iIaBA&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''1 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Siła fizyczna już nie zapewni kariery w logistyce...&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;youtube&amp;gt;5iV_hB08Uns&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''16 marca 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe ujęcia poklatkowe pozwalające zobaczyć bez zasłaniającej głowicy jak powstaje wydruk 3D&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;aubLuCFIejc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''12 luty 2019, 0:30 '''&lt;br /&gt;
&lt;br /&gt;
Aktualizacja oprogramowania strony do '''Wikimedia 1.32'''. Domyślny styl został zmieniony ze względu na brak uaktualnionej wersji dotychczasowego.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 lutego 2019, 13:04'''&lt;br /&gt;
&lt;br /&gt;
Gwiezdne Wojny w [https://www.pb.pl/droid-z-agh-952687 Krakowie]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 listopada 2018, 15:50'''&lt;br /&gt;
&lt;br /&gt;
[https://spaceforest.pl/bigos-4/ BIGOS] poleciał :)&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;aJiJKennwWU&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''27 października 2018, 19:00'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Znajdowanie_IP_maliny_przy_pomocy_kom.C3.B3rki|opis]] wyszukiwania adresu IP Maliny w lokalnej sieci WiFi przy pomocy komórki z Androidem.&lt;br /&gt;
&lt;br /&gt;
'''26 października 2018, 2:30'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Ustawienie_domy.C5.9Blnej_sieci_WiFi_dla_RaspberryPi_Zero_W|opis]] prekonfiguracji systemu i łączenia z Maliną przez WiFi. &lt;br /&gt;
&lt;br /&gt;
'''25 października 2018, 16:00'''&lt;br /&gt;
&lt;br /&gt;
Dodana obsługa emaila w robo.city. Dzięki temu możliwe jest odzyskiwanie haseł, ustawianie alertów o zmianach, itd. &lt;br /&gt;
&lt;br /&gt;
Zmieniony domyślny styl całej strony na wygodniejszy na komórkach. &lt;br /&gt;
&lt;br /&gt;
'''16 września 2016, 1:20'''&lt;br /&gt;
&lt;br /&gt;
W opisie elektroniki [[Trzykołowiec#Po.C5.82.C4.85czenia_elektryczne|trzykołowca]] dodane zdjęcie wtyczki USB z przylutowanymi przewodami zasilania i kondensatorem.&lt;br /&gt;
&lt;br /&gt;
'''7 września 2016,19:10'''&lt;br /&gt;
&lt;br /&gt;
Na stronie poświęconej budowie [[Trzykołowiec|trzykołowca]] dodany rozdział o łączeniu kabelków i programowaniu ruchu. Znajduje się tam link do modułu w pythonie dzięki, któremu można zapisać tor ruchu kilkoma prostymi poleceniami. Dodany  [[Trzykołowiec#W akcji|przykład kodu z nagraniem zachowania robota]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 sierpnia 2016, 16:05'''&lt;br /&gt;
&lt;br /&gt;
VirtualBox&lt;br /&gt;
&lt;br /&gt;
Na stronie https://www.virtualbox.org/wiki/Downloads trzeba pobrać '''VirtualBox 5.1.2 for Windows hosts''' jeśli systemem roboczym ma być Windows i zainstalować. Potem w tym programie tworzymy maszyny wirtualne i na nich instalujemy potrzebny system. &lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Trafiłem na taki krótki filmik (po polsku) o tym jak sobie człowiek drukarkę 3D zbudował. Właściwie ludzie potrafiący projektować części w 3D, oraz nie bojący się silnika krokowego &amp;amp;mdash; czyli każdy kto zrobi trzykołowca z drukowanymi własnymi częściami &amp;amp;mdash; może bez problemu taką drukarkę samemu zrobić!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;_KdsQ2qVVVY&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 0:10'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o to jakie są dostępne filamenty. Ten sklep http://3dfilamenty.com/pl/c/Filamenty/19 posiada całkiem dużą ofertę z opisami zalet różnych materiałów.&lt;br /&gt;
&lt;br /&gt;
'''5 sierpnia 2016, 20:50'''&lt;br /&gt;
&lt;br /&gt;
Nawiązując do rozmowy o programach pozwalających na obróbkę obrazów:&lt;br /&gt;
&lt;br /&gt;
Do obrazów rastrowych (czyli komponowanych z wielu pojedynczych  punktów) na Ubuntu warto zainstalować '''Gimp'''(a). Raczej spory program z wieloma opcjami i nie łatwy do nauczenia się od razu. Jednak potem bardzo poręczny i skuteczny,&lt;br /&gt;
&lt;br /&gt;
Do obrazów wektorowych świetnie nadaje się '''Inkscape'''. Do jego zainstalowania można użyć standardowego dodawana aplikacji Ubuntu. Pojęcie grafiki wektorowej już znacie -- dokładnie w takim trybie działa choćby FreeCAD, tyle tylko że robi to w trzech wymiarach. InkScape i FreeCAD są pod w tym względem bardzo podobne. Kiedy we FreeCADzie chcemy zdefiniować kulę określamy tylko pozycję jej środka i promień. Podobnie w InkScape, jeśli chcemy narysować okrąg podajemy tylko  pozycję i promień. Potem możemy dodatkowo zmieniać kolor wnętrza figury i jej brzegów, rodzaj użytej linii, itd.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''29 lipca 2016, 21:21'''&lt;br /&gt;
&lt;br /&gt;
Dodana strona o [[Instalowanie najnowszej wersji FreeCAD| instalowaniu najnowszej wersji FreeCADa]] na Ubuntu. &lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2016, 21:56'''&lt;br /&gt;
&lt;br /&gt;
Nowa strona w kategorii Projekty Pi Zero: [[Przylutowanie pinów do Maliny Zero]]. Strona zwiera też film pokazujący lutowanie.&lt;br /&gt;
&lt;br /&gt;
'''12 lipca 2016, 21:24'''&lt;br /&gt;
&lt;br /&gt;
Dołączył nowy użytkownik [[Użytkownik:pawhan|pawhan]]. Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] jest cały wstępniak, czyli co warto wiedzieć na początek.&lt;br /&gt;
&lt;br /&gt;
'''8 lipca 2016, 13:06'''&lt;br /&gt;
&lt;br /&gt;
Przyjechały:&lt;br /&gt;
&lt;br /&gt;
[[Plik:Silniki nema 14.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1 lipca 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o przygotowaniu systemu dla Maliny dodany rozdział o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Dostęp_do_plików_Maliny_z_komputera_zasilającego| uzyskiwaniu dostępu do plików działającej Maliny]].&lt;br /&gt;
&lt;br /&gt;
'''30 czerwca 2016, 23:40'''&lt;br /&gt;
&lt;br /&gt;
Na stronie [[Trzykołowiec]] pierwsze informacje o konstrukcji robota. Strona zawiera także wstępny plik projektu w programie FreeCAD jeśli ktoś chciałby w nim projektować podwozie. &lt;br /&gt;
&lt;br /&gt;
'''29 czerwca 2016, 1:55'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o Politechnikę Wrocławską. A tak się chłopaki bawią. Zaczyna się po angielsku, ale z robotem rozmawiają po polsku.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;v1GBBIFbwXs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''28 czerwca 2016, 1:15'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o [[Mrugająca_dioda_LED| projekcie z mrugającą diodą LED]] dodany przykładowy kod i minimalny opis pinów.&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 18:40''' &lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=U39RMUzCjiU Przykład mało intuicyjnego] zachowania aż do bólu prostego układu mechanicznego: dopóki sztabki są sztywno skręcone wahadło zachowuje się &amp;quot;zwyczajnie&amp;quot;; kiedy jednak uwolnimy zawias dzielący wahadło na dwie części, oscylacja staje się zupełnie nieoczekiwana. Okazuje się, że wiele bardziej skomplikowanych układów zachowuje się zgodnie z tymi samymi regułami opisywanymi '''teorią chaosu''' (nie mylić z &amp;quot;chaotyczną teorią&amp;quot;, z którą ta ścisła nie ma nic wspólnego). Na przykład takie zaskakujące ruchy mogą wykonywać notowania na giełdzie, pogoda, lub społeczeństwa. Warto o tym pamiętać patrząc na to co potrafi najprostsze wahadło. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 12:30'''&lt;br /&gt;
Do strony o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| przygotowaniu systemu dla Maliny]] dodany rozdział na temat naszej wersji obrazu uwzględniającej konfigurację połączenia po USB. Po wgraniu tej wersji na kartę będzie można łączyć się zdalnie.&lt;br /&gt;
&lt;br /&gt;
'''19 czerwca 2016, 23:15'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: orange;&amp;quot;&amp;gt;'''Już 3 maliny mają nowych właścicieli! Kolejna czeka...'''&amp;lt;/span&amp;gt; Do obioru potrzebna jest własna karta SD, z którą Malina zadziała. Szczegóły jej przygotowania są opisane [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| tutaj]], a kilka komentarzy zawiera ta strona [[Dyskusja_użytkownika:Grucha|dyskusji]].&lt;br /&gt;
[[Plik:4_maliny_nowe_zero_bez_trzech.jpg|400px|center]]&lt;br /&gt;
&lt;br /&gt;
=== Rzeczy do zrobienia ===&lt;br /&gt;
==== Strony własne użytkowników ====&lt;br /&gt;
Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] znajduje się lista użytkowników. Czerwony link na liście oznacza brak strony użytkownika, a jego kliknięcie pozwala rozpocząć jej dodawanie (o ile jest się zalogowanym). '''Zbudowanie własnej strony -- choćby najprostszej -- jest zadaniem użytkownika.'''&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=635</id>
		<title>Strona główna</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=635"/>
		<updated>2021-02-26T19:14:21Z</updated>

		<summary type="html">&lt;p&gt;Isj: link do rozmowy o misjach kosmicznych&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Wyłączenie spisu treści strony --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;!-- Wyłączenie linków [edit] przy tytułach sekcji (zaśmiecają obraz) --&amp;gt;&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
Wiki do wymiany informacji o projektach. Jeśli jesteś tutaj pierwszy raz '''zerknij na stronę [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]]''' żeby dowiedzieć się więcej.&lt;br /&gt;
=== Indeks ===&lt;br /&gt;
===== Programowanie =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Programowanie&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Strony o Malinie Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Projekty wykorzystujące Malinę Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Projekty Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Moduły elektroniczne =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Moduły elektroniczne&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Roboty =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Roboty&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
order = ascending&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Ubuntu =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Ubuntu&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Aktualności ===&lt;br /&gt;
'''26 luty 2021'''&lt;br /&gt;
&lt;br /&gt;
Syn [https://pl.wikipedia.org/wiki/Henryk_Jerzy_Chmielewski Papcia Chmiela], menadżer NASA, o ostatnim lądowaniu na Marsie, w ogóle o misjach kosmicznych oraz w jakiej sprawie tato go duśdał&amp;lt;sup&amp;gt;*&amp;lt;/sup&amp;gt;, a w jakiej on sam teraz duśda Polaków. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;em&amp;gt;*) znaczenie wyjaśnia się w rozmowie&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;a7kNoZmQGDE&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''10 październik 2019'''&lt;br /&gt;
&lt;br /&gt;
Japońskie roboty potrafią być też szybkie... &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;-KxjVlaLBmk&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''10 sierpnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe symulacje pokazujące jak można skutecznie stłumić wibracje w układzie wykonując ruch sprytniejszym oprogramowaniem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;Z1jgaEO9aRs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2019'''&lt;br /&gt;
&lt;br /&gt;
Kilka mniej schematycznych zastosowań serw i silników&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;BaDz12Yt0rw&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Jeśli ktoś nie może zasnąć &amp;amp;mdash; ekstremalnie porywająca siatkówka w wykonaniu Toyoty&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;V_nhy4iIaBA&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''1 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Siła fizyczna już nie zapewni kariery w logistyce...&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;youtube&amp;gt;5iV_hB08Uns&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''16 marca 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe ujęcia poklatkowe pozwalające zobaczyć bez zasłaniającej głowicy jak powstaje wydruk 3D&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;aubLuCFIejc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''12 luty 2019, 0:30 '''&lt;br /&gt;
&lt;br /&gt;
Aktualizacja oprogramowania strony do '''Wikimedia 1.32'''. Domyślny styl został zmieniony ze względu na brak uaktualnionej wersji dotychczasowego.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 lutego 2019, 13:04'''&lt;br /&gt;
&lt;br /&gt;
Gwiezdne Wojny w [https://www.pb.pl/droid-z-agh-952687 Krakowie]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 listopada 2018, 15:50'''&lt;br /&gt;
&lt;br /&gt;
[https://spaceforest.pl/bigos-4/ BIGOS] poleciał :)&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;aJiJKennwWU&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''27 października 2018, 19:00'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Znajdowanie_IP_maliny_przy_pomocy_kom.C3.B3rki|opis]] wyszukiwania adresu IP Maliny w lokalnej sieci WiFi przy pomocy komórki z Androidem.&lt;br /&gt;
&lt;br /&gt;
'''26 października 2018, 2:30'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Ustawienie_domy.C5.9Blnej_sieci_WiFi_dla_RaspberryPi_Zero_W|opis]] prekonfiguracji systemu i łączenia z Maliną przez WiFi. &lt;br /&gt;
&lt;br /&gt;
'''25 października 2018, 16:00'''&lt;br /&gt;
&lt;br /&gt;
Dodana obsługa emaila w robo.city. Dzięki temu możliwe jest odzyskiwanie haseł, ustawianie alertów o zmianach, itd. &lt;br /&gt;
&lt;br /&gt;
Zmieniony domyślny styl całej strony na wygodniejszy na komórkach. &lt;br /&gt;
&lt;br /&gt;
'''16 września 2016, 1:20'''&lt;br /&gt;
&lt;br /&gt;
W opisie elektroniki [[Trzykołowiec#Po.C5.82.C4.85czenia_elektryczne|trzykołowca]] dodane zdjęcie wtyczki USB z przylutowanymi przewodami zasilania i kondensatorem.&lt;br /&gt;
&lt;br /&gt;
'''7 września 2016,19:10'''&lt;br /&gt;
&lt;br /&gt;
Na stronie poświęconej budowie [[Trzykołowiec|trzykołowca]] dodany rozdział o łączeniu kabelków i programowaniu ruchu. Znajduje się tam link do modułu w pythonie dzięki, któremu można zapisać tor ruchu kilkoma prostymi poleceniami. Dodany  [[Trzykołowiec#W akcji|przykład kodu z nagraniem zachowania robota]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 sierpnia 2016, 16:05'''&lt;br /&gt;
&lt;br /&gt;
VirtualBox&lt;br /&gt;
&lt;br /&gt;
Na stronie https://www.virtualbox.org/wiki/Downloads trzeba pobrać '''VirtualBox 5.1.2 for Windows hosts''' jeśli systemem roboczym ma być Windows i zainstalować. Potem w tym programie tworzymy maszyny wirtualne i na nich instalujemy potrzebny system. &lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Trafiłem na taki krótki filmik (po polsku) o tym jak sobie człowiek drukarkę 3D zbudował. Właściwie ludzie potrafiący projektować części w 3D, oraz nie bojący się silnika krokowego &amp;amp;mdash; czyli każdy kto zrobi trzykołowca z drukowanymi własnymi częściami &amp;amp;mdash; może bez problemu taką drukarkę samemu zrobić!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;_KdsQ2qVVVY&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 0:10'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o to jakie są dostępne filamenty. Ten sklep http://3dfilamenty.com/pl/c/Filamenty/19 posiada całkiem dużą ofertę z opisami zalet różnych materiałów.&lt;br /&gt;
&lt;br /&gt;
'''5 sierpnia 2016, 20:50'''&lt;br /&gt;
&lt;br /&gt;
Nawiązując do rozmowy o programach pozwalających na obróbkę obrazów:&lt;br /&gt;
&lt;br /&gt;
Do obrazów rastrowych (czyli komponowanych z wielu pojedynczych  punktów) na Ubuntu warto zainstalować '''Gimp'''(a). Raczej spory program z wieloma opcjami i nie łatwy do nauczenia się od razu. Jednak potem bardzo poręczny i skuteczny,&lt;br /&gt;
&lt;br /&gt;
Do obrazów wektorowych świetnie nadaje się '''Inkscape'''. Do jego zainstalowania można użyć standardowego dodawana aplikacji Ubuntu. Pojęcie grafiki wektorowej już znacie -- dokładnie w takim trybie działa choćby FreeCAD, tyle tylko że robi to w trzech wymiarach. InkScape i FreeCAD są pod w tym względem bardzo podobne. Kiedy we FreeCADzie chcemy zdefiniować kulę określamy tylko pozycję jej środka i promień. Podobnie w InkScape, jeśli chcemy narysować okrąg podajemy tylko  pozycję i promień. Potem możemy dodatkowo zmieniać kolor wnętrza figury i jej brzegów, rodzaj użytej linii, itd.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''29 lipca 2016, 21:21'''&lt;br /&gt;
&lt;br /&gt;
Dodana strona o [[Instalowanie najnowszej wersji FreeCAD| instalowaniu najnowszej wersji FreeCADa]] na Ubuntu. &lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2016, 21:56'''&lt;br /&gt;
&lt;br /&gt;
Nowa strona w kategorii Projekty Pi Zero: [[Przylutowanie pinów do Maliny Zero]]. Strona zwiera też film pokazujący lutowanie.&lt;br /&gt;
&lt;br /&gt;
'''12 lipca 2016, 21:24'''&lt;br /&gt;
&lt;br /&gt;
Dołączył nowy użytkownik [[Użytkownik:pawhan|pawhan]]. Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] jest cały wstępniak, czyli co warto wiedzieć na początek.&lt;br /&gt;
&lt;br /&gt;
'''8 lipca 2016, 13:06'''&lt;br /&gt;
&lt;br /&gt;
Przyjechały:&lt;br /&gt;
&lt;br /&gt;
[[Plik:Silniki nema 14.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1 lipca 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o przygotowaniu systemu dla Maliny dodany rozdział o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Dostęp_do_plików_Maliny_z_komputera_zasilającego| uzyskiwaniu dostępu do plików działającej Maliny]].&lt;br /&gt;
&lt;br /&gt;
'''30 czerwca 2016, 23:40'''&lt;br /&gt;
&lt;br /&gt;
Na stronie [[Trzykołowiec]] pierwsze informacje o konstrukcji robota. Strona zawiera także wstępny plik projektu w programie FreeCAD jeśli ktoś chciałby w nim projektować podwozie. &lt;br /&gt;
&lt;br /&gt;
'''29 czerwca 2016, 1:55'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o Politechnikę Wrocławską. A tak się chłopaki bawią. Zaczyna się po angielsku, ale z robotem rozmawiają po polsku.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;v1GBBIFbwXs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''28 czerwca 2016, 1:15'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o [[Mrugająca_dioda_LED| projekcie z mrugającą diodą LED]] dodany przykładowy kod i minimalny opis pinów.&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 18:40''' &lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=U39RMUzCjiU Przykład mało intuicyjnego] zachowania aż do bólu prostego układu mechanicznego: dopóki sztabki są sztywno skręcone wahadło zachowuje się &amp;quot;zwyczajnie&amp;quot;; kiedy jednak uwolnimy zawias dzielący wahadło na dwie części, oscylacja staje się zupełnie nieoczekiwana. Okazuje się, że wiele bardziej skomplikowanych układów zachowuje się zgodnie z tymi samymi regułami opisywanymi '''teorią chaosu''' (nie mylić z &amp;quot;chaotyczną teorią&amp;quot;, z którą ta ścisła nie ma nic wspólnego). Na przykład takie zaskakujące ruchy mogą wykonywać notowania na giełdzie, pogoda, lub społeczeństwa. Warto o tym pamiętać patrząc na to co potrafi najprostsze wahadło. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 12:30'''&lt;br /&gt;
Do strony o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| przygotowaniu systemu dla Maliny]] dodany rozdział na temat naszej wersji obrazu uwzględniającej konfigurację połączenia po USB. Po wgraniu tej wersji na kartę będzie można łączyć się zdalnie.&lt;br /&gt;
&lt;br /&gt;
'''19 czerwca 2016, 23:15'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: orange;&amp;quot;&amp;gt;'''Już 3 maliny mają nowych właścicieli! Kolejna czeka...'''&amp;lt;/span&amp;gt; Do obioru potrzebna jest własna karta SD, z którą Malina zadziała. Szczegóły jej przygotowania są opisane [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| tutaj]], a kilka komentarzy zawiera ta strona [[Dyskusja_użytkownika:Grucha|dyskusji]].&lt;br /&gt;
[[Plik:4_maliny_nowe_zero_bez_trzech.jpg|400px|center]]&lt;br /&gt;
&lt;br /&gt;
=== Rzeczy do zrobienia ===&lt;br /&gt;
==== Strony własne użytkowników ====&lt;br /&gt;
Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] znajduje się lista użytkowników. Czerwony link na liście oznacza brak strony użytkownika, a jego kliknięcie pozwala rozpocząć jej dodawanie (o ile jest się zalogowanym). '''Zbudowanie własnej strony -- choćby najprostszej -- jest zadaniem użytkownika.'''&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Trzyko%C5%82owiec&amp;diff=634</id>
		<title>Trzykołowiec</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Trzyko%C5%82owiec&amp;diff=634"/>
		<updated>2019-11-20T18:44:58Z</updated>

		<summary type="html">&lt;p&gt;Isj: /* Moment obrotowy 120 mNm */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Projekt prostego programowalnego robota kołowego z dwoma silnikami. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Do czego zmierzamy ==&lt;br /&gt;
Chodzi o to, żeby względnie małym nakładem pracy uzyskać robota, którego można łatwo zaprogramować. Dzięki temu bez zbędnych komplikacji będzie można rozpocząć realną zabawę w całkiem poważną robotykę. Robot będzie się składał z dwóch, oddzielnie sterowanych silników napędowych wyposażonych w koła, oraz trzeciego podpierającego. Możliwość sterowania obrotami każdego z kół z osobna pozwala zaprogramować dowolny kierunek jazdy i tworzyć dowolne trasy przejazdu. Podstawowe możliwości, uniwersalność i przez to przydatność takiego robota pokazuje poniższy film, gdzie projektanci z firmy Microsoft użyli dokładnie takiej konstrukcji w swoich projektach. Co więcej, tak samo jak my użyli Maliny jako &amp;quot;mózgu&amp;quot; robota.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;vimeo&amp;quot;&amp;gt;126458720&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Konstrukcja ==&lt;br /&gt;
=== Silnik ===&lt;br /&gt;
[[Plik:Nema_14.jpg|thumb|right|250px|Silnik o rozmiarze NEMA 14.]]&lt;br /&gt;
Do napędu kół użyjemy silnika krokowego o następujących parametrach:&lt;br /&gt;
* rozmiar NEMA 14, czyli boki '''35x35 mm''', ponadto nasz silnik będzie miał '''34 mm długości''' i oś wystającą na 20mm o średnicy 5mm&lt;br /&gt;
* waga '''180g'''&lt;br /&gt;
* maksymalny moment obrotowy '''120 mN/m''' (miliniutonów na metr)&lt;br /&gt;
* żeby wykonać pełny obrót silnik potrzebuje '''200 kroków'''&lt;br /&gt;
* pobór prądu '''750mA'''(miliamperów) przy napięciu zasilającym '''4.35V'''&lt;br /&gt;
&lt;br /&gt;
[[Plik:Silnik_krokowy_w_środku.jpg|right|250px|thumb|Tak wygląda w środku.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zasadę działania silnika krokowego przedstawia animacja poniżej: włączamy prąd w kolejnych uzwojeniach, co wytwarza silne pole magnetyczne, które przyciąga metalowe wypustki wirnika i obraca go o pewien mały kąt. Zależnie od tego w jakiej kolejności włączamy cewki, silnik będzie się kręcił w lewo lub prawo. Dużo więcej magii w tym nie ma ;).&lt;br /&gt;
&lt;br /&gt;
[[Plik:StepperMotor.gif|center]]&lt;br /&gt;
&lt;br /&gt;
Jak widać na zdjęciu rozebranego realnego silnika, praktyczna realizacja jest trochę inna: w tym przypadku mamy 8 cewek elektromagnesów na obwodzie (miedziane zwoje drutu na dole zdjęcia), a nie 4 jak na schemacie. Jednak sama zasada pozostaje ta sama. Dodatkowe cewki i podwójny rotor jak widać na zdjęciu pozwalają poprawić siłę z jaką silnik się obraca oraz precyzję kontroli kąta obrotu. Szczegóły wyjaśnia film poniżej.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;eyqwLiowZiU&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
==== Co oznaczają podane parametry silnika? ====&lt;br /&gt;
&lt;br /&gt;
===== Wymiary i masa =====&lt;br /&gt;
&lt;br /&gt;
Z rozmiarów silnika zgodnego z normą NEMA 14 i jego masy widzimy, że choć silnik nie jest jakoś przerażająco wielki, to jest jednak całkiem solidnym kawałkiem metalu. Same dwa silniki napędowe będą ważyły 360g, a więc dodając jeszcze powerbank, możemy się spodziewać, że cały robot będzie ważył około 1kg. To oszacowanie przyda się przy projektowaniu podwozia. Dzięki niemu wiemy jaką mniej więcej powinno mieć wytrzymałość &amp;amp;mdash; w przybliżeniu powinno być sztywniejsze niż choćby karta bankomatowa.&lt;br /&gt;
&lt;br /&gt;
===== Moment obrotowy 120 mNm =====&lt;br /&gt;
[[Plik:Skalowanie_momentu_siły_na_przykładzie_silnika_nema14_120mNm.jpg|thumb|right|450px|Zwiększanie się siły koniecznej do zatrzymania silnika na przykładzie użytego silnika Nema14 o znamionowym momencie siły 120 miliniutonometrów.]]&lt;br /&gt;
Gdyby przeczytać tą liczbę brzmiałaby ''&amp;quot;sto dwadzieścia miliniutonometrów&amp;quot;''. Pierwsza część, tj. 120mN (miliniutonów) to niewielka siła, okolice ciężaru odtwarzacza mp3. Ale o jaki metr chodzi? &lt;br /&gt;
&lt;br /&gt;
O taki, jak gdyby do osi silnika przymocować metrowy patyk pod kątem prostym do osi (tak jak szprycha w kole roweru). Kiedy silnik pracowałby z całej siły wówczas koniec takiego metrowego patyka naciskałby na rękę z podaną siłą, lub jak kto woli wystarczyłoby delikatnie trzymać jego koniec, żeby silnik nie mógł się obracać. &lt;br /&gt;
&lt;br /&gt;
Łatwo wyczuć intuicyjnie, że gdyby patyk był krótszy, wówczas trzeba by było użyć większej siły, żeby powstrzymać silnik przed obracaniem się. Kto nie wierzy niech spróbuje przytrzymać koło roweru za szprychę najpierw chwytając blisko opony, a potem bliżej środka. O razu widać, że o ile trzymanie przy oponie jakoś wychodzi, to bliżej środka palce są za słabe. Fizycy mówią, że '''jeśli skracamy ramię na które działa pewien moment obrotowy, to siła na końcu ramienia proporcjonalnie rośnie'''. &lt;br /&gt;
&lt;br /&gt;
'''I to jest bardzo dobra wiadomość!''' Gdybyśmy mieli silnik pchający robota do przodu z siłą tylko 120mN moglibyśmy zapomnieć o jeździe po czymkolwiek mniej gładkim niż stół, a i to wątpliwe... Jeśli jednak skrócimy w wyobraźni metrowy patyk do połowy, siła na końcu wzrośnie proporcjonalnie do 240mN. Nadal szału nie ma, ale jest postęp.  Gdybyśmy skrócili go do &amp;lt;math&amp;gt;\frac{1}{10}&amp;lt;/math&amp;gt; metra, wówczas otrzymamy 120mN * 10 = 1200mN. Przypomnę, że ''mili'' oznacza jedną tysięczną. Czyli 1200mN to już całkiem duża siła 1.2 niutona. &lt;br /&gt;
&lt;br /&gt;
No dobrze, ale przecież nie będziemy mocować patyków na osi silnika tylko koła... To nic nie zmienia! Wystarczy sobie wyobrazić, że nakładamy na oś jeden patyk za drugim dookoła osi (znów, tak jak szprychy w kole roweru). Jeśli nawkładalibyśmy ich odpowiednio dużo powstanie w końcu koło. Na tym polega geniusz wynalazku koła, którego ludzkość  [https://pl.wikipedia.org/wiki/Ko%C5%82o_(technika) bardzo długo nie znała]. Dzięki odsunięciu od podłoża osi, na której skupiony jest ciężar, możemy przesuwać masy ze znacznie mniejszym wysiłkiem, bo cały czas stosujemy dźwignię o takiej długości jak promień koła. &lt;br /&gt;
&lt;br /&gt;
Teraz możemy wrócić do wymiarów w trójkołowcu. Jeśli użylibyśmy niewielkich kół o średnicy 2cm, wówczas promień miałby tylko 1cm, a więc 1/100 metra. Silnik pracujący z maksymalną mocą ciągnąłby pojazd na takich kołach z siłą 120 * 100 = 12000mN, czyli 12N. Z taką siłą naciska na rękę trzymane w niej 1,2 kg. Dla kół o średnicy dwa razy większej (4cm) siła spadłaby do 6N (~600g) i dla kółek o średnicy 6cm do około 4N (~400g). &lt;br /&gt;
&lt;br /&gt;
Czy to dużo czy mało? Możemy łatwo oszacować co to oznacza wyliczając możliwe przyśpieszenia robota. Dla ułatwienia przyjmijmy, że cały będzie ważył około '''1kg'''. &lt;br /&gt;
&lt;br /&gt;
Przyśpieszenie podaje zupełnie prosty wzór, sprzed ponad 300 lat,  pana [https://pl.wikipedia.org/wiki/Isaac_Newton Izaaka Newtona] (czytaj ''niuton''):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;a=\frac{F}{m}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
gdzie: &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;math&amp;gt;F&amp;lt;/math&amp;gt; to siła wyrażona w, a jakże, w '''N''' (niutonach)&lt;br /&gt;
* &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; to masa, u nas 1kg&lt;br /&gt;
* &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; to przyśpieszenie jakiego należy się spodziewać w m/s²&lt;br /&gt;
&lt;br /&gt;
Podstawiając dane dla kół o średnicy 6cm, które dają siłę pchającą 4N na jeden silnik, przy włączonym napędzie na oba koła mamy:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;a=\frac{2*4[N]}{1[kg]}=8 [m/s^2]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jeśli porównamy to z przyśpieszeniem ziemskim, wynoszącym &amp;lt;math&amp;gt;9,81 [m/s^2]&amp;lt;/math&amp;gt; widzimy, że pojazd mógłby przyśpieszać prawie tak szybko jak szybko rzeczy spadają w polu grawitacji Ziemi. Inaczej mówiąc potrzebowałby '''niecałych 3 sekund &amp;quot;do setki&amp;quot; !''' Oczywiście to tylko oszacowanie, które podaje maksymalne przyśpieszenie. W praktyce będzie ono mniejsze. Wystarczy choćby zauważyć, że nie uwzględniliśmy sił tarcia, która będzie go spowalniać. Nawet jednak gdybyśmy spadli w okolice połowy tego przyśpieszenia nadal taki napęd wydaje się sensowny.&lt;br /&gt;
&lt;br /&gt;
Niestety oprócz zdolności silnika do przyśpieszania pojazdu, która jak widzimy jest dobra, musimy uwzględnić jeszcze jedno ograniczenie &amp;amp;mdash; maksymalną prędkość z jaką silnik potrafi się obracać. Jak widać na filmie w dalszej części strony, pojazd rusza natychmiast, bez wyraźnych opóźnień, a więc przyśpieszenie jest rzeczywiście dobre. Jednak jego maksymalna prędkość nie jest wielka właśnie dlatego, że układ sterowania silnika nie może podawać impulsów sterujących dowolnie szybko. Silnik wymaga 200 impulsów na każdy pełny obrót. Szacunkowo jeśli potrafilibyśmy generować 1000 impulsów na sekundę, koło obracałoby się 5 razy w ciągu sekundy, a więc pojazd z kołami o promieniu 3cm (jak na filmie) poruszałby się z prędkością  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5[obr/s]*2*\pi*r[m]=10*3.14*0.03=0.95[m/s]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== 200 kroków na obrót =====&lt;br /&gt;
Silniki krokowe działają trochę inaczej niż zwykłe. W zwykłym wystarczy włączyć prąd i silnik się obraca. Silnikiem krokowym steruje się inaczej: podaje się odpowiednie impulsy, które powodują, że oś silnika obraca się o pewien kąt. Jak daleko obraca się oś w jednym kroku definiuje właśnie liczba kroków potrzebnych do pełnego obrotu. W przypadku naszego silnika będziemy musieli podać 200 impulsów żeby koło napędowe wykonało jeden obrót. Dzięki takiej dokładności możliwe będzie bardzo precyzyjne sterowanie odległością jaką przemierza każde koło, a przez to będzie można precyzyjnie skręcać.&lt;br /&gt;
&lt;br /&gt;
===== Parametry elektryczne =====&lt;br /&gt;
Jeśli chodzi o napięcie pracy silnika, wynoszące 4.35V, jest ono nieco mniejsze niż '''5V, którego używają porty USB, powerbank''' i którym zasilana jest Malina (przy czym część cyfrowa Maliny działa przy napięciach 0 i 3.3V). &lt;br /&gt;
&lt;br /&gt;
Możemy jednak przyjąć, że nieco wyższe napięcie zasilania jakiego użyjemy, nie będzie groźne dla uzwojeń silnika, a może poprawić prędkość z jaką silnik będzie wykonywał kolejne kroki. W normalnej sytuacji, kiedy silniki jest montowany w większej maszynie unikalibyśmy takiego &amp;quot;podkręcania&amp;quot;, ale w naszym przypadku silnik będzie pracował w otwartej przestrzeni, i pewien nadmiar wydzielanego ciepła jest dopuszczalny.&lt;br /&gt;
&lt;br /&gt;
Znaczenie poboru prądu wyjaśnimy przy okazji rozważań o baterii.&lt;br /&gt;
&lt;br /&gt;
=== Bateria ===&lt;br /&gt;
&lt;br /&gt;
Pobór prądu przez jeden silnik, który wynosi 750mA (miliamperów) oznacza, że gdybyśmy mieli baterię o pojemności 750mAh (miliamperogodzin) pojedynczy silnik mógłby działać przez godzinę. Ponieważ mamy dwa silniki i jeszcze Malinę, która również zużywa prąd, możemy oczekiwać zużycia na poziomie około 1800mAh. &lt;br /&gt;
&lt;br /&gt;
Teoretycznie więc powerbank o takiej pojemności mógłby zasilać robota przez godzinę. W praktyce producenci obiecują gruszki na wierzbie, i lepiej przyjąć co najmniej 2500mA potrzebnej pojemności na godzinę pracy robota. &lt;br /&gt;
&lt;br /&gt;
Powerbanki zwykle ładują się godzinami -- nie rzadko instrukcja podaje 8-10 godzin. Ponieważ byłoby niezbyt wygodnie po każdej godzinie testów czekać 8 godzin do kolejnego naładowania baterii, lepiej zastosować akumulator o większej pojemności niż tylko godzina użytkowania. Ostatecznie więc pobór prądu mówi nam tyle, że przydałby się akumulator o pojemności co najmniej 5000mAh. &lt;br /&gt;
&lt;br /&gt;
Ponadto musimy uwzględnić maksymalne możliwe obciążenie prądowe. Cóż z tego, że mielibyśmy pełny basen wody, jeśli dałoby się z niego czerpać tylko po jednej kropli na godzinę? Musimy więc wybrać powerbank, który będzie miał też odpowiednią wydajność. &lt;br /&gt;
&lt;br /&gt;
Dwa silniki zużywają 750mA * 2 = 1500mA. Do tego prądu trzeba dodać też Malinę, czyli co najmniej 500mA. Powerbank musi znieść obciążenie 2000mA, czyli 2A.&lt;br /&gt;
&lt;br /&gt;
=== Projekt podwozia ===&lt;br /&gt;
Wykonanie podwozia jest zadaniem do wykonania samodzielnie. ''Wszystkie chwyty dozwolone!'' Jeśli masz natchnienie, żeby ulepić podwozie z taśmy klejącej i gumy do żucia proszę bardzo. Jest tylko jedno ograniczenie -- byłoby fajnie gdyby robot zbudowany w oparciu o dostarczone części i zaprojektowane podwozie jeździł! Żeby to ograniczenie dokładniej sprecyzować umówmy się, że: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;thumb&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;thumbinner&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;thumbcaption&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#00bb44&amp;quot;&amp;gt;Części robota (oprócz Maliny) przechodzą na własność konstruktora dopiero po udowodnieniu, że robot jeździ i to zgodnie z podanym programem, czyli inaczej mówiąc '''o własnych siłach zarówno fizycznych jak i &amp;quot;umysłowych&amp;quot;.'''&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jeśli ktoś chciałby zaprojektować podwozie do wydruku na drukarce 3D (to jest możliwa opcja, nie wymaganie!) proponuję wykorzystanie programu FreeCAD. Dla ułatwienia poniżej plik wstępnie przygotowanego projektu robota. Zawiera podstawowe elementy zgodne z ich rozmiarami:&lt;br /&gt;
* płytkę Maliny&lt;br /&gt;
* silniki&lt;br /&gt;
* powerbank&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pozostaje tylko zająć się samym podwoziem i rozmieszczeniem wyżej wymienionych elementów na nim.&lt;br /&gt;
 &lt;br /&gt;
[[Plik:Trzykolowiec.fcstd]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;eAhDwQ00lHU&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Przykładowe rozwiązanie mechanicznej części robota wykonanej na drukarce 3D przedstawiają zdjęcia poniżej.&lt;br /&gt;
&lt;br /&gt;
[[Plik:Platforma_trzykołowca_wykonana_jako_wydruk_3D_--_góra.jpg|400px|thumb|left|Trzykołowiec wydrukowany na drukarce. Widok z góry.]]&lt;br /&gt;
[[Plik:Platforma_robota_wykonana_jako_wydruk_3D_--_spód.jpg|400px|thumb|right|I z dołu.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
== Elektronika ==&lt;br /&gt;
=== Opis wyprowadzeń łącza 40 pinowego ===&lt;br /&gt;
Piny złącza 40 pinowego liczy się zaczynając od kwadratowego (numer 1), a dalej &amp;quot;zygzakiem&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt; napięcie 3.3V &amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 1 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 2 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b style=&amp;quot;color:red&amp;quot;&amp;gt; napięcie 5V &amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right;color: orange&amp;quot;| I²C: SDA (dane) &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;Rezystor podciągający 1.8k do 3.3V&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 3 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 4 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b style=&amp;quot;color:red&amp;gt; napięcie 5V &amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right; color: orange&amp;quot;| I²C: SCL (taktowanie) &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;Rezystor podciągający 1.8k do 3.3V&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 5 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 6 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| GPCLK0 &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;(zegar nr 0, ogólnego przeznaczenia)&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 7 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 8 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;color: green&amp;quot;| UART0: TXD (wysyłka) &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;(na tym łączu działa konsola systemu Raspbian)&amp;lt;/small&amp;gt;&amp;lt;/em&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 9 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 10 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;color: green&amp;quot;| UART0: RXD (odbiór) &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;(na tym łączu działa konsola systemu Raspbian)&amp;lt;/small&amp;gt;&amp;lt;/em&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  11&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 12&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| PWM0/BCM18 &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;(fala prostokątna o programowalnym wypełnieniu z generatora 0)&amp;lt;/small&amp;gt;&amp;lt;/em&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  13&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 14&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  15&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 16&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt; napięcie 3.3V &amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  17&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 18&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| MOSI/BCM10 (urządzenie nadrzędne do podrzędnego na łączu SPI)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  19&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 20&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| MISO (urządzenie podrzędne do nadrzędnego na łączu SPI)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 21 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 22 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| SCLK/BCM11 (taktowanie łącza SPI)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|23 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 24 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| CE0 (linia 0 wyboru chipu łącza SLI)&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 25 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 26 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| CE1 (linia 1 wyboru chipu łącza SLI)&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| ID_SC (dane łącza I²C do pamięci EEPROM)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 27 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 28 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| ID_SC (taktowanie łącza I²C do pamięci EEPROM)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 29 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 30 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  31&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 32&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| PWM0/BCM12&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| PWM1/BCM13&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  33&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 34&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| MISO (urządzenie podrzędne do nadrzędnego na łączu SPI)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  35&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 36&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  37&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 38&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| MOSI/BCM20 (urządzenie nadrzędne do podrzędnego na łączu SPI)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  39&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 40&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;|  SCLK/BCM21 (taktowanie łącza SPI)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Powyżej zastosowane są następujące oznaczenia:&lt;br /&gt;
* '''pogrubiona czcionka''' &amp;amp;mdash; zwykłe piny elektryczne, nie działające w logice cyfrowej ponieważ nie łączą się z procesorem maliny (np. masa, napięcie 3.3V); napięcie '''3.3V''' może pełnić rolę sygnału wejściowego oznaczającego '''1''' ponieważ piny cyfrowe właśnie takiego napięcia spodziewają się jako logicznej jedynki; możliwe jest więc połączenie kablem wyjścia '''3.3V''' z którymś pinem logicznym żeby zasymulować podanie sygnału 1; można też zasilać z tego wyjścia jakieś niewielkie urządzenia np. podpiąć do niego diodę LED, której używamy jako sondy stanów logicznych i sprawdzić czy działa (wydajność zasilania 3.3V wynosi zaledwie kilkadziesiąt mA, nie należy go obciążać większymi układami)&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;'''czerwona pogrubiona czcionka'''&amp;lt;/span&amp;gt; &amp;amp;mdash;  napięcie zasilające '''5V'''; może się przydać do zasilania '''drobnych''' urządzeń (takich jakie można podłączyć do wyjścia USB z którego zasilamy malinę);  UWAGA: Napięcie '''5V''' jest '''za wysokie dla wejść procesora''' i prawie na pewno go uszkodzi! Z tego powodu nie wolno łączyć kablem tych pinów z żadnymi wejściami cyfrowymi na łączu 40-pinowym! Właśnie dlatego oznaczone jest na czerwono! najlepiej na piny 2 i 4 nasunąć kawałek izolacji i o nich zapomnieć&lt;br /&gt;
* zwykła czcionka &amp;amp;mdash; piny cyfrowe gdzie ustawienie z programu wartości '''0''' daje napięcie '''0V''', a wysłanie wartości '''1''' daje napięcie około '''3V'''&lt;br /&gt;
* kolory i opisy przy pinie &amp;amp;mdash; niektóre piny mają ustawioną jakąś domyślną funkcję w systemie Raspbian sterującym maliną; te funkcje można w większości przedefiniować, jednak w czasie włączania systemu pin działa w trybie domyślnym, dopóki go nie przedefiniujemy po swojemu - '''jest to bardzo ważne jeśli do pinu podpięte jest jakieś urządzenie ponieważ po włączeniu maliny do prądu będzie ono otrzymywać przypadkowe sygnały w trakcie wczytywania systemu co może prowadzić do uszkodzeń (np. jeśli jest to silnik ramienia robota)'''; warto zauważyć, że zmiana działania pinu generuje ostrzeżenie i na przykład polecenie &amp;lt;code&amp;gt;gpio.setup(8, gpio.OUT)&amp;lt;/code&amp;gt; (czyli ustawienie pinu 8 jako zwykłe wyjście cyfrowe) wyświetli komunikat, że pin był używany w innej roli; kolory oznaczają piny związane domyślnie z tym samym urządzeniem (np. pary dwupinowych łączy &amp;lt;b style=&amp;quot;color: orange&amp;quot;&amp;gt;I²C&amp;lt;/b&amp;gt;, czy &amp;lt;b style=&amp;quot;color: green&amp;quot;&amp;gt;UART&amp;lt;/b&amp;gt;)&lt;br /&gt;
* brak opisu &amp;amp;mdash; piny nie wykonują żadnej specjalnej funkcji w domyślnej konfiguracji Raspbiana; przy włączeniu zasilania będą ustawione na 0; można ich dowolnie używać&lt;br /&gt;
&lt;br /&gt;
=== Moduł sterownika silnika krokowego DRV8834 i jego połączenie z maliną ===&lt;br /&gt;
[[Plik:Polaczenia_elektryczne_jednego_silnika.png|thumb|800px|right]]&lt;br /&gt;
Sposób połączenia silnika, źródła zasilania, sterownika i Maliny przedstawia obrazek.&lt;br /&gt;
&lt;br /&gt;
Jak widać w naszym prostym projekcie nie używamy wszystkich wyjść sterownika. &lt;br /&gt;
&lt;br /&gt;
Na diagramie niektóre z używanych wyjść są podpisane kolorem czerwonym, a inne jasnozielonym. Chodzi o to, żeby wyraźnie pokazać, że choć tego nie widać sterownik rozdziela cały układ na dwa zupełnie różne światy:&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;'''świat silnika''' &amp;amp;mdash; tutaj krążą duże prądy (takie, które mogą spokojnie odparować cieńsze przewody!), pojawiają się wyższe napięcia (rzędu kilkunastu woltów), układy pracują z dużą mocą (silnik potrafi być nawet gorący)&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:lightgreen&amp;quot;&amp;gt;'''świat cyfrowy''' &amp;amp;mdash; tutaj nie ma wielkiego znaczenia moc sygnału, a tylko czy ustawiony jest stan '''1''' (ok. 3 wolty) czy stan '''0''' (ok. zero woltów); wszystkie elementy z tego świata spodziewają się maksymalnie kilku woltów napięcia, nie zostały zaprojektowane do obsługiwania takich wielkich obciążeń jak silniki i cały ten podsystem mógłby być zasilany z małej zegarkowej bateryjki przez miesiące, na tyle jest &amp;quot;delikatny&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ważne jest, żeby rozróżniać te dwa światy!''' Jeśli ktoś spróbowałby podłączyć silnik do tego samego pinu, który jest połączony z Maliną prawdopodobnie spaliłby i sterownik i komputer (choć Malina ma pewne zabezpieczenia przed takim brutalnym traktowaniem i czasem zdąży się wyłączyć w porę). &lt;br /&gt;
&lt;br /&gt;
Ale jest też odwrotnie. W sprzyjających warunkach &amp;quot;delikatna&amp;quot; część cyfrowa potrafi &amp;quot;zamordować&amp;quot; część dużych mocy sterującą silnikami. Jak może do tego dojść? W dokładnie taki sam sposób, jak delikatne, ale nieprzemyślane ruchy kierownicą mogą zniszczyć cały samochód. Chodzi o to, że część cyfrowa steruje systemem, który ma już jakąś niemałą energię (silnik, koła).  W przypadku projektu z diodą, jeśli kod zawierał jakąś nie do końca przemyślaną instrukcję, najgorszym co mogło się stać był brak światła lub świecenie diody w nieoczekiwany sposób. Nic ponad to. Tymczasem tutaj robot może niespodziewanie ruszyć, skręcić, cofnąć się, i tylko aktualne otoczenie decyduje o tym jak to się skończy (coś do picia, klawiatura i szalony robot to całkiem skuteczny przepis na większe wydatki). Z tego powodu najlepiej na początku ustawić robota z kołami napędowymi w powietrzu (albo bez kół), żeby odebrać mu możliwość niekontrolowanego ruszania. &lt;br /&gt;
&lt;br /&gt;
'''Trzeba też uwzględnić specyficzną cechę samego sterownika. Jego instrukcja mówi o tym, że nie wolno podłączać/odłączać przewodów silnika kiedy zasilanie silnika jest włączone (podany sygnał 1 na wyjściu SLP)'''.  Ponieważ sygnał na wyjściu '''SLP''' podaje Malina najprościej zapamiętać, że jeśli potrzebujemy odłączyć sterownik to zawsze najpierw odłączamy Malinę (czyli 8 punktową wtyczkę, która będzie po lewej stronie na diagramie), a potem silniki (czyli wtyczka po prawej, pin &amp;quot;masy&amp;quot; Maliny znajdujący się na dole tej wtyczki nie jest problemem). I w odwrotnej kolejności podłączamy sterownik, czyli najpierw silniki, potem Malinę. W ten sposób mamy zawsze pewność, że przewody silników będą wyłączane/włączane przy wyłączonym zasilaniu. &lt;br /&gt;
&lt;br /&gt;
[[Plik:Wyprowadzenie_zasilania_5V_z_wtyczki_USB.jpg|thumb|300|Wyprowadzenie zasilania z wtyczki USB. Dodatkowe szczegóły zawiera opis obrazka dostępny po jego kliknięciu.]]&lt;br /&gt;
&lt;br /&gt;
I jeszcze jedno wyjaśnienie dlaczego wyjście '''M0''' jest podłączone do masy. Chodzi o to, że zastosowany sterownik obsługuje funkcję bardzo przydatną w bardziej precyzyjnych urządzeniach. Potrafi mianowicie wykonywać tylko ułamek kroku zamiast od razu cały. Typowy silnik krokowy (taki jak nasz) wykonuje 200 kroków na pełny obrót. Ten sterownik potrafi podzielić jeden krok nawet na 32 drobniejsze, co daje aż 6400 kroków na jeden pełny obrót! W bardziej precyzyjnych urządzeniach (np. drukarce 3D) ta opcja może być przydatna, ale nam nie jest potrzebna. O tym jak dzielony jest krok decydują piny '''M0''' i '''M1''' sterownika. Jeśli '''M1''' pozostawimy niepodłączony, a na '''M0''' podamy logiczne '''0''' (czyli zero woltów, a więc właśnie '''masę''') wówczas sterownik nie będzie dzielił kroku i jeden impuls na wejściu '''STEP''' będzie powodował wykonanie 1/200 obrotu przez silnik. Dzięki temu wystarczy posłanie tylko 200 impulsów żeby obrócić koło jeden raz. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Oprogramowanie ==&lt;br /&gt;
&lt;br /&gt;
=== Pomocniczy moduł do obsługi silników ===&lt;br /&gt;
Żeby móc się skupić na programowaniu konkretnych tras do obsługi silników użyjemy gotowego, prostego modułu pythona. Jego kod można pobrać stąd: &lt;br /&gt;
&lt;br /&gt;
[[Plik:Silniki.zip]]&lt;br /&gt;
&lt;br /&gt;
Moduł zawiera kilka prostych funkcji, dzięki którym można wykonać automatycznie inicjowanie portów maliny, włączać/wyłączać silniki, wykonywać pojedynczy krok w zadanym kierunku, a nawet całe sekwencje kroków. Z jego użyciem zaprogramowanie trasy przejazdu sprowadza się do napisania po prostu instrukcji dokąd jechać. Zwróć uwagę, że choć sam plik modułu jest długi, większość to komentarze i opisy działania funkcji.&lt;br /&gt;
&lt;br /&gt;
Na wykresie połączeń elektrycznych powyżej napisane jest, że należy wybrać dowolne z wolnych portów Maliny. Jednak kod modułu obsługi silników musi znać już konkretne numery portów, bo inaczej nie byłoby jasne na które wyjścia posyłać sygnały sterujące. Dlatego w liniach 22-24 dla lewego silnika, i 26-28 dla prawego, wpisane zostały numery portów Maliny, do których podpięte są kable łączące do wyjść '''SLP''', '''STEP''', '''DIR''' sterowników. Połączenia pomiędzy Maliną ze sterownikami najprościej wykonać patrząc na tabelę zaczynającą się w linii 8. Jakieś drobne pomyłki w połączeniach nie powinny być szkodliwe, ale to jest właśnie taki moment przez który robot rusza w nieoczekiwanych momentach, dlatego lepiej zachować uwagę. Najlepiej też zrobić połączenia przed włączeniem zasilania.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# coding: utf-8&lt;br /&gt;
&lt;br /&gt;
import RPi.GPIO as gpio&lt;br /&gt;
from time import sleep&lt;br /&gt;
&lt;br /&gt;
# Poniższa numeracja pinów zakłada następujące połączenia kablowe:&lt;br /&gt;
#&lt;br /&gt;
# |   PIN MALINY  |  LEWY STEROWNIK SILNIKA | PRAWY STEROWNIK SILNIKA |&lt;br /&gt;
#  --------------- ------------------------- -------------------------&lt;br /&gt;
# |        9      |                         |          GND            |&lt;br /&gt;
# |       11      |                         |          SLP            |&lt;br /&gt;
# |       13      |                         |          STEP           | &lt;br /&gt;
# |       15      |                         |          DIR            | &lt;br /&gt;
# |               |                         |                         | &lt;br /&gt;
# |       16      |            DIR          |                         | &lt;br /&gt;
# |       18      |            STEP         |                         | &lt;br /&gt;
# |       20      |            GND          |                         | &lt;br /&gt;
# |       22      |            SLP          |                         | &lt;br /&gt;
# &lt;br /&gt;
# Oczywiście jeśli wybrało się inne wyjścia numery poniżej można &lt;br /&gt;
# (i trzeba) pozmieniać&lt;br /&gt;
PIN_SILNIK_LEWY_KIERUNEK = 16    &lt;br /&gt;
PIN_SILNIK_LEWY_KROK = 18       &lt;br /&gt;
PIN_SILNIK_LEWY_WLACZ = 22&lt;br /&gt;
&lt;br /&gt;
PIN_SILNIK_PRAWY_WLACZ = 11&lt;br /&gt;
PIN_SILNIK_PRAWY_KROK = 13&lt;br /&gt;
PIN_SILNIK_PRAWY_KIERUNEK = 15&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Stałe pozwalające czytelniej pisać kod. &lt;br /&gt;
# Zamiast krok(-1, 1) można napisać krok(TYL, PRZOD).&lt;br /&gt;
# Obie instrukcje zrobią to samo, ale druga jest czytelniejsza.&lt;br /&gt;
PRZOD = 1&lt;br /&gt;
STOP = 0&lt;br /&gt;
TYL = -1&lt;br /&gt;
&lt;br /&gt;
# Domyślny czas wykonywania kroku (5 milisekund). &lt;br /&gt;
#&lt;br /&gt;
# Przy 5 milisekundach można wykonać maksymalnie 200 kroków/s, &lt;br /&gt;
# co przy 60mm kole daje prędkość ~200mm/s. &lt;br /&gt;
#&lt;br /&gt;
# Ustawienie większej wartości daje silnikowi więcej czasu &lt;br /&gt;
# na wykonanie ruchu i jest on pewniejszy (silnik zawsze zdąży).&lt;br /&gt;
#&lt;br /&gt;
# Krótszy czas zwiększa maksymalną prędkość obrotową, ale może &lt;br /&gt;
# powodować, że pierwsza lepsza przeszkoda obciąży silnik na tyle, &lt;br /&gt;
# że nie zdąży on wykonać kroku i zablokuje się w miejscu.&lt;br /&gt;
#&lt;br /&gt;
# Poniżej 1ms silnik może się blokować nawet bez obciążenia.&lt;br /&gt;
DOMYSLNY_CZAS_KROKU = 0.005&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def przygotuj():&lt;br /&gt;
    '''&lt;br /&gt;
    Ta funkcja przygotowuje piny Maliny do komunikacji ze sterownikami &lt;br /&gt;
    silników. Należy ją wywołać na początku programu, przed wszystkimi &lt;br /&gt;
    innymi. &lt;br /&gt;
    '''&lt;br /&gt;
    gpio.setmode(gpio.BOARD)&lt;br /&gt;
    piny_sterowania_silnikow = [PIN_SILNIK_LEWY_KROK, &lt;br /&gt;
        PIN_SILNIK_LEWY_KIERUNEK, PIN_SILNIK_LEWY_WLACZ, &lt;br /&gt;
        PIN_SILNIK_PRAWY_KROK, PIN_SILNIK_PRAWY_KIERUNEK, &lt;br /&gt;
        PIN_SILNIK_PRAWY_WLACZ]&lt;br /&gt;
&lt;br /&gt;
    for pin in piny_sterowania_silnikow:    &lt;br /&gt;
        gpio.setup(pin, gpio.OUT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def podlacz(lewy = 0, prawy = 0):&lt;br /&gt;
    '''&lt;br /&gt;
    Włącza lub wyłącza zasilanie silników. Na przykład:&lt;br /&gt;
    podlacz(1,0) -- włączy zasilanie w silniku lewym i wyłączy w prawym&lt;br /&gt;
    podlacz(0,0) -- wyłączy zasilanie obu silników&lt;br /&gt;
    podlacz(1, None) -- włącza zasilanie lewego silnika nie zmieniając &lt;br /&gt;
                        stanu zasilania prawego&lt;br /&gt;
    podlacz() -- brak parametrów spowoduje przyjęcie domyślnych 0,0&lt;br /&gt;
                 a więc ta instrukcja wyłącza zasilanie obu silników&lt;br /&gt;
    '''&lt;br /&gt;
    # Przełączamy zasilanie silnika o ile wartość nie jest &lt;br /&gt;
    # nieokreślona (None)&lt;br /&gt;
    if lewy is not None:&lt;br /&gt;
        gpio.output(PIN_SILNIK_LEWY_WLACZ, lewy)&lt;br /&gt;
    if prawy is not None:&lt;br /&gt;
        gpio.output(PIN_SILNIK_PRAWY_WLACZ, prawy)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def krok(lewy, prawy, czas = None):&lt;br /&gt;
    '''&lt;br /&gt;
    Wywołanie tej funkcji wysyła impusly sterujące do sterowników silnika, &lt;br /&gt;
    które powodują wykonanie jednego kroku. &lt;br /&gt;
    &lt;br /&gt;
    Na przykład:&lt;br /&gt;
       krok(PRZOD, PRZOD) -- wykonanie kroku w przód przez oba silniki&lt;br /&gt;
       krok(PRZOD, TYL)   -- lewy silnik wykona krok w przód, a prawy w tyl, &lt;br /&gt;
                             pojazd skręci lekko w prawo w miejscu &lt;br /&gt;
       krok(PRZOD, STOP)  -- lewy silnik wykona krok w przód, a prawy &lt;br /&gt;
                             nie poruszy się&lt;br /&gt;
&lt;br /&gt;
    Jeśli nie chcemy używać domyślnego czasu wykonywania kroku (patrz opis &lt;br /&gt;
    zmiennej DOMYSLNY_CZAS_KROKU powyżej) możemy podać inną wartość czasu&lt;br /&gt;
    dla aktualnego kroku jako trzeci paramter. &lt;br /&gt;
    &lt;br /&gt;
    Na przykład:&lt;br /&gt;
       krok(PRZOD, PRZOD, 0.01) -- krok do przodu na obu silnikach z względnie&lt;br /&gt;
                                   długim czasem -- w tym trybie powinno się &lt;br /&gt;
                                   dać pokonać trudne przeszkody, które blokują&lt;br /&gt;
                                   silnik kiedy czas jest krótszy&lt;br /&gt;
    '''&lt;br /&gt;
&lt;br /&gt;
    # Zamieniamy podane polecenie na odpowiednie wartości dla pinów STEP i DIR.&lt;br /&gt;
&lt;br /&gt;
    if lewy == PRZOD:      # PRZOD: generujemy impuls kroku z pinem kierunku na 1&lt;br /&gt;
        lewy_krok = 1&lt;br /&gt;
        lewy_kierunek = 1    &lt;br /&gt;
    elif lewy == STOP:     # STOP: bez impulsu kroku, kierunek bez znaczenia&lt;br /&gt;
        lewy_krok = 0&lt;br /&gt;
        lewy_kierunek = None&lt;br /&gt;
    elif lewy == TYL:      # TYL: impuls kroku z pinem kierunku na 0  &lt;br /&gt;
        lewy_krok = 1&lt;br /&gt;
        lewy_kierunek = 0&lt;br /&gt;
    else:&lt;br /&gt;
        raise &amp;quot;Nieznane polecenie!&amp;quot;  # Nie PRZOD, nie TYL, nie STOP??? To co?   &lt;br /&gt;
&lt;br /&gt;
    # Jak wyżej, tylko dla prawego silnika. Zwróć uwagę, że pin kierunku włączany&lt;br /&gt;
    # jest odwrotnie (dla PRZOD ma wartosc 1, dla TYL 0). Wynika to z budowy &lt;br /&gt;
    # robota gdzie silniki są obrócone do siebie o 180 stopni i trzeba je obracać &lt;br /&gt;
    # w przeciwną stronę, żeby napędzały robota w tym samym kierunku.&lt;br /&gt;
    if prawy == PRZOD:       &lt;br /&gt;
        prawy_krok = 1&lt;br /&gt;
        prawy_kierunek = 0&lt;br /&gt;
    elif prawy == STOP:  &lt;br /&gt;
        prawy_krok = 0&lt;br /&gt;
        prawy_kierunek = None&lt;br /&gt;
    elif prawy == TYL:   &lt;br /&gt;
        prawy_krok = 1&lt;br /&gt;
        prawy_kierunek = 1&lt;br /&gt;
    else:&lt;br /&gt;
        raise &amp;quot;Nieznane polecenie!&amp;quot;  &lt;br /&gt;
&lt;br /&gt;
    # Jeśli czas nie jest podany ustawiamy domyślną wartość zdefiniowaną&lt;br /&gt;
    # w DOMYSLNY_CZAS_KROKU&lt;br /&gt;
    if czas is None:&lt;br /&gt;
        czas = DOMYSLNY_CZAS_KROKU&lt;br /&gt;
&lt;br /&gt;
    # I wykonanie kroku:&lt;br /&gt;
 &lt;br /&gt;
    # Najpierw ustawiamy sygnały na pinach kierunków o ile jest to potrzebne &lt;br /&gt;
    # (np. polecenie STOP nie wymaga ustawiania kierunku)&lt;br /&gt;
    if lewy_kierunek is not None:&lt;br /&gt;
        gpio.output(PIN_SILNIK_LEWY_KIERUNEK, lewy_kierunek)&lt;br /&gt;
&lt;br /&gt;
    if prawy_kierunek is not None:&lt;br /&gt;
        gpio.output(PIN_SILNIK_PRAWY_KIERUNEK, prawy_kierunek)&lt;br /&gt;
&lt;br /&gt;
    # Teraz wysyłamy impuls wykonania kroku, czyli przez połowę podanego czasu &lt;br /&gt;
    # ustawiamy pin na wyznaczoną powyżej wartość, a po chwili dajemy 0. &lt;br /&gt;
    gpio.output(PIN_SILNIK_LEWY_KROK, lewy_krok)&lt;br /&gt;
    gpio.output(PIN_SILNIK_PRAWY_KROK, prawy_krok)&lt;br /&gt;
    sleep(czas*0.5)&lt;br /&gt;
&lt;br /&gt;
    gpio.output(PIN_SILNIK_LEWY_KROK, 0)&lt;br /&gt;
    gpio.output(PIN_SILNIK_PRAWY_KROK, 0)&lt;br /&gt;
    sleep(czas*0.5)&lt;br /&gt;
&lt;br /&gt;
    # Dokładniejszy opis: &lt;br /&gt;
    #&lt;br /&gt;
    # Jeśli wyznaczona wartość ..._krok wynosiła 1, sygnał na pinie STEP skoczy &lt;br /&gt;
    # do 1 (czyli ok. 3 wolty) i potem spadnie do 0. Sterownik zinterpretuje &lt;br /&gt;
    # to jako impuls na wejściu STEP i wygeneruje odpowiednie sygnały &lt;br /&gt;
    # na wyjściach silnika, które przekręcą go o krok. &lt;br /&gt;
    #&lt;br /&gt;
    # Jeśli wartość ..._step wynosi 0, wówczas sygnał na pinie będzie cały czas &lt;br /&gt;
    # ustawiony na 0, sterownik nie otrzyma impulsu na wejściu STEP i nie &lt;br /&gt;
    # wygeneruje nowych sygnałów na wyjściu silnika, który wobec tego pozostanie &lt;br /&gt;
    # w niezmienionej pozycji.&lt;br /&gt;
    #&lt;br /&gt;
    # Wykresy napięcia jakie &amp;quot;widzi&amp;quot; wejście STEP lewego sterownika zależnie &lt;br /&gt;
    # od wartości lewy_krok:&lt;br /&gt;
    # &lt;br /&gt;
    #&lt;br /&gt;
    #                   |         1        |                  |&lt;br /&gt;
    # 3V                |   ...............|                  |&lt;br /&gt;
    #                   |  .               |                  | &lt;br /&gt;
    #  lewy_krok = 1    | .                |.                 |&lt;br /&gt;
    #                   |.                 | .      0         |&lt;br /&gt;
    # 0V ...............|                  |  ................|.............&lt;br /&gt;
    #                   |                  |                  |&lt;br /&gt;
    #                   |                  |                  |&lt;br /&gt;
    #                   |                  |                  |&lt;br /&gt;
    # 3V                |                  |                  |&lt;br /&gt;
    #                   |                  |                  | &lt;br /&gt;
    #  lewy_krok = 0    |                  |                  |&lt;br /&gt;
    #                   |         0        |        0         |&lt;br /&gt;
    # 0V ...............|..................|..................|.............&lt;br /&gt;
    #                   |                  |                  |&lt;br /&gt;
    #                     &amp;lt;-- czas*0.5 --&amp;gt;   &amp;lt;-- czas*0.5 --&amp;gt;     &lt;br /&gt;
    #&lt;br /&gt;
    #                     &amp;lt;------------  czas  -------------&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def zestaw(lewo, prawo, powtorek = 1):&lt;br /&gt;
    '''&lt;br /&gt;
    Funkcja bierze polecenie i powtarza jego wykonanie podaną ilość razy: &lt;br /&gt;
    lewo - polecenie dla lewego silnika&lt;br /&gt;
    prawo - polecenie dla prawego silnika&lt;br /&gt;
    powtorek - oznacza ile razy nalezy ten zestaw kroków powtórzyć&lt;br /&gt;
&lt;br /&gt;
    Na przykład:&lt;br /&gt;
    zestaw(PRZOD, STOP, 10)   -- wykona 10 kroków do przodu lewym silnikiem,&lt;br /&gt;
    zestaw(PRZOD, PRZOD, 200) -- wykona 200 kroków do przodu oboma silnikami,&lt;br /&gt;
                                 a więc koła obrócą się o pełny obrót  &lt;br /&gt;
    zestaw(PRZOD, TYL, 100)   -- obróci lewe koło 100 kroków do przodu, &lt;br /&gt;
                                 a prawe 100 do tyłu, a więc robot powinien &lt;br /&gt;
                                 wykonać skręt w prawo w miejscu.&lt;br /&gt;
    ''' &lt;br /&gt;
    for i in xrange(1, 1 + powtorek):&lt;br /&gt;
        krok(lewo, prawo)&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
def sekwencja(lista_zestawow):&lt;br /&gt;
    '''&lt;br /&gt;
    Czyta podaną listę i wykonuje kolejno podane w niej zestawy kroków.&lt;br /&gt;
&lt;br /&gt;
    lista_zestawów -- lista zawierająca kolejne zestawy; w pythonie &lt;br /&gt;
                      listę podaje się w nawiasach kwadratowych [] &lt;br /&gt;
                      oddzielając elementy przecinkami &lt;br /&gt;
&lt;br /&gt;
    Na przykład:&lt;br /&gt;
&lt;br /&gt;
    sekwencja([ (PRZOD, PRZOD, 400), (PRZOD, TYL, 100), (TYL, PRZOD, 100) ]) &lt;br /&gt;
&lt;br /&gt;
         -- wykona kolejno trzy zestawy: &lt;br /&gt;
            1. (PRZOD, PRZOD, 400)&lt;br /&gt;
            2. (PRZOD, TYL, 100)&lt;br /&gt;
            3. (TYL, PRZOD, 100)&lt;br /&gt;
            Pierwszy spowoduje podjechanie modelu o dwa pełne obroty kół &lt;br /&gt;
            do przodu. Drugi obrócenie lewego koła do przodu a prawego &lt;br /&gt;
            do tyłu o pół obrotu, a wiec robot skręci w miejscu w prawo. &lt;br /&gt;
            Ostatni zestaw spowoduje skręt w miejscu w przeciwną stronę &lt;br /&gt;
            - robot powróci do pierwotnego kierunku. Cała sekwencja wyglądać &lt;br /&gt;
            będzie tak jakby robot podjechał do przodu i rozejrzał się &lt;br /&gt;
            w prawo. &lt;br /&gt;
    '''&lt;br /&gt;
    for kolejny_zestaw in lista_zestawow:&lt;br /&gt;
        zestaw(*kolejny_zestaw)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Przykłady użycia ===&lt;br /&gt;
Dzięki modułowi '''silniki''' sterowanie ruchem sprowadza się do prostych instrukcji. &lt;br /&gt;
&lt;br /&gt;
Na początek spróbujmy zobaczyć instrukcję  &amp;lt;code&amp;gt;zestaw(''lewy, prawy, powtorek'')&amp;lt;/code&amp;gt; w akcji.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# coding: utf-8&lt;br /&gt;
import silniki as s&lt;br /&gt;
&lt;br /&gt;
# Przygotowanie portów Maliny do pracy&lt;br /&gt;
s.przygotuj()&lt;br /&gt;
&lt;br /&gt;
# Włączenie zasilania silników -- po tej instrukcji silniki powinny zablokować się w ustalonej pozycji&lt;br /&gt;
s.podlacz(1,1)&lt;br /&gt;
&lt;br /&gt;
# 10 obrotów kół (czyli 10*200 kroków) w przód&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 2000) &lt;br /&gt;
&lt;br /&gt;
# Jeden obrót lewego koła w przód, prawe stoi -- robot skręca w prawo&lt;br /&gt;
s.zestaw(s.PRZOD, s.STOP, 200)&lt;br /&gt;
&lt;br /&gt;
# Koniec programu, wyłączamy zasilanie silników -- po tej instrukcji koła znów obracają się lekko&lt;br /&gt;
s.podlacz(0,0)&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Po zapisaniu tego kodu w pliku &amp;lt;code&amp;gt;silniki_p1.py&amp;lt;/code&amp;gt; i wydaniu polecenia&lt;br /&gt;
&lt;br /&gt;
 pi@raspberrypi:~ $ python silniki_p1.py &lt;br /&gt;
&lt;br /&gt;
robot powinien przejechać 10 obrotów kół do przodu,  a potem skręcić w prawo. Oczywiście nie będzie to możliwe jeśli będziemy się łączyć z Maliną poprzez kabel USB dlatego w tej chwili najlepiej zdjąć koła, albo unieść je w górę i obserwować czy wykonują oczekiwane ruchy. Poniżej pokażemy gdzie wstawić powyższą instrukcję, żeby robot wykonywał podany kod zaraz po włączeniu. Wówczas będzie można podłączyć Malinę do powerbanku i oglądać wykonanie instrukcji w ruchu.&lt;br /&gt;
&lt;br /&gt;
== W akcji ==&lt;br /&gt;
Przykładowy kod sterujący i zachowaniem trzykołowca&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# coding: utf-8&lt;br /&gt;
import silniki as s&lt;br /&gt;
&lt;br /&gt;
s.przygotuj()                      # Przygotowanie pinów Maliny do wysyłania sygnałów.&lt;br /&gt;
s.podlacz(1,1)                     # Włączamy zasilanie silników, koła trudno obracać. &lt;br /&gt;
&lt;br /&gt;
s.zestaw(s.TYL, s.PRZOD, 60)       # lewe koło to tyłu, prawe do przodu o 60 kroków -- skręt w lewo&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)    # 400 kroków w przód, bok kwadratu ok. 50cm&lt;br /&gt;
s.zestaw(s.TYL, s.PRZOD, 60)       # skręt i drugi bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
s.zestaw(s.TYL, s.PRZOD, 60)       # skręt i trzeci bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
s.zestaw(s.TYL, s.PRZOD, 60)       # skręt i czwarty bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
&lt;br /&gt;
s.zestaw(s.PRZOD, s.TYL, 60)       # lewe koło w przód, prawe w tył -- skręt w prawo&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)    # robot jedzie w kierunku stopy na filmie&lt;br /&gt;
s.zestaw(s.PRZOD, s.TYL, 60)       # kolej skręt i bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
s.zestaw(s.PRZOD, s.TYL, 60)       # następny&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
s.zestaw(s.PRZOD, s.TYL, 60)       # ostatni skręt i bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
&lt;br /&gt;
# ... i tak dalej, kolejny kwadrat w lewo&lt;br /&gt;
&lt;br /&gt;
s.podlacz(0,0)           # Wyłączamy zasilanie silników, koła znów obracają się lekko&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;fSHDZ6fRyPc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Roboty]]&lt;br /&gt;
[[Category:Projekty_Pi_Zero]]&lt;br /&gt;
[[Category:Silniki_krokowe]]&lt;br /&gt;
[[Category:Moduły_elektroniczne]]&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Trzyko%C5%82owiec&amp;diff=633</id>
		<title>Trzykołowiec</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Trzyko%C5%82owiec&amp;diff=633"/>
		<updated>2019-11-20T18:43:25Z</updated>

		<summary type="html">&lt;p&gt;Isj: /* Moment obrotowy 120 mNm */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Projekt prostego programowalnego robota kołowego z dwoma silnikami. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Do czego zmierzamy ==&lt;br /&gt;
Chodzi o to, żeby względnie małym nakładem pracy uzyskać robota, którego można łatwo zaprogramować. Dzięki temu bez zbędnych komplikacji będzie można rozpocząć realną zabawę w całkiem poważną robotykę. Robot będzie się składał z dwóch, oddzielnie sterowanych silników napędowych wyposażonych w koła, oraz trzeciego podpierającego. Możliwość sterowania obrotami każdego z kół z osobna pozwala zaprogramować dowolny kierunek jazdy i tworzyć dowolne trasy przejazdu. Podstawowe możliwości, uniwersalność i przez to przydatność takiego robota pokazuje poniższy film, gdzie projektanci z firmy Microsoft użyli dokładnie takiej konstrukcji w swoich projektach. Co więcej, tak samo jak my użyli Maliny jako &amp;quot;mózgu&amp;quot; robota.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;vimeo&amp;quot;&amp;gt;126458720&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Konstrukcja ==&lt;br /&gt;
=== Silnik ===&lt;br /&gt;
[[Plik:Nema_14.jpg|thumb|right|250px|Silnik o rozmiarze NEMA 14.]]&lt;br /&gt;
Do napędu kół użyjemy silnika krokowego o następujących parametrach:&lt;br /&gt;
* rozmiar NEMA 14, czyli boki '''35x35 mm''', ponadto nasz silnik będzie miał '''34 mm długości''' i oś wystającą na 20mm o średnicy 5mm&lt;br /&gt;
* waga '''180g'''&lt;br /&gt;
* maksymalny moment obrotowy '''120 mN/m''' (miliniutonów na metr)&lt;br /&gt;
* żeby wykonać pełny obrót silnik potrzebuje '''200 kroków'''&lt;br /&gt;
* pobór prądu '''750mA'''(miliamperów) przy napięciu zasilającym '''4.35V'''&lt;br /&gt;
&lt;br /&gt;
[[Plik:Silnik_krokowy_w_środku.jpg|right|250px|thumb|Tak wygląda w środku.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zasadę działania silnika krokowego przedstawia animacja poniżej: włączamy prąd w kolejnych uzwojeniach, co wytwarza silne pole magnetyczne, które przyciąga metalowe wypustki wirnika i obraca go o pewien mały kąt. Zależnie od tego w jakiej kolejności włączamy cewki, silnik będzie się kręcił w lewo lub prawo. Dużo więcej magii w tym nie ma ;).&lt;br /&gt;
&lt;br /&gt;
[[Plik:StepperMotor.gif|center]]&lt;br /&gt;
&lt;br /&gt;
Jak widać na zdjęciu rozebranego realnego silnika, praktyczna realizacja jest trochę inna: w tym przypadku mamy 8 cewek elektromagnesów na obwodzie (miedziane zwoje drutu na dole zdjęcia), a nie 4 jak na schemacie. Jednak sama zasada pozostaje ta sama. Dodatkowe cewki i podwójny rotor jak widać na zdjęciu pozwalają poprawić siłę z jaką silnik się obraca oraz precyzję kontroli kąta obrotu. Szczegóły wyjaśnia film poniżej.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;eyqwLiowZiU&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
==== Co oznaczają podane parametry silnika? ====&lt;br /&gt;
&lt;br /&gt;
===== Wymiary i masa =====&lt;br /&gt;
&lt;br /&gt;
Z rozmiarów silnika zgodnego z normą NEMA 14 i jego masy widzimy, że choć silnik nie jest jakoś przerażająco wielki, to jest jednak całkiem solidnym kawałkiem metalu. Same dwa silniki napędowe będą ważyły 360g, a więc dodając jeszcze powerbank, możemy się spodziewać, że cały robot będzie ważył około 1kg. To oszacowanie przyda się przy projektowaniu podwozia. Dzięki niemu wiemy jaką mniej więcej powinno mieć wytrzymałość &amp;amp;mdash; w przybliżeniu powinno być sztywniejsze niż choćby karta bankomatowa.&lt;br /&gt;
&lt;br /&gt;
===== Moment obrotowy 120 mNm =====&lt;br /&gt;
[[Plik:Skalowanie_momentu_siły_na_przykładzie_silnika_nema14_120mNm.jpg|thumb|right|450px|Zwiększanie się siły koniecznej do zatrzymania silnika na przykładzie użytego silnika Nema14 o znamionowym momencie siły 120 miliniutonometrów.]]&lt;br /&gt;
Gdyby przeczytać tą liczbę brzmiałaby ''&amp;quot;sto dwadzieścia miliniutonometrów&amp;quot;''. Pierwsza część, tj. 120mN (miliniutonów) to niewielka siła, okolice ciężaru odtwarzacza mp3. Ale o jaki metr chodzi? &lt;br /&gt;
&lt;br /&gt;
O taki, jak gdyby do osi silnika przymocować metrowy patyk pod kątem prostym do osi (tak jak szprycha w kole roweru). Kiedy silnik pracowałby z całej siły wówczas koniec takiego metrowego patyka naciskałby na rękę z podaną siłą, lub jak kto woli wystarczyłoby delikatnie trzymać jego koniec, żeby silnik nie mógł się obracać. &lt;br /&gt;
&lt;br /&gt;
Łatwo wyczuć intuicyjnie, że gdyby patyk był krótszy, wówczas trzeba by było użyć większej siły, żeby powstrzymać silnik przed obracaniem się. Kto nie wierzy niech spróbuje przytrzymać koło roweru za szprychę najpierw chwytając blisko opony, a potem bliżej środka. O razu widać, że o ile trzymanie przy oponie jakoś wychodzi, to bliżej środka palce są za słabe. Fizycy mówią, że '''jeśli skracamy ramię na które działa pewien moment obrotowy, to siła na końcu ramienia proporcjonalnie rośnie'''. &lt;br /&gt;
&lt;br /&gt;
'''I to jest bardzo dobra wiadomość!''' Gdybyśmy mieli silnik pchający robota do przodu z siłą tylko 120mN moglibyśmy zapomnieć o jeździe po czymkolwiek mniej gładkim niż stół, a i to wątpliwe... Jeśli jednak skrócimy w wyobraźni metrowy patyk do połowy, siła na końcu wzrośnie proporcjonalnie do 240mN. Nadal szału nie ma, ale jest postęp.  Gdybyśmy skrócili go do &amp;lt;math&amp;gt;\frac{1}{10}&amp;lt;/math&amp;gt; metra, wówczas otrzymamy 120mN * 10 = 1200mN. Przypomnę, że ''mili'' oznacza jedną tysięczną. Czyli 1200mN to już całkiem duża siła 1.2 niutona. &lt;br /&gt;
&lt;br /&gt;
No dobrze, ale przecież nie będziemy mocować patyków na osi silnika tylko koła... To nic nie zmienia! Wystarczy sobie wyobrazić, że nakładamy na oś jeden patyk za drugim dookoła osi (znów, tak jak szprychy w kole roweru). Jeśli nawkładalibyśmy ich odpowiednio dużo powstanie w końcu koło. Na tym polega geniusz wynalazku koła, którego ludzkość  [https://pl.wikipedia.org/wiki/Ko%C5%82o_(technika) bardzo długo nie znała]. Dzięki odsunięciu osi, na której skupiony jest ciężar od podłoża, możemy przesuwać masy ze znacznie mniejszym wysiłkiem, bo cały czas stosujemy dźwignię o takiej długości jak promień koła. &lt;br /&gt;
&lt;br /&gt;
Teraz możemy wrócić do wymiarów w trójkołowcu. Jeśli użylibyśmy niewielkich kół o średnicy 2cm, wówczas promień miałby tylko 1cm, a więc 1/100 metra. Silnik pracujący z maksymalną mocą ciągnąłby pojazd na takich kołach z siłą 120 * 100 = 12000mN, czyli 12N. Z taką siłą naciska na rękę trzymane w niej 1,2 kg. Dla kół o średnicy dwa razy większej (4cm) siła spadłaby do 6N (~600g) i dla kółek o średnicy 6cm do około 4N (~400g). &lt;br /&gt;
&lt;br /&gt;
Czy to dużo czy mało? Możemy łatwo oszacować co to oznacza wyliczając możliwe przyśpieszenia robota. Dla ułatwienia przyjmijmy, że cały będzie ważył około '''1kg'''. &lt;br /&gt;
&lt;br /&gt;
Przyśpieszenie podaje zupełnie prosty wzór, sprzed ponad 300 lat,  pana [https://pl.wikipedia.org/wiki/Isaac_Newton Izaaka Newtona] (czytaj ''niuton''):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;a=\frac{F}{m}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
gdzie: &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;math&amp;gt;F&amp;lt;/math&amp;gt; to siła wyrażona w, a jakże, w '''N''' (niutonach)&lt;br /&gt;
* &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; to masa, u nas 1kg&lt;br /&gt;
* &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; to przyśpieszenie jakiego należy się spodziewać w m/s²&lt;br /&gt;
&lt;br /&gt;
Podstawiając dane dla kół o średnicy 6cm, które dają siłę pchającą 4N na jeden silnik, przy włączonym napędzie na oba koła mamy:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;a=\frac{2*4[N]}{1[kg]}=8 [m/s^2]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jeśli porównamy to z przyśpieszeniem ziemskim, wynoszącym &amp;lt;math&amp;gt;9,81 [m/s^2]&amp;lt;/math&amp;gt; widzimy, że pojazd mógłby przyśpieszać prawie tak szybko jak szybko rzeczy spadają w polu grawitacji Ziemi. Inaczej mówiąc potrzebowałby '''niecałych 3 sekund &amp;quot;do setki&amp;quot; !''' Oczywiście to tylko oszacowanie, które podaje maksymalne przyśpieszenie. W praktyce będzie ono mniejsze. Wystarczy choćby zauważyć, że nie uwzględniliśmy sił tarcia, która będzie go spowalniać. Nawet jednak gdybyśmy spadli w okolice połowy tego przyśpieszenia nadal taki napęd wydaje się sensowny.&lt;br /&gt;
&lt;br /&gt;
Niestety oprócz zdolności silnika do przyśpieszania pojazdu, która jak widzimy jest dobra, musimy uwzględnić jeszcze jedno ograniczenie &amp;amp;mdash; maksymalną prędkość z jaką silnik potrafi się obracać. Jak widać na filmie w dalszej części strony, pojazd rusza natychmiast, bez wyraźnych opóźnień, a więc przyśpieszenie jest rzeczywiście dobre. Jednak jego maksymalna prędkość nie jest wielka właśnie dlatego, że układ sterowania silnika nie może podawać impulsów sterujących dowolnie szybko. Silnik wymaga 200 impulsów na każdy pełny obrót. Szacunkowo jeśli potrafilibyśmy generować 1000 impulsów na sekundę, koło obracałoby się 5 razy w ciągu sekundy, a więc pojazd z kołami o promieniu 3cm (jak na filmie) poruszałby się z prędkością  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5[obr/s]*2*\pi*r[m]=10*3.14*0.03=0.95[m/s]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== 200 kroków na obrót =====&lt;br /&gt;
Silniki krokowe działają trochę inaczej niż zwykłe. W zwykłym wystarczy włączyć prąd i silnik się obraca. Silnikiem krokowym steruje się inaczej: podaje się odpowiednie impulsy, które powodują, że oś silnika obraca się o pewien kąt. Jak daleko obraca się oś w jednym kroku definiuje właśnie liczba kroków potrzebnych do pełnego obrotu. W przypadku naszego silnika będziemy musieli podać 200 impulsów żeby koło napędowe wykonało jeden obrót. Dzięki takiej dokładności możliwe będzie bardzo precyzyjne sterowanie odległością jaką przemierza każde koło, a przez to będzie można precyzyjnie skręcać.&lt;br /&gt;
&lt;br /&gt;
===== Parametry elektryczne =====&lt;br /&gt;
Jeśli chodzi o napięcie pracy silnika, wynoszące 4.35V, jest ono nieco mniejsze niż '''5V, którego używają porty USB, powerbank''' i którym zasilana jest Malina (przy czym część cyfrowa Maliny działa przy napięciach 0 i 3.3V). &lt;br /&gt;
&lt;br /&gt;
Możemy jednak przyjąć, że nieco wyższe napięcie zasilania jakiego użyjemy, nie będzie groźne dla uzwojeń silnika, a może poprawić prędkość z jaką silnik będzie wykonywał kolejne kroki. W normalnej sytuacji, kiedy silniki jest montowany w większej maszynie unikalibyśmy takiego &amp;quot;podkręcania&amp;quot;, ale w naszym przypadku silnik będzie pracował w otwartej przestrzeni, i pewien nadmiar wydzielanego ciepła jest dopuszczalny.&lt;br /&gt;
&lt;br /&gt;
Znaczenie poboru prądu wyjaśnimy przy okazji rozważań o baterii.&lt;br /&gt;
&lt;br /&gt;
=== Bateria ===&lt;br /&gt;
&lt;br /&gt;
Pobór prądu przez jeden silnik, który wynosi 750mA (miliamperów) oznacza, że gdybyśmy mieli baterię o pojemności 750mAh (miliamperogodzin) pojedynczy silnik mógłby działać przez godzinę. Ponieważ mamy dwa silniki i jeszcze Malinę, która również zużywa prąd, możemy oczekiwać zużycia na poziomie około 1800mAh. &lt;br /&gt;
&lt;br /&gt;
Teoretycznie więc powerbank o takiej pojemności mógłby zasilać robota przez godzinę. W praktyce producenci obiecują gruszki na wierzbie, i lepiej przyjąć co najmniej 2500mA potrzebnej pojemności na godzinę pracy robota. &lt;br /&gt;
&lt;br /&gt;
Powerbanki zwykle ładują się godzinami -- nie rzadko instrukcja podaje 8-10 godzin. Ponieważ byłoby niezbyt wygodnie po każdej godzinie testów czekać 8 godzin do kolejnego naładowania baterii, lepiej zastosować akumulator o większej pojemności niż tylko godzina użytkowania. Ostatecznie więc pobór prądu mówi nam tyle, że przydałby się akumulator o pojemności co najmniej 5000mAh. &lt;br /&gt;
&lt;br /&gt;
Ponadto musimy uwzględnić maksymalne możliwe obciążenie prądowe. Cóż z tego, że mielibyśmy pełny basen wody, jeśli dałoby się z niego czerpać tylko po jednej kropli na godzinę? Musimy więc wybrać powerbank, który będzie miał też odpowiednią wydajność. &lt;br /&gt;
&lt;br /&gt;
Dwa silniki zużywają 750mA * 2 = 1500mA. Do tego prądu trzeba dodać też Malinę, czyli co najmniej 500mA. Powerbank musi znieść obciążenie 2000mA, czyli 2A.&lt;br /&gt;
&lt;br /&gt;
=== Projekt podwozia ===&lt;br /&gt;
Wykonanie podwozia jest zadaniem do wykonania samodzielnie. ''Wszystkie chwyty dozwolone!'' Jeśli masz natchnienie, żeby ulepić podwozie z taśmy klejącej i gumy do żucia proszę bardzo. Jest tylko jedno ograniczenie -- byłoby fajnie gdyby robot zbudowany w oparciu o dostarczone części i zaprojektowane podwozie jeździł! Żeby to ograniczenie dokładniej sprecyzować umówmy się, że: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;thumb&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;thumbinner&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;thumbcaption&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#00bb44&amp;quot;&amp;gt;Części robota (oprócz Maliny) przechodzą na własność konstruktora dopiero po udowodnieniu, że robot jeździ i to zgodnie z podanym programem, czyli inaczej mówiąc '''o własnych siłach zarówno fizycznych jak i &amp;quot;umysłowych&amp;quot;.'''&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jeśli ktoś chciałby zaprojektować podwozie do wydruku na drukarce 3D (to jest możliwa opcja, nie wymaganie!) proponuję wykorzystanie programu FreeCAD. Dla ułatwienia poniżej plik wstępnie przygotowanego projektu robota. Zawiera podstawowe elementy zgodne z ich rozmiarami:&lt;br /&gt;
* płytkę Maliny&lt;br /&gt;
* silniki&lt;br /&gt;
* powerbank&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pozostaje tylko zająć się samym podwoziem i rozmieszczeniem wyżej wymienionych elementów na nim.&lt;br /&gt;
 &lt;br /&gt;
[[Plik:Trzykolowiec.fcstd]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;eAhDwQ00lHU&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Przykładowe rozwiązanie mechanicznej części robota wykonanej na drukarce 3D przedstawiają zdjęcia poniżej.&lt;br /&gt;
&lt;br /&gt;
[[Plik:Platforma_trzykołowca_wykonana_jako_wydruk_3D_--_góra.jpg|400px|thumb|left|Trzykołowiec wydrukowany na drukarce. Widok z góry.]]&lt;br /&gt;
[[Plik:Platforma_robota_wykonana_jako_wydruk_3D_--_spód.jpg|400px|thumb|right|I z dołu.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
== Elektronika ==&lt;br /&gt;
=== Opis wyprowadzeń łącza 40 pinowego ===&lt;br /&gt;
Piny złącza 40 pinowego liczy się zaczynając od kwadratowego (numer 1), a dalej &amp;quot;zygzakiem&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt; napięcie 3.3V &amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 1 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 2 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b style=&amp;quot;color:red&amp;quot;&amp;gt; napięcie 5V &amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right;color: orange&amp;quot;| I²C: SDA (dane) &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;Rezystor podciągający 1.8k do 3.3V&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 3 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 4 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b style=&amp;quot;color:red&amp;gt; napięcie 5V &amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right; color: orange&amp;quot;| I²C: SCL (taktowanie) &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;Rezystor podciągający 1.8k do 3.3V&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 5 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 6 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| GPCLK0 &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;(zegar nr 0, ogólnego przeznaczenia)&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 7 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 8 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;color: green&amp;quot;| UART0: TXD (wysyłka) &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;(na tym łączu działa konsola systemu Raspbian)&amp;lt;/small&amp;gt;&amp;lt;/em&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 9 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 10 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;color: green&amp;quot;| UART0: RXD (odbiór) &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;(na tym łączu działa konsola systemu Raspbian)&amp;lt;/small&amp;gt;&amp;lt;/em&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  11&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 12&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| PWM0/BCM18 &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;(fala prostokątna o programowalnym wypełnieniu z generatora 0)&amp;lt;/small&amp;gt;&amp;lt;/em&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  13&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 14&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  15&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 16&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt; napięcie 3.3V &amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  17&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 18&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| MOSI/BCM10 (urządzenie nadrzędne do podrzędnego na łączu SPI)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  19&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 20&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| MISO (urządzenie podrzędne do nadrzędnego na łączu SPI)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 21 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 22 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| SCLK/BCM11 (taktowanie łącza SPI)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|23 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 24 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| CE0 (linia 0 wyboru chipu łącza SLI)&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 25 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 26 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| CE1 (linia 1 wyboru chipu łącza SLI)&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| ID_SC (dane łącza I²C do pamięci EEPROM)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 27 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 28 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| ID_SC (taktowanie łącza I²C do pamięci EEPROM)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 29 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 30 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  31&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 32&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| PWM0/BCM12&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| PWM1/BCM13&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  33&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 34&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| MISO (urządzenie podrzędne do nadrzędnego na łączu SPI)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  35&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 36&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  37&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 38&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| MOSI/BCM20 (urządzenie nadrzędne do podrzędnego na łączu SPI)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  39&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 40&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;|  SCLK/BCM21 (taktowanie łącza SPI)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Powyżej zastosowane są następujące oznaczenia:&lt;br /&gt;
* '''pogrubiona czcionka''' &amp;amp;mdash; zwykłe piny elektryczne, nie działające w logice cyfrowej ponieważ nie łączą się z procesorem maliny (np. masa, napięcie 3.3V); napięcie '''3.3V''' może pełnić rolę sygnału wejściowego oznaczającego '''1''' ponieważ piny cyfrowe właśnie takiego napięcia spodziewają się jako logicznej jedynki; możliwe jest więc połączenie kablem wyjścia '''3.3V''' z którymś pinem logicznym żeby zasymulować podanie sygnału 1; można też zasilać z tego wyjścia jakieś niewielkie urządzenia np. podpiąć do niego diodę LED, której używamy jako sondy stanów logicznych i sprawdzić czy działa (wydajność zasilania 3.3V wynosi zaledwie kilkadziesiąt mA, nie należy go obciążać większymi układami)&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;'''czerwona pogrubiona czcionka'''&amp;lt;/span&amp;gt; &amp;amp;mdash;  napięcie zasilające '''5V'''; może się przydać do zasilania '''drobnych''' urządzeń (takich jakie można podłączyć do wyjścia USB z którego zasilamy malinę);  UWAGA: Napięcie '''5V''' jest '''za wysokie dla wejść procesora''' i prawie na pewno go uszkodzi! Z tego powodu nie wolno łączyć kablem tych pinów z żadnymi wejściami cyfrowymi na łączu 40-pinowym! Właśnie dlatego oznaczone jest na czerwono! najlepiej na piny 2 i 4 nasunąć kawałek izolacji i o nich zapomnieć&lt;br /&gt;
* zwykła czcionka &amp;amp;mdash; piny cyfrowe gdzie ustawienie z programu wartości '''0''' daje napięcie '''0V''', a wysłanie wartości '''1''' daje napięcie około '''3V'''&lt;br /&gt;
* kolory i opisy przy pinie &amp;amp;mdash; niektóre piny mają ustawioną jakąś domyślną funkcję w systemie Raspbian sterującym maliną; te funkcje można w większości przedefiniować, jednak w czasie włączania systemu pin działa w trybie domyślnym, dopóki go nie przedefiniujemy po swojemu - '''jest to bardzo ważne jeśli do pinu podpięte jest jakieś urządzenie ponieważ po włączeniu maliny do prądu będzie ono otrzymywać przypadkowe sygnały w trakcie wczytywania systemu co może prowadzić do uszkodzeń (np. jeśli jest to silnik ramienia robota)'''; warto zauważyć, że zmiana działania pinu generuje ostrzeżenie i na przykład polecenie &amp;lt;code&amp;gt;gpio.setup(8, gpio.OUT)&amp;lt;/code&amp;gt; (czyli ustawienie pinu 8 jako zwykłe wyjście cyfrowe) wyświetli komunikat, że pin był używany w innej roli; kolory oznaczają piny związane domyślnie z tym samym urządzeniem (np. pary dwupinowych łączy &amp;lt;b style=&amp;quot;color: orange&amp;quot;&amp;gt;I²C&amp;lt;/b&amp;gt;, czy &amp;lt;b style=&amp;quot;color: green&amp;quot;&amp;gt;UART&amp;lt;/b&amp;gt;)&lt;br /&gt;
* brak opisu &amp;amp;mdash; piny nie wykonują żadnej specjalnej funkcji w domyślnej konfiguracji Raspbiana; przy włączeniu zasilania będą ustawione na 0; można ich dowolnie używać&lt;br /&gt;
&lt;br /&gt;
=== Moduł sterownika silnika krokowego DRV8834 i jego połączenie z maliną ===&lt;br /&gt;
[[Plik:Polaczenia_elektryczne_jednego_silnika.png|thumb|800px|right]]&lt;br /&gt;
Sposób połączenia silnika, źródła zasilania, sterownika i Maliny przedstawia obrazek.&lt;br /&gt;
&lt;br /&gt;
Jak widać w naszym prostym projekcie nie używamy wszystkich wyjść sterownika. &lt;br /&gt;
&lt;br /&gt;
Na diagramie niektóre z używanych wyjść są podpisane kolorem czerwonym, a inne jasnozielonym. Chodzi o to, żeby wyraźnie pokazać, że choć tego nie widać sterownik rozdziela cały układ na dwa zupełnie różne światy:&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;'''świat silnika''' &amp;amp;mdash; tutaj krążą duże prądy (takie, które mogą spokojnie odparować cieńsze przewody!), pojawiają się wyższe napięcia (rzędu kilkunastu woltów), układy pracują z dużą mocą (silnik potrafi być nawet gorący)&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:lightgreen&amp;quot;&amp;gt;'''świat cyfrowy''' &amp;amp;mdash; tutaj nie ma wielkiego znaczenia moc sygnału, a tylko czy ustawiony jest stan '''1''' (ok. 3 wolty) czy stan '''0''' (ok. zero woltów); wszystkie elementy z tego świata spodziewają się maksymalnie kilku woltów napięcia, nie zostały zaprojektowane do obsługiwania takich wielkich obciążeń jak silniki i cały ten podsystem mógłby być zasilany z małej zegarkowej bateryjki przez miesiące, na tyle jest &amp;quot;delikatny&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ważne jest, żeby rozróżniać te dwa światy!''' Jeśli ktoś spróbowałby podłączyć silnik do tego samego pinu, który jest połączony z Maliną prawdopodobnie spaliłby i sterownik i komputer (choć Malina ma pewne zabezpieczenia przed takim brutalnym traktowaniem i czasem zdąży się wyłączyć w porę). &lt;br /&gt;
&lt;br /&gt;
Ale jest też odwrotnie. W sprzyjających warunkach &amp;quot;delikatna&amp;quot; część cyfrowa potrafi &amp;quot;zamordować&amp;quot; część dużych mocy sterującą silnikami. Jak może do tego dojść? W dokładnie taki sam sposób, jak delikatne, ale nieprzemyślane ruchy kierownicą mogą zniszczyć cały samochód. Chodzi o to, że część cyfrowa steruje systemem, który ma już jakąś niemałą energię (silnik, koła).  W przypadku projektu z diodą, jeśli kod zawierał jakąś nie do końca przemyślaną instrukcję, najgorszym co mogło się stać był brak światła lub świecenie diody w nieoczekiwany sposób. Nic ponad to. Tymczasem tutaj robot może niespodziewanie ruszyć, skręcić, cofnąć się, i tylko aktualne otoczenie decyduje o tym jak to się skończy (coś do picia, klawiatura i szalony robot to całkiem skuteczny przepis na większe wydatki). Z tego powodu najlepiej na początku ustawić robota z kołami napędowymi w powietrzu (albo bez kół), żeby odebrać mu możliwość niekontrolowanego ruszania. &lt;br /&gt;
&lt;br /&gt;
'''Trzeba też uwzględnić specyficzną cechę samego sterownika. Jego instrukcja mówi o tym, że nie wolno podłączać/odłączać przewodów silnika kiedy zasilanie silnika jest włączone (podany sygnał 1 na wyjściu SLP)'''.  Ponieważ sygnał na wyjściu '''SLP''' podaje Malina najprościej zapamiętać, że jeśli potrzebujemy odłączyć sterownik to zawsze najpierw odłączamy Malinę (czyli 8 punktową wtyczkę, która będzie po lewej stronie na diagramie), a potem silniki (czyli wtyczka po prawej, pin &amp;quot;masy&amp;quot; Maliny znajdujący się na dole tej wtyczki nie jest problemem). I w odwrotnej kolejności podłączamy sterownik, czyli najpierw silniki, potem Malinę. W ten sposób mamy zawsze pewność, że przewody silników będą wyłączane/włączane przy wyłączonym zasilaniu. &lt;br /&gt;
&lt;br /&gt;
[[Plik:Wyprowadzenie_zasilania_5V_z_wtyczki_USB.jpg|thumb|300|Wyprowadzenie zasilania z wtyczki USB. Dodatkowe szczegóły zawiera opis obrazka dostępny po jego kliknięciu.]]&lt;br /&gt;
&lt;br /&gt;
I jeszcze jedno wyjaśnienie dlaczego wyjście '''M0''' jest podłączone do masy. Chodzi o to, że zastosowany sterownik obsługuje funkcję bardzo przydatną w bardziej precyzyjnych urządzeniach. Potrafi mianowicie wykonywać tylko ułamek kroku zamiast od razu cały. Typowy silnik krokowy (taki jak nasz) wykonuje 200 kroków na pełny obrót. Ten sterownik potrafi podzielić jeden krok nawet na 32 drobniejsze, co daje aż 6400 kroków na jeden pełny obrót! W bardziej precyzyjnych urządzeniach (np. drukarce 3D) ta opcja może być przydatna, ale nam nie jest potrzebna. O tym jak dzielony jest krok decydują piny '''M0''' i '''M1''' sterownika. Jeśli '''M1''' pozostawimy niepodłączony, a na '''M0''' podamy logiczne '''0''' (czyli zero woltów, a więc właśnie '''masę''') wówczas sterownik nie będzie dzielił kroku i jeden impuls na wejściu '''STEP''' będzie powodował wykonanie 1/200 obrotu przez silnik. Dzięki temu wystarczy posłanie tylko 200 impulsów żeby obrócić koło jeden raz. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Oprogramowanie ==&lt;br /&gt;
&lt;br /&gt;
=== Pomocniczy moduł do obsługi silników ===&lt;br /&gt;
Żeby móc się skupić na programowaniu konkretnych tras do obsługi silników użyjemy gotowego, prostego modułu pythona. Jego kod można pobrać stąd: &lt;br /&gt;
&lt;br /&gt;
[[Plik:Silniki.zip]]&lt;br /&gt;
&lt;br /&gt;
Moduł zawiera kilka prostych funkcji, dzięki którym można wykonać automatycznie inicjowanie portów maliny, włączać/wyłączać silniki, wykonywać pojedynczy krok w zadanym kierunku, a nawet całe sekwencje kroków. Z jego użyciem zaprogramowanie trasy przejazdu sprowadza się do napisania po prostu instrukcji dokąd jechać. Zwróć uwagę, że choć sam plik modułu jest długi, większość to komentarze i opisy działania funkcji.&lt;br /&gt;
&lt;br /&gt;
Na wykresie połączeń elektrycznych powyżej napisane jest, że należy wybrać dowolne z wolnych portów Maliny. Jednak kod modułu obsługi silników musi znać już konkretne numery portów, bo inaczej nie byłoby jasne na które wyjścia posyłać sygnały sterujące. Dlatego w liniach 22-24 dla lewego silnika, i 26-28 dla prawego, wpisane zostały numery portów Maliny, do których podpięte są kable łączące do wyjść '''SLP''', '''STEP''', '''DIR''' sterowników. Połączenia pomiędzy Maliną ze sterownikami najprościej wykonać patrząc na tabelę zaczynającą się w linii 8. Jakieś drobne pomyłki w połączeniach nie powinny być szkodliwe, ale to jest właśnie taki moment przez który robot rusza w nieoczekiwanych momentach, dlatego lepiej zachować uwagę. Najlepiej też zrobić połączenia przed włączeniem zasilania.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# coding: utf-8&lt;br /&gt;
&lt;br /&gt;
import RPi.GPIO as gpio&lt;br /&gt;
from time import sleep&lt;br /&gt;
&lt;br /&gt;
# Poniższa numeracja pinów zakłada następujące połączenia kablowe:&lt;br /&gt;
#&lt;br /&gt;
# |   PIN MALINY  |  LEWY STEROWNIK SILNIKA | PRAWY STEROWNIK SILNIKA |&lt;br /&gt;
#  --------------- ------------------------- -------------------------&lt;br /&gt;
# |        9      |                         |          GND            |&lt;br /&gt;
# |       11      |                         |          SLP            |&lt;br /&gt;
# |       13      |                         |          STEP           | &lt;br /&gt;
# |       15      |                         |          DIR            | &lt;br /&gt;
# |               |                         |                         | &lt;br /&gt;
# |       16      |            DIR          |                         | &lt;br /&gt;
# |       18      |            STEP         |                         | &lt;br /&gt;
# |       20      |            GND          |                         | &lt;br /&gt;
# |       22      |            SLP          |                         | &lt;br /&gt;
# &lt;br /&gt;
# Oczywiście jeśli wybrało się inne wyjścia numery poniżej można &lt;br /&gt;
# (i trzeba) pozmieniać&lt;br /&gt;
PIN_SILNIK_LEWY_KIERUNEK = 16    &lt;br /&gt;
PIN_SILNIK_LEWY_KROK = 18       &lt;br /&gt;
PIN_SILNIK_LEWY_WLACZ = 22&lt;br /&gt;
&lt;br /&gt;
PIN_SILNIK_PRAWY_WLACZ = 11&lt;br /&gt;
PIN_SILNIK_PRAWY_KROK = 13&lt;br /&gt;
PIN_SILNIK_PRAWY_KIERUNEK = 15&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Stałe pozwalające czytelniej pisać kod. &lt;br /&gt;
# Zamiast krok(-1, 1) można napisać krok(TYL, PRZOD).&lt;br /&gt;
# Obie instrukcje zrobią to samo, ale druga jest czytelniejsza.&lt;br /&gt;
PRZOD = 1&lt;br /&gt;
STOP = 0&lt;br /&gt;
TYL = -1&lt;br /&gt;
&lt;br /&gt;
# Domyślny czas wykonywania kroku (5 milisekund). &lt;br /&gt;
#&lt;br /&gt;
# Przy 5 milisekundach można wykonać maksymalnie 200 kroków/s, &lt;br /&gt;
# co przy 60mm kole daje prędkość ~200mm/s. &lt;br /&gt;
#&lt;br /&gt;
# Ustawienie większej wartości daje silnikowi więcej czasu &lt;br /&gt;
# na wykonanie ruchu i jest on pewniejszy (silnik zawsze zdąży).&lt;br /&gt;
#&lt;br /&gt;
# Krótszy czas zwiększa maksymalną prędkość obrotową, ale może &lt;br /&gt;
# powodować, że pierwsza lepsza przeszkoda obciąży silnik na tyle, &lt;br /&gt;
# że nie zdąży on wykonać kroku i zablokuje się w miejscu.&lt;br /&gt;
#&lt;br /&gt;
# Poniżej 1ms silnik może się blokować nawet bez obciążenia.&lt;br /&gt;
DOMYSLNY_CZAS_KROKU = 0.005&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def przygotuj():&lt;br /&gt;
    '''&lt;br /&gt;
    Ta funkcja przygotowuje piny Maliny do komunikacji ze sterownikami &lt;br /&gt;
    silników. Należy ją wywołać na początku programu, przed wszystkimi &lt;br /&gt;
    innymi. &lt;br /&gt;
    '''&lt;br /&gt;
    gpio.setmode(gpio.BOARD)&lt;br /&gt;
    piny_sterowania_silnikow = [PIN_SILNIK_LEWY_KROK, &lt;br /&gt;
        PIN_SILNIK_LEWY_KIERUNEK, PIN_SILNIK_LEWY_WLACZ, &lt;br /&gt;
        PIN_SILNIK_PRAWY_KROK, PIN_SILNIK_PRAWY_KIERUNEK, &lt;br /&gt;
        PIN_SILNIK_PRAWY_WLACZ]&lt;br /&gt;
&lt;br /&gt;
    for pin in piny_sterowania_silnikow:    &lt;br /&gt;
        gpio.setup(pin, gpio.OUT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def podlacz(lewy = 0, prawy = 0):&lt;br /&gt;
    '''&lt;br /&gt;
    Włącza lub wyłącza zasilanie silników. Na przykład:&lt;br /&gt;
    podlacz(1,0) -- włączy zasilanie w silniku lewym i wyłączy w prawym&lt;br /&gt;
    podlacz(0,0) -- wyłączy zasilanie obu silników&lt;br /&gt;
    podlacz(1, None) -- włącza zasilanie lewego silnika nie zmieniając &lt;br /&gt;
                        stanu zasilania prawego&lt;br /&gt;
    podlacz() -- brak parametrów spowoduje przyjęcie domyślnych 0,0&lt;br /&gt;
                 a więc ta instrukcja wyłącza zasilanie obu silników&lt;br /&gt;
    '''&lt;br /&gt;
    # Przełączamy zasilanie silnika o ile wartość nie jest &lt;br /&gt;
    # nieokreślona (None)&lt;br /&gt;
    if lewy is not None:&lt;br /&gt;
        gpio.output(PIN_SILNIK_LEWY_WLACZ, lewy)&lt;br /&gt;
    if prawy is not None:&lt;br /&gt;
        gpio.output(PIN_SILNIK_PRAWY_WLACZ, prawy)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def krok(lewy, prawy, czas = None):&lt;br /&gt;
    '''&lt;br /&gt;
    Wywołanie tej funkcji wysyła impusly sterujące do sterowników silnika, &lt;br /&gt;
    które powodują wykonanie jednego kroku. &lt;br /&gt;
    &lt;br /&gt;
    Na przykład:&lt;br /&gt;
       krok(PRZOD, PRZOD) -- wykonanie kroku w przód przez oba silniki&lt;br /&gt;
       krok(PRZOD, TYL)   -- lewy silnik wykona krok w przód, a prawy w tyl, &lt;br /&gt;
                             pojazd skręci lekko w prawo w miejscu &lt;br /&gt;
       krok(PRZOD, STOP)  -- lewy silnik wykona krok w przód, a prawy &lt;br /&gt;
                             nie poruszy się&lt;br /&gt;
&lt;br /&gt;
    Jeśli nie chcemy używać domyślnego czasu wykonywania kroku (patrz opis &lt;br /&gt;
    zmiennej DOMYSLNY_CZAS_KROKU powyżej) możemy podać inną wartość czasu&lt;br /&gt;
    dla aktualnego kroku jako trzeci paramter. &lt;br /&gt;
    &lt;br /&gt;
    Na przykład:&lt;br /&gt;
       krok(PRZOD, PRZOD, 0.01) -- krok do przodu na obu silnikach z względnie&lt;br /&gt;
                                   długim czasem -- w tym trybie powinno się &lt;br /&gt;
                                   dać pokonać trudne przeszkody, które blokują&lt;br /&gt;
                                   silnik kiedy czas jest krótszy&lt;br /&gt;
    '''&lt;br /&gt;
&lt;br /&gt;
    # Zamieniamy podane polecenie na odpowiednie wartości dla pinów STEP i DIR.&lt;br /&gt;
&lt;br /&gt;
    if lewy == PRZOD:      # PRZOD: generujemy impuls kroku z pinem kierunku na 1&lt;br /&gt;
        lewy_krok = 1&lt;br /&gt;
        lewy_kierunek = 1    &lt;br /&gt;
    elif lewy == STOP:     # STOP: bez impulsu kroku, kierunek bez znaczenia&lt;br /&gt;
        lewy_krok = 0&lt;br /&gt;
        lewy_kierunek = None&lt;br /&gt;
    elif lewy == TYL:      # TYL: impuls kroku z pinem kierunku na 0  &lt;br /&gt;
        lewy_krok = 1&lt;br /&gt;
        lewy_kierunek = 0&lt;br /&gt;
    else:&lt;br /&gt;
        raise &amp;quot;Nieznane polecenie!&amp;quot;  # Nie PRZOD, nie TYL, nie STOP??? To co?   &lt;br /&gt;
&lt;br /&gt;
    # Jak wyżej, tylko dla prawego silnika. Zwróć uwagę, że pin kierunku włączany&lt;br /&gt;
    # jest odwrotnie (dla PRZOD ma wartosc 1, dla TYL 0). Wynika to z budowy &lt;br /&gt;
    # robota gdzie silniki są obrócone do siebie o 180 stopni i trzeba je obracać &lt;br /&gt;
    # w przeciwną stronę, żeby napędzały robota w tym samym kierunku.&lt;br /&gt;
    if prawy == PRZOD:       &lt;br /&gt;
        prawy_krok = 1&lt;br /&gt;
        prawy_kierunek = 0&lt;br /&gt;
    elif prawy == STOP:  &lt;br /&gt;
        prawy_krok = 0&lt;br /&gt;
        prawy_kierunek = None&lt;br /&gt;
    elif prawy == TYL:   &lt;br /&gt;
        prawy_krok = 1&lt;br /&gt;
        prawy_kierunek = 1&lt;br /&gt;
    else:&lt;br /&gt;
        raise &amp;quot;Nieznane polecenie!&amp;quot;  &lt;br /&gt;
&lt;br /&gt;
    # Jeśli czas nie jest podany ustawiamy domyślną wartość zdefiniowaną&lt;br /&gt;
    # w DOMYSLNY_CZAS_KROKU&lt;br /&gt;
    if czas is None:&lt;br /&gt;
        czas = DOMYSLNY_CZAS_KROKU&lt;br /&gt;
&lt;br /&gt;
    # I wykonanie kroku:&lt;br /&gt;
 &lt;br /&gt;
    # Najpierw ustawiamy sygnały na pinach kierunków o ile jest to potrzebne &lt;br /&gt;
    # (np. polecenie STOP nie wymaga ustawiania kierunku)&lt;br /&gt;
    if lewy_kierunek is not None:&lt;br /&gt;
        gpio.output(PIN_SILNIK_LEWY_KIERUNEK, lewy_kierunek)&lt;br /&gt;
&lt;br /&gt;
    if prawy_kierunek is not None:&lt;br /&gt;
        gpio.output(PIN_SILNIK_PRAWY_KIERUNEK, prawy_kierunek)&lt;br /&gt;
&lt;br /&gt;
    # Teraz wysyłamy impuls wykonania kroku, czyli przez połowę podanego czasu &lt;br /&gt;
    # ustawiamy pin na wyznaczoną powyżej wartość, a po chwili dajemy 0. &lt;br /&gt;
    gpio.output(PIN_SILNIK_LEWY_KROK, lewy_krok)&lt;br /&gt;
    gpio.output(PIN_SILNIK_PRAWY_KROK, prawy_krok)&lt;br /&gt;
    sleep(czas*0.5)&lt;br /&gt;
&lt;br /&gt;
    gpio.output(PIN_SILNIK_LEWY_KROK, 0)&lt;br /&gt;
    gpio.output(PIN_SILNIK_PRAWY_KROK, 0)&lt;br /&gt;
    sleep(czas*0.5)&lt;br /&gt;
&lt;br /&gt;
    # Dokładniejszy opis: &lt;br /&gt;
    #&lt;br /&gt;
    # Jeśli wyznaczona wartość ..._krok wynosiła 1, sygnał na pinie STEP skoczy &lt;br /&gt;
    # do 1 (czyli ok. 3 wolty) i potem spadnie do 0. Sterownik zinterpretuje &lt;br /&gt;
    # to jako impuls na wejściu STEP i wygeneruje odpowiednie sygnały &lt;br /&gt;
    # na wyjściach silnika, które przekręcą go o krok. &lt;br /&gt;
    #&lt;br /&gt;
    # Jeśli wartość ..._step wynosi 0, wówczas sygnał na pinie będzie cały czas &lt;br /&gt;
    # ustawiony na 0, sterownik nie otrzyma impulsu na wejściu STEP i nie &lt;br /&gt;
    # wygeneruje nowych sygnałów na wyjściu silnika, który wobec tego pozostanie &lt;br /&gt;
    # w niezmienionej pozycji.&lt;br /&gt;
    #&lt;br /&gt;
    # Wykresy napięcia jakie &amp;quot;widzi&amp;quot; wejście STEP lewego sterownika zależnie &lt;br /&gt;
    # od wartości lewy_krok:&lt;br /&gt;
    # &lt;br /&gt;
    #&lt;br /&gt;
    #                   |         1        |                  |&lt;br /&gt;
    # 3V                |   ...............|                  |&lt;br /&gt;
    #                   |  .               |                  | &lt;br /&gt;
    #  lewy_krok = 1    | .                |.                 |&lt;br /&gt;
    #                   |.                 | .      0         |&lt;br /&gt;
    # 0V ...............|                  |  ................|.............&lt;br /&gt;
    #                   |                  |                  |&lt;br /&gt;
    #                   |                  |                  |&lt;br /&gt;
    #                   |                  |                  |&lt;br /&gt;
    # 3V                |                  |                  |&lt;br /&gt;
    #                   |                  |                  | &lt;br /&gt;
    #  lewy_krok = 0    |                  |                  |&lt;br /&gt;
    #                   |         0        |        0         |&lt;br /&gt;
    # 0V ...............|..................|..................|.............&lt;br /&gt;
    #                   |                  |                  |&lt;br /&gt;
    #                     &amp;lt;-- czas*0.5 --&amp;gt;   &amp;lt;-- czas*0.5 --&amp;gt;     &lt;br /&gt;
    #&lt;br /&gt;
    #                     &amp;lt;------------  czas  -------------&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def zestaw(lewo, prawo, powtorek = 1):&lt;br /&gt;
    '''&lt;br /&gt;
    Funkcja bierze polecenie i powtarza jego wykonanie podaną ilość razy: &lt;br /&gt;
    lewo - polecenie dla lewego silnika&lt;br /&gt;
    prawo - polecenie dla prawego silnika&lt;br /&gt;
    powtorek - oznacza ile razy nalezy ten zestaw kroków powtórzyć&lt;br /&gt;
&lt;br /&gt;
    Na przykład:&lt;br /&gt;
    zestaw(PRZOD, STOP, 10)   -- wykona 10 kroków do przodu lewym silnikiem,&lt;br /&gt;
    zestaw(PRZOD, PRZOD, 200) -- wykona 200 kroków do przodu oboma silnikami,&lt;br /&gt;
                                 a więc koła obrócą się o pełny obrót  &lt;br /&gt;
    zestaw(PRZOD, TYL, 100)   -- obróci lewe koło 100 kroków do przodu, &lt;br /&gt;
                                 a prawe 100 do tyłu, a więc robot powinien &lt;br /&gt;
                                 wykonać skręt w prawo w miejscu.&lt;br /&gt;
    ''' &lt;br /&gt;
    for i in xrange(1, 1 + powtorek):&lt;br /&gt;
        krok(lewo, prawo)&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
def sekwencja(lista_zestawow):&lt;br /&gt;
    '''&lt;br /&gt;
    Czyta podaną listę i wykonuje kolejno podane w niej zestawy kroków.&lt;br /&gt;
&lt;br /&gt;
    lista_zestawów -- lista zawierająca kolejne zestawy; w pythonie &lt;br /&gt;
                      listę podaje się w nawiasach kwadratowych [] &lt;br /&gt;
                      oddzielając elementy przecinkami &lt;br /&gt;
&lt;br /&gt;
    Na przykład:&lt;br /&gt;
&lt;br /&gt;
    sekwencja([ (PRZOD, PRZOD, 400), (PRZOD, TYL, 100), (TYL, PRZOD, 100) ]) &lt;br /&gt;
&lt;br /&gt;
         -- wykona kolejno trzy zestawy: &lt;br /&gt;
            1. (PRZOD, PRZOD, 400)&lt;br /&gt;
            2. (PRZOD, TYL, 100)&lt;br /&gt;
            3. (TYL, PRZOD, 100)&lt;br /&gt;
            Pierwszy spowoduje podjechanie modelu o dwa pełne obroty kół &lt;br /&gt;
            do przodu. Drugi obrócenie lewego koła do przodu a prawego &lt;br /&gt;
            do tyłu o pół obrotu, a wiec robot skręci w miejscu w prawo. &lt;br /&gt;
            Ostatni zestaw spowoduje skręt w miejscu w przeciwną stronę &lt;br /&gt;
            - robot powróci do pierwotnego kierunku. Cała sekwencja wyglądać &lt;br /&gt;
            będzie tak jakby robot podjechał do przodu i rozejrzał się &lt;br /&gt;
            w prawo. &lt;br /&gt;
    '''&lt;br /&gt;
    for kolejny_zestaw in lista_zestawow:&lt;br /&gt;
        zestaw(*kolejny_zestaw)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Przykłady użycia ===&lt;br /&gt;
Dzięki modułowi '''silniki''' sterowanie ruchem sprowadza się do prostych instrukcji. &lt;br /&gt;
&lt;br /&gt;
Na początek spróbujmy zobaczyć instrukcję  &amp;lt;code&amp;gt;zestaw(''lewy, prawy, powtorek'')&amp;lt;/code&amp;gt; w akcji.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# coding: utf-8&lt;br /&gt;
import silniki as s&lt;br /&gt;
&lt;br /&gt;
# Przygotowanie portów Maliny do pracy&lt;br /&gt;
s.przygotuj()&lt;br /&gt;
&lt;br /&gt;
# Włączenie zasilania silników -- po tej instrukcji silniki powinny zablokować się w ustalonej pozycji&lt;br /&gt;
s.podlacz(1,1)&lt;br /&gt;
&lt;br /&gt;
# 10 obrotów kół (czyli 10*200 kroków) w przód&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 2000) &lt;br /&gt;
&lt;br /&gt;
# Jeden obrót lewego koła w przód, prawe stoi -- robot skręca w prawo&lt;br /&gt;
s.zestaw(s.PRZOD, s.STOP, 200)&lt;br /&gt;
&lt;br /&gt;
# Koniec programu, wyłączamy zasilanie silników -- po tej instrukcji koła znów obracają się lekko&lt;br /&gt;
s.podlacz(0,0)&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Po zapisaniu tego kodu w pliku &amp;lt;code&amp;gt;silniki_p1.py&amp;lt;/code&amp;gt; i wydaniu polecenia&lt;br /&gt;
&lt;br /&gt;
 pi@raspberrypi:~ $ python silniki_p1.py &lt;br /&gt;
&lt;br /&gt;
robot powinien przejechać 10 obrotów kół do przodu,  a potem skręcić w prawo. Oczywiście nie będzie to możliwe jeśli będziemy się łączyć z Maliną poprzez kabel USB dlatego w tej chwili najlepiej zdjąć koła, albo unieść je w górę i obserwować czy wykonują oczekiwane ruchy. Poniżej pokażemy gdzie wstawić powyższą instrukcję, żeby robot wykonywał podany kod zaraz po włączeniu. Wówczas będzie można podłączyć Malinę do powerbanku i oglądać wykonanie instrukcji w ruchu.&lt;br /&gt;
&lt;br /&gt;
== W akcji ==&lt;br /&gt;
Przykładowy kod sterujący i zachowaniem trzykołowca&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# coding: utf-8&lt;br /&gt;
import silniki as s&lt;br /&gt;
&lt;br /&gt;
s.przygotuj()                      # Przygotowanie pinów Maliny do wysyłania sygnałów.&lt;br /&gt;
s.podlacz(1,1)                     # Włączamy zasilanie silników, koła trudno obracać. &lt;br /&gt;
&lt;br /&gt;
s.zestaw(s.TYL, s.PRZOD, 60)       # lewe koło to tyłu, prawe do przodu o 60 kroków -- skręt w lewo&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)    # 400 kroków w przód, bok kwadratu ok. 50cm&lt;br /&gt;
s.zestaw(s.TYL, s.PRZOD, 60)       # skręt i drugi bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
s.zestaw(s.TYL, s.PRZOD, 60)       # skręt i trzeci bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
s.zestaw(s.TYL, s.PRZOD, 60)       # skręt i czwarty bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
&lt;br /&gt;
s.zestaw(s.PRZOD, s.TYL, 60)       # lewe koło w przód, prawe w tył -- skręt w prawo&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)    # robot jedzie w kierunku stopy na filmie&lt;br /&gt;
s.zestaw(s.PRZOD, s.TYL, 60)       # kolej skręt i bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
s.zestaw(s.PRZOD, s.TYL, 60)       # następny&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
s.zestaw(s.PRZOD, s.TYL, 60)       # ostatni skręt i bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
&lt;br /&gt;
# ... i tak dalej, kolejny kwadrat w lewo&lt;br /&gt;
&lt;br /&gt;
s.podlacz(0,0)           # Wyłączamy zasilanie silników, koła znów obracają się lekko&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;fSHDZ6fRyPc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Roboty]]&lt;br /&gt;
[[Category:Projekty_Pi_Zero]]&lt;br /&gt;
[[Category:Silniki_krokowe]]&lt;br /&gt;
[[Category:Moduły_elektroniczne]]&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Trzyko%C5%82owiec&amp;diff=632</id>
		<title>Trzykołowiec</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Trzyko%C5%82owiec&amp;diff=632"/>
		<updated>2019-11-20T18:41:06Z</updated>

		<summary type="html">&lt;p&gt;Isj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Projekt prostego programowalnego robota kołowego z dwoma silnikami. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Do czego zmierzamy ==&lt;br /&gt;
Chodzi o to, żeby względnie małym nakładem pracy uzyskać robota, którego można łatwo zaprogramować. Dzięki temu bez zbędnych komplikacji będzie można rozpocząć realną zabawę w całkiem poważną robotykę. Robot będzie się składał z dwóch, oddzielnie sterowanych silników napędowych wyposażonych w koła, oraz trzeciego podpierającego. Możliwość sterowania obrotami każdego z kół z osobna pozwala zaprogramować dowolny kierunek jazdy i tworzyć dowolne trasy przejazdu. Podstawowe możliwości, uniwersalność i przez to przydatność takiego robota pokazuje poniższy film, gdzie projektanci z firmy Microsoft użyli dokładnie takiej konstrukcji w swoich projektach. Co więcej, tak samo jak my użyli Maliny jako &amp;quot;mózgu&amp;quot; robota.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;vimeo&amp;quot;&amp;gt;126458720&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Konstrukcja ==&lt;br /&gt;
=== Silnik ===&lt;br /&gt;
[[Plik:Nema_14.jpg|thumb|right|250px|Silnik o rozmiarze NEMA 14.]]&lt;br /&gt;
Do napędu kół użyjemy silnika krokowego o następujących parametrach:&lt;br /&gt;
* rozmiar NEMA 14, czyli boki '''35x35 mm''', ponadto nasz silnik będzie miał '''34 mm długości''' i oś wystającą na 20mm o średnicy 5mm&lt;br /&gt;
* waga '''180g'''&lt;br /&gt;
* maksymalny moment obrotowy '''120 mN/m''' (miliniutonów na metr)&lt;br /&gt;
* żeby wykonać pełny obrót silnik potrzebuje '''200 kroków'''&lt;br /&gt;
* pobór prądu '''750mA'''(miliamperów) przy napięciu zasilającym '''4.35V'''&lt;br /&gt;
&lt;br /&gt;
[[Plik:Silnik_krokowy_w_środku.jpg|right|250px|thumb|Tak wygląda w środku.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zasadę działania silnika krokowego przedstawia animacja poniżej: włączamy prąd w kolejnych uzwojeniach, co wytwarza silne pole magnetyczne, które przyciąga metalowe wypustki wirnika i obraca go o pewien mały kąt. Zależnie od tego w jakiej kolejności włączamy cewki, silnik będzie się kręcił w lewo lub prawo. Dużo więcej magii w tym nie ma ;).&lt;br /&gt;
&lt;br /&gt;
[[Plik:StepperMotor.gif|center]]&lt;br /&gt;
&lt;br /&gt;
Jak widać na zdjęciu rozebranego realnego silnika, praktyczna realizacja jest trochę inna: w tym przypadku mamy 8 cewek elektromagnesów na obwodzie (miedziane zwoje drutu na dole zdjęcia), a nie 4 jak na schemacie. Jednak sama zasada pozostaje ta sama. Dodatkowe cewki i podwójny rotor jak widać na zdjęciu pozwalają poprawić siłę z jaką silnik się obraca oraz precyzję kontroli kąta obrotu. Szczegóły wyjaśnia film poniżej.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;eyqwLiowZiU&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
==== Co oznaczają podane parametry silnika? ====&lt;br /&gt;
&lt;br /&gt;
===== Wymiary i masa =====&lt;br /&gt;
&lt;br /&gt;
Z rozmiarów silnika zgodnego z normą NEMA 14 i jego masy widzimy, że choć silnik nie jest jakoś przerażająco wielki, to jest jednak całkiem solidnym kawałkiem metalu. Same dwa silniki napędowe będą ważyły 360g, a więc dodając jeszcze powerbank, możemy się spodziewać, że cały robot będzie ważył około 1kg. To oszacowanie przyda się przy projektowaniu podwozia. Dzięki niemu wiemy jaką mniej więcej powinno mieć wytrzymałość &amp;amp;mdash; w przybliżeniu powinno być sztywniejsze niż choćby karta bankomatowa.&lt;br /&gt;
&lt;br /&gt;
===== Moment obrotowy 120 mNm =====&lt;br /&gt;
[[Plik:Skalowanie_momentu_siły_na_przykładzie_silnika_nema14_120mNm.jpg|thumb|right|450px|Zwiększanie się siły koniecznej do zatrzymania silnika na przykładzie użytego silnika Nema14 o znamionowym momencie siły 120 miliniutonometrów.]]&lt;br /&gt;
Gdyby przeczytać tą liczbę brzmiałaby ''&amp;quot;sto dwadzieścia miliniutonometrów&amp;quot;''. Pierwsza część, tj. 120mN (miliniutonów) to niewielka siła, okolice ciężaru odtwarzacza mp3. Ale o jaki metr chodzi? &lt;br /&gt;
&lt;br /&gt;
O taki, jak gdyby do osi silnika przymocować metrowy patyk pod kątem prostym do osi (tak jak szprycha w kole roweru). Kiedy silnik pracowałby z całej siły wówczas koniec takiego metrowego patyka naciskałby na rękę z podaną siłą, lub jak kto woli wystarczyłoby delikatnie trzymać jego koniec, żeby silnik nie mógł się obracać. &lt;br /&gt;
&lt;br /&gt;
Łatwo wyczuć intuicyjnie, że gdyby patyk był krótszy, wówczas trzeba by było użyć większej siły, żeby powstrzymać silnik przed obracaniem się. Kto nie wierzy niech spróbuje przytrzymać koło roweru za szprychę najpierw chwytając blisko opony, a potem bliżej środka. O razu widać, że o ile trzymanie przy oponie jakoś wychodzi, to bliżej środka palce są za słabe. Fizycy mówią, że '''jeśli skracamy ramię na które działa pewien moment obrotowy, to siła na końcu ramienia proporcjonalnie rośnie'''. &lt;br /&gt;
&lt;br /&gt;
'''I to jest bardzo dobra wiadomość!''' Gdybyśmy mieli silnik pchający robota do przodu z siłą tylko 120mN moglibyśmy zapomnieć o jeździe po czymkolwiek mniej gładkim niż stół, a i to wątpliwe... Jeśli jednak skrócimy w wyobraźni metrowy patyk do połowy, siła na końcu wzrośnie proporcjonalnie do 240mN. Nadal szału nie ma, ale jest postęp.  Gdybyśmy skrócili go do &amp;lt;math&amp;gt;\frac{1}{10}&amp;lt;/math&amp;gt; metra, wówczas otrzymamy 120mN * 10 = 1200mN. Przypomnę, że ''mili'' oznacza jedną tysięczną. Czyli 1200mN to już całkiem duża siła 1.2 niutona. &lt;br /&gt;
&lt;br /&gt;
No dobrze, ale przecież nie będziemy używać patyków, tylko koła... To nic nie zmienia! Wystarczy sobie wyobrazić, że nakładamy na oś jeden patyk za drugim dookoła osi (znów, tak jak szprychy w kole roweru). Jeśli nawkładalibyśmy ich odpowiednio dużo powstanie w końcu koło. Na tym polega geniusz wynalazku koła, którego ludzkość  [https://pl.wikipedia.org/wiki/Ko%C5%82o_(technika) bardzo długo nie znała]. Dzięki odsunięciu osi, na której skupiony jest ciężar od podłoża, możemy przesuwać masy ze znacznie mniejszym wysiłkiem, bo cały czas stosujemy dźwignię o takiej długości jak promień koła. &lt;br /&gt;
&lt;br /&gt;
Teraz możemy wrócić do wymiarów w trójkołowcu. Jeśli użylibyśmy niewielkich kół o średnicy 2cm, wówczas promień miałby tylko 1cm, a więc 1/100 metra. Silnik pracujący z maksymalną mocą ciągnąłby pojazd na takich kołach z siłą 120 * 100 = 12000mN, czyli 12N. Z taką siłą naciska na rękę trzymane w niej 1,2 kg. Dla kół o średnicy dwa razy większej (4cm) siła spadłaby do 6N (~600g) i dla kółek o średnicy 6cm do około 4N (~400g). &lt;br /&gt;
&lt;br /&gt;
Czy to dużo czy mało? Możemy łatwo oszacować co to oznacza wyliczając możliwe przyśpieszenia robota. Dla ułatwienia przyjmijmy, że cały będzie ważył około '''1kg'''. &lt;br /&gt;
&lt;br /&gt;
Przyśpieszenie podaje zupełnie prosty wzór, sprzed ponad 300 lat,  pana [https://pl.wikipedia.org/wiki/Isaac_Newton Izaaka Newtona] (czytaj ''niuton''):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;a=\frac{F}{m}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
gdzie: &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;math&amp;gt;F&amp;lt;/math&amp;gt; to siła wyrażona w, a jakże, w '''N''' (niutonach)&lt;br /&gt;
* &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; to masa, u nas 1kg&lt;br /&gt;
* &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; to przyśpieszenie jakiego należy się spodziewać w m/s²&lt;br /&gt;
&lt;br /&gt;
Podstawiając dane dla kół o średnicy 6cm, które dają siłę pchającą 4N na jeden silnik, przy włączonym napędzie na oba koła mamy:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;a=\frac{2*4[N]}{1[kg]}=8 [m/s^2]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jeśli porównamy to z przyśpieszeniem ziemskim, wynoszącym &amp;lt;math&amp;gt;9,81 [m/s^2]&amp;lt;/math&amp;gt; widzimy, że pojazd mógłby przyśpieszać prawie tak szybko jak szybko rzeczy spadają w polu grawitacji Ziemi. Inaczej mówiąc potrzebowałby '''niecałych 3 sekund &amp;quot;do setki&amp;quot; !''' Oczywiście to tylko oszacowanie, które podaje maksymalne przyśpieszenie. W praktyce będzie ono mniejsze. Wystarczy choćby zauważyć, że nie uwzględniliśmy sił tarcia, która będzie go spowalniać. Nawet jednak gdybyśmy spadli w okolice połowy tego przyśpieszenia nadal taki napęd wydaje się sensowny.&lt;br /&gt;
&lt;br /&gt;
Niestety oprócz zdolności silnika do przyśpieszania pojazdu, która jak widzimy jest dobra, musimy uwzględnić jeszcze jedno ograniczenie &amp;amp;mdash; maksymalną prędkość z jaką silnik potrafi się obracać. Jak widać na filmie w dalszej części strony, pojazd rusza natychmiast, bez wyraźnych opóźnień, a więc przyśpieszenie jest rzeczywiście dobre. Jednak jego maksymalna prędkość nie jest wielka właśnie dlatego, że układ sterowania silnika nie może podawać impulsów sterujących dowolnie szybko. Silnik wymaga 200 impulsów na każdy pełny obrót. Szacunkowo jeśli potrafilibyśmy generować 1000 impulsów na sekundę, koło obracałoby się 5 razy w ciągu sekundy, a więc pojazd z kołami o promieniu 3cm (jak na filmie) poruszałby się z prędkością  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5[obr/s]*2*\pi*r[m]=10*3.14*0.03=0.95[m/s]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== 200 kroków na obrót =====&lt;br /&gt;
Silniki krokowe działają trochę inaczej niż zwykłe. W zwykłym wystarczy włączyć prąd i silnik się obraca. Silnikiem krokowym steruje się inaczej: podaje się odpowiednie impulsy, które powodują, że oś silnika obraca się o pewien kąt. Jak daleko obraca się oś w jednym kroku definiuje właśnie liczba kroków potrzebnych do pełnego obrotu. W przypadku naszego silnika będziemy musieli podać 200 impulsów żeby koło napędowe wykonało jeden obrót. Dzięki takiej dokładności możliwe będzie bardzo precyzyjne sterowanie odległością jaką przemierza każde koło, a przez to będzie można precyzyjnie skręcać.&lt;br /&gt;
&lt;br /&gt;
===== Parametry elektryczne =====&lt;br /&gt;
Jeśli chodzi o napięcie pracy silnika, wynoszące 4.35V, jest ono nieco mniejsze niż '''5V, którego używają porty USB, powerbank''' i którym zasilana jest Malina (przy czym część cyfrowa Maliny działa przy napięciach 0 i 3.3V). &lt;br /&gt;
&lt;br /&gt;
Możemy jednak przyjąć, że nieco wyższe napięcie zasilania jakiego użyjemy, nie będzie groźne dla uzwojeń silnika, a może poprawić prędkość z jaką silnik będzie wykonywał kolejne kroki. W normalnej sytuacji, kiedy silniki jest montowany w większej maszynie unikalibyśmy takiego &amp;quot;podkręcania&amp;quot;, ale w naszym przypadku silnik będzie pracował w otwartej przestrzeni, i pewien nadmiar wydzielanego ciepła jest dopuszczalny.&lt;br /&gt;
&lt;br /&gt;
Znaczenie poboru prądu wyjaśnimy przy okazji rozważań o baterii.&lt;br /&gt;
&lt;br /&gt;
=== Bateria ===&lt;br /&gt;
&lt;br /&gt;
Pobór prądu przez jeden silnik, który wynosi 750mA (miliamperów) oznacza, że gdybyśmy mieli baterię o pojemności 750mAh (miliamperogodzin) pojedynczy silnik mógłby działać przez godzinę. Ponieważ mamy dwa silniki i jeszcze Malinę, która również zużywa prąd, możemy oczekiwać zużycia na poziomie około 1800mAh. &lt;br /&gt;
&lt;br /&gt;
Teoretycznie więc powerbank o takiej pojemności mógłby zasilać robota przez godzinę. W praktyce producenci obiecują gruszki na wierzbie, i lepiej przyjąć co najmniej 2500mA potrzebnej pojemności na godzinę pracy robota. &lt;br /&gt;
&lt;br /&gt;
Powerbanki zwykle ładują się godzinami -- nie rzadko instrukcja podaje 8-10 godzin. Ponieważ byłoby niezbyt wygodnie po każdej godzinie testów czekać 8 godzin do kolejnego naładowania baterii, lepiej zastosować akumulator o większej pojemności niż tylko godzina użytkowania. Ostatecznie więc pobór prądu mówi nam tyle, że przydałby się akumulator o pojemności co najmniej 5000mAh. &lt;br /&gt;
&lt;br /&gt;
Ponadto musimy uwzględnić maksymalne możliwe obciążenie prądowe. Cóż z tego, że mielibyśmy pełny basen wody, jeśli dałoby się z niego czerpać tylko po jednej kropli na godzinę? Musimy więc wybrać powerbank, który będzie miał też odpowiednią wydajność. &lt;br /&gt;
&lt;br /&gt;
Dwa silniki zużywają 750mA * 2 = 1500mA. Do tego prądu trzeba dodać też Malinę, czyli co najmniej 500mA. Powerbank musi znieść obciążenie 2000mA, czyli 2A.&lt;br /&gt;
&lt;br /&gt;
=== Projekt podwozia ===&lt;br /&gt;
Wykonanie podwozia jest zadaniem do wykonania samodzielnie. ''Wszystkie chwyty dozwolone!'' Jeśli masz natchnienie, żeby ulepić podwozie z taśmy klejącej i gumy do żucia proszę bardzo. Jest tylko jedno ograniczenie -- byłoby fajnie gdyby robot zbudowany w oparciu o dostarczone części i zaprojektowane podwozie jeździł! Żeby to ograniczenie dokładniej sprecyzować umówmy się, że: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;thumb&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;thumbinner&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;thumbcaption&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#00bb44&amp;quot;&amp;gt;Części robota (oprócz Maliny) przechodzą na własność konstruktora dopiero po udowodnieniu, że robot jeździ i to zgodnie z podanym programem, czyli inaczej mówiąc '''o własnych siłach zarówno fizycznych jak i &amp;quot;umysłowych&amp;quot;.'''&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jeśli ktoś chciałby zaprojektować podwozie do wydruku na drukarce 3D (to jest możliwa opcja, nie wymaganie!) proponuję wykorzystanie programu FreeCAD. Dla ułatwienia poniżej plik wstępnie przygotowanego projektu robota. Zawiera podstawowe elementy zgodne z ich rozmiarami:&lt;br /&gt;
* płytkę Maliny&lt;br /&gt;
* silniki&lt;br /&gt;
* powerbank&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pozostaje tylko zająć się samym podwoziem i rozmieszczeniem wyżej wymienionych elementów na nim.&lt;br /&gt;
 &lt;br /&gt;
[[Plik:Trzykolowiec.fcstd]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;eAhDwQ00lHU&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Przykładowe rozwiązanie mechanicznej części robota wykonanej na drukarce 3D przedstawiają zdjęcia poniżej.&lt;br /&gt;
&lt;br /&gt;
[[Plik:Platforma_trzykołowca_wykonana_jako_wydruk_3D_--_góra.jpg|400px|thumb|left|Trzykołowiec wydrukowany na drukarce. Widok z góry.]]&lt;br /&gt;
[[Plik:Platforma_robota_wykonana_jako_wydruk_3D_--_spód.jpg|400px|thumb|right|I z dołu.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
== Elektronika ==&lt;br /&gt;
=== Opis wyprowadzeń łącza 40 pinowego ===&lt;br /&gt;
Piny złącza 40 pinowego liczy się zaczynając od kwadratowego (numer 1), a dalej &amp;quot;zygzakiem&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt; napięcie 3.3V &amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 1 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 2 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b style=&amp;quot;color:red&amp;quot;&amp;gt; napięcie 5V &amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right;color: orange&amp;quot;| I²C: SDA (dane) &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;Rezystor podciągający 1.8k do 3.3V&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 3 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 4 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b style=&amp;quot;color:red&amp;gt; napięcie 5V &amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right; color: orange&amp;quot;| I²C: SCL (taktowanie) &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;Rezystor podciągający 1.8k do 3.3V&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 5 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 6 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| GPCLK0 &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;(zegar nr 0, ogólnego przeznaczenia)&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 7 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 8 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;color: green&amp;quot;| UART0: TXD (wysyłka) &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;(na tym łączu działa konsola systemu Raspbian)&amp;lt;/small&amp;gt;&amp;lt;/em&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 9 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 10 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;color: green&amp;quot;| UART0: RXD (odbiór) &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;(na tym łączu działa konsola systemu Raspbian)&amp;lt;/small&amp;gt;&amp;lt;/em&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  11&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 12&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| PWM0/BCM18 &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;(fala prostokątna o programowalnym wypełnieniu z generatora 0)&amp;lt;/small&amp;gt;&amp;lt;/em&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  13&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 14&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  15&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 16&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt; napięcie 3.3V &amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  17&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 18&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| MOSI/BCM10 (urządzenie nadrzędne do podrzędnego na łączu SPI)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  19&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 20&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| MISO (urządzenie podrzędne do nadrzędnego na łączu SPI)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 21 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 22 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| SCLK/BCM11 (taktowanie łącza SPI)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|23 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 24 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| CE0 (linia 0 wyboru chipu łącza SLI)&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 25 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 26 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| CE1 (linia 1 wyboru chipu łącza SLI)&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| ID_SC (dane łącza I²C do pamięci EEPROM)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 27 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 28 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| ID_SC (taktowanie łącza I²C do pamięci EEPROM)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 29 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 30 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  31&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 32&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| PWM0/BCM12&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| PWM1/BCM13&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  33&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 34&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| MISO (urządzenie podrzędne do nadrzędnego na łączu SPI)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  35&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 36&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  37&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 38&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| MOSI/BCM20 (urządzenie nadrzędne do podrzędnego na łączu SPI)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  39&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 40&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;|  SCLK/BCM21 (taktowanie łącza SPI)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Powyżej zastosowane są następujące oznaczenia:&lt;br /&gt;
* '''pogrubiona czcionka''' &amp;amp;mdash; zwykłe piny elektryczne, nie działające w logice cyfrowej ponieważ nie łączą się z procesorem maliny (np. masa, napięcie 3.3V); napięcie '''3.3V''' może pełnić rolę sygnału wejściowego oznaczającego '''1''' ponieważ piny cyfrowe właśnie takiego napięcia spodziewają się jako logicznej jedynki; możliwe jest więc połączenie kablem wyjścia '''3.3V''' z którymś pinem logicznym żeby zasymulować podanie sygnału 1; można też zasilać z tego wyjścia jakieś niewielkie urządzenia np. podpiąć do niego diodę LED, której używamy jako sondy stanów logicznych i sprawdzić czy działa (wydajność zasilania 3.3V wynosi zaledwie kilkadziesiąt mA, nie należy go obciążać większymi układami)&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;'''czerwona pogrubiona czcionka'''&amp;lt;/span&amp;gt; &amp;amp;mdash;  napięcie zasilające '''5V'''; może się przydać do zasilania '''drobnych''' urządzeń (takich jakie można podłączyć do wyjścia USB z którego zasilamy malinę);  UWAGA: Napięcie '''5V''' jest '''za wysokie dla wejść procesora''' i prawie na pewno go uszkodzi! Z tego powodu nie wolno łączyć kablem tych pinów z żadnymi wejściami cyfrowymi na łączu 40-pinowym! Właśnie dlatego oznaczone jest na czerwono! najlepiej na piny 2 i 4 nasunąć kawałek izolacji i o nich zapomnieć&lt;br /&gt;
* zwykła czcionka &amp;amp;mdash; piny cyfrowe gdzie ustawienie z programu wartości '''0''' daje napięcie '''0V''', a wysłanie wartości '''1''' daje napięcie około '''3V'''&lt;br /&gt;
* kolory i opisy przy pinie &amp;amp;mdash; niektóre piny mają ustawioną jakąś domyślną funkcję w systemie Raspbian sterującym maliną; te funkcje można w większości przedefiniować, jednak w czasie włączania systemu pin działa w trybie domyślnym, dopóki go nie przedefiniujemy po swojemu - '''jest to bardzo ważne jeśli do pinu podpięte jest jakieś urządzenie ponieważ po włączeniu maliny do prądu będzie ono otrzymywać przypadkowe sygnały w trakcie wczytywania systemu co może prowadzić do uszkodzeń (np. jeśli jest to silnik ramienia robota)'''; warto zauważyć, że zmiana działania pinu generuje ostrzeżenie i na przykład polecenie &amp;lt;code&amp;gt;gpio.setup(8, gpio.OUT)&amp;lt;/code&amp;gt; (czyli ustawienie pinu 8 jako zwykłe wyjście cyfrowe) wyświetli komunikat, że pin był używany w innej roli; kolory oznaczają piny związane domyślnie z tym samym urządzeniem (np. pary dwupinowych łączy &amp;lt;b style=&amp;quot;color: orange&amp;quot;&amp;gt;I²C&amp;lt;/b&amp;gt;, czy &amp;lt;b style=&amp;quot;color: green&amp;quot;&amp;gt;UART&amp;lt;/b&amp;gt;)&lt;br /&gt;
* brak opisu &amp;amp;mdash; piny nie wykonują żadnej specjalnej funkcji w domyślnej konfiguracji Raspbiana; przy włączeniu zasilania będą ustawione na 0; można ich dowolnie używać&lt;br /&gt;
&lt;br /&gt;
=== Moduł sterownika silnika krokowego DRV8834 i jego połączenie z maliną ===&lt;br /&gt;
[[Plik:Polaczenia_elektryczne_jednego_silnika.png|thumb|800px|right]]&lt;br /&gt;
Sposób połączenia silnika, źródła zasilania, sterownika i Maliny przedstawia obrazek.&lt;br /&gt;
&lt;br /&gt;
Jak widać w naszym prostym projekcie nie używamy wszystkich wyjść sterownika. &lt;br /&gt;
&lt;br /&gt;
Na diagramie niektóre z używanych wyjść są podpisane kolorem czerwonym, a inne jasnozielonym. Chodzi o to, żeby wyraźnie pokazać, że choć tego nie widać sterownik rozdziela cały układ na dwa zupełnie różne światy:&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;'''świat silnika''' &amp;amp;mdash; tutaj krążą duże prądy (takie, które mogą spokojnie odparować cieńsze przewody!), pojawiają się wyższe napięcia (rzędu kilkunastu woltów), układy pracują z dużą mocą (silnik potrafi być nawet gorący)&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:lightgreen&amp;quot;&amp;gt;'''świat cyfrowy''' &amp;amp;mdash; tutaj nie ma wielkiego znaczenia moc sygnału, a tylko czy ustawiony jest stan '''1''' (ok. 3 wolty) czy stan '''0''' (ok. zero woltów); wszystkie elementy z tego świata spodziewają się maksymalnie kilku woltów napięcia, nie zostały zaprojektowane do obsługiwania takich wielkich obciążeń jak silniki i cały ten podsystem mógłby być zasilany z małej zegarkowej bateryjki przez miesiące, na tyle jest &amp;quot;delikatny&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ważne jest, żeby rozróżniać te dwa światy!''' Jeśli ktoś spróbowałby podłączyć silnik do tego samego pinu, który jest połączony z Maliną prawdopodobnie spaliłby i sterownik i komputer (choć Malina ma pewne zabezpieczenia przed takim brutalnym traktowaniem i czasem zdąży się wyłączyć w porę). &lt;br /&gt;
&lt;br /&gt;
Ale jest też odwrotnie. W sprzyjających warunkach &amp;quot;delikatna&amp;quot; część cyfrowa potrafi &amp;quot;zamordować&amp;quot; część dużych mocy sterującą silnikami. Jak może do tego dojść? W dokładnie taki sam sposób, jak delikatne, ale nieprzemyślane ruchy kierownicą mogą zniszczyć cały samochód. Chodzi o to, że część cyfrowa steruje systemem, który ma już jakąś niemałą energię (silnik, koła).  W przypadku projektu z diodą, jeśli kod zawierał jakąś nie do końca przemyślaną instrukcję, najgorszym co mogło się stać był brak światła lub świecenie diody w nieoczekiwany sposób. Nic ponad to. Tymczasem tutaj robot może niespodziewanie ruszyć, skręcić, cofnąć się, i tylko aktualne otoczenie decyduje o tym jak to się skończy (coś do picia, klawiatura i szalony robot to całkiem skuteczny przepis na większe wydatki). Z tego powodu najlepiej na początku ustawić robota z kołami napędowymi w powietrzu (albo bez kół), żeby odebrać mu możliwość niekontrolowanego ruszania. &lt;br /&gt;
&lt;br /&gt;
'''Trzeba też uwzględnić specyficzną cechę samego sterownika. Jego instrukcja mówi o tym, że nie wolno podłączać/odłączać przewodów silnika kiedy zasilanie silnika jest włączone (podany sygnał 1 na wyjściu SLP)'''.  Ponieważ sygnał na wyjściu '''SLP''' podaje Malina najprościej zapamiętać, że jeśli potrzebujemy odłączyć sterownik to zawsze najpierw odłączamy Malinę (czyli 8 punktową wtyczkę, która będzie po lewej stronie na diagramie), a potem silniki (czyli wtyczka po prawej, pin &amp;quot;masy&amp;quot; Maliny znajdujący się na dole tej wtyczki nie jest problemem). I w odwrotnej kolejności podłączamy sterownik, czyli najpierw silniki, potem Malinę. W ten sposób mamy zawsze pewność, że przewody silników będą wyłączane/włączane przy wyłączonym zasilaniu. &lt;br /&gt;
&lt;br /&gt;
[[Plik:Wyprowadzenie_zasilania_5V_z_wtyczki_USB.jpg|thumb|300|Wyprowadzenie zasilania z wtyczki USB. Dodatkowe szczegóły zawiera opis obrazka dostępny po jego kliknięciu.]]&lt;br /&gt;
&lt;br /&gt;
I jeszcze jedno wyjaśnienie dlaczego wyjście '''M0''' jest podłączone do masy. Chodzi o to, że zastosowany sterownik obsługuje funkcję bardzo przydatną w bardziej precyzyjnych urządzeniach. Potrafi mianowicie wykonywać tylko ułamek kroku zamiast od razu cały. Typowy silnik krokowy (taki jak nasz) wykonuje 200 kroków na pełny obrót. Ten sterownik potrafi podzielić jeden krok nawet na 32 drobniejsze, co daje aż 6400 kroków na jeden pełny obrót! W bardziej precyzyjnych urządzeniach (np. drukarce 3D) ta opcja może być przydatna, ale nam nie jest potrzebna. O tym jak dzielony jest krok decydują piny '''M0''' i '''M1''' sterownika. Jeśli '''M1''' pozostawimy niepodłączony, a na '''M0''' podamy logiczne '''0''' (czyli zero woltów, a więc właśnie '''masę''') wówczas sterownik nie będzie dzielił kroku i jeden impuls na wejściu '''STEP''' będzie powodował wykonanie 1/200 obrotu przez silnik. Dzięki temu wystarczy posłanie tylko 200 impulsów żeby obrócić koło jeden raz. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Oprogramowanie ==&lt;br /&gt;
&lt;br /&gt;
=== Pomocniczy moduł do obsługi silników ===&lt;br /&gt;
Żeby móc się skupić na programowaniu konkretnych tras do obsługi silników użyjemy gotowego, prostego modułu pythona. Jego kod można pobrać stąd: &lt;br /&gt;
&lt;br /&gt;
[[Plik:Silniki.zip]]&lt;br /&gt;
&lt;br /&gt;
Moduł zawiera kilka prostych funkcji, dzięki którym można wykonać automatycznie inicjowanie portów maliny, włączać/wyłączać silniki, wykonywać pojedynczy krok w zadanym kierunku, a nawet całe sekwencje kroków. Z jego użyciem zaprogramowanie trasy przejazdu sprowadza się do napisania po prostu instrukcji dokąd jechać. Zwróć uwagę, że choć sam plik modułu jest długi, większość to komentarze i opisy działania funkcji.&lt;br /&gt;
&lt;br /&gt;
Na wykresie połączeń elektrycznych powyżej napisane jest, że należy wybrać dowolne z wolnych portów Maliny. Jednak kod modułu obsługi silników musi znać już konkretne numery portów, bo inaczej nie byłoby jasne na które wyjścia posyłać sygnały sterujące. Dlatego w liniach 22-24 dla lewego silnika, i 26-28 dla prawego, wpisane zostały numery portów Maliny, do których podpięte są kable łączące do wyjść '''SLP''', '''STEP''', '''DIR''' sterowników. Połączenia pomiędzy Maliną ze sterownikami najprościej wykonać patrząc na tabelę zaczynającą się w linii 8. Jakieś drobne pomyłki w połączeniach nie powinny być szkodliwe, ale to jest właśnie taki moment przez który robot rusza w nieoczekiwanych momentach, dlatego lepiej zachować uwagę. Najlepiej też zrobić połączenia przed włączeniem zasilania.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# coding: utf-8&lt;br /&gt;
&lt;br /&gt;
import RPi.GPIO as gpio&lt;br /&gt;
from time import sleep&lt;br /&gt;
&lt;br /&gt;
# Poniższa numeracja pinów zakłada następujące połączenia kablowe:&lt;br /&gt;
#&lt;br /&gt;
# |   PIN MALINY  |  LEWY STEROWNIK SILNIKA | PRAWY STEROWNIK SILNIKA |&lt;br /&gt;
#  --------------- ------------------------- -------------------------&lt;br /&gt;
# |        9      |                         |          GND            |&lt;br /&gt;
# |       11      |                         |          SLP            |&lt;br /&gt;
# |       13      |                         |          STEP           | &lt;br /&gt;
# |       15      |                         |          DIR            | &lt;br /&gt;
# |               |                         |                         | &lt;br /&gt;
# |       16      |            DIR          |                         | &lt;br /&gt;
# |       18      |            STEP         |                         | &lt;br /&gt;
# |       20      |            GND          |                         | &lt;br /&gt;
# |       22      |            SLP          |                         | &lt;br /&gt;
# &lt;br /&gt;
# Oczywiście jeśli wybrało się inne wyjścia numery poniżej można &lt;br /&gt;
# (i trzeba) pozmieniać&lt;br /&gt;
PIN_SILNIK_LEWY_KIERUNEK = 16    &lt;br /&gt;
PIN_SILNIK_LEWY_KROK = 18       &lt;br /&gt;
PIN_SILNIK_LEWY_WLACZ = 22&lt;br /&gt;
&lt;br /&gt;
PIN_SILNIK_PRAWY_WLACZ = 11&lt;br /&gt;
PIN_SILNIK_PRAWY_KROK = 13&lt;br /&gt;
PIN_SILNIK_PRAWY_KIERUNEK = 15&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Stałe pozwalające czytelniej pisać kod. &lt;br /&gt;
# Zamiast krok(-1, 1) można napisać krok(TYL, PRZOD).&lt;br /&gt;
# Obie instrukcje zrobią to samo, ale druga jest czytelniejsza.&lt;br /&gt;
PRZOD = 1&lt;br /&gt;
STOP = 0&lt;br /&gt;
TYL = -1&lt;br /&gt;
&lt;br /&gt;
# Domyślny czas wykonywania kroku (5 milisekund). &lt;br /&gt;
#&lt;br /&gt;
# Przy 5 milisekundach można wykonać maksymalnie 200 kroków/s, &lt;br /&gt;
# co przy 60mm kole daje prędkość ~200mm/s. &lt;br /&gt;
#&lt;br /&gt;
# Ustawienie większej wartości daje silnikowi więcej czasu &lt;br /&gt;
# na wykonanie ruchu i jest on pewniejszy (silnik zawsze zdąży).&lt;br /&gt;
#&lt;br /&gt;
# Krótszy czas zwiększa maksymalną prędkość obrotową, ale może &lt;br /&gt;
# powodować, że pierwsza lepsza przeszkoda obciąży silnik na tyle, &lt;br /&gt;
# że nie zdąży on wykonać kroku i zablokuje się w miejscu.&lt;br /&gt;
#&lt;br /&gt;
# Poniżej 1ms silnik może się blokować nawet bez obciążenia.&lt;br /&gt;
DOMYSLNY_CZAS_KROKU = 0.005&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def przygotuj():&lt;br /&gt;
    '''&lt;br /&gt;
    Ta funkcja przygotowuje piny Maliny do komunikacji ze sterownikami &lt;br /&gt;
    silników. Należy ją wywołać na początku programu, przed wszystkimi &lt;br /&gt;
    innymi. &lt;br /&gt;
    '''&lt;br /&gt;
    gpio.setmode(gpio.BOARD)&lt;br /&gt;
    piny_sterowania_silnikow = [PIN_SILNIK_LEWY_KROK, &lt;br /&gt;
        PIN_SILNIK_LEWY_KIERUNEK, PIN_SILNIK_LEWY_WLACZ, &lt;br /&gt;
        PIN_SILNIK_PRAWY_KROK, PIN_SILNIK_PRAWY_KIERUNEK, &lt;br /&gt;
        PIN_SILNIK_PRAWY_WLACZ]&lt;br /&gt;
&lt;br /&gt;
    for pin in piny_sterowania_silnikow:    &lt;br /&gt;
        gpio.setup(pin, gpio.OUT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def podlacz(lewy = 0, prawy = 0):&lt;br /&gt;
    '''&lt;br /&gt;
    Włącza lub wyłącza zasilanie silników. Na przykład:&lt;br /&gt;
    podlacz(1,0) -- włączy zasilanie w silniku lewym i wyłączy w prawym&lt;br /&gt;
    podlacz(0,0) -- wyłączy zasilanie obu silników&lt;br /&gt;
    podlacz(1, None) -- włącza zasilanie lewego silnika nie zmieniając &lt;br /&gt;
                        stanu zasilania prawego&lt;br /&gt;
    podlacz() -- brak parametrów spowoduje przyjęcie domyślnych 0,0&lt;br /&gt;
                 a więc ta instrukcja wyłącza zasilanie obu silników&lt;br /&gt;
    '''&lt;br /&gt;
    # Przełączamy zasilanie silnika o ile wartość nie jest &lt;br /&gt;
    # nieokreślona (None)&lt;br /&gt;
    if lewy is not None:&lt;br /&gt;
        gpio.output(PIN_SILNIK_LEWY_WLACZ, lewy)&lt;br /&gt;
    if prawy is not None:&lt;br /&gt;
        gpio.output(PIN_SILNIK_PRAWY_WLACZ, prawy)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def krok(lewy, prawy, czas = None):&lt;br /&gt;
    '''&lt;br /&gt;
    Wywołanie tej funkcji wysyła impusly sterujące do sterowników silnika, &lt;br /&gt;
    które powodują wykonanie jednego kroku. &lt;br /&gt;
    &lt;br /&gt;
    Na przykład:&lt;br /&gt;
       krok(PRZOD, PRZOD) -- wykonanie kroku w przód przez oba silniki&lt;br /&gt;
       krok(PRZOD, TYL)   -- lewy silnik wykona krok w przód, a prawy w tyl, &lt;br /&gt;
                             pojazd skręci lekko w prawo w miejscu &lt;br /&gt;
       krok(PRZOD, STOP)  -- lewy silnik wykona krok w przód, a prawy &lt;br /&gt;
                             nie poruszy się&lt;br /&gt;
&lt;br /&gt;
    Jeśli nie chcemy używać domyślnego czasu wykonywania kroku (patrz opis &lt;br /&gt;
    zmiennej DOMYSLNY_CZAS_KROKU powyżej) możemy podać inną wartość czasu&lt;br /&gt;
    dla aktualnego kroku jako trzeci paramter. &lt;br /&gt;
    &lt;br /&gt;
    Na przykład:&lt;br /&gt;
       krok(PRZOD, PRZOD, 0.01) -- krok do przodu na obu silnikach z względnie&lt;br /&gt;
                                   długim czasem -- w tym trybie powinno się &lt;br /&gt;
                                   dać pokonać trudne przeszkody, które blokują&lt;br /&gt;
                                   silnik kiedy czas jest krótszy&lt;br /&gt;
    '''&lt;br /&gt;
&lt;br /&gt;
    # Zamieniamy podane polecenie na odpowiednie wartości dla pinów STEP i DIR.&lt;br /&gt;
&lt;br /&gt;
    if lewy == PRZOD:      # PRZOD: generujemy impuls kroku z pinem kierunku na 1&lt;br /&gt;
        lewy_krok = 1&lt;br /&gt;
        lewy_kierunek = 1    &lt;br /&gt;
    elif lewy == STOP:     # STOP: bez impulsu kroku, kierunek bez znaczenia&lt;br /&gt;
        lewy_krok = 0&lt;br /&gt;
        lewy_kierunek = None&lt;br /&gt;
    elif lewy == TYL:      # TYL: impuls kroku z pinem kierunku na 0  &lt;br /&gt;
        lewy_krok = 1&lt;br /&gt;
        lewy_kierunek = 0&lt;br /&gt;
    else:&lt;br /&gt;
        raise &amp;quot;Nieznane polecenie!&amp;quot;  # Nie PRZOD, nie TYL, nie STOP??? To co?   &lt;br /&gt;
&lt;br /&gt;
    # Jak wyżej, tylko dla prawego silnika. Zwróć uwagę, że pin kierunku włączany&lt;br /&gt;
    # jest odwrotnie (dla PRZOD ma wartosc 1, dla TYL 0). Wynika to z budowy &lt;br /&gt;
    # robota gdzie silniki są obrócone do siebie o 180 stopni i trzeba je obracać &lt;br /&gt;
    # w przeciwną stronę, żeby napędzały robota w tym samym kierunku.&lt;br /&gt;
    if prawy == PRZOD:       &lt;br /&gt;
        prawy_krok = 1&lt;br /&gt;
        prawy_kierunek = 0&lt;br /&gt;
    elif prawy == STOP:  &lt;br /&gt;
        prawy_krok = 0&lt;br /&gt;
        prawy_kierunek = None&lt;br /&gt;
    elif prawy == TYL:   &lt;br /&gt;
        prawy_krok = 1&lt;br /&gt;
        prawy_kierunek = 1&lt;br /&gt;
    else:&lt;br /&gt;
        raise &amp;quot;Nieznane polecenie!&amp;quot;  &lt;br /&gt;
&lt;br /&gt;
    # Jeśli czas nie jest podany ustawiamy domyślną wartość zdefiniowaną&lt;br /&gt;
    # w DOMYSLNY_CZAS_KROKU&lt;br /&gt;
    if czas is None:&lt;br /&gt;
        czas = DOMYSLNY_CZAS_KROKU&lt;br /&gt;
&lt;br /&gt;
    # I wykonanie kroku:&lt;br /&gt;
 &lt;br /&gt;
    # Najpierw ustawiamy sygnały na pinach kierunków o ile jest to potrzebne &lt;br /&gt;
    # (np. polecenie STOP nie wymaga ustawiania kierunku)&lt;br /&gt;
    if lewy_kierunek is not None:&lt;br /&gt;
        gpio.output(PIN_SILNIK_LEWY_KIERUNEK, lewy_kierunek)&lt;br /&gt;
&lt;br /&gt;
    if prawy_kierunek is not None:&lt;br /&gt;
        gpio.output(PIN_SILNIK_PRAWY_KIERUNEK, prawy_kierunek)&lt;br /&gt;
&lt;br /&gt;
    # Teraz wysyłamy impuls wykonania kroku, czyli przez połowę podanego czasu &lt;br /&gt;
    # ustawiamy pin na wyznaczoną powyżej wartość, a po chwili dajemy 0. &lt;br /&gt;
    gpio.output(PIN_SILNIK_LEWY_KROK, lewy_krok)&lt;br /&gt;
    gpio.output(PIN_SILNIK_PRAWY_KROK, prawy_krok)&lt;br /&gt;
    sleep(czas*0.5)&lt;br /&gt;
&lt;br /&gt;
    gpio.output(PIN_SILNIK_LEWY_KROK, 0)&lt;br /&gt;
    gpio.output(PIN_SILNIK_PRAWY_KROK, 0)&lt;br /&gt;
    sleep(czas*0.5)&lt;br /&gt;
&lt;br /&gt;
    # Dokładniejszy opis: &lt;br /&gt;
    #&lt;br /&gt;
    # Jeśli wyznaczona wartość ..._krok wynosiła 1, sygnał na pinie STEP skoczy &lt;br /&gt;
    # do 1 (czyli ok. 3 wolty) i potem spadnie do 0. Sterownik zinterpretuje &lt;br /&gt;
    # to jako impuls na wejściu STEP i wygeneruje odpowiednie sygnały &lt;br /&gt;
    # na wyjściach silnika, które przekręcą go o krok. &lt;br /&gt;
    #&lt;br /&gt;
    # Jeśli wartość ..._step wynosi 0, wówczas sygnał na pinie będzie cały czas &lt;br /&gt;
    # ustawiony na 0, sterownik nie otrzyma impulsu na wejściu STEP i nie &lt;br /&gt;
    # wygeneruje nowych sygnałów na wyjściu silnika, który wobec tego pozostanie &lt;br /&gt;
    # w niezmienionej pozycji.&lt;br /&gt;
    #&lt;br /&gt;
    # Wykresy napięcia jakie &amp;quot;widzi&amp;quot; wejście STEP lewego sterownika zależnie &lt;br /&gt;
    # od wartości lewy_krok:&lt;br /&gt;
    # &lt;br /&gt;
    #&lt;br /&gt;
    #                   |         1        |                  |&lt;br /&gt;
    # 3V                |   ...............|                  |&lt;br /&gt;
    #                   |  .               |                  | &lt;br /&gt;
    #  lewy_krok = 1    | .                |.                 |&lt;br /&gt;
    #                   |.                 | .      0         |&lt;br /&gt;
    # 0V ...............|                  |  ................|.............&lt;br /&gt;
    #                   |                  |                  |&lt;br /&gt;
    #                   |                  |                  |&lt;br /&gt;
    #                   |                  |                  |&lt;br /&gt;
    # 3V                |                  |                  |&lt;br /&gt;
    #                   |                  |                  | &lt;br /&gt;
    #  lewy_krok = 0    |                  |                  |&lt;br /&gt;
    #                   |         0        |        0         |&lt;br /&gt;
    # 0V ...............|..................|..................|.............&lt;br /&gt;
    #                   |                  |                  |&lt;br /&gt;
    #                     &amp;lt;-- czas*0.5 --&amp;gt;   &amp;lt;-- czas*0.5 --&amp;gt;     &lt;br /&gt;
    #&lt;br /&gt;
    #                     &amp;lt;------------  czas  -------------&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def zestaw(lewo, prawo, powtorek = 1):&lt;br /&gt;
    '''&lt;br /&gt;
    Funkcja bierze polecenie i powtarza jego wykonanie podaną ilość razy: &lt;br /&gt;
    lewo - polecenie dla lewego silnika&lt;br /&gt;
    prawo - polecenie dla prawego silnika&lt;br /&gt;
    powtorek - oznacza ile razy nalezy ten zestaw kroków powtórzyć&lt;br /&gt;
&lt;br /&gt;
    Na przykład:&lt;br /&gt;
    zestaw(PRZOD, STOP, 10)   -- wykona 10 kroków do przodu lewym silnikiem,&lt;br /&gt;
    zestaw(PRZOD, PRZOD, 200) -- wykona 200 kroków do przodu oboma silnikami,&lt;br /&gt;
                                 a więc koła obrócą się o pełny obrót  &lt;br /&gt;
    zestaw(PRZOD, TYL, 100)   -- obróci lewe koło 100 kroków do przodu, &lt;br /&gt;
                                 a prawe 100 do tyłu, a więc robot powinien &lt;br /&gt;
                                 wykonać skręt w prawo w miejscu.&lt;br /&gt;
    ''' &lt;br /&gt;
    for i in xrange(1, 1 + powtorek):&lt;br /&gt;
        krok(lewo, prawo)&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
def sekwencja(lista_zestawow):&lt;br /&gt;
    '''&lt;br /&gt;
    Czyta podaną listę i wykonuje kolejno podane w niej zestawy kroków.&lt;br /&gt;
&lt;br /&gt;
    lista_zestawów -- lista zawierająca kolejne zestawy; w pythonie &lt;br /&gt;
                      listę podaje się w nawiasach kwadratowych [] &lt;br /&gt;
                      oddzielając elementy przecinkami &lt;br /&gt;
&lt;br /&gt;
    Na przykład:&lt;br /&gt;
&lt;br /&gt;
    sekwencja([ (PRZOD, PRZOD, 400), (PRZOD, TYL, 100), (TYL, PRZOD, 100) ]) &lt;br /&gt;
&lt;br /&gt;
         -- wykona kolejno trzy zestawy: &lt;br /&gt;
            1. (PRZOD, PRZOD, 400)&lt;br /&gt;
            2. (PRZOD, TYL, 100)&lt;br /&gt;
            3. (TYL, PRZOD, 100)&lt;br /&gt;
            Pierwszy spowoduje podjechanie modelu o dwa pełne obroty kół &lt;br /&gt;
            do przodu. Drugi obrócenie lewego koła do przodu a prawego &lt;br /&gt;
            do tyłu o pół obrotu, a wiec robot skręci w miejscu w prawo. &lt;br /&gt;
            Ostatni zestaw spowoduje skręt w miejscu w przeciwną stronę &lt;br /&gt;
            - robot powróci do pierwotnego kierunku. Cała sekwencja wyglądać &lt;br /&gt;
            będzie tak jakby robot podjechał do przodu i rozejrzał się &lt;br /&gt;
            w prawo. &lt;br /&gt;
    '''&lt;br /&gt;
    for kolejny_zestaw in lista_zestawow:&lt;br /&gt;
        zestaw(*kolejny_zestaw)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Przykłady użycia ===&lt;br /&gt;
Dzięki modułowi '''silniki''' sterowanie ruchem sprowadza się do prostych instrukcji. &lt;br /&gt;
&lt;br /&gt;
Na początek spróbujmy zobaczyć instrukcję  &amp;lt;code&amp;gt;zestaw(''lewy, prawy, powtorek'')&amp;lt;/code&amp;gt; w akcji.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# coding: utf-8&lt;br /&gt;
import silniki as s&lt;br /&gt;
&lt;br /&gt;
# Przygotowanie portów Maliny do pracy&lt;br /&gt;
s.przygotuj()&lt;br /&gt;
&lt;br /&gt;
# Włączenie zasilania silników -- po tej instrukcji silniki powinny zablokować się w ustalonej pozycji&lt;br /&gt;
s.podlacz(1,1)&lt;br /&gt;
&lt;br /&gt;
# 10 obrotów kół (czyli 10*200 kroków) w przód&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 2000) &lt;br /&gt;
&lt;br /&gt;
# Jeden obrót lewego koła w przód, prawe stoi -- robot skręca w prawo&lt;br /&gt;
s.zestaw(s.PRZOD, s.STOP, 200)&lt;br /&gt;
&lt;br /&gt;
# Koniec programu, wyłączamy zasilanie silników -- po tej instrukcji koła znów obracają się lekko&lt;br /&gt;
s.podlacz(0,0)&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Po zapisaniu tego kodu w pliku &amp;lt;code&amp;gt;silniki_p1.py&amp;lt;/code&amp;gt; i wydaniu polecenia&lt;br /&gt;
&lt;br /&gt;
 pi@raspberrypi:~ $ python silniki_p1.py &lt;br /&gt;
&lt;br /&gt;
robot powinien przejechać 10 obrotów kół do przodu,  a potem skręcić w prawo. Oczywiście nie będzie to możliwe jeśli będziemy się łączyć z Maliną poprzez kabel USB dlatego w tej chwili najlepiej zdjąć koła, albo unieść je w górę i obserwować czy wykonują oczekiwane ruchy. Poniżej pokażemy gdzie wstawić powyższą instrukcję, żeby robot wykonywał podany kod zaraz po włączeniu. Wówczas będzie można podłączyć Malinę do powerbanku i oglądać wykonanie instrukcji w ruchu.&lt;br /&gt;
&lt;br /&gt;
== W akcji ==&lt;br /&gt;
Przykładowy kod sterujący i zachowaniem trzykołowca&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# coding: utf-8&lt;br /&gt;
import silniki as s&lt;br /&gt;
&lt;br /&gt;
s.przygotuj()                      # Przygotowanie pinów Maliny do wysyłania sygnałów.&lt;br /&gt;
s.podlacz(1,1)                     # Włączamy zasilanie silników, koła trudno obracać. &lt;br /&gt;
&lt;br /&gt;
s.zestaw(s.TYL, s.PRZOD, 60)       # lewe koło to tyłu, prawe do przodu o 60 kroków -- skręt w lewo&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)    # 400 kroków w przód, bok kwadratu ok. 50cm&lt;br /&gt;
s.zestaw(s.TYL, s.PRZOD, 60)       # skręt i drugi bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
s.zestaw(s.TYL, s.PRZOD, 60)       # skręt i trzeci bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
s.zestaw(s.TYL, s.PRZOD, 60)       # skręt i czwarty bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
&lt;br /&gt;
s.zestaw(s.PRZOD, s.TYL, 60)       # lewe koło w przód, prawe w tył -- skręt w prawo&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)    # robot jedzie w kierunku stopy na filmie&lt;br /&gt;
s.zestaw(s.PRZOD, s.TYL, 60)       # kolej skręt i bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
s.zestaw(s.PRZOD, s.TYL, 60)       # następny&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
s.zestaw(s.PRZOD, s.TYL, 60)       # ostatni skręt i bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
&lt;br /&gt;
# ... i tak dalej, kolejny kwadrat w lewo&lt;br /&gt;
&lt;br /&gt;
s.podlacz(0,0)           # Wyłączamy zasilanie silników, koła znów obracają się lekko&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;fSHDZ6fRyPc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Roboty]]&lt;br /&gt;
[[Category:Projekty_Pi_Zero]]&lt;br /&gt;
[[Category:Silniki_krokowe]]&lt;br /&gt;
[[Category:Moduły_elektroniczne]]&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Trzyko%C5%82owiec&amp;diff=631</id>
		<title>Trzykołowiec</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Trzyko%C5%82owiec&amp;diff=631"/>
		<updated>2019-11-20T18:37:57Z</updated>

		<summary type="html">&lt;p&gt;Isj: dodany obrazek pokazujący skalowanie siły ze zmieną ramienia przy ustalonym momencie siły&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Projekt prostego programowalnego robota kołowego z dwoma silnikami. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Do czego zmierzamy ==&lt;br /&gt;
Chodzi o to, żeby względnie małym nakładem pracy uzyskać robota, którego można łatwo zaprogramować. Dzięki temu bez zbędnych komplikacji będzie można rozpocząć realną zabawę w całkiem poważną robotykę. Robot będzie się składał z dwóch, oddzielnie sterowanych silników napędowych wyposażonych w koła, oraz trzeciego podpierającego. Możliwość sterowania obrotami każdego z kół z osobna pozwala zaprogramować dowolny kierunek jazdy i tworzyć dowolne trasy przejazdu. Podstawowe możliwości, uniwersalność i przez to przydatność takiego robota pokazuje poniższy film, gdzie projektanci z firmy Microsoft użyli dokładnie takiej konstrukcji w swoich projektach. Co więcej, tak samo jak my użyli Maliny jako &amp;quot;mózgu&amp;quot; robota.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;vimeo&amp;quot;&amp;gt;126458720&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Konstrukcja ==&lt;br /&gt;
=== Silnik ===&lt;br /&gt;
[[Plik:Nema_14.jpg|thumb|right|250px|Silnik o rozmiarze NEMA 14.]]&lt;br /&gt;
Do napędu kół użyjemy silnika krokowego o następujących parametrach:&lt;br /&gt;
* rozmiar NEMA 14, czyli boki '''35x35 mm''', ponadto nasz silnik będzie miał '''34 mm długości''' i oś wystającą na 20mm o średnicy 5mm&lt;br /&gt;
* waga '''180g'''&lt;br /&gt;
* maksymalny moment obrotowy '''120 mN/m''' (miliniutonów na metr)&lt;br /&gt;
* żeby wykonać pełny obrót silnik potrzebuje '''200 kroków'''&lt;br /&gt;
* pobór prądu '''750mA'''(miliamperów) przy napięciu zasilającym '''4.35V'''&lt;br /&gt;
&lt;br /&gt;
[[Plik:Silnik_krokowy_w_środku.jpg|right|250px|thumb|Tak wygląda w środku.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zasadę działania silnika krokowego przedstawia animacja poniżej: włączamy prąd w kolejnych uzwojeniach, co wytwarza silne pole magnetyczne, które przyciąga metalowe wypustki wirnika i obraca go o pewien mały kąt. Zależnie od tego w jakiej kolejności włączamy cewki, silnik będzie się kręcił w lewo lub prawo. Dużo więcej magii w tym nie ma ;).&lt;br /&gt;
&lt;br /&gt;
[[Plik:StepperMotor.gif|center]]&lt;br /&gt;
&lt;br /&gt;
Jak widać na zdjęciu rozebranego realnego silnika, praktyczna realizacja jest trochę inna: w tym przypadku mamy 8 cewek elektromagnesów na obwodzie (miedziane zwoje drutu na dole zdjęcia), a nie 4 jak na schemacie. Jednak sama zasada pozostaje ta sama. Dodatkowe cewki i podwójny rotor jak widać na zdjęciu pozwalają poprawić siłę z jaką silnik się obraca oraz precyzję kontroli kąta obrotu. Szczegóły wyjaśnia film poniżej.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;eyqwLiowZiU&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
==== Co oznaczają podane parametry silnika? ====&lt;br /&gt;
&lt;br /&gt;
===== Wymiary i masa =====&lt;br /&gt;
&lt;br /&gt;
Z rozmiarów silnika zgodnego z normą NEMA 14 i jego masy widzimy, że choć silnik nie jest jakoś przerażająco wielki, to jest jednak całkiem solidnym kawałkiem metalu. Same dwa silniki napędowe będą ważyły 360g, a więc dodając jeszcze powerbank, możemy się spodziewać, że cały robot będzie ważył około 1kg. To oszacowanie przyda się przy projektowaniu podwozia. Dzięki niemu wiemy jaką mniej więcej powinno mieć wytrzymałość &amp;amp;mdash; w przybliżeniu powinno być sztywniejsze niż choćby karta bankomatowa.&lt;br /&gt;
&lt;br /&gt;
===== Moment obrotowy 120 mN/m =====&lt;br /&gt;
[[Plik:Skalowanie_momentu_siły_na_przykładzie_silnika_nema14_120mNm.jpg|thumb|right|450px|Zwiększanie się siły koniecznej do zatrzymania silnika na przykładzie użytego silnika Nema14 o znamionowym momencie siły 120 miliniutonometrów.]]&lt;br /&gt;
Gdyby przeczytać tą liczbę brzmiałaby ''&amp;quot;sto dwadzieścia miliniutonów na metr&amp;quot;''. Pierwsza część to niewielka siła (okolice ciężaru odtwarzacza mp3). Ale o jaki metr chodzi? &lt;br /&gt;
&lt;br /&gt;
O taki, jak gdyby do osi silnika przymocować metrowy patyk pod kątem prostym do osi (tak jak szprycha w kole roweru). Kiedy silnik pracowałby z całej siły wówczas koniec takiego metrowego patyka naciskałby na rękę z podaną siłą, lub jak kto woli wystarczyłoby delikatnie trzymać jego koniec, żeby silnik nie mógł się obracać. &lt;br /&gt;
&lt;br /&gt;
Łatwo wyczuć intuicyjnie, że gdyby patyk był krótszy, wówczas trzeba by było użyć większej siły, żeby powstrzymać silnik przed obracaniem się. Kto nie wierzy niech spróbuje przytrzymać koło roweru za szprychę najpierw chwytając blisko opony, a potem bliżej środka. O razu widać, że o ile trzymanie przy oponie jakoś wychodzi, to bliżej środka palce są za słabe. Fizycy mówią, że '''jeśli skracamy ramię na które działa pewien moment obrotowy, to siła na końcu ramienia proporcjonalnie rośnie'''. &lt;br /&gt;
&lt;br /&gt;
'''I to jest bardzo dobra wiadomość!''' Gdybyśmy mieli silnik pchający robota do przodu z siłą tylko 120mN moglibyśmy zapomnieć o jeździe po czymkolwiek mniej gładkim niż stół, a i to wątpliwe... Jeśli jednak skrócimy w wyobraźni metrowy patyk do połowy, siła na końcu wzrośnie proporcjonalnie do 240mN. Nadal szału nie ma, ale jest postęp.  Gdybyśmy skrócili go do &amp;lt;math&amp;gt;\frac{1}{10}&amp;lt;/math&amp;gt; metra, wówczas otrzymamy 120mN * 10 = 1200mN. Przypomnę, że ''mili'' oznacza jedną tysięczną. Czyli 1200mN to już całkiem duża siła 1.2 niutona. &lt;br /&gt;
&lt;br /&gt;
No dobrze, ale przecież nie będziemy używać patyków, tylko koła... To nic nie zmienia! Wystarczy sobie wyobrazić, że nakładamy na oś jeden patyk za drugim dookoła osi (znów, tak jak szprychy w kole roweru). Jeśli nawkładalibyśmy ich odpowiednio dużo powstanie w końcu koło. Na tym polega geniusz wynalazku koła, którego ludzkość  [https://pl.wikipedia.org/wiki/Ko%C5%82o_(technika) bardzo długo nie znała]. Dzięki odsunięciu osi, na której skupiony jest ciężar od podłoża, możemy przesuwać masy ze znacznie mniejszym wysiłkiem, bo cały czas stosujemy dźwignię o takiej długości jak promień koła. &lt;br /&gt;
&lt;br /&gt;
Teraz możemy wrócić do wymiarów w trójkołowcu. Jeśli użylibyśmy niewielkich kół o średnicy 2cm, wówczas promień miałby tylko 1cm, a więc 1/100 metra. Silnik pracujący z maksymalną mocą ciągnąłby pojazd na takich kołach z siłą 120 * 100 = 12000mN, czyli 12N. Z taką siłą naciska na rękę trzymane w niej 1,2 kg. Dla kół o średnicy dwa razy większej (4cm) siła spadłaby do 6N (~600g) i dla kółek o średnicy 6cm do około 4N (~400g). &lt;br /&gt;
&lt;br /&gt;
Czy to dużo czy mało? Możemy łatwo oszacować co to oznacza wyliczając możliwe przyśpieszenia robota. Dla ułatwienia przyjmijmy, że cały będzie ważył około '''1kg'''. &lt;br /&gt;
&lt;br /&gt;
Przyśpieszenie podaje zupełnie prosty wzór, sprzed ponad 300 lat,  pana [https://pl.wikipedia.org/wiki/Isaac_Newton Izaaka Newtona] (czytaj ''niuton''):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;a=\frac{F}{m}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
gdzie: &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;math&amp;gt;F&amp;lt;/math&amp;gt; to siła wyrażona w, a jakże, w '''N''' (niutonach)&lt;br /&gt;
* &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; to masa, u nas 1kg&lt;br /&gt;
* &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; to przyśpieszenie jakiego należy się spodziewać w m/s²&lt;br /&gt;
&lt;br /&gt;
Podstawiając dane dla kół o średnicy 6cm, które dają siłę pchającą 4N na jeden silnik, przy włączonym napędzie na oba koła mamy:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;a=\frac{2*4[N]}{1[kg]}=8 [m/s^2]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jeśli porównamy to z przyśpieszeniem ziemskim, wynoszącym &amp;lt;math&amp;gt;9,81 [m/s^2]&amp;lt;/math&amp;gt; widzimy, że pojazd mógłby przyśpieszać prawie tak szybko jak szybko rzeczy spadają w polu grawitacji Ziemi. Inaczej mówiąc potrzebowałby '''niecałych 3 sekund &amp;quot;do setki&amp;quot; !''' Oczywiście to tylko oszacowanie, które podaje maksymalne przyśpieszenie. W praktyce będzie ono mniejsze. Wystarczy choćby zauważyć, że nie uwzględniliśmy sił tarcia, która będzie go spowalniać. Nawet jednak gdybyśmy spadli w okolice połowy tego przyśpieszenia nadal taki napęd wydaje się sensowny.&lt;br /&gt;
&lt;br /&gt;
Niestety oprócz zdolności silnika do przyśpieszania pojazdu, która jak widzimy jest dobra, musimy uwzględnić jeszcze jedno ograniczenie &amp;amp;mdash; maksymalną prędkość z jaką silnik potrafi się obracać. Jak widać na filmie w dalszej części strony, pojazd rusza natychmiast, bez wyraźnych opóźnień, a więc przyśpieszenie jest rzeczywiście dobre. Jednak jego maksymalna prędkość nie jest wielka właśnie dlatego, że układ sterowania silnika nie może podawać impulsów sterujących dowolnie szybko. Silnik wymaga 200 impulsów na każdy pełny obrót. Szacunkowo jeśli potrafilibyśmy generować 1000 impulsów na sekundę, koło obracałoby się 5 razy w ciągu sekundy, a więc pojazd z kołami o promieniu 3cm (jak na filmie) poruszałby się z prędkością  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5[obr/s]*2*\pi*r[m]=10*3.14*0.03=0.95[m/s]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== 200 kroków na obrót =====&lt;br /&gt;
Silniki krokowe działają trochę inaczej niż zwykłe. W zwykłym wystarczy włączyć prąd i silnik się obraca. Silnikiem krokowym steruje się inaczej: podaje się odpowiednie impulsy, które powodują, że oś silnika obraca się o pewien kąt. Jak daleko obraca się oś w jednym kroku definiuje właśnie liczba kroków potrzebnych do pełnego obrotu. W przypadku naszego silnika będziemy musieli podać 200 impulsów żeby koło napędowe wykonało jeden obrót. Dzięki takiej dokładności możliwe będzie bardzo precyzyjne sterowanie odległością jaką przemierza każde koło, a przez to będzie można precyzyjnie skręcać.&lt;br /&gt;
&lt;br /&gt;
===== Parametry elektryczne =====&lt;br /&gt;
Jeśli chodzi o napięcie pracy silnika, wynoszące 4.35V, jest ono nieco mniejsze niż '''5V, którego używają porty USB, powerbank''' i którym zasilana jest Malina (przy czym część cyfrowa Maliny działa przy napięciach 0 i 3.3V). &lt;br /&gt;
&lt;br /&gt;
Możemy jednak przyjąć, że nieco wyższe napięcie zasilania jakiego użyjemy, nie będzie groźne dla uzwojeń silnika, a może poprawić prędkość z jaką silnik będzie wykonywał kolejne kroki. W normalnej sytuacji, kiedy silniki jest montowany w większej maszynie unikalibyśmy takiego &amp;quot;podkręcania&amp;quot;, ale w naszym przypadku silnik będzie pracował w otwartej przestrzeni, i pewien nadmiar wydzielanego ciepła jest dopuszczalny.&lt;br /&gt;
&lt;br /&gt;
Znaczenie poboru prądu wyjaśnimy przy okazji rozważań o baterii.&lt;br /&gt;
&lt;br /&gt;
=== Bateria ===&lt;br /&gt;
&lt;br /&gt;
Pobór prądu przez jeden silnik, który wynosi 750mA (miliamperów) oznacza, że gdybyśmy mieli baterię o pojemności 750mAh (miliamperogodzin) pojedynczy silnik mógłby działać przez godzinę. Ponieważ mamy dwa silniki i jeszcze Malinę, która również zużywa prąd, możemy oczekiwać zużycia na poziomie około 1800mAh. &lt;br /&gt;
&lt;br /&gt;
Teoretycznie więc powerbank o takiej pojemności mógłby zasilać robota przez godzinę. W praktyce producenci obiecują gruszki na wierzbie, i lepiej przyjąć co najmniej 2500mA potrzebnej pojemności na godzinę pracy robota. &lt;br /&gt;
&lt;br /&gt;
Powerbanki zwykle ładują się godzinami -- nie rzadko instrukcja podaje 8-10 godzin. Ponieważ byłoby niezbyt wygodnie po każdej godzinie testów czekać 8 godzin do kolejnego naładowania baterii, lepiej zastosować akumulator o większej pojemności niż tylko godzina użytkowania. Ostatecznie więc pobór prądu mówi nam tyle, że przydałby się akumulator o pojemności co najmniej 5000mAh. &lt;br /&gt;
&lt;br /&gt;
Ponadto musimy uwzględnić maksymalne możliwe obciążenie prądowe. Cóż z tego, że mielibyśmy pełny basen wody, jeśli dałoby się z niego czerpać tylko po jednej kropli na godzinę? Musimy więc wybrać powerbank, który będzie miał też odpowiednią wydajność. &lt;br /&gt;
&lt;br /&gt;
Dwa silniki zużywają 750mA * 2 = 1500mA. Do tego prądu trzeba dodać też Malinę, czyli co najmniej 500mA. Powerbank musi znieść obciążenie 2000mA, czyli 2A.&lt;br /&gt;
&lt;br /&gt;
=== Projekt podwozia ===&lt;br /&gt;
Wykonanie podwozia jest zadaniem do wykonania samodzielnie. ''Wszystkie chwyty dozwolone!'' Jeśli masz natchnienie, żeby ulepić podwozie z taśmy klejącej i gumy do żucia proszę bardzo. Jest tylko jedno ograniczenie -- byłoby fajnie gdyby robot zbudowany w oparciu o dostarczone części i zaprojektowane podwozie jeździł! Żeby to ograniczenie dokładniej sprecyzować umówmy się, że: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;thumb&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;thumbinner&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;thumbcaption&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#00bb44&amp;quot;&amp;gt;Części robota (oprócz Maliny) przechodzą na własność konstruktora dopiero po udowodnieniu, że robot jeździ i to zgodnie z podanym programem, czyli inaczej mówiąc '''o własnych siłach zarówno fizycznych jak i &amp;quot;umysłowych&amp;quot;.'''&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jeśli ktoś chciałby zaprojektować podwozie do wydruku na drukarce 3D (to jest możliwa opcja, nie wymaganie!) proponuję wykorzystanie programu FreeCAD. Dla ułatwienia poniżej plik wstępnie przygotowanego projektu robota. Zawiera podstawowe elementy zgodne z ich rozmiarami:&lt;br /&gt;
* płytkę Maliny&lt;br /&gt;
* silniki&lt;br /&gt;
* powerbank&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pozostaje tylko zająć się samym podwoziem i rozmieszczeniem wyżej wymienionych elementów na nim.&lt;br /&gt;
 &lt;br /&gt;
[[Plik:Trzykolowiec.fcstd]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;eAhDwQ00lHU&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Przykładowe rozwiązanie mechanicznej części robota wykonanej na drukarce 3D przedstawiają zdjęcia poniżej.&lt;br /&gt;
&lt;br /&gt;
[[Plik:Platforma_trzykołowca_wykonana_jako_wydruk_3D_--_góra.jpg|400px|thumb|left|Trzykołowiec wydrukowany na drukarce. Widok z góry.]]&lt;br /&gt;
[[Plik:Platforma_robota_wykonana_jako_wydruk_3D_--_spód.jpg|400px|thumb|right|I z dołu.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
== Elektronika ==&lt;br /&gt;
=== Opis wyprowadzeń łącza 40 pinowego ===&lt;br /&gt;
Piny złącza 40 pinowego liczy się zaczynając od kwadratowego (numer 1), a dalej &amp;quot;zygzakiem&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt; napięcie 3.3V &amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 1 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 2 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b style=&amp;quot;color:red&amp;quot;&amp;gt; napięcie 5V &amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right;color: orange&amp;quot;| I²C: SDA (dane) &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;Rezystor podciągający 1.8k do 3.3V&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 3 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 4 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b style=&amp;quot;color:red&amp;gt; napięcie 5V &amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right; color: orange&amp;quot;| I²C: SCL (taktowanie) &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;Rezystor podciągający 1.8k do 3.3V&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 5 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 6 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| GPCLK0 &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;(zegar nr 0, ogólnego przeznaczenia)&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 7 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 8 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;color: green&amp;quot;| UART0: TXD (wysyłka) &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;(na tym łączu działa konsola systemu Raspbian)&amp;lt;/small&amp;gt;&amp;lt;/em&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 9 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 10 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;color: green&amp;quot;| UART0: RXD (odbiór) &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;(na tym łączu działa konsola systemu Raspbian)&amp;lt;/small&amp;gt;&amp;lt;/em&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  11&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 12&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| PWM0/BCM18 &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;(fala prostokątna o programowalnym wypełnieniu z generatora 0)&amp;lt;/small&amp;gt;&amp;lt;/em&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  13&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 14&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  15&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 16&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt; napięcie 3.3V &amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  17&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 18&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| MOSI/BCM10 (urządzenie nadrzędne do podrzędnego na łączu SPI)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  19&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 20&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| MISO (urządzenie podrzędne do nadrzędnego na łączu SPI)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 21 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 22 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| SCLK/BCM11 (taktowanie łącza SPI)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|23 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 24 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| CE0 (linia 0 wyboru chipu łącza SLI)&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 25 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 26 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| CE1 (linia 1 wyboru chipu łącza SLI)&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| ID_SC (dane łącza I²C do pamięci EEPROM)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 27 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 28 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| ID_SC (taktowanie łącza I²C do pamięci EEPROM)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 29 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 30 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  31&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 32&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| PWM0/BCM12&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| PWM1/BCM13&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  33&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 34&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| MISO (urządzenie podrzędne do nadrzędnego na łączu SPI)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  35&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 36&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  37&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 38&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| MOSI/BCM20 (urządzenie nadrzędne do podrzędnego na łączu SPI)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  39&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 40&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;|  SCLK/BCM21 (taktowanie łącza SPI)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Powyżej zastosowane są następujące oznaczenia:&lt;br /&gt;
* '''pogrubiona czcionka''' &amp;amp;mdash; zwykłe piny elektryczne, nie działające w logice cyfrowej ponieważ nie łączą się z procesorem maliny (np. masa, napięcie 3.3V); napięcie '''3.3V''' może pełnić rolę sygnału wejściowego oznaczającego '''1''' ponieważ piny cyfrowe właśnie takiego napięcia spodziewają się jako logicznej jedynki; możliwe jest więc połączenie kablem wyjścia '''3.3V''' z którymś pinem logicznym żeby zasymulować podanie sygnału 1; można też zasilać z tego wyjścia jakieś niewielkie urządzenia np. podpiąć do niego diodę LED, której używamy jako sondy stanów logicznych i sprawdzić czy działa (wydajność zasilania 3.3V wynosi zaledwie kilkadziesiąt mA, nie należy go obciążać większymi układami)&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;'''czerwona pogrubiona czcionka'''&amp;lt;/span&amp;gt; &amp;amp;mdash;  napięcie zasilające '''5V'''; może się przydać do zasilania '''drobnych''' urządzeń (takich jakie można podłączyć do wyjścia USB z którego zasilamy malinę);  UWAGA: Napięcie '''5V''' jest '''za wysokie dla wejść procesora''' i prawie na pewno go uszkodzi! Z tego powodu nie wolno łączyć kablem tych pinów z żadnymi wejściami cyfrowymi na łączu 40-pinowym! Właśnie dlatego oznaczone jest na czerwono! najlepiej na piny 2 i 4 nasunąć kawałek izolacji i o nich zapomnieć&lt;br /&gt;
* zwykła czcionka &amp;amp;mdash; piny cyfrowe gdzie ustawienie z programu wartości '''0''' daje napięcie '''0V''', a wysłanie wartości '''1''' daje napięcie około '''3V'''&lt;br /&gt;
* kolory i opisy przy pinie &amp;amp;mdash; niektóre piny mają ustawioną jakąś domyślną funkcję w systemie Raspbian sterującym maliną; te funkcje można w większości przedefiniować, jednak w czasie włączania systemu pin działa w trybie domyślnym, dopóki go nie przedefiniujemy po swojemu - '''jest to bardzo ważne jeśli do pinu podpięte jest jakieś urządzenie ponieważ po włączeniu maliny do prądu będzie ono otrzymywać przypadkowe sygnały w trakcie wczytywania systemu co może prowadzić do uszkodzeń (np. jeśli jest to silnik ramienia robota)'''; warto zauważyć, że zmiana działania pinu generuje ostrzeżenie i na przykład polecenie &amp;lt;code&amp;gt;gpio.setup(8, gpio.OUT)&amp;lt;/code&amp;gt; (czyli ustawienie pinu 8 jako zwykłe wyjście cyfrowe) wyświetli komunikat, że pin był używany w innej roli; kolory oznaczają piny związane domyślnie z tym samym urządzeniem (np. pary dwupinowych łączy &amp;lt;b style=&amp;quot;color: orange&amp;quot;&amp;gt;I²C&amp;lt;/b&amp;gt;, czy &amp;lt;b style=&amp;quot;color: green&amp;quot;&amp;gt;UART&amp;lt;/b&amp;gt;)&lt;br /&gt;
* brak opisu &amp;amp;mdash; piny nie wykonują żadnej specjalnej funkcji w domyślnej konfiguracji Raspbiana; przy włączeniu zasilania będą ustawione na 0; można ich dowolnie używać&lt;br /&gt;
&lt;br /&gt;
=== Moduł sterownika silnika krokowego DRV8834 i jego połączenie z maliną ===&lt;br /&gt;
[[Plik:Polaczenia_elektryczne_jednego_silnika.png|thumb|800px|right]]&lt;br /&gt;
Sposób połączenia silnika, źródła zasilania, sterownika i Maliny przedstawia obrazek.&lt;br /&gt;
&lt;br /&gt;
Jak widać w naszym prostym projekcie nie używamy wszystkich wyjść sterownika. &lt;br /&gt;
&lt;br /&gt;
Na diagramie niektóre z używanych wyjść są podpisane kolorem czerwonym, a inne jasnozielonym. Chodzi o to, żeby wyraźnie pokazać, że choć tego nie widać sterownik rozdziela cały układ na dwa zupełnie różne światy:&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;'''świat silnika''' &amp;amp;mdash; tutaj krążą duże prądy (takie, które mogą spokojnie odparować cieńsze przewody!), pojawiają się wyższe napięcia (rzędu kilkunastu woltów), układy pracują z dużą mocą (silnik potrafi być nawet gorący)&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:lightgreen&amp;quot;&amp;gt;'''świat cyfrowy''' &amp;amp;mdash; tutaj nie ma wielkiego znaczenia moc sygnału, a tylko czy ustawiony jest stan '''1''' (ok. 3 wolty) czy stan '''0''' (ok. zero woltów); wszystkie elementy z tego świata spodziewają się maksymalnie kilku woltów napięcia, nie zostały zaprojektowane do obsługiwania takich wielkich obciążeń jak silniki i cały ten podsystem mógłby być zasilany z małej zegarkowej bateryjki przez miesiące, na tyle jest &amp;quot;delikatny&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ważne jest, żeby rozróżniać te dwa światy!''' Jeśli ktoś spróbowałby podłączyć silnik do tego samego pinu, który jest połączony z Maliną prawdopodobnie spaliłby i sterownik i komputer (choć Malina ma pewne zabezpieczenia przed takim brutalnym traktowaniem i czasem zdąży się wyłączyć w porę). &lt;br /&gt;
&lt;br /&gt;
Ale jest też odwrotnie. W sprzyjających warunkach &amp;quot;delikatna&amp;quot; część cyfrowa potrafi &amp;quot;zamordować&amp;quot; część dużych mocy sterującą silnikami. Jak może do tego dojść? W dokładnie taki sam sposób, jak delikatne, ale nieprzemyślane ruchy kierownicą mogą zniszczyć cały samochód. Chodzi o to, że część cyfrowa steruje systemem, który ma już jakąś niemałą energię (silnik, koła).  W przypadku projektu z diodą, jeśli kod zawierał jakąś nie do końca przemyślaną instrukcję, najgorszym co mogło się stać był brak światła lub świecenie diody w nieoczekiwany sposób. Nic ponad to. Tymczasem tutaj robot może niespodziewanie ruszyć, skręcić, cofnąć się, i tylko aktualne otoczenie decyduje o tym jak to się skończy (coś do picia, klawiatura i szalony robot to całkiem skuteczny przepis na większe wydatki). Z tego powodu najlepiej na początku ustawić robota z kołami napędowymi w powietrzu (albo bez kół), żeby odebrać mu możliwość niekontrolowanego ruszania. &lt;br /&gt;
&lt;br /&gt;
'''Trzeba też uwzględnić specyficzną cechę samego sterownika. Jego instrukcja mówi o tym, że nie wolno podłączać/odłączać przewodów silnika kiedy zasilanie silnika jest włączone (podany sygnał 1 na wyjściu SLP)'''.  Ponieważ sygnał na wyjściu '''SLP''' podaje Malina najprościej zapamiętać, że jeśli potrzebujemy odłączyć sterownik to zawsze najpierw odłączamy Malinę (czyli 8 punktową wtyczkę, która będzie po lewej stronie na diagramie), a potem silniki (czyli wtyczka po prawej, pin &amp;quot;masy&amp;quot; Maliny znajdujący się na dole tej wtyczki nie jest problemem). I w odwrotnej kolejności podłączamy sterownik, czyli najpierw silniki, potem Malinę. W ten sposób mamy zawsze pewność, że przewody silników będą wyłączane/włączane przy wyłączonym zasilaniu. &lt;br /&gt;
&lt;br /&gt;
[[Plik:Wyprowadzenie_zasilania_5V_z_wtyczki_USB.jpg|thumb|300|Wyprowadzenie zasilania z wtyczki USB. Dodatkowe szczegóły zawiera opis obrazka dostępny po jego kliknięciu.]]&lt;br /&gt;
&lt;br /&gt;
I jeszcze jedno wyjaśnienie dlaczego wyjście '''M0''' jest podłączone do masy. Chodzi o to, że zastosowany sterownik obsługuje funkcję bardzo przydatną w bardziej precyzyjnych urządzeniach. Potrafi mianowicie wykonywać tylko ułamek kroku zamiast od razu cały. Typowy silnik krokowy (taki jak nasz) wykonuje 200 kroków na pełny obrót. Ten sterownik potrafi podzielić jeden krok nawet na 32 drobniejsze, co daje aż 6400 kroków na jeden pełny obrót! W bardziej precyzyjnych urządzeniach (np. drukarce 3D) ta opcja może być przydatna, ale nam nie jest potrzebna. O tym jak dzielony jest krok decydują piny '''M0''' i '''M1''' sterownika. Jeśli '''M1''' pozostawimy niepodłączony, a na '''M0''' podamy logiczne '''0''' (czyli zero woltów, a więc właśnie '''masę''') wówczas sterownik nie będzie dzielił kroku i jeden impuls na wejściu '''STEP''' będzie powodował wykonanie 1/200 obrotu przez silnik. Dzięki temu wystarczy posłanie tylko 200 impulsów żeby obrócić koło jeden raz. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Oprogramowanie ==&lt;br /&gt;
&lt;br /&gt;
=== Pomocniczy moduł do obsługi silników ===&lt;br /&gt;
Żeby móc się skupić na programowaniu konkretnych tras do obsługi silników użyjemy gotowego, prostego modułu pythona. Jego kod można pobrać stąd: &lt;br /&gt;
&lt;br /&gt;
[[Plik:Silniki.zip]]&lt;br /&gt;
&lt;br /&gt;
Moduł zawiera kilka prostych funkcji, dzięki którym można wykonać automatycznie inicjowanie portów maliny, włączać/wyłączać silniki, wykonywać pojedynczy krok w zadanym kierunku, a nawet całe sekwencje kroków. Z jego użyciem zaprogramowanie trasy przejazdu sprowadza się do napisania po prostu instrukcji dokąd jechać. Zwróć uwagę, że choć sam plik modułu jest długi, większość to komentarze i opisy działania funkcji.&lt;br /&gt;
&lt;br /&gt;
Na wykresie połączeń elektrycznych powyżej napisane jest, że należy wybrać dowolne z wolnych portów Maliny. Jednak kod modułu obsługi silników musi znać już konkretne numery portów, bo inaczej nie byłoby jasne na które wyjścia posyłać sygnały sterujące. Dlatego w liniach 22-24 dla lewego silnika, i 26-28 dla prawego, wpisane zostały numery portów Maliny, do których podpięte są kable łączące do wyjść '''SLP''', '''STEP''', '''DIR''' sterowników. Połączenia pomiędzy Maliną ze sterownikami najprościej wykonać patrząc na tabelę zaczynającą się w linii 8. Jakieś drobne pomyłki w połączeniach nie powinny być szkodliwe, ale to jest właśnie taki moment przez który robot rusza w nieoczekiwanych momentach, dlatego lepiej zachować uwagę. Najlepiej też zrobić połączenia przed włączeniem zasilania.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# coding: utf-8&lt;br /&gt;
&lt;br /&gt;
import RPi.GPIO as gpio&lt;br /&gt;
from time import sleep&lt;br /&gt;
&lt;br /&gt;
# Poniższa numeracja pinów zakłada następujące połączenia kablowe:&lt;br /&gt;
#&lt;br /&gt;
# |   PIN MALINY  |  LEWY STEROWNIK SILNIKA | PRAWY STEROWNIK SILNIKA |&lt;br /&gt;
#  --------------- ------------------------- -------------------------&lt;br /&gt;
# |        9      |                         |          GND            |&lt;br /&gt;
# |       11      |                         |          SLP            |&lt;br /&gt;
# |       13      |                         |          STEP           | &lt;br /&gt;
# |       15      |                         |          DIR            | &lt;br /&gt;
# |               |                         |                         | &lt;br /&gt;
# |       16      |            DIR          |                         | &lt;br /&gt;
# |       18      |            STEP         |                         | &lt;br /&gt;
# |       20      |            GND          |                         | &lt;br /&gt;
# |       22      |            SLP          |                         | &lt;br /&gt;
# &lt;br /&gt;
# Oczywiście jeśli wybrało się inne wyjścia numery poniżej można &lt;br /&gt;
# (i trzeba) pozmieniać&lt;br /&gt;
PIN_SILNIK_LEWY_KIERUNEK = 16    &lt;br /&gt;
PIN_SILNIK_LEWY_KROK = 18       &lt;br /&gt;
PIN_SILNIK_LEWY_WLACZ = 22&lt;br /&gt;
&lt;br /&gt;
PIN_SILNIK_PRAWY_WLACZ = 11&lt;br /&gt;
PIN_SILNIK_PRAWY_KROK = 13&lt;br /&gt;
PIN_SILNIK_PRAWY_KIERUNEK = 15&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Stałe pozwalające czytelniej pisać kod. &lt;br /&gt;
# Zamiast krok(-1, 1) można napisać krok(TYL, PRZOD).&lt;br /&gt;
# Obie instrukcje zrobią to samo, ale druga jest czytelniejsza.&lt;br /&gt;
PRZOD = 1&lt;br /&gt;
STOP = 0&lt;br /&gt;
TYL = -1&lt;br /&gt;
&lt;br /&gt;
# Domyślny czas wykonywania kroku (5 milisekund). &lt;br /&gt;
#&lt;br /&gt;
# Przy 5 milisekundach można wykonać maksymalnie 200 kroków/s, &lt;br /&gt;
# co przy 60mm kole daje prędkość ~200mm/s. &lt;br /&gt;
#&lt;br /&gt;
# Ustawienie większej wartości daje silnikowi więcej czasu &lt;br /&gt;
# na wykonanie ruchu i jest on pewniejszy (silnik zawsze zdąży).&lt;br /&gt;
#&lt;br /&gt;
# Krótszy czas zwiększa maksymalną prędkość obrotową, ale może &lt;br /&gt;
# powodować, że pierwsza lepsza przeszkoda obciąży silnik na tyle, &lt;br /&gt;
# że nie zdąży on wykonać kroku i zablokuje się w miejscu.&lt;br /&gt;
#&lt;br /&gt;
# Poniżej 1ms silnik może się blokować nawet bez obciążenia.&lt;br /&gt;
DOMYSLNY_CZAS_KROKU = 0.005&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def przygotuj():&lt;br /&gt;
    '''&lt;br /&gt;
    Ta funkcja przygotowuje piny Maliny do komunikacji ze sterownikami &lt;br /&gt;
    silników. Należy ją wywołać na początku programu, przed wszystkimi &lt;br /&gt;
    innymi. &lt;br /&gt;
    '''&lt;br /&gt;
    gpio.setmode(gpio.BOARD)&lt;br /&gt;
    piny_sterowania_silnikow = [PIN_SILNIK_LEWY_KROK, &lt;br /&gt;
        PIN_SILNIK_LEWY_KIERUNEK, PIN_SILNIK_LEWY_WLACZ, &lt;br /&gt;
        PIN_SILNIK_PRAWY_KROK, PIN_SILNIK_PRAWY_KIERUNEK, &lt;br /&gt;
        PIN_SILNIK_PRAWY_WLACZ]&lt;br /&gt;
&lt;br /&gt;
    for pin in piny_sterowania_silnikow:    &lt;br /&gt;
        gpio.setup(pin, gpio.OUT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def podlacz(lewy = 0, prawy = 0):&lt;br /&gt;
    '''&lt;br /&gt;
    Włącza lub wyłącza zasilanie silników. Na przykład:&lt;br /&gt;
    podlacz(1,0) -- włączy zasilanie w silniku lewym i wyłączy w prawym&lt;br /&gt;
    podlacz(0,0) -- wyłączy zasilanie obu silników&lt;br /&gt;
    podlacz(1, None) -- włącza zasilanie lewego silnika nie zmieniając &lt;br /&gt;
                        stanu zasilania prawego&lt;br /&gt;
    podlacz() -- brak parametrów spowoduje przyjęcie domyślnych 0,0&lt;br /&gt;
                 a więc ta instrukcja wyłącza zasilanie obu silników&lt;br /&gt;
    '''&lt;br /&gt;
    # Przełączamy zasilanie silnika o ile wartość nie jest &lt;br /&gt;
    # nieokreślona (None)&lt;br /&gt;
    if lewy is not None:&lt;br /&gt;
        gpio.output(PIN_SILNIK_LEWY_WLACZ, lewy)&lt;br /&gt;
    if prawy is not None:&lt;br /&gt;
        gpio.output(PIN_SILNIK_PRAWY_WLACZ, prawy)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def krok(lewy, prawy, czas = None):&lt;br /&gt;
    '''&lt;br /&gt;
    Wywołanie tej funkcji wysyła impusly sterujące do sterowników silnika, &lt;br /&gt;
    które powodują wykonanie jednego kroku. &lt;br /&gt;
    &lt;br /&gt;
    Na przykład:&lt;br /&gt;
       krok(PRZOD, PRZOD) -- wykonanie kroku w przód przez oba silniki&lt;br /&gt;
       krok(PRZOD, TYL)   -- lewy silnik wykona krok w przód, a prawy w tyl, &lt;br /&gt;
                             pojazd skręci lekko w prawo w miejscu &lt;br /&gt;
       krok(PRZOD, STOP)  -- lewy silnik wykona krok w przód, a prawy &lt;br /&gt;
                             nie poruszy się&lt;br /&gt;
&lt;br /&gt;
    Jeśli nie chcemy używać domyślnego czasu wykonywania kroku (patrz opis &lt;br /&gt;
    zmiennej DOMYSLNY_CZAS_KROKU powyżej) możemy podać inną wartość czasu&lt;br /&gt;
    dla aktualnego kroku jako trzeci paramter. &lt;br /&gt;
    &lt;br /&gt;
    Na przykład:&lt;br /&gt;
       krok(PRZOD, PRZOD, 0.01) -- krok do przodu na obu silnikach z względnie&lt;br /&gt;
                                   długim czasem -- w tym trybie powinno się &lt;br /&gt;
                                   dać pokonać trudne przeszkody, które blokują&lt;br /&gt;
                                   silnik kiedy czas jest krótszy&lt;br /&gt;
    '''&lt;br /&gt;
&lt;br /&gt;
    # Zamieniamy podane polecenie na odpowiednie wartości dla pinów STEP i DIR.&lt;br /&gt;
&lt;br /&gt;
    if lewy == PRZOD:      # PRZOD: generujemy impuls kroku z pinem kierunku na 1&lt;br /&gt;
        lewy_krok = 1&lt;br /&gt;
        lewy_kierunek = 1    &lt;br /&gt;
    elif lewy == STOP:     # STOP: bez impulsu kroku, kierunek bez znaczenia&lt;br /&gt;
        lewy_krok = 0&lt;br /&gt;
        lewy_kierunek = None&lt;br /&gt;
    elif lewy == TYL:      # TYL: impuls kroku z pinem kierunku na 0  &lt;br /&gt;
        lewy_krok = 1&lt;br /&gt;
        lewy_kierunek = 0&lt;br /&gt;
    else:&lt;br /&gt;
        raise &amp;quot;Nieznane polecenie!&amp;quot;  # Nie PRZOD, nie TYL, nie STOP??? To co?   &lt;br /&gt;
&lt;br /&gt;
    # Jak wyżej, tylko dla prawego silnika. Zwróć uwagę, że pin kierunku włączany&lt;br /&gt;
    # jest odwrotnie (dla PRZOD ma wartosc 1, dla TYL 0). Wynika to z budowy &lt;br /&gt;
    # robota gdzie silniki są obrócone do siebie o 180 stopni i trzeba je obracać &lt;br /&gt;
    # w przeciwną stronę, żeby napędzały robota w tym samym kierunku.&lt;br /&gt;
    if prawy == PRZOD:       &lt;br /&gt;
        prawy_krok = 1&lt;br /&gt;
        prawy_kierunek = 0&lt;br /&gt;
    elif prawy == STOP:  &lt;br /&gt;
        prawy_krok = 0&lt;br /&gt;
        prawy_kierunek = None&lt;br /&gt;
    elif prawy == TYL:   &lt;br /&gt;
        prawy_krok = 1&lt;br /&gt;
        prawy_kierunek = 1&lt;br /&gt;
    else:&lt;br /&gt;
        raise &amp;quot;Nieznane polecenie!&amp;quot;  &lt;br /&gt;
&lt;br /&gt;
    # Jeśli czas nie jest podany ustawiamy domyślną wartość zdefiniowaną&lt;br /&gt;
    # w DOMYSLNY_CZAS_KROKU&lt;br /&gt;
    if czas is None:&lt;br /&gt;
        czas = DOMYSLNY_CZAS_KROKU&lt;br /&gt;
&lt;br /&gt;
    # I wykonanie kroku:&lt;br /&gt;
 &lt;br /&gt;
    # Najpierw ustawiamy sygnały na pinach kierunków o ile jest to potrzebne &lt;br /&gt;
    # (np. polecenie STOP nie wymaga ustawiania kierunku)&lt;br /&gt;
    if lewy_kierunek is not None:&lt;br /&gt;
        gpio.output(PIN_SILNIK_LEWY_KIERUNEK, lewy_kierunek)&lt;br /&gt;
&lt;br /&gt;
    if prawy_kierunek is not None:&lt;br /&gt;
        gpio.output(PIN_SILNIK_PRAWY_KIERUNEK, prawy_kierunek)&lt;br /&gt;
&lt;br /&gt;
    # Teraz wysyłamy impuls wykonania kroku, czyli przez połowę podanego czasu &lt;br /&gt;
    # ustawiamy pin na wyznaczoną powyżej wartość, a po chwili dajemy 0. &lt;br /&gt;
    gpio.output(PIN_SILNIK_LEWY_KROK, lewy_krok)&lt;br /&gt;
    gpio.output(PIN_SILNIK_PRAWY_KROK, prawy_krok)&lt;br /&gt;
    sleep(czas*0.5)&lt;br /&gt;
&lt;br /&gt;
    gpio.output(PIN_SILNIK_LEWY_KROK, 0)&lt;br /&gt;
    gpio.output(PIN_SILNIK_PRAWY_KROK, 0)&lt;br /&gt;
    sleep(czas*0.5)&lt;br /&gt;
&lt;br /&gt;
    # Dokładniejszy opis: &lt;br /&gt;
    #&lt;br /&gt;
    # Jeśli wyznaczona wartość ..._krok wynosiła 1, sygnał na pinie STEP skoczy &lt;br /&gt;
    # do 1 (czyli ok. 3 wolty) i potem spadnie do 0. Sterownik zinterpretuje &lt;br /&gt;
    # to jako impuls na wejściu STEP i wygeneruje odpowiednie sygnały &lt;br /&gt;
    # na wyjściach silnika, które przekręcą go o krok. &lt;br /&gt;
    #&lt;br /&gt;
    # Jeśli wartość ..._step wynosi 0, wówczas sygnał na pinie będzie cały czas &lt;br /&gt;
    # ustawiony na 0, sterownik nie otrzyma impulsu na wejściu STEP i nie &lt;br /&gt;
    # wygeneruje nowych sygnałów na wyjściu silnika, który wobec tego pozostanie &lt;br /&gt;
    # w niezmienionej pozycji.&lt;br /&gt;
    #&lt;br /&gt;
    # Wykresy napięcia jakie &amp;quot;widzi&amp;quot; wejście STEP lewego sterownika zależnie &lt;br /&gt;
    # od wartości lewy_krok:&lt;br /&gt;
    # &lt;br /&gt;
    #&lt;br /&gt;
    #                   |         1        |                  |&lt;br /&gt;
    # 3V                |   ...............|                  |&lt;br /&gt;
    #                   |  .               |                  | &lt;br /&gt;
    #  lewy_krok = 1    | .                |.                 |&lt;br /&gt;
    #                   |.                 | .      0         |&lt;br /&gt;
    # 0V ...............|                  |  ................|.............&lt;br /&gt;
    #                   |                  |                  |&lt;br /&gt;
    #                   |                  |                  |&lt;br /&gt;
    #                   |                  |                  |&lt;br /&gt;
    # 3V                |                  |                  |&lt;br /&gt;
    #                   |                  |                  | &lt;br /&gt;
    #  lewy_krok = 0    |                  |                  |&lt;br /&gt;
    #                   |         0        |        0         |&lt;br /&gt;
    # 0V ...............|..................|..................|.............&lt;br /&gt;
    #                   |                  |                  |&lt;br /&gt;
    #                     &amp;lt;-- czas*0.5 --&amp;gt;   &amp;lt;-- czas*0.5 --&amp;gt;     &lt;br /&gt;
    #&lt;br /&gt;
    #                     &amp;lt;------------  czas  -------------&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def zestaw(lewo, prawo, powtorek = 1):&lt;br /&gt;
    '''&lt;br /&gt;
    Funkcja bierze polecenie i powtarza jego wykonanie podaną ilość razy: &lt;br /&gt;
    lewo - polecenie dla lewego silnika&lt;br /&gt;
    prawo - polecenie dla prawego silnika&lt;br /&gt;
    powtorek - oznacza ile razy nalezy ten zestaw kroków powtórzyć&lt;br /&gt;
&lt;br /&gt;
    Na przykład:&lt;br /&gt;
    zestaw(PRZOD, STOP, 10)   -- wykona 10 kroków do przodu lewym silnikiem,&lt;br /&gt;
    zestaw(PRZOD, PRZOD, 200) -- wykona 200 kroków do przodu oboma silnikami,&lt;br /&gt;
                                 a więc koła obrócą się o pełny obrót  &lt;br /&gt;
    zestaw(PRZOD, TYL, 100)   -- obróci lewe koło 100 kroków do przodu, &lt;br /&gt;
                                 a prawe 100 do tyłu, a więc robot powinien &lt;br /&gt;
                                 wykonać skręt w prawo w miejscu.&lt;br /&gt;
    ''' &lt;br /&gt;
    for i in xrange(1, 1 + powtorek):&lt;br /&gt;
        krok(lewo, prawo)&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
def sekwencja(lista_zestawow):&lt;br /&gt;
    '''&lt;br /&gt;
    Czyta podaną listę i wykonuje kolejno podane w niej zestawy kroków.&lt;br /&gt;
&lt;br /&gt;
    lista_zestawów -- lista zawierająca kolejne zestawy; w pythonie &lt;br /&gt;
                      listę podaje się w nawiasach kwadratowych [] &lt;br /&gt;
                      oddzielając elementy przecinkami &lt;br /&gt;
&lt;br /&gt;
    Na przykład:&lt;br /&gt;
&lt;br /&gt;
    sekwencja([ (PRZOD, PRZOD, 400), (PRZOD, TYL, 100), (TYL, PRZOD, 100) ]) &lt;br /&gt;
&lt;br /&gt;
         -- wykona kolejno trzy zestawy: &lt;br /&gt;
            1. (PRZOD, PRZOD, 400)&lt;br /&gt;
            2. (PRZOD, TYL, 100)&lt;br /&gt;
            3. (TYL, PRZOD, 100)&lt;br /&gt;
            Pierwszy spowoduje podjechanie modelu o dwa pełne obroty kół &lt;br /&gt;
            do przodu. Drugi obrócenie lewego koła do przodu a prawego &lt;br /&gt;
            do tyłu o pół obrotu, a wiec robot skręci w miejscu w prawo. &lt;br /&gt;
            Ostatni zestaw spowoduje skręt w miejscu w przeciwną stronę &lt;br /&gt;
            - robot powróci do pierwotnego kierunku. Cała sekwencja wyglądać &lt;br /&gt;
            będzie tak jakby robot podjechał do przodu i rozejrzał się &lt;br /&gt;
            w prawo. &lt;br /&gt;
    '''&lt;br /&gt;
    for kolejny_zestaw in lista_zestawow:&lt;br /&gt;
        zestaw(*kolejny_zestaw)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Przykłady użycia ===&lt;br /&gt;
Dzięki modułowi '''silniki''' sterowanie ruchem sprowadza się do prostych instrukcji. &lt;br /&gt;
&lt;br /&gt;
Na początek spróbujmy zobaczyć instrukcję  &amp;lt;code&amp;gt;zestaw(''lewy, prawy, powtorek'')&amp;lt;/code&amp;gt; w akcji.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# coding: utf-8&lt;br /&gt;
import silniki as s&lt;br /&gt;
&lt;br /&gt;
# Przygotowanie portów Maliny do pracy&lt;br /&gt;
s.przygotuj()&lt;br /&gt;
&lt;br /&gt;
# Włączenie zasilania silników -- po tej instrukcji silniki powinny zablokować się w ustalonej pozycji&lt;br /&gt;
s.podlacz(1,1)&lt;br /&gt;
&lt;br /&gt;
# 10 obrotów kół (czyli 10*200 kroków) w przód&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 2000) &lt;br /&gt;
&lt;br /&gt;
# Jeden obrót lewego koła w przód, prawe stoi -- robot skręca w prawo&lt;br /&gt;
s.zestaw(s.PRZOD, s.STOP, 200)&lt;br /&gt;
&lt;br /&gt;
# Koniec programu, wyłączamy zasilanie silników -- po tej instrukcji koła znów obracają się lekko&lt;br /&gt;
s.podlacz(0,0)&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Po zapisaniu tego kodu w pliku &amp;lt;code&amp;gt;silniki_p1.py&amp;lt;/code&amp;gt; i wydaniu polecenia&lt;br /&gt;
&lt;br /&gt;
 pi@raspberrypi:~ $ python silniki_p1.py &lt;br /&gt;
&lt;br /&gt;
robot powinien przejechać 10 obrotów kół do przodu,  a potem skręcić w prawo. Oczywiście nie będzie to możliwe jeśli będziemy się łączyć z Maliną poprzez kabel USB dlatego w tej chwili najlepiej zdjąć koła, albo unieść je w górę i obserwować czy wykonują oczekiwane ruchy. Poniżej pokażemy gdzie wstawić powyższą instrukcję, żeby robot wykonywał podany kod zaraz po włączeniu. Wówczas będzie można podłączyć Malinę do powerbanku i oglądać wykonanie instrukcji w ruchu.&lt;br /&gt;
&lt;br /&gt;
== W akcji ==&lt;br /&gt;
Przykładowy kod sterujący i zachowaniem trzykołowca&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# coding: utf-8&lt;br /&gt;
import silniki as s&lt;br /&gt;
&lt;br /&gt;
s.przygotuj()                      # Przygotowanie pinów Maliny do wysyłania sygnałów.&lt;br /&gt;
s.podlacz(1,1)                     # Włączamy zasilanie silników, koła trudno obracać. &lt;br /&gt;
&lt;br /&gt;
s.zestaw(s.TYL, s.PRZOD, 60)       # lewe koło to tyłu, prawe do przodu o 60 kroków -- skręt w lewo&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)    # 400 kroków w przód, bok kwadratu ok. 50cm&lt;br /&gt;
s.zestaw(s.TYL, s.PRZOD, 60)       # skręt i drugi bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
s.zestaw(s.TYL, s.PRZOD, 60)       # skręt i trzeci bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
s.zestaw(s.TYL, s.PRZOD, 60)       # skręt i czwarty bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
&lt;br /&gt;
s.zestaw(s.PRZOD, s.TYL, 60)       # lewe koło w przód, prawe w tył -- skręt w prawo&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)    # robot jedzie w kierunku stopy na filmie&lt;br /&gt;
s.zestaw(s.PRZOD, s.TYL, 60)       # kolej skręt i bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
s.zestaw(s.PRZOD, s.TYL, 60)       # następny&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
s.zestaw(s.PRZOD, s.TYL, 60)       # ostatni skręt i bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
&lt;br /&gt;
# ... i tak dalej, kolejny kwadrat w lewo&lt;br /&gt;
&lt;br /&gt;
s.podlacz(0,0)           # Wyłączamy zasilanie silników, koła znów obracają się lekko&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;fSHDZ6fRyPc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Roboty]]&lt;br /&gt;
[[Category:Projekty_Pi_Zero]]&lt;br /&gt;
[[Category:Silniki_krokowe]]&lt;br /&gt;
[[Category:Moduły_elektroniczne]]&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Plik:Skalowanie_momentu_si%C5%82y_na_przyk%C5%82adzie_silnika_nema14_120mNm.jpg&amp;diff=630</id>
		<title>Plik:Skalowanie momentu siły na przykładzie silnika nema14 120mNm.jpg</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Plik:Skalowanie_momentu_si%C5%82y_na_przyk%C5%82adzie_silnika_nema14_120mNm.jpg&amp;diff=630"/>
		<updated>2019-11-20T18:36:11Z</updated>

		<summary type="html">&lt;p&gt;Isj: Silnik krokowy o znamionowym momencie obrotowym 120mNm (miliniutonometrów) potrafi zrównowazyć siłę 120 mN (miliniutonów, czyli 0.12N) działającą na końcu ramienia o długości jednego metra. Skracanie ramienia wymaga przyłożenia proporcjon...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Opis ==&lt;br /&gt;
Silnik krokowy o znamionowym momencie obrotowym 120mNm (miliniutonometrów) potrafi zrównowazyć siłę 120 mN (miliniutonów, czyli 0.12N) działającą na końcu ramienia o długości jednego metra. Skracanie ramienia wymaga przyłożenia proporcjonalnie coraz większej siły. Gdyby nawijać linkę bezpośrednio na osi silnika, która ma promień 2.5mm, a więc 400 razy krótszy niż metr, dopiero zadziałanie z siłą 0.12N * 400 = 48N pozwoliłoby zatrzymać silnik (co odpowiada masie prawie 5kg w polu grawitacyjnym Ziemi).&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Trzyko%C5%82owiec&amp;diff=629</id>
		<title>Trzykołowiec</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Trzyko%C5%82owiec&amp;diff=629"/>
		<updated>2019-11-19T15:24:40Z</updated>

		<summary type="html">&lt;p&gt;Isj: /* Moment obrotowy 120 mN/m */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Projekt prostego programowalnego robota kołowego z dwoma silnikami. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Do czego zmierzamy ==&lt;br /&gt;
Chodzi o to, żeby względnie małym nakładem pracy uzyskać robota, którego można łatwo zaprogramować. Dzięki temu bez zbędnych komplikacji będzie można rozpocząć realną zabawę w całkiem poważną robotykę. Robot będzie się składał z dwóch, oddzielnie sterowanych silników napędowych wyposażonych w koła, oraz trzeciego podpierającego. Możliwość sterowania obrotami każdego z kół z osobna pozwala zaprogramować dowolny kierunek jazdy i tworzyć dowolne trasy przejazdu. Podstawowe możliwości, uniwersalność i przez to przydatność takiego robota pokazuje poniższy film, gdzie projektanci z firmy Microsoft użyli dokładnie takiej konstrukcji w swoich projektach. Co więcej, tak samo jak my użyli Maliny jako &amp;quot;mózgu&amp;quot; robota.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;vimeo&amp;quot;&amp;gt;126458720&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Konstrukcja ==&lt;br /&gt;
=== Silnik ===&lt;br /&gt;
[[Plik:Nema_14.jpg|thumb|right|250px|Silnik o rozmiarze NEMA 14.]]&lt;br /&gt;
Do napędu kół użyjemy silnika krokowego o następujących parametrach:&lt;br /&gt;
* rozmiar NEMA 14, czyli boki '''35x35 mm''', ponadto nasz silnik będzie miał '''34 mm długości''' i oś wystającą na 20mm o średnicy 5mm&lt;br /&gt;
* waga '''180g'''&lt;br /&gt;
* maksymalny moment obrotowy '''120 mN/m''' (miliniutonów na metr)&lt;br /&gt;
* żeby wykonać pełny obrót silnik potrzebuje '''200 kroków'''&lt;br /&gt;
* pobór prądu '''750mA'''(miliamperów) przy napięciu zasilającym '''4.35V'''&lt;br /&gt;
&lt;br /&gt;
[[Plik:Silnik_krokowy_w_środku.jpg|right|250px|thumb|Tak wygląda w środku.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zasadę działania silnika krokowego przedstawia animacja poniżej: włączamy prąd w kolejnych uzwojeniach, co wytwarza silne pole magnetyczne, które przyciąga metalowe wypustki wirnika i obraca go o pewien mały kąt. Zależnie od tego w jakiej kolejności włączamy cewki, silnik będzie się kręcił w lewo lub prawo. Dużo więcej magii w tym nie ma ;).&lt;br /&gt;
&lt;br /&gt;
[[Plik:StepperMotor.gif|center]]&lt;br /&gt;
&lt;br /&gt;
Jak widać na zdjęciu rozebranego realnego silnika, praktyczna realizacja jest trochę inna: w tym przypadku mamy 8 cewek elektromagnesów na obwodzie (miedziane zwoje drutu na dole zdjęcia), a nie 4 jak na schemacie. Jednak sama zasada pozostaje ta sama. Dodatkowe cewki i podwójny rotor jak widać na zdjęciu pozwalają poprawić siłę z jaką silnik się obraca oraz precyzję kontroli kąta obrotu. Szczegóły wyjaśnia film poniżej.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;eyqwLiowZiU&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
==== Co oznaczają podane parametry silnika? ====&lt;br /&gt;
&lt;br /&gt;
===== Wymiary i masa =====&lt;br /&gt;
&lt;br /&gt;
Z rozmiarów silnika zgodnego z normą NEMA 14 i jego masy widzimy, że choć silnik nie jest jakoś przerażająco wielki, to jest jednak całkiem solidnym kawałkiem metalu. Same dwa silniki napędowe będą ważyły 360g, a więc dodając jeszcze powerbank, możemy się spodziewać, że cały robot będzie ważył około 1kg. To oszacowanie przyda się przy projektowaniu podwozia. Dzięki niemu wiemy jaką mniej więcej powinno mieć wytrzymałość &amp;amp;mdash; w przybliżeniu powinno być sztywniejsze niż choćby karta bankomatowa.&lt;br /&gt;
&lt;br /&gt;
===== Moment obrotowy 120 mN/m =====&lt;br /&gt;
&lt;br /&gt;
Gdyby przeczytać tą liczbę brzmiałaby ''&amp;quot;sto dwadzieścia miliniutonów na metr&amp;quot;''. Pierwsza część to niewielka siła (okolice ciężaru odtwarzacza mp3). Ale o jaki metr chodzi? &lt;br /&gt;
&lt;br /&gt;
O taki, jak gdyby do osi silnika przymocować metrowy patyk pod kątem prostym do osi (tak jak szprycha w kole roweru). Kiedy silnik pracowałby z całej siły wówczas koniec takiego metrowego patyka naciskałby na rękę z podaną siłą, lub jak kto woli wystarczyłoby delikatnie trzymać jego koniec, żeby silnik nie mógł się obracać. &lt;br /&gt;
&lt;br /&gt;
Łatwo wyczuć intuicyjnie, że gdyby patyk był krótszy, wówczas trzeba by było użyć większej siły, żeby powstrzymać silnik przed obracaniem się. Kto nie wierzy niech spróbuje przytrzymać koło roweru za szprychę najpierw chwytając blisko opony, a potem bliżej środka. O razu widać, że o ile trzymanie przy oponie jakoś wychodzi, to bliżej środka palce są za słabe. Fizycy mówią, że '''jeśli skracamy ramię na które działa pewien moment obrotowy, to siła na końcu ramienia proporcjonalnie rośnie'''. &lt;br /&gt;
&lt;br /&gt;
'''I to jest bardzo dobra wiadomość!''' Gdybyśmy mieli silnik pchający robota do przodu z siłą tylko 120mN moglibyśmy zapomnieć o jeździe po czymkolwiek mniej gładkim niż stół, a i to wątpliwe... Jeśli jednak skrócimy w wyobraźni metrowy patyk do połowy, siła na końcu wzrośnie proporcjonalnie do 240mN. Nadal szału nie ma, ale jest postęp.  Gdybyśmy skrócili go do &amp;lt;math&amp;gt;\frac{1}{10}&amp;lt;/math&amp;gt; metra, wówczas otrzymamy 120mN * 10 = 1200mN. Przypomnę, że ''mili'' oznacza jedną tysięczną. Czyli 1200mN to już całkiem duża siła 1.2 niutona. &lt;br /&gt;
&lt;br /&gt;
No dobrze, ale przecież nie będziemy używać patyków, tylko koła... To nic nie zmienia! Wystarczy sobie wyobrazić, że nakładamy na oś jeden patyk za drugim dookoła osi (znów, tak jak szprychy w kole roweru). Jeśli nawkładalibyśmy ich odpowiednio dużo powstanie w końcu koło. Na tym polega geniusz wynalazku koła, którego ludzkość  [https://pl.wikipedia.org/wiki/Ko%C5%82o_(technika) bardzo długo nie znała]. Dzięki odsunięciu osi, na której skupiony jest ciężar od podłoża, możemy przesuwać masy ze znacznie mniejszym wysiłkiem, bo cały czas stosujemy dźwignię o takiej długości jak promień koła. &lt;br /&gt;
&lt;br /&gt;
Teraz możemy wrócić do wymiarów w trójkołowcu. Jeśli użylibyśmy niewielkich kół o średnicy 2cm, wówczas promień miałby tylko 1cm, a więc 1/100 metra. Silnik pracujący z maksymalną mocą ciągnąłby pojazd na takich kołach z siłą 120 * 100 = 12000mN, czyli 12N. Z taką siłą naciska na rękę trzymane w niej 1,2 kg. Dla kół o średnicy dwa razy większej (4cm) siła spadłaby do 6N (~600g) i dla kółek o średnicy 6cm do około 4N (~400g). &lt;br /&gt;
&lt;br /&gt;
Czy to dużo czy mało? Możemy łatwo oszacować co to oznacza wyliczając możliwe przyśpieszenia robota. Dla ułatwienia przyjmijmy, że cały będzie ważył około '''1kg'''. &lt;br /&gt;
&lt;br /&gt;
Przyśpieszenie podaje zupełnie prosty wzór, sprzed ponad 300 lat,  pana [https://pl.wikipedia.org/wiki/Isaac_Newton Izaaka Newtona] (czytaj ''niuton''):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;a=\frac{F}{m}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
gdzie: &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;math&amp;gt;F&amp;lt;/math&amp;gt; to siła wyrażona w, a jakże, w '''N''' (niutonach)&lt;br /&gt;
* &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; to masa, u nas 1kg&lt;br /&gt;
* &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; to przyśpieszenie jakiego należy się spodziewać w m/s²&lt;br /&gt;
&lt;br /&gt;
Podstawiając dane dla kół o średnicy 6cm, które dają siłę pchającą 4N na jeden silnik, przy włączonym napędzie na oba koła mamy:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;a=\frac{2*4[N]}{1[kg]}=8 [m/s^2]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jeśli porównamy to z przyśpieszeniem ziemskim, wynoszącym &amp;lt;math&amp;gt;9,81 [m/s^2]&amp;lt;/math&amp;gt; widzimy, że pojazd mógłby przyśpieszać prawie tak szybko jak szybko rzeczy spadają w polu grawitacji Ziemi. Inaczej mówiąc potrzebowałby '''niecałych 3 sekund &amp;quot;do setki&amp;quot; !''' Oczywiście to tylko oszacowanie, które podaje maksymalne przyśpieszenie. W praktyce będzie ono mniejsze. Wystarczy choćby zauważyć, że nie uwzględniliśmy sił tarcia, która będzie go spowalniać. Nawet jednak gdybyśmy spadli w okolice połowy tego przyśpieszenia nadal taki napęd wydaje się sensowny.&lt;br /&gt;
&lt;br /&gt;
Niestety oprócz zdolności silnika do przyśpieszania pojazdu, która jak widzimy jest dobra, musimy uwzględnić jeszcze jedno ograniczenie &amp;amp;mdash; maksymalną prędkość z jaką silnik potrafi się obracać. Jak widać na filmie w dalszej części strony, pojazd rusza natychmiast, bez wyraźnych opóźnień, a więc przyśpieszenie jest rzeczywiście dobre. Jednak jego maksymalna prędkość nie jest wielka właśnie dlatego, że układ sterowania silnika nie może podawać impulsów sterujących dowolnie szybko. Silnik wymaga 200 impulsów na każdy pełny obrót. Szacunkowo jeśli potrafilibyśmy generować 1000 impulsów na sekundę, koło obracałoby się 5 razy w ciągu sekundy, a więc pojazd z kołami o promieniu 3cm (jak na filmie) poruszałby się z prędkością  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5[obr/s]*2*\pi*r[m]=10*3.14*0.03=0.95[m/s]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== 200 kroków na obrót =====&lt;br /&gt;
Silniki krokowe działają trochę inaczej niż zwykłe. W zwykłym wystarczy włączyć prąd i silnik się obraca. Silnikiem krokowym steruje się inaczej: podaje się odpowiednie impulsy, które powodują, że oś silnika obraca się o pewien kąt. Jak daleko obraca się oś w jednym kroku definiuje właśnie liczba kroków potrzebnych do pełnego obrotu. W przypadku naszego silnika będziemy musieli podać 200 impulsów żeby koło napędowe wykonało jeden obrót. Dzięki takiej dokładności możliwe będzie bardzo precyzyjne sterowanie odległością jaką przemierza każde koło, a przez to będzie można precyzyjnie skręcać.&lt;br /&gt;
&lt;br /&gt;
===== Parametry elektryczne =====&lt;br /&gt;
Jeśli chodzi o napięcie pracy silnika, wynoszące 4.35V, jest ono nieco mniejsze niż '''5V, którego używają porty USB, powerbank''' i którym zasilana jest Malina (przy czym część cyfrowa Maliny działa przy napięciach 0 i 3.3V). &lt;br /&gt;
&lt;br /&gt;
Możemy jednak przyjąć, że nieco wyższe napięcie zasilania jakiego użyjemy, nie będzie groźne dla uzwojeń silnika, a może poprawić prędkość z jaką silnik będzie wykonywał kolejne kroki. W normalnej sytuacji, kiedy silniki jest montowany w większej maszynie unikalibyśmy takiego &amp;quot;podkręcania&amp;quot;, ale w naszym przypadku silnik będzie pracował w otwartej przestrzeni, i pewien nadmiar wydzielanego ciepła jest dopuszczalny.&lt;br /&gt;
&lt;br /&gt;
Znaczenie poboru prądu wyjaśnimy przy okazji rozważań o baterii.&lt;br /&gt;
&lt;br /&gt;
=== Bateria ===&lt;br /&gt;
&lt;br /&gt;
Pobór prądu przez jeden silnik, który wynosi 750mA (miliamperów) oznacza, że gdybyśmy mieli baterię o pojemności 750mAh (miliamperogodzin) pojedynczy silnik mógłby działać przez godzinę. Ponieważ mamy dwa silniki i jeszcze Malinę, która również zużywa prąd, możemy oczekiwać zużycia na poziomie około 1800mAh. &lt;br /&gt;
&lt;br /&gt;
Teoretycznie więc powerbank o takiej pojemności mógłby zasilać robota przez godzinę. W praktyce producenci obiecują gruszki na wierzbie, i lepiej przyjąć co najmniej 2500mA potrzebnej pojemności na godzinę pracy robota. &lt;br /&gt;
&lt;br /&gt;
Powerbanki zwykle ładują się godzinami -- nie rzadko instrukcja podaje 8-10 godzin. Ponieważ byłoby niezbyt wygodnie po każdej godzinie testów czekać 8 godzin do kolejnego naładowania baterii, lepiej zastosować akumulator o większej pojemności niż tylko godzina użytkowania. Ostatecznie więc pobór prądu mówi nam tyle, że przydałby się akumulator o pojemności co najmniej 5000mAh. &lt;br /&gt;
&lt;br /&gt;
Ponadto musimy uwzględnić maksymalne możliwe obciążenie prądowe. Cóż z tego, że mielibyśmy pełny basen wody, jeśli dałoby się z niego czerpać tylko po jednej kropli na godzinę? Musimy więc wybrać powerbank, który będzie miał też odpowiednią wydajność. &lt;br /&gt;
&lt;br /&gt;
Dwa silniki zużywają 750mA * 2 = 1500mA. Do tego prądu trzeba dodać też Malinę, czyli co najmniej 500mA. Powerbank musi znieść obciążenie 2000mA, czyli 2A.&lt;br /&gt;
&lt;br /&gt;
=== Projekt podwozia ===&lt;br /&gt;
Wykonanie podwozia jest zadaniem do wykonania samodzielnie. ''Wszystkie chwyty dozwolone!'' Jeśli masz natchnienie, żeby ulepić podwozie z taśmy klejącej i gumy do żucia proszę bardzo. Jest tylko jedno ograniczenie -- byłoby fajnie gdyby robot zbudowany w oparciu o dostarczone części i zaprojektowane podwozie jeździł! Żeby to ograniczenie dokładniej sprecyzować umówmy się, że: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;thumb&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;thumbinner&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;thumbcaption&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#00bb44&amp;quot;&amp;gt;Części robota (oprócz Maliny) przechodzą na własność konstruktora dopiero po udowodnieniu, że robot jeździ i to zgodnie z podanym programem, czyli inaczej mówiąc '''o własnych siłach zarówno fizycznych jak i &amp;quot;umysłowych&amp;quot;.'''&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jeśli ktoś chciałby zaprojektować podwozie do wydruku na drukarce 3D (to jest możliwa opcja, nie wymaganie!) proponuję wykorzystanie programu FreeCAD. Dla ułatwienia poniżej plik wstępnie przygotowanego projektu robota. Zawiera podstawowe elementy zgodne z ich rozmiarami:&lt;br /&gt;
* płytkę Maliny&lt;br /&gt;
* silniki&lt;br /&gt;
* powerbank&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pozostaje tylko zająć się samym podwoziem i rozmieszczeniem wyżej wymienionych elementów na nim.&lt;br /&gt;
 &lt;br /&gt;
[[Plik:Trzykolowiec.fcstd]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;eAhDwQ00lHU&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Przykładowe rozwiązanie mechanicznej części robota wykonanej na drukarce 3D przedstawiają zdjęcia poniżej.&lt;br /&gt;
&lt;br /&gt;
[[Plik:Platforma_trzykołowca_wykonana_jako_wydruk_3D_--_góra.jpg|400px|thumb|left|Trzykołowiec wydrukowany na drukarce. Widok z góry.]]&lt;br /&gt;
[[Plik:Platforma_robota_wykonana_jako_wydruk_3D_--_spód.jpg|400px|thumb|right|I z dołu.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
== Elektronika ==&lt;br /&gt;
=== Opis wyprowadzeń łącza 40 pinowego ===&lt;br /&gt;
Piny złącza 40 pinowego liczy się zaczynając od kwadratowego (numer 1), a dalej &amp;quot;zygzakiem&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt; napięcie 3.3V &amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 1 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 2 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b style=&amp;quot;color:red&amp;quot;&amp;gt; napięcie 5V &amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right;color: orange&amp;quot;| I²C: SDA (dane) &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;Rezystor podciągający 1.8k do 3.3V&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 3 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 4 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b style=&amp;quot;color:red&amp;gt; napięcie 5V &amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right; color: orange&amp;quot;| I²C: SCL (taktowanie) &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;Rezystor podciągający 1.8k do 3.3V&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 5 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 6 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| GPCLK0 &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;(zegar nr 0, ogólnego przeznaczenia)&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 7 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 8 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;color: green&amp;quot;| UART0: TXD (wysyłka) &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;(na tym łączu działa konsola systemu Raspbian)&amp;lt;/small&amp;gt;&amp;lt;/em&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 9 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 10 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;color: green&amp;quot;| UART0: RXD (odbiór) &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;(na tym łączu działa konsola systemu Raspbian)&amp;lt;/small&amp;gt;&amp;lt;/em&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  11&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 12&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| PWM0/BCM18 &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;(fala prostokątna o programowalnym wypełnieniu z generatora 0)&amp;lt;/small&amp;gt;&amp;lt;/em&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  13&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 14&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  15&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 16&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt; napięcie 3.3V &amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  17&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 18&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| MOSI/BCM10 (urządzenie nadrzędne do podrzędnego na łączu SPI)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  19&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 20&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| MISO (urządzenie podrzędne do nadrzędnego na łączu SPI)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 21 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 22 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| SCLK/BCM11 (taktowanie łącza SPI)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|23 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 24 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| CE0 (linia 0 wyboru chipu łącza SLI)&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 25 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 26 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| CE1 (linia 1 wyboru chipu łącza SLI)&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| ID_SC (dane łącza I²C do pamięci EEPROM)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 27 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 28 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| ID_SC (taktowanie łącza I²C do pamięci EEPROM)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 29 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 30 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  31&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 32&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| PWM0/BCM12&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| PWM1/BCM13&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  33&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 34&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| MISO (urządzenie podrzędne do nadrzędnego na łączu SPI)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  35&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 36&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  37&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 38&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| MOSI/BCM20 (urządzenie nadrzędne do podrzędnego na łączu SPI)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  39&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 40&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;|  SCLK/BCM21 (taktowanie łącza SPI)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Powyżej zastosowane są następujące oznaczenia:&lt;br /&gt;
* '''pogrubiona czcionka''' &amp;amp;mdash; zwykłe piny elektryczne, nie działające w logice cyfrowej ponieważ nie łączą się z procesorem maliny (np. masa, napięcie 3.3V); napięcie '''3.3V''' może pełnić rolę sygnału wejściowego oznaczającego '''1''' ponieważ piny cyfrowe właśnie takiego napięcia spodziewają się jako logicznej jedynki; możliwe jest więc połączenie kablem wyjścia '''3.3V''' z którymś pinem logicznym żeby zasymulować podanie sygnału 1; można też zasilać z tego wyjścia jakieś niewielkie urządzenia np. podpiąć do niego diodę LED, której używamy jako sondy stanów logicznych i sprawdzić czy działa (wydajność zasilania 3.3V wynosi zaledwie kilkadziesiąt mA, nie należy go obciążać większymi układami)&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;'''czerwona pogrubiona czcionka'''&amp;lt;/span&amp;gt; &amp;amp;mdash;  napięcie zasilające '''5V'''; może się przydać do zasilania '''drobnych''' urządzeń (takich jakie można podłączyć do wyjścia USB z którego zasilamy malinę);  UWAGA: Napięcie '''5V''' jest '''za wysokie dla wejść procesora''' i prawie na pewno go uszkodzi! Z tego powodu nie wolno łączyć kablem tych pinów z żadnymi wejściami cyfrowymi na łączu 40-pinowym! Właśnie dlatego oznaczone jest na czerwono! najlepiej na piny 2 i 4 nasunąć kawałek izolacji i o nich zapomnieć&lt;br /&gt;
* zwykła czcionka &amp;amp;mdash; piny cyfrowe gdzie ustawienie z programu wartości '''0''' daje napięcie '''0V''', a wysłanie wartości '''1''' daje napięcie około '''3V'''&lt;br /&gt;
* kolory i opisy przy pinie &amp;amp;mdash; niektóre piny mają ustawioną jakąś domyślną funkcję w systemie Raspbian sterującym maliną; te funkcje można w większości przedefiniować, jednak w czasie włączania systemu pin działa w trybie domyślnym, dopóki go nie przedefiniujemy po swojemu - '''jest to bardzo ważne jeśli do pinu podpięte jest jakieś urządzenie ponieważ po włączeniu maliny do prądu będzie ono otrzymywać przypadkowe sygnały w trakcie wczytywania systemu co może prowadzić do uszkodzeń (np. jeśli jest to silnik ramienia robota)'''; warto zauważyć, że zmiana działania pinu generuje ostrzeżenie i na przykład polecenie &amp;lt;code&amp;gt;gpio.setup(8, gpio.OUT)&amp;lt;/code&amp;gt; (czyli ustawienie pinu 8 jako zwykłe wyjście cyfrowe) wyświetli komunikat, że pin był używany w innej roli; kolory oznaczają piny związane domyślnie z tym samym urządzeniem (np. pary dwupinowych łączy &amp;lt;b style=&amp;quot;color: orange&amp;quot;&amp;gt;I²C&amp;lt;/b&amp;gt;, czy &amp;lt;b style=&amp;quot;color: green&amp;quot;&amp;gt;UART&amp;lt;/b&amp;gt;)&lt;br /&gt;
* brak opisu &amp;amp;mdash; piny nie wykonują żadnej specjalnej funkcji w domyślnej konfiguracji Raspbiana; przy włączeniu zasilania będą ustawione na 0; można ich dowolnie używać&lt;br /&gt;
&lt;br /&gt;
=== Moduł sterownika silnika krokowego DRV8834 i jego połączenie z maliną ===&lt;br /&gt;
[[Plik:Polaczenia_elektryczne_jednego_silnika.png|thumb|800px|right]]&lt;br /&gt;
Sposób połączenia silnika, źródła zasilania, sterownika i Maliny przedstawia obrazek.&lt;br /&gt;
&lt;br /&gt;
Jak widać w naszym prostym projekcie nie używamy wszystkich wyjść sterownika. &lt;br /&gt;
&lt;br /&gt;
Na diagramie niektóre z używanych wyjść są podpisane kolorem czerwonym, a inne jasnozielonym. Chodzi o to, żeby wyraźnie pokazać, że choć tego nie widać sterownik rozdziela cały układ na dwa zupełnie różne światy:&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;'''świat silnika''' &amp;amp;mdash; tutaj krążą duże prądy (takie, które mogą spokojnie odparować cieńsze przewody!), pojawiają się wyższe napięcia (rzędu kilkunastu woltów), układy pracują z dużą mocą (silnik potrafi być nawet gorący)&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:lightgreen&amp;quot;&amp;gt;'''świat cyfrowy''' &amp;amp;mdash; tutaj nie ma wielkiego znaczenia moc sygnału, a tylko czy ustawiony jest stan '''1''' (ok. 3 wolty) czy stan '''0''' (ok. zero woltów); wszystkie elementy z tego świata spodziewają się maksymalnie kilku woltów napięcia, nie zostały zaprojektowane do obsługiwania takich wielkich obciążeń jak silniki i cały ten podsystem mógłby być zasilany z małej zegarkowej bateryjki przez miesiące, na tyle jest &amp;quot;delikatny&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ważne jest, żeby rozróżniać te dwa światy!''' Jeśli ktoś spróbowałby podłączyć silnik do tego samego pinu, który jest połączony z Maliną prawdopodobnie spaliłby i sterownik i komputer (choć Malina ma pewne zabezpieczenia przed takim brutalnym traktowaniem i czasem zdąży się wyłączyć w porę). &lt;br /&gt;
&lt;br /&gt;
Ale jest też odwrotnie. W sprzyjających warunkach &amp;quot;delikatna&amp;quot; część cyfrowa potrafi &amp;quot;zamordować&amp;quot; część dużych mocy sterującą silnikami. Jak może do tego dojść? W dokładnie taki sam sposób, jak delikatne, ale nieprzemyślane ruchy kierownicą mogą zniszczyć cały samochód. Chodzi o to, że część cyfrowa steruje systemem, który ma już jakąś niemałą energię (silnik, koła).  W przypadku projektu z diodą, jeśli kod zawierał jakąś nie do końca przemyślaną instrukcję, najgorszym co mogło się stać był brak światła lub świecenie diody w nieoczekiwany sposób. Nic ponad to. Tymczasem tutaj robot może niespodziewanie ruszyć, skręcić, cofnąć się, i tylko aktualne otoczenie decyduje o tym jak to się skończy (coś do picia, klawiatura i szalony robot to całkiem skuteczny przepis na większe wydatki). Z tego powodu najlepiej na początku ustawić robota z kołami napędowymi w powietrzu (albo bez kół), żeby odebrać mu możliwość niekontrolowanego ruszania. &lt;br /&gt;
&lt;br /&gt;
'''Trzeba też uwzględnić specyficzną cechę samego sterownika. Jego instrukcja mówi o tym, że nie wolno podłączać/odłączać przewodów silnika kiedy zasilanie silnika jest włączone (podany sygnał 1 na wyjściu SLP)'''.  Ponieważ sygnał na wyjściu '''SLP''' podaje Malina najprościej zapamiętać, że jeśli potrzebujemy odłączyć sterownik to zawsze najpierw odłączamy Malinę (czyli 8 punktową wtyczkę, która będzie po lewej stronie na diagramie), a potem silniki (czyli wtyczka po prawej, pin &amp;quot;masy&amp;quot; Maliny znajdujący się na dole tej wtyczki nie jest problemem). I w odwrotnej kolejności podłączamy sterownik, czyli najpierw silniki, potem Malinę. W ten sposób mamy zawsze pewność, że przewody silników będą wyłączane/włączane przy wyłączonym zasilaniu. &lt;br /&gt;
&lt;br /&gt;
[[Plik:Wyprowadzenie_zasilania_5V_z_wtyczki_USB.jpg|thumb|300|Wyprowadzenie zasilania z wtyczki USB. Dodatkowe szczegóły zawiera opis obrazka dostępny po jego kliknięciu.]]&lt;br /&gt;
&lt;br /&gt;
I jeszcze jedno wyjaśnienie dlaczego wyjście '''M0''' jest podłączone do masy. Chodzi o to, że zastosowany sterownik obsługuje funkcję bardzo przydatną w bardziej precyzyjnych urządzeniach. Potrafi mianowicie wykonywać tylko ułamek kroku zamiast od razu cały. Typowy silnik krokowy (taki jak nasz) wykonuje 200 kroków na pełny obrót. Ten sterownik potrafi podzielić jeden krok nawet na 32 drobniejsze, co daje aż 6400 kroków na jeden pełny obrót! W bardziej precyzyjnych urządzeniach (np. drukarce 3D) ta opcja może być przydatna, ale nam nie jest potrzebna. O tym jak dzielony jest krok decydują piny '''M0''' i '''M1''' sterownika. Jeśli '''M1''' pozostawimy niepodłączony, a na '''M0''' podamy logiczne '''0''' (czyli zero woltów, a więc właśnie '''masę''') wówczas sterownik nie będzie dzielił kroku i jeden impuls na wejściu '''STEP''' będzie powodował wykonanie 1/200 obrotu przez silnik. Dzięki temu wystarczy posłanie tylko 200 impulsów żeby obrócić koło jeden raz. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Oprogramowanie ==&lt;br /&gt;
&lt;br /&gt;
=== Pomocniczy moduł do obsługi silników ===&lt;br /&gt;
Żeby móc się skupić na programowaniu konkretnych tras do obsługi silników użyjemy gotowego, prostego modułu pythona. Jego kod można pobrać stąd: &lt;br /&gt;
&lt;br /&gt;
[[Plik:Silniki.zip]]&lt;br /&gt;
&lt;br /&gt;
Moduł zawiera kilka prostych funkcji, dzięki którym można wykonać automatycznie inicjowanie portów maliny, włączać/wyłączać silniki, wykonywać pojedynczy krok w zadanym kierunku, a nawet całe sekwencje kroków. Z jego użyciem zaprogramowanie trasy przejazdu sprowadza się do napisania po prostu instrukcji dokąd jechać. Zwróć uwagę, że choć sam plik modułu jest długi, większość to komentarze i opisy działania funkcji.&lt;br /&gt;
&lt;br /&gt;
Na wykresie połączeń elektrycznych powyżej napisane jest, że należy wybrać dowolne z wolnych portów Maliny. Jednak kod modułu obsługi silników musi znać już konkretne numery portów, bo inaczej nie byłoby jasne na które wyjścia posyłać sygnały sterujące. Dlatego w liniach 22-24 dla lewego silnika, i 26-28 dla prawego, wpisane zostały numery portów Maliny, do których podpięte są kable łączące do wyjść '''SLP''', '''STEP''', '''DIR''' sterowników. Połączenia pomiędzy Maliną ze sterownikami najprościej wykonać patrząc na tabelę zaczynającą się w linii 8. Jakieś drobne pomyłki w połączeniach nie powinny być szkodliwe, ale to jest właśnie taki moment przez który robot rusza w nieoczekiwanych momentach, dlatego lepiej zachować uwagę. Najlepiej też zrobić połączenia przed włączeniem zasilania.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# coding: utf-8&lt;br /&gt;
&lt;br /&gt;
import RPi.GPIO as gpio&lt;br /&gt;
from time import sleep&lt;br /&gt;
&lt;br /&gt;
# Poniższa numeracja pinów zakłada następujące połączenia kablowe:&lt;br /&gt;
#&lt;br /&gt;
# |   PIN MALINY  |  LEWY STEROWNIK SILNIKA | PRAWY STEROWNIK SILNIKA |&lt;br /&gt;
#  --------------- ------------------------- -------------------------&lt;br /&gt;
# |        9      |                         |          GND            |&lt;br /&gt;
# |       11      |                         |          SLP            |&lt;br /&gt;
# |       13      |                         |          STEP           | &lt;br /&gt;
# |       15      |                         |          DIR            | &lt;br /&gt;
# |               |                         |                         | &lt;br /&gt;
# |       16      |            DIR          |                         | &lt;br /&gt;
# |       18      |            STEP         |                         | &lt;br /&gt;
# |       20      |            GND          |                         | &lt;br /&gt;
# |       22      |            SLP          |                         | &lt;br /&gt;
# &lt;br /&gt;
# Oczywiście jeśli wybrało się inne wyjścia numery poniżej można &lt;br /&gt;
# (i trzeba) pozmieniać&lt;br /&gt;
PIN_SILNIK_LEWY_KIERUNEK = 16    &lt;br /&gt;
PIN_SILNIK_LEWY_KROK = 18       &lt;br /&gt;
PIN_SILNIK_LEWY_WLACZ = 22&lt;br /&gt;
&lt;br /&gt;
PIN_SILNIK_PRAWY_WLACZ = 11&lt;br /&gt;
PIN_SILNIK_PRAWY_KROK = 13&lt;br /&gt;
PIN_SILNIK_PRAWY_KIERUNEK = 15&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Stałe pozwalające czytelniej pisać kod. &lt;br /&gt;
# Zamiast krok(-1, 1) można napisać krok(TYL, PRZOD).&lt;br /&gt;
# Obie instrukcje zrobią to samo, ale druga jest czytelniejsza.&lt;br /&gt;
PRZOD = 1&lt;br /&gt;
STOP = 0&lt;br /&gt;
TYL = -1&lt;br /&gt;
&lt;br /&gt;
# Domyślny czas wykonywania kroku (5 milisekund). &lt;br /&gt;
#&lt;br /&gt;
# Przy 5 milisekundach można wykonać maksymalnie 200 kroków/s, &lt;br /&gt;
# co przy 60mm kole daje prędkość ~200mm/s. &lt;br /&gt;
#&lt;br /&gt;
# Ustawienie większej wartości daje silnikowi więcej czasu &lt;br /&gt;
# na wykonanie ruchu i jest on pewniejszy (silnik zawsze zdąży).&lt;br /&gt;
#&lt;br /&gt;
# Krótszy czas zwiększa maksymalną prędkość obrotową, ale może &lt;br /&gt;
# powodować, że pierwsza lepsza przeszkoda obciąży silnik na tyle, &lt;br /&gt;
# że nie zdąży on wykonać kroku i zablokuje się w miejscu.&lt;br /&gt;
#&lt;br /&gt;
# Poniżej 1ms silnik może się blokować nawet bez obciążenia.&lt;br /&gt;
DOMYSLNY_CZAS_KROKU = 0.005&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def przygotuj():&lt;br /&gt;
    '''&lt;br /&gt;
    Ta funkcja przygotowuje piny Maliny do komunikacji ze sterownikami &lt;br /&gt;
    silników. Należy ją wywołać na początku programu, przed wszystkimi &lt;br /&gt;
    innymi. &lt;br /&gt;
    '''&lt;br /&gt;
    gpio.setmode(gpio.BOARD)&lt;br /&gt;
    piny_sterowania_silnikow = [PIN_SILNIK_LEWY_KROK, &lt;br /&gt;
        PIN_SILNIK_LEWY_KIERUNEK, PIN_SILNIK_LEWY_WLACZ, &lt;br /&gt;
        PIN_SILNIK_PRAWY_KROK, PIN_SILNIK_PRAWY_KIERUNEK, &lt;br /&gt;
        PIN_SILNIK_PRAWY_WLACZ]&lt;br /&gt;
&lt;br /&gt;
    for pin in piny_sterowania_silnikow:    &lt;br /&gt;
        gpio.setup(pin, gpio.OUT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def podlacz(lewy = 0, prawy = 0):&lt;br /&gt;
    '''&lt;br /&gt;
    Włącza lub wyłącza zasilanie silników. Na przykład:&lt;br /&gt;
    podlacz(1,0) -- włączy zasilanie w silniku lewym i wyłączy w prawym&lt;br /&gt;
    podlacz(0,0) -- wyłączy zasilanie obu silników&lt;br /&gt;
    podlacz(1, None) -- włącza zasilanie lewego silnika nie zmieniając &lt;br /&gt;
                        stanu zasilania prawego&lt;br /&gt;
    podlacz() -- brak parametrów spowoduje przyjęcie domyślnych 0,0&lt;br /&gt;
                 a więc ta instrukcja wyłącza zasilanie obu silników&lt;br /&gt;
    '''&lt;br /&gt;
    # Przełączamy zasilanie silnika o ile wartość nie jest &lt;br /&gt;
    # nieokreślona (None)&lt;br /&gt;
    if lewy is not None:&lt;br /&gt;
        gpio.output(PIN_SILNIK_LEWY_WLACZ, lewy)&lt;br /&gt;
    if prawy is not None:&lt;br /&gt;
        gpio.output(PIN_SILNIK_PRAWY_WLACZ, prawy)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def krok(lewy, prawy, czas = None):&lt;br /&gt;
    '''&lt;br /&gt;
    Wywołanie tej funkcji wysyła impusly sterujące do sterowników silnika, &lt;br /&gt;
    które powodują wykonanie jednego kroku. &lt;br /&gt;
    &lt;br /&gt;
    Na przykład:&lt;br /&gt;
       krok(PRZOD, PRZOD) -- wykonanie kroku w przód przez oba silniki&lt;br /&gt;
       krok(PRZOD, TYL)   -- lewy silnik wykona krok w przód, a prawy w tyl, &lt;br /&gt;
                             pojazd skręci lekko w prawo w miejscu &lt;br /&gt;
       krok(PRZOD, STOP)  -- lewy silnik wykona krok w przód, a prawy &lt;br /&gt;
                             nie poruszy się&lt;br /&gt;
&lt;br /&gt;
    Jeśli nie chcemy używać domyślnego czasu wykonywania kroku (patrz opis &lt;br /&gt;
    zmiennej DOMYSLNY_CZAS_KROKU powyżej) możemy podać inną wartość czasu&lt;br /&gt;
    dla aktualnego kroku jako trzeci paramter. &lt;br /&gt;
    &lt;br /&gt;
    Na przykład:&lt;br /&gt;
       krok(PRZOD, PRZOD, 0.01) -- krok do przodu na obu silnikach z względnie&lt;br /&gt;
                                   długim czasem -- w tym trybie powinno się &lt;br /&gt;
                                   dać pokonać trudne przeszkody, które blokują&lt;br /&gt;
                                   silnik kiedy czas jest krótszy&lt;br /&gt;
    '''&lt;br /&gt;
&lt;br /&gt;
    # Zamieniamy podane polecenie na odpowiednie wartości dla pinów STEP i DIR.&lt;br /&gt;
&lt;br /&gt;
    if lewy == PRZOD:      # PRZOD: generujemy impuls kroku z pinem kierunku na 1&lt;br /&gt;
        lewy_krok = 1&lt;br /&gt;
        lewy_kierunek = 1    &lt;br /&gt;
    elif lewy == STOP:     # STOP: bez impulsu kroku, kierunek bez znaczenia&lt;br /&gt;
        lewy_krok = 0&lt;br /&gt;
        lewy_kierunek = None&lt;br /&gt;
    elif lewy == TYL:      # TYL: impuls kroku z pinem kierunku na 0  &lt;br /&gt;
        lewy_krok = 1&lt;br /&gt;
        lewy_kierunek = 0&lt;br /&gt;
    else:&lt;br /&gt;
        raise &amp;quot;Nieznane polecenie!&amp;quot;  # Nie PRZOD, nie TYL, nie STOP??? To co?   &lt;br /&gt;
&lt;br /&gt;
    # Jak wyżej, tylko dla prawego silnika. Zwróć uwagę, że pin kierunku włączany&lt;br /&gt;
    # jest odwrotnie (dla PRZOD ma wartosc 1, dla TYL 0). Wynika to z budowy &lt;br /&gt;
    # robota gdzie silniki są obrócone do siebie o 180 stopni i trzeba je obracać &lt;br /&gt;
    # w przeciwną stronę, żeby napędzały robota w tym samym kierunku.&lt;br /&gt;
    if prawy == PRZOD:       &lt;br /&gt;
        prawy_krok = 1&lt;br /&gt;
        prawy_kierunek = 0&lt;br /&gt;
    elif prawy == STOP:  &lt;br /&gt;
        prawy_krok = 0&lt;br /&gt;
        prawy_kierunek = None&lt;br /&gt;
    elif prawy == TYL:   &lt;br /&gt;
        prawy_krok = 1&lt;br /&gt;
        prawy_kierunek = 1&lt;br /&gt;
    else:&lt;br /&gt;
        raise &amp;quot;Nieznane polecenie!&amp;quot;  &lt;br /&gt;
&lt;br /&gt;
    # Jeśli czas nie jest podany ustawiamy domyślną wartość zdefiniowaną&lt;br /&gt;
    # w DOMYSLNY_CZAS_KROKU&lt;br /&gt;
    if czas is None:&lt;br /&gt;
        czas = DOMYSLNY_CZAS_KROKU&lt;br /&gt;
&lt;br /&gt;
    # I wykonanie kroku:&lt;br /&gt;
 &lt;br /&gt;
    # Najpierw ustawiamy sygnały na pinach kierunków o ile jest to potrzebne &lt;br /&gt;
    # (np. polecenie STOP nie wymaga ustawiania kierunku)&lt;br /&gt;
    if lewy_kierunek is not None:&lt;br /&gt;
        gpio.output(PIN_SILNIK_LEWY_KIERUNEK, lewy_kierunek)&lt;br /&gt;
&lt;br /&gt;
    if prawy_kierunek is not None:&lt;br /&gt;
        gpio.output(PIN_SILNIK_PRAWY_KIERUNEK, prawy_kierunek)&lt;br /&gt;
&lt;br /&gt;
    # Teraz wysyłamy impuls wykonania kroku, czyli przez połowę podanego czasu &lt;br /&gt;
    # ustawiamy pin na wyznaczoną powyżej wartość, a po chwili dajemy 0. &lt;br /&gt;
    gpio.output(PIN_SILNIK_LEWY_KROK, lewy_krok)&lt;br /&gt;
    gpio.output(PIN_SILNIK_PRAWY_KROK, prawy_krok)&lt;br /&gt;
    sleep(czas*0.5)&lt;br /&gt;
&lt;br /&gt;
    gpio.output(PIN_SILNIK_LEWY_KROK, 0)&lt;br /&gt;
    gpio.output(PIN_SILNIK_PRAWY_KROK, 0)&lt;br /&gt;
    sleep(czas*0.5)&lt;br /&gt;
&lt;br /&gt;
    # Dokładniejszy opis: &lt;br /&gt;
    #&lt;br /&gt;
    # Jeśli wyznaczona wartość ..._krok wynosiła 1, sygnał na pinie STEP skoczy &lt;br /&gt;
    # do 1 (czyli ok. 3 wolty) i potem spadnie do 0. Sterownik zinterpretuje &lt;br /&gt;
    # to jako impuls na wejściu STEP i wygeneruje odpowiednie sygnały &lt;br /&gt;
    # na wyjściach silnika, które przekręcą go o krok. &lt;br /&gt;
    #&lt;br /&gt;
    # Jeśli wartość ..._step wynosi 0, wówczas sygnał na pinie będzie cały czas &lt;br /&gt;
    # ustawiony na 0, sterownik nie otrzyma impulsu na wejściu STEP i nie &lt;br /&gt;
    # wygeneruje nowych sygnałów na wyjściu silnika, który wobec tego pozostanie &lt;br /&gt;
    # w niezmienionej pozycji.&lt;br /&gt;
    #&lt;br /&gt;
    # Wykresy napięcia jakie &amp;quot;widzi&amp;quot; wejście STEP lewego sterownika zależnie &lt;br /&gt;
    # od wartości lewy_krok:&lt;br /&gt;
    # &lt;br /&gt;
    #&lt;br /&gt;
    #                   |         1        |                  |&lt;br /&gt;
    # 3V                |   ...............|                  |&lt;br /&gt;
    #                   |  .               |                  | &lt;br /&gt;
    #  lewy_krok = 1    | .                |.                 |&lt;br /&gt;
    #                   |.                 | .      0         |&lt;br /&gt;
    # 0V ...............|                  |  ................|.............&lt;br /&gt;
    #                   |                  |                  |&lt;br /&gt;
    #                   |                  |                  |&lt;br /&gt;
    #                   |                  |                  |&lt;br /&gt;
    # 3V                |                  |                  |&lt;br /&gt;
    #                   |                  |                  | &lt;br /&gt;
    #  lewy_krok = 0    |                  |                  |&lt;br /&gt;
    #                   |         0        |        0         |&lt;br /&gt;
    # 0V ...............|..................|..................|.............&lt;br /&gt;
    #                   |                  |                  |&lt;br /&gt;
    #                     &amp;lt;-- czas*0.5 --&amp;gt;   &amp;lt;-- czas*0.5 --&amp;gt;     &lt;br /&gt;
    #&lt;br /&gt;
    #                     &amp;lt;------------  czas  -------------&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def zestaw(lewo, prawo, powtorek = 1):&lt;br /&gt;
    '''&lt;br /&gt;
    Funkcja bierze polecenie i powtarza jego wykonanie podaną ilość razy: &lt;br /&gt;
    lewo - polecenie dla lewego silnika&lt;br /&gt;
    prawo - polecenie dla prawego silnika&lt;br /&gt;
    powtorek - oznacza ile razy nalezy ten zestaw kroków powtórzyć&lt;br /&gt;
&lt;br /&gt;
    Na przykład:&lt;br /&gt;
    zestaw(PRZOD, STOP, 10)   -- wykona 10 kroków do przodu lewym silnikiem,&lt;br /&gt;
    zestaw(PRZOD, PRZOD, 200) -- wykona 200 kroków do przodu oboma silnikami,&lt;br /&gt;
                                 a więc koła obrócą się o pełny obrót  &lt;br /&gt;
    zestaw(PRZOD, TYL, 100)   -- obróci lewe koło 100 kroków do przodu, &lt;br /&gt;
                                 a prawe 100 do tyłu, a więc robot powinien &lt;br /&gt;
                                 wykonać skręt w prawo w miejscu.&lt;br /&gt;
    ''' &lt;br /&gt;
    for i in xrange(1, 1 + powtorek):&lt;br /&gt;
        krok(lewo, prawo)&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
def sekwencja(lista_zestawow):&lt;br /&gt;
    '''&lt;br /&gt;
    Czyta podaną listę i wykonuje kolejno podane w niej zestawy kroków.&lt;br /&gt;
&lt;br /&gt;
    lista_zestawów -- lista zawierająca kolejne zestawy; w pythonie &lt;br /&gt;
                      listę podaje się w nawiasach kwadratowych [] &lt;br /&gt;
                      oddzielając elementy przecinkami &lt;br /&gt;
&lt;br /&gt;
    Na przykład:&lt;br /&gt;
&lt;br /&gt;
    sekwencja([ (PRZOD, PRZOD, 400), (PRZOD, TYL, 100), (TYL, PRZOD, 100) ]) &lt;br /&gt;
&lt;br /&gt;
         -- wykona kolejno trzy zestawy: &lt;br /&gt;
            1. (PRZOD, PRZOD, 400)&lt;br /&gt;
            2. (PRZOD, TYL, 100)&lt;br /&gt;
            3. (TYL, PRZOD, 100)&lt;br /&gt;
            Pierwszy spowoduje podjechanie modelu o dwa pełne obroty kół &lt;br /&gt;
            do przodu. Drugi obrócenie lewego koła do przodu a prawego &lt;br /&gt;
            do tyłu o pół obrotu, a wiec robot skręci w miejscu w prawo. &lt;br /&gt;
            Ostatni zestaw spowoduje skręt w miejscu w przeciwną stronę &lt;br /&gt;
            - robot powróci do pierwotnego kierunku. Cała sekwencja wyglądać &lt;br /&gt;
            będzie tak jakby robot podjechał do przodu i rozejrzał się &lt;br /&gt;
            w prawo. &lt;br /&gt;
    '''&lt;br /&gt;
    for kolejny_zestaw in lista_zestawow:&lt;br /&gt;
        zestaw(*kolejny_zestaw)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Przykłady użycia ===&lt;br /&gt;
Dzięki modułowi '''silniki''' sterowanie ruchem sprowadza się do prostych instrukcji. &lt;br /&gt;
&lt;br /&gt;
Na początek spróbujmy zobaczyć instrukcję  &amp;lt;code&amp;gt;zestaw(''lewy, prawy, powtorek'')&amp;lt;/code&amp;gt; w akcji.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# coding: utf-8&lt;br /&gt;
import silniki as s&lt;br /&gt;
&lt;br /&gt;
# Przygotowanie portów Maliny do pracy&lt;br /&gt;
s.przygotuj()&lt;br /&gt;
&lt;br /&gt;
# Włączenie zasilania silników -- po tej instrukcji silniki powinny zablokować się w ustalonej pozycji&lt;br /&gt;
s.podlacz(1,1)&lt;br /&gt;
&lt;br /&gt;
# 10 obrotów kół (czyli 10*200 kroków) w przód&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 2000) &lt;br /&gt;
&lt;br /&gt;
# Jeden obrót lewego koła w przód, prawe stoi -- robot skręca w prawo&lt;br /&gt;
s.zestaw(s.PRZOD, s.STOP, 200)&lt;br /&gt;
&lt;br /&gt;
# Koniec programu, wyłączamy zasilanie silników -- po tej instrukcji koła znów obracają się lekko&lt;br /&gt;
s.podlacz(0,0)&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Po zapisaniu tego kodu w pliku &amp;lt;code&amp;gt;silniki_p1.py&amp;lt;/code&amp;gt; i wydaniu polecenia&lt;br /&gt;
&lt;br /&gt;
 pi@raspberrypi:~ $ python silniki_p1.py &lt;br /&gt;
&lt;br /&gt;
robot powinien przejechać 10 obrotów kół do przodu,  a potem skręcić w prawo. Oczywiście nie będzie to możliwe jeśli będziemy się łączyć z Maliną poprzez kabel USB dlatego w tej chwili najlepiej zdjąć koła, albo unieść je w górę i obserwować czy wykonują oczekiwane ruchy. Poniżej pokażemy gdzie wstawić powyższą instrukcję, żeby robot wykonywał podany kod zaraz po włączeniu. Wówczas będzie można podłączyć Malinę do powerbanku i oglądać wykonanie instrukcji w ruchu.&lt;br /&gt;
&lt;br /&gt;
== W akcji ==&lt;br /&gt;
Przykładowy kod sterujący i zachowaniem trzykołowca&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# coding: utf-8&lt;br /&gt;
import silniki as s&lt;br /&gt;
&lt;br /&gt;
s.przygotuj()                      # Przygotowanie pinów Maliny do wysyłania sygnałów.&lt;br /&gt;
s.podlacz(1,1)                     # Włączamy zasilanie silników, koła trudno obracać. &lt;br /&gt;
&lt;br /&gt;
s.zestaw(s.TYL, s.PRZOD, 60)       # lewe koło to tyłu, prawe do przodu o 60 kroków -- skręt w lewo&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)    # 400 kroków w przód, bok kwadratu ok. 50cm&lt;br /&gt;
s.zestaw(s.TYL, s.PRZOD, 60)       # skręt i drugi bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
s.zestaw(s.TYL, s.PRZOD, 60)       # skręt i trzeci bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
s.zestaw(s.TYL, s.PRZOD, 60)       # skręt i czwarty bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
&lt;br /&gt;
s.zestaw(s.PRZOD, s.TYL, 60)       # lewe koło w przód, prawe w tył -- skręt w prawo&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)    # robot jedzie w kierunku stopy na filmie&lt;br /&gt;
s.zestaw(s.PRZOD, s.TYL, 60)       # kolej skręt i bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
s.zestaw(s.PRZOD, s.TYL, 60)       # następny&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
s.zestaw(s.PRZOD, s.TYL, 60)       # ostatni skręt i bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
&lt;br /&gt;
# ... i tak dalej, kolejny kwadrat w lewo&lt;br /&gt;
&lt;br /&gt;
s.podlacz(0,0)           # Wyłączamy zasilanie silników, koła znów obracają się lekko&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;fSHDZ6fRyPc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Roboty]]&lt;br /&gt;
[[Category:Projekty_Pi_Zero]]&lt;br /&gt;
[[Category:Silniki_krokowe]]&lt;br /&gt;
[[Category:Moduły_elektroniczne]]&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Trzyko%C5%82owiec&amp;diff=628</id>
		<title>Trzykołowiec</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Trzyko%C5%82owiec&amp;diff=628"/>
		<updated>2019-11-19T15:23:30Z</updated>

		<summary type="html">&lt;p&gt;Isj: /* Moment obrotowy 120 mN/m */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Projekt prostego programowalnego robota kołowego z dwoma silnikami. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Do czego zmierzamy ==&lt;br /&gt;
Chodzi o to, żeby względnie małym nakładem pracy uzyskać robota, którego można łatwo zaprogramować. Dzięki temu bez zbędnych komplikacji będzie można rozpocząć realną zabawę w całkiem poważną robotykę. Robot będzie się składał z dwóch, oddzielnie sterowanych silników napędowych wyposażonych w koła, oraz trzeciego podpierającego. Możliwość sterowania obrotami każdego z kół z osobna pozwala zaprogramować dowolny kierunek jazdy i tworzyć dowolne trasy przejazdu. Podstawowe możliwości, uniwersalność i przez to przydatność takiego robota pokazuje poniższy film, gdzie projektanci z firmy Microsoft użyli dokładnie takiej konstrukcji w swoich projektach. Co więcej, tak samo jak my użyli Maliny jako &amp;quot;mózgu&amp;quot; robota.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;vimeo&amp;quot;&amp;gt;126458720&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Konstrukcja ==&lt;br /&gt;
=== Silnik ===&lt;br /&gt;
[[Plik:Nema_14.jpg|thumb|right|250px|Silnik o rozmiarze NEMA 14.]]&lt;br /&gt;
Do napędu kół użyjemy silnika krokowego o następujących parametrach:&lt;br /&gt;
* rozmiar NEMA 14, czyli boki '''35x35 mm''', ponadto nasz silnik będzie miał '''34 mm długości''' i oś wystającą na 20mm o średnicy 5mm&lt;br /&gt;
* waga '''180g'''&lt;br /&gt;
* maksymalny moment obrotowy '''120 mN/m''' (miliniutonów na metr)&lt;br /&gt;
* żeby wykonać pełny obrót silnik potrzebuje '''200 kroków'''&lt;br /&gt;
* pobór prądu '''750mA'''(miliamperów) przy napięciu zasilającym '''4.35V'''&lt;br /&gt;
&lt;br /&gt;
[[Plik:Silnik_krokowy_w_środku.jpg|right|250px|thumb|Tak wygląda w środku.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zasadę działania silnika krokowego przedstawia animacja poniżej: włączamy prąd w kolejnych uzwojeniach, co wytwarza silne pole magnetyczne, które przyciąga metalowe wypustki wirnika i obraca go o pewien mały kąt. Zależnie od tego w jakiej kolejności włączamy cewki, silnik będzie się kręcił w lewo lub prawo. Dużo więcej magii w tym nie ma ;).&lt;br /&gt;
&lt;br /&gt;
[[Plik:StepperMotor.gif|center]]&lt;br /&gt;
&lt;br /&gt;
Jak widać na zdjęciu rozebranego realnego silnika, praktyczna realizacja jest trochę inna: w tym przypadku mamy 8 cewek elektromagnesów na obwodzie (miedziane zwoje drutu na dole zdjęcia), a nie 4 jak na schemacie. Jednak sama zasada pozostaje ta sama. Dodatkowe cewki i podwójny rotor jak widać na zdjęciu pozwalają poprawić siłę z jaką silnik się obraca oraz precyzję kontroli kąta obrotu. Szczegóły wyjaśnia film poniżej.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;eyqwLiowZiU&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
==== Co oznaczają podane parametry silnika? ====&lt;br /&gt;
&lt;br /&gt;
===== Wymiary i masa =====&lt;br /&gt;
&lt;br /&gt;
Z rozmiarów silnika zgodnego z normą NEMA 14 i jego masy widzimy, że choć silnik nie jest jakoś przerażająco wielki, to jest jednak całkiem solidnym kawałkiem metalu. Same dwa silniki napędowe będą ważyły 360g, a więc dodając jeszcze powerbank, możemy się spodziewać, że cały robot będzie ważył około 1kg. To oszacowanie przyda się przy projektowaniu podwozia. Dzięki niemu wiemy jaką mniej więcej powinno mieć wytrzymałość &amp;amp;mdash; w przybliżeniu powinno być sztywniejsze niż choćby karta bankomatowa.&lt;br /&gt;
&lt;br /&gt;
===== Moment obrotowy 120 mN/m =====&lt;br /&gt;
&lt;br /&gt;
Gdyby przeczytać tą liczbę brzmiałaby ''&amp;quot;sto dwadzieścia miliniutonów na metr&amp;quot;''. Pierwsza część to niewielka siła (okolice ciężaru odtwarzacza mp3). Ale o jaki metr chodzi? &lt;br /&gt;
&lt;br /&gt;
O taki, jak gdyby do osi silnika przymocować metrowy patyk pod kątem prostym do osi (tak jak szprycha w kole roweru). Kiedy silnik pracowałby z całej siły wówczas koniec takiego metrowego patyka naciskałby na rękę z podaną siłą, lub jak kto woli wystarczyłoby delikatnie trzymać jego koniec, żeby silnik nie mógł się obracać. &lt;br /&gt;
&lt;br /&gt;
Łatwo wyczuć intuicyjnie, że gdyby patyk był krótszy, wówczas trzeba by było użyć większej siły, żeby powstrzymać silnik przed obracaniem się. Kto nie wierzy niech spróbuje przytrzymać koło roweru za szprychę najpierw chwytając blisko opony, a potem bliżej środka. O razu widać, że o ile trzymanie przy oponie jakoś wychodzi, to bliżej środka palce są za słabe. Fizycy mówią, że '''jeśli skracamy ramię na które działa pewien moment obrotowy, to siła na końcu ramienia proporcjonalnie rośnie'''. &lt;br /&gt;
&lt;br /&gt;
'''I to jest bardzo dobra wiadomość!''' Gdybyśmy mieli silnik pchający robota do przodu z siłą tylko 120mN moglibyśmy zapomnieć o jeździe po czymkolwiek mniej gładkim niż stół, a i to wątpliwe... Jeśli jednak skrócimy w wyobraźni metrowy patyk do połowy, siła na końcu wzrośnie proporcjonalnie do 240mN. Nadal szału nie ma, ale jest postęp.  Gdybyśmy skrócili go do &amp;lt;math&amp;gt;\frac{1}{10}&amp;lt;/math&amp;gt; metra, wówczas otrzymamy 120mN * 10 = 1200mN. Przypomnę, że ''mili'' oznacza jedną tysięczną. Czyli 1200mN to już całkiem duża siła 1.2 niutona. &lt;br /&gt;
&lt;br /&gt;
No dobrze, ale przecież nie będziemy używać patyków, tylko koła... To nic nie zmienia! Wystarczy sobie wyobrazić, że nakładamy na oś jeden patyk za drugim dookoła osi (znów, tak jak szprychy w kole roweru). Jeśli nawkładalibyśmy ich odpowiednio dużo powstanie w końcu koło. Na tym polega geniusz wynalazku koła, którego ludzkość  [https://pl.wikipedia.org/wiki/Ko%C5%82o_(technika) bardzo długo nie znała]. Dzięki odsunięciu osi, na której skupiony jest ciężar od podłoża, możemy przesuwać masy ze znacznie mniejszym wysiłkiem, bo cały czas stosujemy dźwignię o takiej długości jak promień koła. &lt;br /&gt;
&lt;br /&gt;
Teraz możemy wrócić do wymiarów w trójkołowcu. Jeśli użylibyśmy niewielkich kół o średnicy 2cm, wówczas promień miałby tylko 1cm, a więc 1/100 metra. Silnik pracujący z maksymalną mocą ciągnąłby pojazd na takich kołach z siłą 120 * 100 = 12000mN, czyli 12N. Z taką siłą naciska na rękę trzymane w niej 1,2 kg. Dla kół o średnicy dwa razy większej (4cm) siła spadłaby do 6N (~600g) i dla kółek o średnicy 6cm do około 4N (~400g). &lt;br /&gt;
&lt;br /&gt;
Czy to dużo czy mało? Możemy łatwo oszacować co to oznacza wyliczając możliwe przyśpieszenia robota. Dla ułatwienia przyjmijmy, że cały będzie ważył około '''1kg'''. &lt;br /&gt;
&lt;br /&gt;
Przyśpieszenie podaje zupełnie prosty wzór, sprzed ponad 300 lat,  pana [https://pl.wikipedia.org/wiki/Isaac_Newton Izaaka Newtona] (czytaj ''niuton''):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;a=\frac{F}{m}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
gdzie: &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;math&amp;gt;F&amp;lt;/math&amp;gt; to siła wyrażona w, a jakże, w '''N''' (niutonach)&lt;br /&gt;
* &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; to masa, u nas 1kg&lt;br /&gt;
* &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; to przyśpieszenie jakiego należy się spodziewać w m/s²&lt;br /&gt;
&lt;br /&gt;
Podstawiając dane dla kół o średnicy 6cm, które dają siłę pchającą 4N na jeden silnik, przy włączonym napędzie na oba koła mamy:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;a=\frac{2*4[N]}{1[kg]}=8 [m/s^2]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jeśli porównamy to z przyśpieszeniem ziemskim, wynoszącym &amp;lt;math&amp;gt;9,81 [m/s^2]&amp;lt;/math&amp;gt; widzimy, że pojazd mógłby przyśpieszać prawie tak szybko jak szybko rzeczy spadają w polu grawitacji Ziemi. Inaczej mówiąc potrzebowałby '''niecałych 3 sekund &amp;quot;do setki&amp;quot; !''' Oczywiście to tylko oszacowanie, które podaje maksymalne przyśpieszenie. W praktyce będzie ono mniejsze. Wystarczy choćby zauważyć, że nie uwzględniliśmy sił tarcia, która będzie go spowalniać. Nawet jednak gdybyśmy spadli w okolice połowy tego przyśpieszenia nadal taki napęd wydaje się sensowny.&lt;br /&gt;
&lt;br /&gt;
Niestety oprócz zdolności silnika do przyśpieszania pojazdu, która jak widzimy jest dobra, musimy uwzględnić jeszcze jedno ograniczenie &amp;amp;mdash; maksymalną prędkość z jaką silnik potrafi się obracać. Jak widać na filmie w dalszej części strony, pojazd rusza natychmiast, bez wyraźnych opóźnień, a więc przyśpieszenie jest rzeczywiście dobre. Jednak jego maksymalna prędkość nie jest wielka właśnie dlatego, że układ sterowania silnika nie może podawać impulsów sterujących dowolnie szybko. Silnik wymaga 200 impulsów na każdy pełny obrót. Szacunkowo jeśli potrafilibyśmy generować 1000 impulsów na sekundę, koło obracałoby się 5 razy w ciągu sekundy, a więc pojazd z kołami o promieniu 3cm (jak na filmie) poruszałby się z prędkością  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;5*2*\pi*r=10*3.14*0.03=0.95[m/s]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== 200 kroków na obrót =====&lt;br /&gt;
Silniki krokowe działają trochę inaczej niż zwykłe. W zwykłym wystarczy włączyć prąd i silnik się obraca. Silnikiem krokowym steruje się inaczej: podaje się odpowiednie impulsy, które powodują, że oś silnika obraca się o pewien kąt. Jak daleko obraca się oś w jednym kroku definiuje właśnie liczba kroków potrzebnych do pełnego obrotu. W przypadku naszego silnika będziemy musieli podać 200 impulsów żeby koło napędowe wykonało jeden obrót. Dzięki takiej dokładności możliwe będzie bardzo precyzyjne sterowanie odległością jaką przemierza każde koło, a przez to będzie można precyzyjnie skręcać.&lt;br /&gt;
&lt;br /&gt;
===== Parametry elektryczne =====&lt;br /&gt;
Jeśli chodzi o napięcie pracy silnika, wynoszące 4.35V, jest ono nieco mniejsze niż '''5V, którego używają porty USB, powerbank''' i którym zasilana jest Malina (przy czym część cyfrowa Maliny działa przy napięciach 0 i 3.3V). &lt;br /&gt;
&lt;br /&gt;
Możemy jednak przyjąć, że nieco wyższe napięcie zasilania jakiego użyjemy, nie będzie groźne dla uzwojeń silnika, a może poprawić prędkość z jaką silnik będzie wykonywał kolejne kroki. W normalnej sytuacji, kiedy silniki jest montowany w większej maszynie unikalibyśmy takiego &amp;quot;podkręcania&amp;quot;, ale w naszym przypadku silnik będzie pracował w otwartej przestrzeni, i pewien nadmiar wydzielanego ciepła jest dopuszczalny.&lt;br /&gt;
&lt;br /&gt;
Znaczenie poboru prądu wyjaśnimy przy okazji rozważań o baterii.&lt;br /&gt;
&lt;br /&gt;
=== Bateria ===&lt;br /&gt;
&lt;br /&gt;
Pobór prądu przez jeden silnik, który wynosi 750mA (miliamperów) oznacza, że gdybyśmy mieli baterię o pojemności 750mAh (miliamperogodzin) pojedynczy silnik mógłby działać przez godzinę. Ponieważ mamy dwa silniki i jeszcze Malinę, która również zużywa prąd, możemy oczekiwać zużycia na poziomie około 1800mAh. &lt;br /&gt;
&lt;br /&gt;
Teoretycznie więc powerbank o takiej pojemności mógłby zasilać robota przez godzinę. W praktyce producenci obiecują gruszki na wierzbie, i lepiej przyjąć co najmniej 2500mA potrzebnej pojemności na godzinę pracy robota. &lt;br /&gt;
&lt;br /&gt;
Powerbanki zwykle ładują się godzinami -- nie rzadko instrukcja podaje 8-10 godzin. Ponieważ byłoby niezbyt wygodnie po każdej godzinie testów czekać 8 godzin do kolejnego naładowania baterii, lepiej zastosować akumulator o większej pojemności niż tylko godzina użytkowania. Ostatecznie więc pobór prądu mówi nam tyle, że przydałby się akumulator o pojemności co najmniej 5000mAh. &lt;br /&gt;
&lt;br /&gt;
Ponadto musimy uwzględnić maksymalne możliwe obciążenie prądowe. Cóż z tego, że mielibyśmy pełny basen wody, jeśli dałoby się z niego czerpać tylko po jednej kropli na godzinę? Musimy więc wybrać powerbank, który będzie miał też odpowiednią wydajność. &lt;br /&gt;
&lt;br /&gt;
Dwa silniki zużywają 750mA * 2 = 1500mA. Do tego prądu trzeba dodać też Malinę, czyli co najmniej 500mA. Powerbank musi znieść obciążenie 2000mA, czyli 2A.&lt;br /&gt;
&lt;br /&gt;
=== Projekt podwozia ===&lt;br /&gt;
Wykonanie podwozia jest zadaniem do wykonania samodzielnie. ''Wszystkie chwyty dozwolone!'' Jeśli masz natchnienie, żeby ulepić podwozie z taśmy klejącej i gumy do żucia proszę bardzo. Jest tylko jedno ograniczenie -- byłoby fajnie gdyby robot zbudowany w oparciu o dostarczone części i zaprojektowane podwozie jeździł! Żeby to ograniczenie dokładniej sprecyzować umówmy się, że: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;thumb&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;thumbinner&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;thumbcaption&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#00bb44&amp;quot;&amp;gt;Części robota (oprócz Maliny) przechodzą na własność konstruktora dopiero po udowodnieniu, że robot jeździ i to zgodnie z podanym programem, czyli inaczej mówiąc '''o własnych siłach zarówno fizycznych jak i &amp;quot;umysłowych&amp;quot;.'''&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jeśli ktoś chciałby zaprojektować podwozie do wydruku na drukarce 3D (to jest możliwa opcja, nie wymaganie!) proponuję wykorzystanie programu FreeCAD. Dla ułatwienia poniżej plik wstępnie przygotowanego projektu robota. Zawiera podstawowe elementy zgodne z ich rozmiarami:&lt;br /&gt;
* płytkę Maliny&lt;br /&gt;
* silniki&lt;br /&gt;
* powerbank&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pozostaje tylko zająć się samym podwoziem i rozmieszczeniem wyżej wymienionych elementów na nim.&lt;br /&gt;
 &lt;br /&gt;
[[Plik:Trzykolowiec.fcstd]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;eAhDwQ00lHU&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Przykładowe rozwiązanie mechanicznej części robota wykonanej na drukarce 3D przedstawiają zdjęcia poniżej.&lt;br /&gt;
&lt;br /&gt;
[[Plik:Platforma_trzykołowca_wykonana_jako_wydruk_3D_--_góra.jpg|400px|thumb|left|Trzykołowiec wydrukowany na drukarce. Widok z góry.]]&lt;br /&gt;
[[Plik:Platforma_robota_wykonana_jako_wydruk_3D_--_spód.jpg|400px|thumb|right|I z dołu.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
== Elektronika ==&lt;br /&gt;
=== Opis wyprowadzeń łącza 40 pinowego ===&lt;br /&gt;
Piny złącza 40 pinowego liczy się zaczynając od kwadratowego (numer 1), a dalej &amp;quot;zygzakiem&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt; napięcie 3.3V &amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 1 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 2 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b style=&amp;quot;color:red&amp;quot;&amp;gt; napięcie 5V &amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right;color: orange&amp;quot;| I²C: SDA (dane) &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;Rezystor podciągający 1.8k do 3.3V&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 3 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 4 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b style=&amp;quot;color:red&amp;gt; napięcie 5V &amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right; color: orange&amp;quot;| I²C: SCL (taktowanie) &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;Rezystor podciągający 1.8k do 3.3V&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 5 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 6 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| GPCLK0 &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;(zegar nr 0, ogólnego przeznaczenia)&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 7 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 8 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;color: green&amp;quot;| UART0: TXD (wysyłka) &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;(na tym łączu działa konsola systemu Raspbian)&amp;lt;/small&amp;gt;&amp;lt;/em&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 9 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 10 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;color: green&amp;quot;| UART0: RXD (odbiór) &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;(na tym łączu działa konsola systemu Raspbian)&amp;lt;/small&amp;gt;&amp;lt;/em&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  11&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 12&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| PWM0/BCM18 &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;(fala prostokątna o programowalnym wypełnieniu z generatora 0)&amp;lt;/small&amp;gt;&amp;lt;/em&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  13&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 14&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  15&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 16&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt; napięcie 3.3V &amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  17&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 18&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| MOSI/BCM10 (urządzenie nadrzędne do podrzędnego na łączu SPI)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  19&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 20&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| MISO (urządzenie podrzędne do nadrzędnego na łączu SPI)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 21 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 22 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| SCLK/BCM11 (taktowanie łącza SPI)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|23 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 24 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| CE0 (linia 0 wyboru chipu łącza SLI)&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 25 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 26 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| CE1 (linia 1 wyboru chipu łącza SLI)&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| ID_SC (dane łącza I²C do pamięci EEPROM)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 27 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 28 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| ID_SC (taktowanie łącza I²C do pamięci EEPROM)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 29 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 30 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  31&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 32&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| PWM0/BCM12&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| PWM1/BCM13&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  33&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 34&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| MISO (urządzenie podrzędne do nadrzędnego na łączu SPI)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  35&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 36&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  37&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 38&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| MOSI/BCM20 (urządzenie nadrzędne do podrzędnego na łączu SPI)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  39&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 40&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;|  SCLK/BCM21 (taktowanie łącza SPI)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Powyżej zastosowane są następujące oznaczenia:&lt;br /&gt;
* '''pogrubiona czcionka''' &amp;amp;mdash; zwykłe piny elektryczne, nie działające w logice cyfrowej ponieważ nie łączą się z procesorem maliny (np. masa, napięcie 3.3V); napięcie '''3.3V''' może pełnić rolę sygnału wejściowego oznaczającego '''1''' ponieważ piny cyfrowe właśnie takiego napięcia spodziewają się jako logicznej jedynki; możliwe jest więc połączenie kablem wyjścia '''3.3V''' z którymś pinem logicznym żeby zasymulować podanie sygnału 1; można też zasilać z tego wyjścia jakieś niewielkie urządzenia np. podpiąć do niego diodę LED, której używamy jako sondy stanów logicznych i sprawdzić czy działa (wydajność zasilania 3.3V wynosi zaledwie kilkadziesiąt mA, nie należy go obciążać większymi układami)&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;'''czerwona pogrubiona czcionka'''&amp;lt;/span&amp;gt; &amp;amp;mdash;  napięcie zasilające '''5V'''; może się przydać do zasilania '''drobnych''' urządzeń (takich jakie można podłączyć do wyjścia USB z którego zasilamy malinę);  UWAGA: Napięcie '''5V''' jest '''za wysokie dla wejść procesora''' i prawie na pewno go uszkodzi! Z tego powodu nie wolno łączyć kablem tych pinów z żadnymi wejściami cyfrowymi na łączu 40-pinowym! Właśnie dlatego oznaczone jest na czerwono! najlepiej na piny 2 i 4 nasunąć kawałek izolacji i o nich zapomnieć&lt;br /&gt;
* zwykła czcionka &amp;amp;mdash; piny cyfrowe gdzie ustawienie z programu wartości '''0''' daje napięcie '''0V''', a wysłanie wartości '''1''' daje napięcie około '''3V'''&lt;br /&gt;
* kolory i opisy przy pinie &amp;amp;mdash; niektóre piny mają ustawioną jakąś domyślną funkcję w systemie Raspbian sterującym maliną; te funkcje można w większości przedefiniować, jednak w czasie włączania systemu pin działa w trybie domyślnym, dopóki go nie przedefiniujemy po swojemu - '''jest to bardzo ważne jeśli do pinu podpięte jest jakieś urządzenie ponieważ po włączeniu maliny do prądu będzie ono otrzymywać przypadkowe sygnały w trakcie wczytywania systemu co może prowadzić do uszkodzeń (np. jeśli jest to silnik ramienia robota)'''; warto zauważyć, że zmiana działania pinu generuje ostrzeżenie i na przykład polecenie &amp;lt;code&amp;gt;gpio.setup(8, gpio.OUT)&amp;lt;/code&amp;gt; (czyli ustawienie pinu 8 jako zwykłe wyjście cyfrowe) wyświetli komunikat, że pin był używany w innej roli; kolory oznaczają piny związane domyślnie z tym samym urządzeniem (np. pary dwupinowych łączy &amp;lt;b style=&amp;quot;color: orange&amp;quot;&amp;gt;I²C&amp;lt;/b&amp;gt;, czy &amp;lt;b style=&amp;quot;color: green&amp;quot;&amp;gt;UART&amp;lt;/b&amp;gt;)&lt;br /&gt;
* brak opisu &amp;amp;mdash; piny nie wykonują żadnej specjalnej funkcji w domyślnej konfiguracji Raspbiana; przy włączeniu zasilania będą ustawione na 0; można ich dowolnie używać&lt;br /&gt;
&lt;br /&gt;
=== Moduł sterownika silnika krokowego DRV8834 i jego połączenie z maliną ===&lt;br /&gt;
[[Plik:Polaczenia_elektryczne_jednego_silnika.png|thumb|800px|right]]&lt;br /&gt;
Sposób połączenia silnika, źródła zasilania, sterownika i Maliny przedstawia obrazek.&lt;br /&gt;
&lt;br /&gt;
Jak widać w naszym prostym projekcie nie używamy wszystkich wyjść sterownika. &lt;br /&gt;
&lt;br /&gt;
Na diagramie niektóre z używanych wyjść są podpisane kolorem czerwonym, a inne jasnozielonym. Chodzi o to, żeby wyraźnie pokazać, że choć tego nie widać sterownik rozdziela cały układ na dwa zupełnie różne światy:&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;'''świat silnika''' &amp;amp;mdash; tutaj krążą duże prądy (takie, które mogą spokojnie odparować cieńsze przewody!), pojawiają się wyższe napięcia (rzędu kilkunastu woltów), układy pracują z dużą mocą (silnik potrafi być nawet gorący)&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:lightgreen&amp;quot;&amp;gt;'''świat cyfrowy''' &amp;amp;mdash; tutaj nie ma wielkiego znaczenia moc sygnału, a tylko czy ustawiony jest stan '''1''' (ok. 3 wolty) czy stan '''0''' (ok. zero woltów); wszystkie elementy z tego świata spodziewają się maksymalnie kilku woltów napięcia, nie zostały zaprojektowane do obsługiwania takich wielkich obciążeń jak silniki i cały ten podsystem mógłby być zasilany z małej zegarkowej bateryjki przez miesiące, na tyle jest &amp;quot;delikatny&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ważne jest, żeby rozróżniać te dwa światy!''' Jeśli ktoś spróbowałby podłączyć silnik do tego samego pinu, który jest połączony z Maliną prawdopodobnie spaliłby i sterownik i komputer (choć Malina ma pewne zabezpieczenia przed takim brutalnym traktowaniem i czasem zdąży się wyłączyć w porę). &lt;br /&gt;
&lt;br /&gt;
Ale jest też odwrotnie. W sprzyjających warunkach &amp;quot;delikatna&amp;quot; część cyfrowa potrafi &amp;quot;zamordować&amp;quot; część dużych mocy sterującą silnikami. Jak może do tego dojść? W dokładnie taki sam sposób, jak delikatne, ale nieprzemyślane ruchy kierownicą mogą zniszczyć cały samochód. Chodzi o to, że część cyfrowa steruje systemem, który ma już jakąś niemałą energię (silnik, koła).  W przypadku projektu z diodą, jeśli kod zawierał jakąś nie do końca przemyślaną instrukcję, najgorszym co mogło się stać był brak światła lub świecenie diody w nieoczekiwany sposób. Nic ponad to. Tymczasem tutaj robot może niespodziewanie ruszyć, skręcić, cofnąć się, i tylko aktualne otoczenie decyduje o tym jak to się skończy (coś do picia, klawiatura i szalony robot to całkiem skuteczny przepis na większe wydatki). Z tego powodu najlepiej na początku ustawić robota z kołami napędowymi w powietrzu (albo bez kół), żeby odebrać mu możliwość niekontrolowanego ruszania. &lt;br /&gt;
&lt;br /&gt;
'''Trzeba też uwzględnić specyficzną cechę samego sterownika. Jego instrukcja mówi o tym, że nie wolno podłączać/odłączać przewodów silnika kiedy zasilanie silnika jest włączone (podany sygnał 1 na wyjściu SLP)'''.  Ponieważ sygnał na wyjściu '''SLP''' podaje Malina najprościej zapamiętać, że jeśli potrzebujemy odłączyć sterownik to zawsze najpierw odłączamy Malinę (czyli 8 punktową wtyczkę, która będzie po lewej stronie na diagramie), a potem silniki (czyli wtyczka po prawej, pin &amp;quot;masy&amp;quot; Maliny znajdujący się na dole tej wtyczki nie jest problemem). I w odwrotnej kolejności podłączamy sterownik, czyli najpierw silniki, potem Malinę. W ten sposób mamy zawsze pewność, że przewody silników będą wyłączane/włączane przy wyłączonym zasilaniu. &lt;br /&gt;
&lt;br /&gt;
[[Plik:Wyprowadzenie_zasilania_5V_z_wtyczki_USB.jpg|thumb|300|Wyprowadzenie zasilania z wtyczki USB. Dodatkowe szczegóły zawiera opis obrazka dostępny po jego kliknięciu.]]&lt;br /&gt;
&lt;br /&gt;
I jeszcze jedno wyjaśnienie dlaczego wyjście '''M0''' jest podłączone do masy. Chodzi o to, że zastosowany sterownik obsługuje funkcję bardzo przydatną w bardziej precyzyjnych urządzeniach. Potrafi mianowicie wykonywać tylko ułamek kroku zamiast od razu cały. Typowy silnik krokowy (taki jak nasz) wykonuje 200 kroków na pełny obrót. Ten sterownik potrafi podzielić jeden krok nawet na 32 drobniejsze, co daje aż 6400 kroków na jeden pełny obrót! W bardziej precyzyjnych urządzeniach (np. drukarce 3D) ta opcja może być przydatna, ale nam nie jest potrzebna. O tym jak dzielony jest krok decydują piny '''M0''' i '''M1''' sterownika. Jeśli '''M1''' pozostawimy niepodłączony, a na '''M0''' podamy logiczne '''0''' (czyli zero woltów, a więc właśnie '''masę''') wówczas sterownik nie będzie dzielił kroku i jeden impuls na wejściu '''STEP''' będzie powodował wykonanie 1/200 obrotu przez silnik. Dzięki temu wystarczy posłanie tylko 200 impulsów żeby obrócić koło jeden raz. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Oprogramowanie ==&lt;br /&gt;
&lt;br /&gt;
=== Pomocniczy moduł do obsługi silników ===&lt;br /&gt;
Żeby móc się skupić na programowaniu konkretnych tras do obsługi silników użyjemy gotowego, prostego modułu pythona. Jego kod można pobrać stąd: &lt;br /&gt;
&lt;br /&gt;
[[Plik:Silniki.zip]]&lt;br /&gt;
&lt;br /&gt;
Moduł zawiera kilka prostych funkcji, dzięki którym można wykonać automatycznie inicjowanie portów maliny, włączać/wyłączać silniki, wykonywać pojedynczy krok w zadanym kierunku, a nawet całe sekwencje kroków. Z jego użyciem zaprogramowanie trasy przejazdu sprowadza się do napisania po prostu instrukcji dokąd jechać. Zwróć uwagę, że choć sam plik modułu jest długi, większość to komentarze i opisy działania funkcji.&lt;br /&gt;
&lt;br /&gt;
Na wykresie połączeń elektrycznych powyżej napisane jest, że należy wybrać dowolne z wolnych portów Maliny. Jednak kod modułu obsługi silników musi znać już konkretne numery portów, bo inaczej nie byłoby jasne na które wyjścia posyłać sygnały sterujące. Dlatego w liniach 22-24 dla lewego silnika, i 26-28 dla prawego, wpisane zostały numery portów Maliny, do których podpięte są kable łączące do wyjść '''SLP''', '''STEP''', '''DIR''' sterowników. Połączenia pomiędzy Maliną ze sterownikami najprościej wykonać patrząc na tabelę zaczynającą się w linii 8. Jakieś drobne pomyłki w połączeniach nie powinny być szkodliwe, ale to jest właśnie taki moment przez który robot rusza w nieoczekiwanych momentach, dlatego lepiej zachować uwagę. Najlepiej też zrobić połączenia przed włączeniem zasilania.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# coding: utf-8&lt;br /&gt;
&lt;br /&gt;
import RPi.GPIO as gpio&lt;br /&gt;
from time import sleep&lt;br /&gt;
&lt;br /&gt;
# Poniższa numeracja pinów zakłada następujące połączenia kablowe:&lt;br /&gt;
#&lt;br /&gt;
# |   PIN MALINY  |  LEWY STEROWNIK SILNIKA | PRAWY STEROWNIK SILNIKA |&lt;br /&gt;
#  --------------- ------------------------- -------------------------&lt;br /&gt;
# |        9      |                         |          GND            |&lt;br /&gt;
# |       11      |                         |          SLP            |&lt;br /&gt;
# |       13      |                         |          STEP           | &lt;br /&gt;
# |       15      |                         |          DIR            | &lt;br /&gt;
# |               |                         |                         | &lt;br /&gt;
# |       16      |            DIR          |                         | &lt;br /&gt;
# |       18      |            STEP         |                         | &lt;br /&gt;
# |       20      |            GND          |                         | &lt;br /&gt;
# |       22      |            SLP          |                         | &lt;br /&gt;
# &lt;br /&gt;
# Oczywiście jeśli wybrało się inne wyjścia numery poniżej można &lt;br /&gt;
# (i trzeba) pozmieniać&lt;br /&gt;
PIN_SILNIK_LEWY_KIERUNEK = 16    &lt;br /&gt;
PIN_SILNIK_LEWY_KROK = 18       &lt;br /&gt;
PIN_SILNIK_LEWY_WLACZ = 22&lt;br /&gt;
&lt;br /&gt;
PIN_SILNIK_PRAWY_WLACZ = 11&lt;br /&gt;
PIN_SILNIK_PRAWY_KROK = 13&lt;br /&gt;
PIN_SILNIK_PRAWY_KIERUNEK = 15&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Stałe pozwalające czytelniej pisać kod. &lt;br /&gt;
# Zamiast krok(-1, 1) można napisać krok(TYL, PRZOD).&lt;br /&gt;
# Obie instrukcje zrobią to samo, ale druga jest czytelniejsza.&lt;br /&gt;
PRZOD = 1&lt;br /&gt;
STOP = 0&lt;br /&gt;
TYL = -1&lt;br /&gt;
&lt;br /&gt;
# Domyślny czas wykonywania kroku (5 milisekund). &lt;br /&gt;
#&lt;br /&gt;
# Przy 5 milisekundach można wykonać maksymalnie 200 kroków/s, &lt;br /&gt;
# co przy 60mm kole daje prędkość ~200mm/s. &lt;br /&gt;
#&lt;br /&gt;
# Ustawienie większej wartości daje silnikowi więcej czasu &lt;br /&gt;
# na wykonanie ruchu i jest on pewniejszy (silnik zawsze zdąży).&lt;br /&gt;
#&lt;br /&gt;
# Krótszy czas zwiększa maksymalną prędkość obrotową, ale może &lt;br /&gt;
# powodować, że pierwsza lepsza przeszkoda obciąży silnik na tyle, &lt;br /&gt;
# że nie zdąży on wykonać kroku i zablokuje się w miejscu.&lt;br /&gt;
#&lt;br /&gt;
# Poniżej 1ms silnik może się blokować nawet bez obciążenia.&lt;br /&gt;
DOMYSLNY_CZAS_KROKU = 0.005&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def przygotuj():&lt;br /&gt;
    '''&lt;br /&gt;
    Ta funkcja przygotowuje piny Maliny do komunikacji ze sterownikami &lt;br /&gt;
    silników. Należy ją wywołać na początku programu, przed wszystkimi &lt;br /&gt;
    innymi. &lt;br /&gt;
    '''&lt;br /&gt;
    gpio.setmode(gpio.BOARD)&lt;br /&gt;
    piny_sterowania_silnikow = [PIN_SILNIK_LEWY_KROK, &lt;br /&gt;
        PIN_SILNIK_LEWY_KIERUNEK, PIN_SILNIK_LEWY_WLACZ, &lt;br /&gt;
        PIN_SILNIK_PRAWY_KROK, PIN_SILNIK_PRAWY_KIERUNEK, &lt;br /&gt;
        PIN_SILNIK_PRAWY_WLACZ]&lt;br /&gt;
&lt;br /&gt;
    for pin in piny_sterowania_silnikow:    &lt;br /&gt;
        gpio.setup(pin, gpio.OUT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def podlacz(lewy = 0, prawy = 0):&lt;br /&gt;
    '''&lt;br /&gt;
    Włącza lub wyłącza zasilanie silników. Na przykład:&lt;br /&gt;
    podlacz(1,0) -- włączy zasilanie w silniku lewym i wyłączy w prawym&lt;br /&gt;
    podlacz(0,0) -- wyłączy zasilanie obu silników&lt;br /&gt;
    podlacz(1, None) -- włącza zasilanie lewego silnika nie zmieniając &lt;br /&gt;
                        stanu zasilania prawego&lt;br /&gt;
    podlacz() -- brak parametrów spowoduje przyjęcie domyślnych 0,0&lt;br /&gt;
                 a więc ta instrukcja wyłącza zasilanie obu silników&lt;br /&gt;
    '''&lt;br /&gt;
    # Przełączamy zasilanie silnika o ile wartość nie jest &lt;br /&gt;
    # nieokreślona (None)&lt;br /&gt;
    if lewy is not None:&lt;br /&gt;
        gpio.output(PIN_SILNIK_LEWY_WLACZ, lewy)&lt;br /&gt;
    if prawy is not None:&lt;br /&gt;
        gpio.output(PIN_SILNIK_PRAWY_WLACZ, prawy)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def krok(lewy, prawy, czas = None):&lt;br /&gt;
    '''&lt;br /&gt;
    Wywołanie tej funkcji wysyła impusly sterujące do sterowników silnika, &lt;br /&gt;
    które powodują wykonanie jednego kroku. &lt;br /&gt;
    &lt;br /&gt;
    Na przykład:&lt;br /&gt;
       krok(PRZOD, PRZOD) -- wykonanie kroku w przód przez oba silniki&lt;br /&gt;
       krok(PRZOD, TYL)   -- lewy silnik wykona krok w przód, a prawy w tyl, &lt;br /&gt;
                             pojazd skręci lekko w prawo w miejscu &lt;br /&gt;
       krok(PRZOD, STOP)  -- lewy silnik wykona krok w przód, a prawy &lt;br /&gt;
                             nie poruszy się&lt;br /&gt;
&lt;br /&gt;
    Jeśli nie chcemy używać domyślnego czasu wykonywania kroku (patrz opis &lt;br /&gt;
    zmiennej DOMYSLNY_CZAS_KROKU powyżej) możemy podać inną wartość czasu&lt;br /&gt;
    dla aktualnego kroku jako trzeci paramter. &lt;br /&gt;
    &lt;br /&gt;
    Na przykład:&lt;br /&gt;
       krok(PRZOD, PRZOD, 0.01) -- krok do przodu na obu silnikach z względnie&lt;br /&gt;
                                   długim czasem -- w tym trybie powinno się &lt;br /&gt;
                                   dać pokonać trudne przeszkody, które blokują&lt;br /&gt;
                                   silnik kiedy czas jest krótszy&lt;br /&gt;
    '''&lt;br /&gt;
&lt;br /&gt;
    # Zamieniamy podane polecenie na odpowiednie wartości dla pinów STEP i DIR.&lt;br /&gt;
&lt;br /&gt;
    if lewy == PRZOD:      # PRZOD: generujemy impuls kroku z pinem kierunku na 1&lt;br /&gt;
        lewy_krok = 1&lt;br /&gt;
        lewy_kierunek = 1    &lt;br /&gt;
    elif lewy == STOP:     # STOP: bez impulsu kroku, kierunek bez znaczenia&lt;br /&gt;
        lewy_krok = 0&lt;br /&gt;
        lewy_kierunek = None&lt;br /&gt;
    elif lewy == TYL:      # TYL: impuls kroku z pinem kierunku na 0  &lt;br /&gt;
        lewy_krok = 1&lt;br /&gt;
        lewy_kierunek = 0&lt;br /&gt;
    else:&lt;br /&gt;
        raise &amp;quot;Nieznane polecenie!&amp;quot;  # Nie PRZOD, nie TYL, nie STOP??? To co?   &lt;br /&gt;
&lt;br /&gt;
    # Jak wyżej, tylko dla prawego silnika. Zwróć uwagę, że pin kierunku włączany&lt;br /&gt;
    # jest odwrotnie (dla PRZOD ma wartosc 1, dla TYL 0). Wynika to z budowy &lt;br /&gt;
    # robota gdzie silniki są obrócone do siebie o 180 stopni i trzeba je obracać &lt;br /&gt;
    # w przeciwną stronę, żeby napędzały robota w tym samym kierunku.&lt;br /&gt;
    if prawy == PRZOD:       &lt;br /&gt;
        prawy_krok = 1&lt;br /&gt;
        prawy_kierunek = 0&lt;br /&gt;
    elif prawy == STOP:  &lt;br /&gt;
        prawy_krok = 0&lt;br /&gt;
        prawy_kierunek = None&lt;br /&gt;
    elif prawy == TYL:   &lt;br /&gt;
        prawy_krok = 1&lt;br /&gt;
        prawy_kierunek = 1&lt;br /&gt;
    else:&lt;br /&gt;
        raise &amp;quot;Nieznane polecenie!&amp;quot;  &lt;br /&gt;
&lt;br /&gt;
    # Jeśli czas nie jest podany ustawiamy domyślną wartość zdefiniowaną&lt;br /&gt;
    # w DOMYSLNY_CZAS_KROKU&lt;br /&gt;
    if czas is None:&lt;br /&gt;
        czas = DOMYSLNY_CZAS_KROKU&lt;br /&gt;
&lt;br /&gt;
    # I wykonanie kroku:&lt;br /&gt;
 &lt;br /&gt;
    # Najpierw ustawiamy sygnały na pinach kierunków o ile jest to potrzebne &lt;br /&gt;
    # (np. polecenie STOP nie wymaga ustawiania kierunku)&lt;br /&gt;
    if lewy_kierunek is not None:&lt;br /&gt;
        gpio.output(PIN_SILNIK_LEWY_KIERUNEK, lewy_kierunek)&lt;br /&gt;
&lt;br /&gt;
    if prawy_kierunek is not None:&lt;br /&gt;
        gpio.output(PIN_SILNIK_PRAWY_KIERUNEK, prawy_kierunek)&lt;br /&gt;
&lt;br /&gt;
    # Teraz wysyłamy impuls wykonania kroku, czyli przez połowę podanego czasu &lt;br /&gt;
    # ustawiamy pin na wyznaczoną powyżej wartość, a po chwili dajemy 0. &lt;br /&gt;
    gpio.output(PIN_SILNIK_LEWY_KROK, lewy_krok)&lt;br /&gt;
    gpio.output(PIN_SILNIK_PRAWY_KROK, prawy_krok)&lt;br /&gt;
    sleep(czas*0.5)&lt;br /&gt;
&lt;br /&gt;
    gpio.output(PIN_SILNIK_LEWY_KROK, 0)&lt;br /&gt;
    gpio.output(PIN_SILNIK_PRAWY_KROK, 0)&lt;br /&gt;
    sleep(czas*0.5)&lt;br /&gt;
&lt;br /&gt;
    # Dokładniejszy opis: &lt;br /&gt;
    #&lt;br /&gt;
    # Jeśli wyznaczona wartość ..._krok wynosiła 1, sygnał na pinie STEP skoczy &lt;br /&gt;
    # do 1 (czyli ok. 3 wolty) i potem spadnie do 0. Sterownik zinterpretuje &lt;br /&gt;
    # to jako impuls na wejściu STEP i wygeneruje odpowiednie sygnały &lt;br /&gt;
    # na wyjściach silnika, które przekręcą go o krok. &lt;br /&gt;
    #&lt;br /&gt;
    # Jeśli wartość ..._step wynosi 0, wówczas sygnał na pinie będzie cały czas &lt;br /&gt;
    # ustawiony na 0, sterownik nie otrzyma impulsu na wejściu STEP i nie &lt;br /&gt;
    # wygeneruje nowych sygnałów na wyjściu silnika, który wobec tego pozostanie &lt;br /&gt;
    # w niezmienionej pozycji.&lt;br /&gt;
    #&lt;br /&gt;
    # Wykresy napięcia jakie &amp;quot;widzi&amp;quot; wejście STEP lewego sterownika zależnie &lt;br /&gt;
    # od wartości lewy_krok:&lt;br /&gt;
    # &lt;br /&gt;
    #&lt;br /&gt;
    #                   |         1        |                  |&lt;br /&gt;
    # 3V                |   ...............|                  |&lt;br /&gt;
    #                   |  .               |                  | &lt;br /&gt;
    #  lewy_krok = 1    | .                |.                 |&lt;br /&gt;
    #                   |.                 | .      0         |&lt;br /&gt;
    # 0V ...............|                  |  ................|.............&lt;br /&gt;
    #                   |                  |                  |&lt;br /&gt;
    #                   |                  |                  |&lt;br /&gt;
    #                   |                  |                  |&lt;br /&gt;
    # 3V                |                  |                  |&lt;br /&gt;
    #                   |                  |                  | &lt;br /&gt;
    #  lewy_krok = 0    |                  |                  |&lt;br /&gt;
    #                   |         0        |        0         |&lt;br /&gt;
    # 0V ...............|..................|..................|.............&lt;br /&gt;
    #                   |                  |                  |&lt;br /&gt;
    #                     &amp;lt;-- czas*0.5 --&amp;gt;   &amp;lt;-- czas*0.5 --&amp;gt;     &lt;br /&gt;
    #&lt;br /&gt;
    #                     &amp;lt;------------  czas  -------------&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def zestaw(lewo, prawo, powtorek = 1):&lt;br /&gt;
    '''&lt;br /&gt;
    Funkcja bierze polecenie i powtarza jego wykonanie podaną ilość razy: &lt;br /&gt;
    lewo - polecenie dla lewego silnika&lt;br /&gt;
    prawo - polecenie dla prawego silnika&lt;br /&gt;
    powtorek - oznacza ile razy nalezy ten zestaw kroków powtórzyć&lt;br /&gt;
&lt;br /&gt;
    Na przykład:&lt;br /&gt;
    zestaw(PRZOD, STOP, 10)   -- wykona 10 kroków do przodu lewym silnikiem,&lt;br /&gt;
    zestaw(PRZOD, PRZOD, 200) -- wykona 200 kroków do przodu oboma silnikami,&lt;br /&gt;
                                 a więc koła obrócą się o pełny obrót  &lt;br /&gt;
    zestaw(PRZOD, TYL, 100)   -- obróci lewe koło 100 kroków do przodu, &lt;br /&gt;
                                 a prawe 100 do tyłu, a więc robot powinien &lt;br /&gt;
                                 wykonać skręt w prawo w miejscu.&lt;br /&gt;
    ''' &lt;br /&gt;
    for i in xrange(1, 1 + powtorek):&lt;br /&gt;
        krok(lewo, prawo)&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
def sekwencja(lista_zestawow):&lt;br /&gt;
    '''&lt;br /&gt;
    Czyta podaną listę i wykonuje kolejno podane w niej zestawy kroków.&lt;br /&gt;
&lt;br /&gt;
    lista_zestawów -- lista zawierająca kolejne zestawy; w pythonie &lt;br /&gt;
                      listę podaje się w nawiasach kwadratowych [] &lt;br /&gt;
                      oddzielając elementy przecinkami &lt;br /&gt;
&lt;br /&gt;
    Na przykład:&lt;br /&gt;
&lt;br /&gt;
    sekwencja([ (PRZOD, PRZOD, 400), (PRZOD, TYL, 100), (TYL, PRZOD, 100) ]) &lt;br /&gt;
&lt;br /&gt;
         -- wykona kolejno trzy zestawy: &lt;br /&gt;
            1. (PRZOD, PRZOD, 400)&lt;br /&gt;
            2. (PRZOD, TYL, 100)&lt;br /&gt;
            3. (TYL, PRZOD, 100)&lt;br /&gt;
            Pierwszy spowoduje podjechanie modelu o dwa pełne obroty kół &lt;br /&gt;
            do przodu. Drugi obrócenie lewego koła do przodu a prawego &lt;br /&gt;
            do tyłu o pół obrotu, a wiec robot skręci w miejscu w prawo. &lt;br /&gt;
            Ostatni zestaw spowoduje skręt w miejscu w przeciwną stronę &lt;br /&gt;
            - robot powróci do pierwotnego kierunku. Cała sekwencja wyglądać &lt;br /&gt;
            będzie tak jakby robot podjechał do przodu i rozejrzał się &lt;br /&gt;
            w prawo. &lt;br /&gt;
    '''&lt;br /&gt;
    for kolejny_zestaw in lista_zestawow:&lt;br /&gt;
        zestaw(*kolejny_zestaw)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Przykłady użycia ===&lt;br /&gt;
Dzięki modułowi '''silniki''' sterowanie ruchem sprowadza się do prostych instrukcji. &lt;br /&gt;
&lt;br /&gt;
Na początek spróbujmy zobaczyć instrukcję  &amp;lt;code&amp;gt;zestaw(''lewy, prawy, powtorek'')&amp;lt;/code&amp;gt; w akcji.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# coding: utf-8&lt;br /&gt;
import silniki as s&lt;br /&gt;
&lt;br /&gt;
# Przygotowanie portów Maliny do pracy&lt;br /&gt;
s.przygotuj()&lt;br /&gt;
&lt;br /&gt;
# Włączenie zasilania silników -- po tej instrukcji silniki powinny zablokować się w ustalonej pozycji&lt;br /&gt;
s.podlacz(1,1)&lt;br /&gt;
&lt;br /&gt;
# 10 obrotów kół (czyli 10*200 kroków) w przód&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 2000) &lt;br /&gt;
&lt;br /&gt;
# Jeden obrót lewego koła w przód, prawe stoi -- robot skręca w prawo&lt;br /&gt;
s.zestaw(s.PRZOD, s.STOP, 200)&lt;br /&gt;
&lt;br /&gt;
# Koniec programu, wyłączamy zasilanie silników -- po tej instrukcji koła znów obracają się lekko&lt;br /&gt;
s.podlacz(0,0)&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Po zapisaniu tego kodu w pliku &amp;lt;code&amp;gt;silniki_p1.py&amp;lt;/code&amp;gt; i wydaniu polecenia&lt;br /&gt;
&lt;br /&gt;
 pi@raspberrypi:~ $ python silniki_p1.py &lt;br /&gt;
&lt;br /&gt;
robot powinien przejechać 10 obrotów kół do przodu,  a potem skręcić w prawo. Oczywiście nie będzie to możliwe jeśli będziemy się łączyć z Maliną poprzez kabel USB dlatego w tej chwili najlepiej zdjąć koła, albo unieść je w górę i obserwować czy wykonują oczekiwane ruchy. Poniżej pokażemy gdzie wstawić powyższą instrukcję, żeby robot wykonywał podany kod zaraz po włączeniu. Wówczas będzie można podłączyć Malinę do powerbanku i oglądać wykonanie instrukcji w ruchu.&lt;br /&gt;
&lt;br /&gt;
== W akcji ==&lt;br /&gt;
Przykładowy kod sterujący i zachowaniem trzykołowca&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# coding: utf-8&lt;br /&gt;
import silniki as s&lt;br /&gt;
&lt;br /&gt;
s.przygotuj()                      # Przygotowanie pinów Maliny do wysyłania sygnałów.&lt;br /&gt;
s.podlacz(1,1)                     # Włączamy zasilanie silników, koła trudno obracać. &lt;br /&gt;
&lt;br /&gt;
s.zestaw(s.TYL, s.PRZOD, 60)       # lewe koło to tyłu, prawe do przodu o 60 kroków -- skręt w lewo&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)    # 400 kroków w przód, bok kwadratu ok. 50cm&lt;br /&gt;
s.zestaw(s.TYL, s.PRZOD, 60)       # skręt i drugi bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
s.zestaw(s.TYL, s.PRZOD, 60)       # skręt i trzeci bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
s.zestaw(s.TYL, s.PRZOD, 60)       # skręt i czwarty bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
&lt;br /&gt;
s.zestaw(s.PRZOD, s.TYL, 60)       # lewe koło w przód, prawe w tył -- skręt w prawo&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)    # robot jedzie w kierunku stopy na filmie&lt;br /&gt;
s.zestaw(s.PRZOD, s.TYL, 60)       # kolej skręt i bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
s.zestaw(s.PRZOD, s.TYL, 60)       # następny&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
s.zestaw(s.PRZOD, s.TYL, 60)       # ostatni skręt i bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
&lt;br /&gt;
# ... i tak dalej, kolejny kwadrat w lewo&lt;br /&gt;
&lt;br /&gt;
s.podlacz(0,0)           # Wyłączamy zasilanie silników, koła znów obracają się lekko&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;fSHDZ6fRyPc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Roboty]]&lt;br /&gt;
[[Category:Projekty_Pi_Zero]]&lt;br /&gt;
[[Category:Silniki_krokowe]]&lt;br /&gt;
[[Category:Moduły_elektroniczne]]&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Trzyko%C5%82owiec&amp;diff=627</id>
		<title>Trzykołowiec</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Trzyko%C5%82owiec&amp;diff=627"/>
		<updated>2019-11-19T14:05:21Z</updated>

		<summary type="html">&lt;p&gt;Isj: /* Moment obrotowy 120 mN/m */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Projekt prostego programowalnego robota kołowego z dwoma silnikami. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Do czego zmierzamy ==&lt;br /&gt;
Chodzi o to, żeby względnie małym nakładem pracy uzyskać robota, którego można łatwo zaprogramować. Dzięki temu bez zbędnych komplikacji będzie można rozpocząć realną zabawę w całkiem poważną robotykę. Robot będzie się składał z dwóch, oddzielnie sterowanych silników napędowych wyposażonych w koła, oraz trzeciego podpierającego. Możliwość sterowania obrotami każdego z kół z osobna pozwala zaprogramować dowolny kierunek jazdy i tworzyć dowolne trasy przejazdu. Podstawowe możliwości, uniwersalność i przez to przydatność takiego robota pokazuje poniższy film, gdzie projektanci z firmy Microsoft użyli dokładnie takiej konstrukcji w swoich projektach. Co więcej, tak samo jak my użyli Maliny jako &amp;quot;mózgu&amp;quot; robota.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;vimeo&amp;quot;&amp;gt;126458720&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Konstrukcja ==&lt;br /&gt;
=== Silnik ===&lt;br /&gt;
[[Plik:Nema_14.jpg|thumb|right|250px|Silnik o rozmiarze NEMA 14.]]&lt;br /&gt;
Do napędu kół użyjemy silnika krokowego o następujących parametrach:&lt;br /&gt;
* rozmiar NEMA 14, czyli boki '''35x35 mm''', ponadto nasz silnik będzie miał '''34 mm długości''' i oś wystającą na 20mm o średnicy 5mm&lt;br /&gt;
* waga '''180g'''&lt;br /&gt;
* maksymalny moment obrotowy '''120 mN/m''' (miliniutonów na metr)&lt;br /&gt;
* żeby wykonać pełny obrót silnik potrzebuje '''200 kroków'''&lt;br /&gt;
* pobór prądu '''750mA'''(miliamperów) przy napięciu zasilającym '''4.35V'''&lt;br /&gt;
&lt;br /&gt;
[[Plik:Silnik_krokowy_w_środku.jpg|right|250px|thumb|Tak wygląda w środku.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zasadę działania silnika krokowego przedstawia animacja poniżej: włączamy prąd w kolejnych uzwojeniach, co wytwarza silne pole magnetyczne, które przyciąga metalowe wypustki wirnika i obraca go o pewien mały kąt. Zależnie od tego w jakiej kolejności włączamy cewki, silnik będzie się kręcił w lewo lub prawo. Dużo więcej magii w tym nie ma ;).&lt;br /&gt;
&lt;br /&gt;
[[Plik:StepperMotor.gif|center]]&lt;br /&gt;
&lt;br /&gt;
Jak widać na zdjęciu rozebranego realnego silnika, praktyczna realizacja jest trochę inna: w tym przypadku mamy 8 cewek elektromagnesów na obwodzie (miedziane zwoje drutu na dole zdjęcia), a nie 4 jak na schemacie. Jednak sama zasada pozostaje ta sama. Dodatkowe cewki i podwójny rotor jak widać na zdjęciu pozwalają poprawić siłę z jaką silnik się obraca oraz precyzję kontroli kąta obrotu. Szczegóły wyjaśnia film poniżej.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;eyqwLiowZiU&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
==== Co oznaczają podane parametry silnika? ====&lt;br /&gt;
&lt;br /&gt;
===== Wymiary i masa =====&lt;br /&gt;
&lt;br /&gt;
Z rozmiarów silnika zgodnego z normą NEMA 14 i jego masy widzimy, że choć silnik nie jest jakoś przerażająco wielki, to jest jednak całkiem solidnym kawałkiem metalu. Same dwa silniki napędowe będą ważyły 360g, a więc dodając jeszcze powerbank, możemy się spodziewać, że cały robot będzie ważył około 1kg. To oszacowanie przyda się przy projektowaniu podwozia. Dzięki niemu wiemy jaką mniej więcej powinno mieć wytrzymałość &amp;amp;mdash; w przybliżeniu powinno być sztywniejsze niż choćby karta bankomatowa.&lt;br /&gt;
&lt;br /&gt;
===== Moment obrotowy 120 mN/m =====&lt;br /&gt;
&lt;br /&gt;
Gdyby przeczytać tą liczbę brzmiałaby ''&amp;quot;sto dwadzieścia miliniutonów na metr&amp;quot;''. Pierwsza część to niewielka siła (okolice ciężaru odtwarzacza mp3). Ale o jaki metr chodzi? &lt;br /&gt;
&lt;br /&gt;
O taki, jak gdyby do osi silnika przymocować metrowy patyk pod kątem prostym do osi (tak jak szprycha w kole roweru). Kiedy silnik pracowałby z całej siły wówczas koniec takiego metrowego patyka naciskałby na rękę z podaną siłą, lub jak kto woli wystarczyłoby delikatnie trzymać jego koniec, żeby silnik nie mógł się obracać. &lt;br /&gt;
&lt;br /&gt;
Łatwo wyczuć intuicyjnie, że gdyby patyk był krótszy, wówczas trzeba by było użyć większej siły, żeby powstrzymać silnik przed obracaniem się. Kto nie wierzy niech spróbuje przytrzymać koło roweru za szprychę najpierw chwytając blisko opony, a potem bliżej środka. O razu widać, że o ile trzymanie przy oponie jakoś wychodzi, to bliżej środka palce są za słabe. Fizycy mówią, że '''jeśli skracamy ramię na które działa pewien moment obrotowy, to siła na końcu ramienia proporcjonalnie rośnie'''. &lt;br /&gt;
&lt;br /&gt;
'''I to jest bardzo dobra wiadomość!''' Gdybyśmy mieli silnik pchający robota do przodu z siłą tylko 120mN moglibyśmy zapomnieć o jeździe po czymkolwiek mniej gładkim niż stół, a i to wątpliwe... Jeśli jednak skrócimy w wyobraźni metrowy patyk do połowy, siła na końcu wzrośnie proporcjonalnie do 240mN. Nadal szału nie ma, ale jest postęp.  Gdybyśmy skrócili go do &amp;lt;math&amp;gt;\frac{1}{10}&amp;lt;/math&amp;gt; metra, wówczas otrzymamy 120mN * 10 = 1200mN. Przypomnę, że ''mili'' oznacza jedną tysięczną. Czyli 1200mN to już całkiem duża siła 1.2 niutona. &lt;br /&gt;
&lt;br /&gt;
No dobrze, ale przecież nie będziemy używać patyków, tylko koła... To nic nie zmienia! Wystarczy sobie wyobrazić, że nakładamy na oś jeden patyk za drugim dookoła osi (znów, tak jak szprychy w kole roweru). Jeśli nawkładalibyśmy ich odpowiednio dużo powstanie w końcu koło. Na tym polega geniusz wynalazku koła, którego ludzkość  [https://pl.wikipedia.org/wiki/Ko%C5%82o_(technika) bardzo długo nie znała]. Dzięki odsunięciu osi, na której skupiony jest ciężar od podłoża, możemy przesuwać masy ze znacznie mniejszym wysiłkiem, bo cały czas stosujemy dźwignię o takiej długości jak promień koła. &lt;br /&gt;
&lt;br /&gt;
Teraz możemy wrócić do naszej skali, bo oczywiście nikt nie zamierzał(?) używać kół o metrowym promieniu. &lt;br /&gt;
&lt;br /&gt;
Jeśli wyobrazimy sobie, że ktoś założył na osi kółko o średnicy 2cm, wówczas promień będzie miał tylko 1cm, a więc 1/100 metra. Silnik pracujący z maksymalną mocą ciągnąłby pojazd na takich kołach z siłą 120 * 100 = 12000mN, czyli 12 N. Z taką siłą naciska na rękę trzymane w niej 1,2 kg. Jeśli ktoś założyłby kółka o średnicy dwa razy większej (4cm) wówczas siła spadnie do 6N (~600g), a dla kółek o średnicy 6cm do około 4N (~400g). &lt;br /&gt;
&lt;br /&gt;
Czy to dużo czy mało? Możemy łatwo oszacować co to oznacza wyliczając możliwe przyśpieszenia robota. Dla ułatwienia przyjmijmy, że cały będzie ważył około '''1kg'''. &lt;br /&gt;
&lt;br /&gt;
Przyśpieszenie podaje zupełnie prosty wzór, sprzed ponad 300 lat,  pana [https://pl.wikipedia.org/wiki/Isaac_Newton Izaaka Newtona] (czytaj ''niuton''):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;a=\frac{F}{m}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
gdzie: &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;math&amp;gt;F&amp;lt;/math&amp;gt; to siła wyrażona w, a jakże, w '''N''' (niutonach)&lt;br /&gt;
* &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; to masa, u nas 1kg&lt;br /&gt;
* &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; to przyśpieszenie jakiego należy się spodziewać w m/s²&lt;br /&gt;
&lt;br /&gt;
Podstawiając dane dla kół o średnicy 6cm, które dają siłę pchającą 4N na jeden silnik, przy włączonym napędzie na oba koła mamy:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;a=\frac{2*4[N]}{1[kg]}=8 [m/s^2]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jeśli porównamy to z przyśpieszeniem ziemskim, wynoszącym &amp;lt;math&amp;gt;9,81 [m/s^2]&amp;lt;/math&amp;gt; widzimy, że pojazd mógłby przyśpieszać prawie tak szybko jak szybko rzeczy spadają w polu grawitacji Ziemi. Inaczej mówiąc potrzebowałby '''niecałych 3 sekund &amp;quot;do setki&amp;quot; !''' Oczywiście to tylko oszacowanie, które podaje maksymalne przyśpieszenie. W praktyce będzie ono mniejsze. Wystarczy choćby zdać sobie sprawę z tego, że policzyliśmy siłę z jaką pojazd będzie napędzany, ale nie uwzględniliśmy siły tarcia, która będzie go spowalniać. Nawet jednak gdybyśmy spadli w okolice połowy tego przyśpieszenia nadal taki napęd wydaje się sensowny. Niestety oprócz zdolności silnika do przyśpieszania pojazdu, która jak widzimy jest dobra, musimy uwzględnić jeszcze jedno ograniczenie &amp;amp;mdash; maksymalną prędkość z jaką silnik może się obracać. Jak widać na filmie w dalszej części strony, pojazd rusza natychmiast, bez wyraźnych opóźnień, ale jego maksymalna prędkość nie jest wielka.&lt;br /&gt;
&lt;br /&gt;
===== 200 kroków na obrót =====&lt;br /&gt;
Silniki krokowe działają trochę inaczej niż zwykłe. W zwykłym wystarczy włączyć prąd i silnik się obraca. Silnikiem krokowym steruje się inaczej: podaje się odpowiednie impulsy, które powodują, że oś silnika obraca się o pewien kąt. Jak daleko obraca się oś w jednym kroku definiuje właśnie liczba kroków potrzebnych do pełnego obrotu. W przypadku naszego silnika będziemy musieli podać 200 impulsów żeby koło napędowe wykonało jeden obrót. Dzięki takiej dokładności możliwe będzie bardzo precyzyjne sterowanie odległością jaką przemierza każde koło, a przez to będzie można precyzyjnie skręcać.&lt;br /&gt;
&lt;br /&gt;
===== Parametry elektryczne =====&lt;br /&gt;
Jeśli chodzi o napięcie pracy silnika, wynoszące 4.35V, jest ono nieco mniejsze niż '''5V, którego używają porty USB, powerbank''' i którym zasilana jest Malina (przy czym część cyfrowa Maliny działa przy napięciach 0 i 3.3V). &lt;br /&gt;
&lt;br /&gt;
Możemy jednak przyjąć, że nieco wyższe napięcie zasilania jakiego użyjemy, nie będzie groźne dla uzwojeń silnika, a może poprawić prędkość z jaką silnik będzie wykonywał kolejne kroki. W normalnej sytuacji, kiedy silniki jest montowany w większej maszynie unikalibyśmy takiego &amp;quot;podkręcania&amp;quot;, ale w naszym przypadku silnik będzie pracował w otwartej przestrzeni, i pewien nadmiar wydzielanego ciepła jest dopuszczalny.&lt;br /&gt;
&lt;br /&gt;
Znaczenie poboru prądu wyjaśnimy przy okazji rozważań o baterii.&lt;br /&gt;
&lt;br /&gt;
=== Bateria ===&lt;br /&gt;
&lt;br /&gt;
Pobór prądu przez jeden silnik, który wynosi 750mA (miliamperów) oznacza, że gdybyśmy mieli baterię o pojemności 750mAh (miliamperogodzin) pojedynczy silnik mógłby działać przez godzinę. Ponieważ mamy dwa silniki i jeszcze Malinę, która również zużywa prąd, możemy oczekiwać zużycia na poziomie około 1800mAh. &lt;br /&gt;
&lt;br /&gt;
Teoretycznie więc powerbank o takiej pojemności mógłby zasilać robota przez godzinę. W praktyce producenci obiecują gruszki na wierzbie, i lepiej przyjąć co najmniej 2500mA potrzebnej pojemności na godzinę pracy robota. &lt;br /&gt;
&lt;br /&gt;
Powerbanki zwykle ładują się godzinami -- nie rzadko instrukcja podaje 8-10 godzin. Ponieważ byłoby niezbyt wygodnie po każdej godzinie testów czekać 8 godzin do kolejnego naładowania baterii, lepiej zastosować akumulator o większej pojemności niż tylko godzina użytkowania. Ostatecznie więc pobór prądu mówi nam tyle, że przydałby się akumulator o pojemności co najmniej 5000mAh. &lt;br /&gt;
&lt;br /&gt;
Ponadto musimy uwzględnić maksymalne możliwe obciążenie prądowe. Cóż z tego, że mielibyśmy pełny basen wody, jeśli dałoby się z niego czerpać tylko po jednej kropli na godzinę? Musimy więc wybrać powerbank, który będzie miał też odpowiednią wydajność. &lt;br /&gt;
&lt;br /&gt;
Dwa silniki zużywają 750mA * 2 = 1500mA. Do tego prądu trzeba dodać też Malinę, czyli co najmniej 500mA. Powerbank musi znieść obciążenie 2000mA, czyli 2A.&lt;br /&gt;
&lt;br /&gt;
=== Projekt podwozia ===&lt;br /&gt;
Wykonanie podwozia jest zadaniem do wykonania samodzielnie. ''Wszystkie chwyty dozwolone!'' Jeśli masz natchnienie, żeby ulepić podwozie z taśmy klejącej i gumy do żucia proszę bardzo. Jest tylko jedno ograniczenie -- byłoby fajnie gdyby robot zbudowany w oparciu o dostarczone części i zaprojektowane podwozie jeździł! Żeby to ograniczenie dokładniej sprecyzować umówmy się, że: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;thumb&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;thumbinner&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;thumbcaption&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#00bb44&amp;quot;&amp;gt;Części robota (oprócz Maliny) przechodzą na własność konstruktora dopiero po udowodnieniu, że robot jeździ i to zgodnie z podanym programem, czyli inaczej mówiąc '''o własnych siłach zarówno fizycznych jak i &amp;quot;umysłowych&amp;quot;.'''&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jeśli ktoś chciałby zaprojektować podwozie do wydruku na drukarce 3D (to jest możliwa opcja, nie wymaganie!) proponuję wykorzystanie programu FreeCAD. Dla ułatwienia poniżej plik wstępnie przygotowanego projektu robota. Zawiera podstawowe elementy zgodne z ich rozmiarami:&lt;br /&gt;
* płytkę Maliny&lt;br /&gt;
* silniki&lt;br /&gt;
* powerbank&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pozostaje tylko zająć się samym podwoziem i rozmieszczeniem wyżej wymienionych elementów na nim.&lt;br /&gt;
 &lt;br /&gt;
[[Plik:Trzykolowiec.fcstd]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;eAhDwQ00lHU&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Przykładowe rozwiązanie mechanicznej części robota wykonanej na drukarce 3D przedstawiają zdjęcia poniżej.&lt;br /&gt;
&lt;br /&gt;
[[Plik:Platforma_trzykołowca_wykonana_jako_wydruk_3D_--_góra.jpg|400px|thumb|left|Trzykołowiec wydrukowany na drukarce. Widok z góry.]]&lt;br /&gt;
[[Plik:Platforma_robota_wykonana_jako_wydruk_3D_--_spód.jpg|400px|thumb|right|I z dołu.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
== Elektronika ==&lt;br /&gt;
=== Opis wyprowadzeń łącza 40 pinowego ===&lt;br /&gt;
Piny złącza 40 pinowego liczy się zaczynając od kwadratowego (numer 1), a dalej &amp;quot;zygzakiem&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt; napięcie 3.3V &amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 1 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 2 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b style=&amp;quot;color:red&amp;quot;&amp;gt; napięcie 5V &amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right;color: orange&amp;quot;| I²C: SDA (dane) &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;Rezystor podciągający 1.8k do 3.3V&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 3 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 4 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b style=&amp;quot;color:red&amp;gt; napięcie 5V &amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right; color: orange&amp;quot;| I²C: SCL (taktowanie) &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;Rezystor podciągający 1.8k do 3.3V&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 5 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 6 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| GPCLK0 &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;(zegar nr 0, ogólnego przeznaczenia)&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 7 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 8 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;color: green&amp;quot;| UART0: TXD (wysyłka) &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;(na tym łączu działa konsola systemu Raspbian)&amp;lt;/small&amp;gt;&amp;lt;/em&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 9 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 10 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;color: green&amp;quot;| UART0: RXD (odbiór) &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;(na tym łączu działa konsola systemu Raspbian)&amp;lt;/small&amp;gt;&amp;lt;/em&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  11&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 12&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| PWM0/BCM18 &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;(fala prostokątna o programowalnym wypełnieniu z generatora 0)&amp;lt;/small&amp;gt;&amp;lt;/em&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  13&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 14&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  15&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 16&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt; napięcie 3.3V &amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  17&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 18&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| MOSI/BCM10 (urządzenie nadrzędne do podrzędnego na łączu SPI)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  19&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 20&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| MISO (urządzenie podrzędne do nadrzędnego na łączu SPI)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 21 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 22 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| SCLK/BCM11 (taktowanie łącza SPI)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|23 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 24 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| CE0 (linia 0 wyboru chipu łącza SLI)&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 25 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 26 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| CE1 (linia 1 wyboru chipu łącza SLI)&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| ID_SC (dane łącza I²C do pamięci EEPROM)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 27 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 28 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| ID_SC (taktowanie łącza I²C do pamięci EEPROM)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 29 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 30 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  31&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 32&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| PWM0/BCM12&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| PWM1/BCM13&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  33&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 34&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| MISO (urządzenie podrzędne do nadrzędnego na łączu SPI)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  35&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 36&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  37&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 38&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| MOSI/BCM20 (urządzenie nadrzędne do podrzędnego na łączu SPI)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  39&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 40&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;|  SCLK/BCM21 (taktowanie łącza SPI)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Powyżej zastosowane są następujące oznaczenia:&lt;br /&gt;
* '''pogrubiona czcionka''' &amp;amp;mdash; zwykłe piny elektryczne, nie działające w logice cyfrowej ponieważ nie łączą się z procesorem maliny (np. masa, napięcie 3.3V); napięcie '''3.3V''' może pełnić rolę sygnału wejściowego oznaczającego '''1''' ponieważ piny cyfrowe właśnie takiego napięcia spodziewają się jako logicznej jedynki; możliwe jest więc połączenie kablem wyjścia '''3.3V''' z którymś pinem logicznym żeby zasymulować podanie sygnału 1; można też zasilać z tego wyjścia jakieś niewielkie urządzenia np. podpiąć do niego diodę LED, której używamy jako sondy stanów logicznych i sprawdzić czy działa (wydajność zasilania 3.3V wynosi zaledwie kilkadziesiąt mA, nie należy go obciążać większymi układami)&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;'''czerwona pogrubiona czcionka'''&amp;lt;/span&amp;gt; &amp;amp;mdash;  napięcie zasilające '''5V'''; może się przydać do zasilania '''drobnych''' urządzeń (takich jakie można podłączyć do wyjścia USB z którego zasilamy malinę);  UWAGA: Napięcie '''5V''' jest '''za wysokie dla wejść procesora''' i prawie na pewno go uszkodzi! Z tego powodu nie wolno łączyć kablem tych pinów z żadnymi wejściami cyfrowymi na łączu 40-pinowym! Właśnie dlatego oznaczone jest na czerwono! najlepiej na piny 2 i 4 nasunąć kawałek izolacji i o nich zapomnieć&lt;br /&gt;
* zwykła czcionka &amp;amp;mdash; piny cyfrowe gdzie ustawienie z programu wartości '''0''' daje napięcie '''0V''', a wysłanie wartości '''1''' daje napięcie około '''3V'''&lt;br /&gt;
* kolory i opisy przy pinie &amp;amp;mdash; niektóre piny mają ustawioną jakąś domyślną funkcję w systemie Raspbian sterującym maliną; te funkcje można w większości przedefiniować, jednak w czasie włączania systemu pin działa w trybie domyślnym, dopóki go nie przedefiniujemy po swojemu - '''jest to bardzo ważne jeśli do pinu podpięte jest jakieś urządzenie ponieważ po włączeniu maliny do prądu będzie ono otrzymywać przypadkowe sygnały w trakcie wczytywania systemu co może prowadzić do uszkodzeń (np. jeśli jest to silnik ramienia robota)'''; warto zauważyć, że zmiana działania pinu generuje ostrzeżenie i na przykład polecenie &amp;lt;code&amp;gt;gpio.setup(8, gpio.OUT)&amp;lt;/code&amp;gt; (czyli ustawienie pinu 8 jako zwykłe wyjście cyfrowe) wyświetli komunikat, że pin był używany w innej roli; kolory oznaczają piny związane domyślnie z tym samym urządzeniem (np. pary dwupinowych łączy &amp;lt;b style=&amp;quot;color: orange&amp;quot;&amp;gt;I²C&amp;lt;/b&amp;gt;, czy &amp;lt;b style=&amp;quot;color: green&amp;quot;&amp;gt;UART&amp;lt;/b&amp;gt;)&lt;br /&gt;
* brak opisu &amp;amp;mdash; piny nie wykonują żadnej specjalnej funkcji w domyślnej konfiguracji Raspbiana; przy włączeniu zasilania będą ustawione na 0; można ich dowolnie używać&lt;br /&gt;
&lt;br /&gt;
=== Moduł sterownika silnika krokowego DRV8834 i jego połączenie z maliną ===&lt;br /&gt;
[[Plik:Polaczenia_elektryczne_jednego_silnika.png|thumb|800px|right]]&lt;br /&gt;
Sposób połączenia silnika, źródła zasilania, sterownika i Maliny przedstawia obrazek.&lt;br /&gt;
&lt;br /&gt;
Jak widać w naszym prostym projekcie nie używamy wszystkich wyjść sterownika. &lt;br /&gt;
&lt;br /&gt;
Na diagramie niektóre z używanych wyjść są podpisane kolorem czerwonym, a inne jasnozielonym. Chodzi o to, żeby wyraźnie pokazać, że choć tego nie widać sterownik rozdziela cały układ na dwa zupełnie różne światy:&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;'''świat silnika''' &amp;amp;mdash; tutaj krążą duże prądy (takie, które mogą spokojnie odparować cieńsze przewody!), pojawiają się wyższe napięcia (rzędu kilkunastu woltów), układy pracują z dużą mocą (silnik potrafi być nawet gorący)&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:lightgreen&amp;quot;&amp;gt;'''świat cyfrowy''' &amp;amp;mdash; tutaj nie ma wielkiego znaczenia moc sygnału, a tylko czy ustawiony jest stan '''1''' (ok. 3 wolty) czy stan '''0''' (ok. zero woltów); wszystkie elementy z tego świata spodziewają się maksymalnie kilku woltów napięcia, nie zostały zaprojektowane do obsługiwania takich wielkich obciążeń jak silniki i cały ten podsystem mógłby być zasilany z małej zegarkowej bateryjki przez miesiące, na tyle jest &amp;quot;delikatny&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ważne jest, żeby rozróżniać te dwa światy!''' Jeśli ktoś spróbowałby podłączyć silnik do tego samego pinu, który jest połączony z Maliną prawdopodobnie spaliłby i sterownik i komputer (choć Malina ma pewne zabezpieczenia przed takim brutalnym traktowaniem i czasem zdąży się wyłączyć w porę). &lt;br /&gt;
&lt;br /&gt;
Ale jest też odwrotnie. W sprzyjających warunkach &amp;quot;delikatna&amp;quot; część cyfrowa potrafi &amp;quot;zamordować&amp;quot; część dużych mocy sterującą silnikami. Jak może do tego dojść? W dokładnie taki sam sposób, jak delikatne, ale nieprzemyślane ruchy kierownicą mogą zniszczyć cały samochód. Chodzi o to, że część cyfrowa steruje systemem, który ma już jakąś niemałą energię (silnik, koła).  W przypadku projektu z diodą, jeśli kod zawierał jakąś nie do końca przemyślaną instrukcję, najgorszym co mogło się stać był brak światła lub świecenie diody w nieoczekiwany sposób. Nic ponad to. Tymczasem tutaj robot może niespodziewanie ruszyć, skręcić, cofnąć się, i tylko aktualne otoczenie decyduje o tym jak to się skończy (coś do picia, klawiatura i szalony robot to całkiem skuteczny przepis na większe wydatki). Z tego powodu najlepiej na początku ustawić robota z kołami napędowymi w powietrzu (albo bez kół), żeby odebrać mu możliwość niekontrolowanego ruszania. &lt;br /&gt;
&lt;br /&gt;
'''Trzeba też uwzględnić specyficzną cechę samego sterownika. Jego instrukcja mówi o tym, że nie wolno podłączać/odłączać przewodów silnika kiedy zasilanie silnika jest włączone (podany sygnał 1 na wyjściu SLP)'''.  Ponieważ sygnał na wyjściu '''SLP''' podaje Malina najprościej zapamiętać, że jeśli potrzebujemy odłączyć sterownik to zawsze najpierw odłączamy Malinę (czyli 8 punktową wtyczkę, która będzie po lewej stronie na diagramie), a potem silniki (czyli wtyczka po prawej, pin &amp;quot;masy&amp;quot; Maliny znajdujący się na dole tej wtyczki nie jest problemem). I w odwrotnej kolejności podłączamy sterownik, czyli najpierw silniki, potem Malinę. W ten sposób mamy zawsze pewność, że przewody silników będą wyłączane/włączane przy wyłączonym zasilaniu. &lt;br /&gt;
&lt;br /&gt;
[[Plik:Wyprowadzenie_zasilania_5V_z_wtyczki_USB.jpg|thumb|300|Wyprowadzenie zasilania z wtyczki USB. Dodatkowe szczegóły zawiera opis obrazka dostępny po jego kliknięciu.]]&lt;br /&gt;
&lt;br /&gt;
I jeszcze jedno wyjaśnienie dlaczego wyjście '''M0''' jest podłączone do masy. Chodzi o to, że zastosowany sterownik obsługuje funkcję bardzo przydatną w bardziej precyzyjnych urządzeniach. Potrafi mianowicie wykonywać tylko ułamek kroku zamiast od razu cały. Typowy silnik krokowy (taki jak nasz) wykonuje 200 kroków na pełny obrót. Ten sterownik potrafi podzielić jeden krok nawet na 32 drobniejsze, co daje aż 6400 kroków na jeden pełny obrót! W bardziej precyzyjnych urządzeniach (np. drukarce 3D) ta opcja może być przydatna, ale nam nie jest potrzebna. O tym jak dzielony jest krok decydują piny '''M0''' i '''M1''' sterownika. Jeśli '''M1''' pozostawimy niepodłączony, a na '''M0''' podamy logiczne '''0''' (czyli zero woltów, a więc właśnie '''masę''') wówczas sterownik nie będzie dzielił kroku i jeden impuls na wejściu '''STEP''' będzie powodował wykonanie 1/200 obrotu przez silnik. Dzięki temu wystarczy posłanie tylko 200 impulsów żeby obrócić koło jeden raz. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Oprogramowanie ==&lt;br /&gt;
&lt;br /&gt;
=== Pomocniczy moduł do obsługi silników ===&lt;br /&gt;
Żeby móc się skupić na programowaniu konkretnych tras do obsługi silników użyjemy gotowego, prostego modułu pythona. Jego kod można pobrać stąd: &lt;br /&gt;
&lt;br /&gt;
[[Plik:Silniki.zip]]&lt;br /&gt;
&lt;br /&gt;
Moduł zawiera kilka prostych funkcji, dzięki którym można wykonać automatycznie inicjowanie portów maliny, włączać/wyłączać silniki, wykonywać pojedynczy krok w zadanym kierunku, a nawet całe sekwencje kroków. Z jego użyciem zaprogramowanie trasy przejazdu sprowadza się do napisania po prostu instrukcji dokąd jechać. Zwróć uwagę, że choć sam plik modułu jest długi, większość to komentarze i opisy działania funkcji.&lt;br /&gt;
&lt;br /&gt;
Na wykresie połączeń elektrycznych powyżej napisane jest, że należy wybrać dowolne z wolnych portów Maliny. Jednak kod modułu obsługi silników musi znać już konkretne numery portów, bo inaczej nie byłoby jasne na które wyjścia posyłać sygnały sterujące. Dlatego w liniach 22-24 dla lewego silnika, i 26-28 dla prawego, wpisane zostały numery portów Maliny, do których podpięte są kable łączące do wyjść '''SLP''', '''STEP''', '''DIR''' sterowników. Połączenia pomiędzy Maliną ze sterownikami najprościej wykonać patrząc na tabelę zaczynającą się w linii 8. Jakieś drobne pomyłki w połączeniach nie powinny być szkodliwe, ale to jest właśnie taki moment przez który robot rusza w nieoczekiwanych momentach, dlatego lepiej zachować uwagę. Najlepiej też zrobić połączenia przed włączeniem zasilania.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# coding: utf-8&lt;br /&gt;
&lt;br /&gt;
import RPi.GPIO as gpio&lt;br /&gt;
from time import sleep&lt;br /&gt;
&lt;br /&gt;
# Poniższa numeracja pinów zakłada następujące połączenia kablowe:&lt;br /&gt;
#&lt;br /&gt;
# |   PIN MALINY  |  LEWY STEROWNIK SILNIKA | PRAWY STEROWNIK SILNIKA |&lt;br /&gt;
#  --------------- ------------------------- -------------------------&lt;br /&gt;
# |        9      |                         |          GND            |&lt;br /&gt;
# |       11      |                         |          SLP            |&lt;br /&gt;
# |       13      |                         |          STEP           | &lt;br /&gt;
# |       15      |                         |          DIR            | &lt;br /&gt;
# |               |                         |                         | &lt;br /&gt;
# |       16      |            DIR          |                         | &lt;br /&gt;
# |       18      |            STEP         |                         | &lt;br /&gt;
# |       20      |            GND          |                         | &lt;br /&gt;
# |       22      |            SLP          |                         | &lt;br /&gt;
# &lt;br /&gt;
# Oczywiście jeśli wybrało się inne wyjścia numery poniżej można &lt;br /&gt;
# (i trzeba) pozmieniać&lt;br /&gt;
PIN_SILNIK_LEWY_KIERUNEK = 16    &lt;br /&gt;
PIN_SILNIK_LEWY_KROK = 18       &lt;br /&gt;
PIN_SILNIK_LEWY_WLACZ = 22&lt;br /&gt;
&lt;br /&gt;
PIN_SILNIK_PRAWY_WLACZ = 11&lt;br /&gt;
PIN_SILNIK_PRAWY_KROK = 13&lt;br /&gt;
PIN_SILNIK_PRAWY_KIERUNEK = 15&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Stałe pozwalające czytelniej pisać kod. &lt;br /&gt;
# Zamiast krok(-1, 1) można napisać krok(TYL, PRZOD).&lt;br /&gt;
# Obie instrukcje zrobią to samo, ale druga jest czytelniejsza.&lt;br /&gt;
PRZOD = 1&lt;br /&gt;
STOP = 0&lt;br /&gt;
TYL = -1&lt;br /&gt;
&lt;br /&gt;
# Domyślny czas wykonywania kroku (5 milisekund). &lt;br /&gt;
#&lt;br /&gt;
# Przy 5 milisekundach można wykonać maksymalnie 200 kroków/s, &lt;br /&gt;
# co przy 60mm kole daje prędkość ~200mm/s. &lt;br /&gt;
#&lt;br /&gt;
# Ustawienie większej wartości daje silnikowi więcej czasu &lt;br /&gt;
# na wykonanie ruchu i jest on pewniejszy (silnik zawsze zdąży).&lt;br /&gt;
#&lt;br /&gt;
# Krótszy czas zwiększa maksymalną prędkość obrotową, ale może &lt;br /&gt;
# powodować, że pierwsza lepsza przeszkoda obciąży silnik na tyle, &lt;br /&gt;
# że nie zdąży on wykonać kroku i zablokuje się w miejscu.&lt;br /&gt;
#&lt;br /&gt;
# Poniżej 1ms silnik może się blokować nawet bez obciążenia.&lt;br /&gt;
DOMYSLNY_CZAS_KROKU = 0.005&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def przygotuj():&lt;br /&gt;
    '''&lt;br /&gt;
    Ta funkcja przygotowuje piny Maliny do komunikacji ze sterownikami &lt;br /&gt;
    silników. Należy ją wywołać na początku programu, przed wszystkimi &lt;br /&gt;
    innymi. &lt;br /&gt;
    '''&lt;br /&gt;
    gpio.setmode(gpio.BOARD)&lt;br /&gt;
    piny_sterowania_silnikow = [PIN_SILNIK_LEWY_KROK, &lt;br /&gt;
        PIN_SILNIK_LEWY_KIERUNEK, PIN_SILNIK_LEWY_WLACZ, &lt;br /&gt;
        PIN_SILNIK_PRAWY_KROK, PIN_SILNIK_PRAWY_KIERUNEK, &lt;br /&gt;
        PIN_SILNIK_PRAWY_WLACZ]&lt;br /&gt;
&lt;br /&gt;
    for pin in piny_sterowania_silnikow:    &lt;br /&gt;
        gpio.setup(pin, gpio.OUT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def podlacz(lewy = 0, prawy = 0):&lt;br /&gt;
    '''&lt;br /&gt;
    Włącza lub wyłącza zasilanie silników. Na przykład:&lt;br /&gt;
    podlacz(1,0) -- włączy zasilanie w silniku lewym i wyłączy w prawym&lt;br /&gt;
    podlacz(0,0) -- wyłączy zasilanie obu silników&lt;br /&gt;
    podlacz(1, None) -- włącza zasilanie lewego silnika nie zmieniając &lt;br /&gt;
                        stanu zasilania prawego&lt;br /&gt;
    podlacz() -- brak parametrów spowoduje przyjęcie domyślnych 0,0&lt;br /&gt;
                 a więc ta instrukcja wyłącza zasilanie obu silników&lt;br /&gt;
    '''&lt;br /&gt;
    # Przełączamy zasilanie silnika o ile wartość nie jest &lt;br /&gt;
    # nieokreślona (None)&lt;br /&gt;
    if lewy is not None:&lt;br /&gt;
        gpio.output(PIN_SILNIK_LEWY_WLACZ, lewy)&lt;br /&gt;
    if prawy is not None:&lt;br /&gt;
        gpio.output(PIN_SILNIK_PRAWY_WLACZ, prawy)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def krok(lewy, prawy, czas = None):&lt;br /&gt;
    '''&lt;br /&gt;
    Wywołanie tej funkcji wysyła impusly sterujące do sterowników silnika, &lt;br /&gt;
    które powodują wykonanie jednego kroku. &lt;br /&gt;
    &lt;br /&gt;
    Na przykład:&lt;br /&gt;
       krok(PRZOD, PRZOD) -- wykonanie kroku w przód przez oba silniki&lt;br /&gt;
       krok(PRZOD, TYL)   -- lewy silnik wykona krok w przód, a prawy w tyl, &lt;br /&gt;
                             pojazd skręci lekko w prawo w miejscu &lt;br /&gt;
       krok(PRZOD, STOP)  -- lewy silnik wykona krok w przód, a prawy &lt;br /&gt;
                             nie poruszy się&lt;br /&gt;
&lt;br /&gt;
    Jeśli nie chcemy używać domyślnego czasu wykonywania kroku (patrz opis &lt;br /&gt;
    zmiennej DOMYSLNY_CZAS_KROKU powyżej) możemy podać inną wartość czasu&lt;br /&gt;
    dla aktualnego kroku jako trzeci paramter. &lt;br /&gt;
    &lt;br /&gt;
    Na przykład:&lt;br /&gt;
       krok(PRZOD, PRZOD, 0.01) -- krok do przodu na obu silnikach z względnie&lt;br /&gt;
                                   długim czasem -- w tym trybie powinno się &lt;br /&gt;
                                   dać pokonać trudne przeszkody, które blokują&lt;br /&gt;
                                   silnik kiedy czas jest krótszy&lt;br /&gt;
    '''&lt;br /&gt;
&lt;br /&gt;
    # Zamieniamy podane polecenie na odpowiednie wartości dla pinów STEP i DIR.&lt;br /&gt;
&lt;br /&gt;
    if lewy == PRZOD:      # PRZOD: generujemy impuls kroku z pinem kierunku na 1&lt;br /&gt;
        lewy_krok = 1&lt;br /&gt;
        lewy_kierunek = 1    &lt;br /&gt;
    elif lewy == STOP:     # STOP: bez impulsu kroku, kierunek bez znaczenia&lt;br /&gt;
        lewy_krok = 0&lt;br /&gt;
        lewy_kierunek = None&lt;br /&gt;
    elif lewy == TYL:      # TYL: impuls kroku z pinem kierunku na 0  &lt;br /&gt;
        lewy_krok = 1&lt;br /&gt;
        lewy_kierunek = 0&lt;br /&gt;
    else:&lt;br /&gt;
        raise &amp;quot;Nieznane polecenie!&amp;quot;  # Nie PRZOD, nie TYL, nie STOP??? To co?   &lt;br /&gt;
&lt;br /&gt;
    # Jak wyżej, tylko dla prawego silnika. Zwróć uwagę, że pin kierunku włączany&lt;br /&gt;
    # jest odwrotnie (dla PRZOD ma wartosc 1, dla TYL 0). Wynika to z budowy &lt;br /&gt;
    # robota gdzie silniki są obrócone do siebie o 180 stopni i trzeba je obracać &lt;br /&gt;
    # w przeciwną stronę, żeby napędzały robota w tym samym kierunku.&lt;br /&gt;
    if prawy == PRZOD:       &lt;br /&gt;
        prawy_krok = 1&lt;br /&gt;
        prawy_kierunek = 0&lt;br /&gt;
    elif prawy == STOP:  &lt;br /&gt;
        prawy_krok = 0&lt;br /&gt;
        prawy_kierunek = None&lt;br /&gt;
    elif prawy == TYL:   &lt;br /&gt;
        prawy_krok = 1&lt;br /&gt;
        prawy_kierunek = 1&lt;br /&gt;
    else:&lt;br /&gt;
        raise &amp;quot;Nieznane polecenie!&amp;quot;  &lt;br /&gt;
&lt;br /&gt;
    # Jeśli czas nie jest podany ustawiamy domyślną wartość zdefiniowaną&lt;br /&gt;
    # w DOMYSLNY_CZAS_KROKU&lt;br /&gt;
    if czas is None:&lt;br /&gt;
        czas = DOMYSLNY_CZAS_KROKU&lt;br /&gt;
&lt;br /&gt;
    # I wykonanie kroku:&lt;br /&gt;
 &lt;br /&gt;
    # Najpierw ustawiamy sygnały na pinach kierunków o ile jest to potrzebne &lt;br /&gt;
    # (np. polecenie STOP nie wymaga ustawiania kierunku)&lt;br /&gt;
    if lewy_kierunek is not None:&lt;br /&gt;
        gpio.output(PIN_SILNIK_LEWY_KIERUNEK, lewy_kierunek)&lt;br /&gt;
&lt;br /&gt;
    if prawy_kierunek is not None:&lt;br /&gt;
        gpio.output(PIN_SILNIK_PRAWY_KIERUNEK, prawy_kierunek)&lt;br /&gt;
&lt;br /&gt;
    # Teraz wysyłamy impuls wykonania kroku, czyli przez połowę podanego czasu &lt;br /&gt;
    # ustawiamy pin na wyznaczoną powyżej wartość, a po chwili dajemy 0. &lt;br /&gt;
    gpio.output(PIN_SILNIK_LEWY_KROK, lewy_krok)&lt;br /&gt;
    gpio.output(PIN_SILNIK_PRAWY_KROK, prawy_krok)&lt;br /&gt;
    sleep(czas*0.5)&lt;br /&gt;
&lt;br /&gt;
    gpio.output(PIN_SILNIK_LEWY_KROK, 0)&lt;br /&gt;
    gpio.output(PIN_SILNIK_PRAWY_KROK, 0)&lt;br /&gt;
    sleep(czas*0.5)&lt;br /&gt;
&lt;br /&gt;
    # Dokładniejszy opis: &lt;br /&gt;
    #&lt;br /&gt;
    # Jeśli wyznaczona wartość ..._krok wynosiła 1, sygnał na pinie STEP skoczy &lt;br /&gt;
    # do 1 (czyli ok. 3 wolty) i potem spadnie do 0. Sterownik zinterpretuje &lt;br /&gt;
    # to jako impuls na wejściu STEP i wygeneruje odpowiednie sygnały &lt;br /&gt;
    # na wyjściach silnika, które przekręcą go o krok. &lt;br /&gt;
    #&lt;br /&gt;
    # Jeśli wartość ..._step wynosi 0, wówczas sygnał na pinie będzie cały czas &lt;br /&gt;
    # ustawiony na 0, sterownik nie otrzyma impulsu na wejściu STEP i nie &lt;br /&gt;
    # wygeneruje nowych sygnałów na wyjściu silnika, który wobec tego pozostanie &lt;br /&gt;
    # w niezmienionej pozycji.&lt;br /&gt;
    #&lt;br /&gt;
    # Wykresy napięcia jakie &amp;quot;widzi&amp;quot; wejście STEP lewego sterownika zależnie &lt;br /&gt;
    # od wartości lewy_krok:&lt;br /&gt;
    # &lt;br /&gt;
    #&lt;br /&gt;
    #                   |         1        |                  |&lt;br /&gt;
    # 3V                |   ...............|                  |&lt;br /&gt;
    #                   |  .               |                  | &lt;br /&gt;
    #  lewy_krok = 1    | .                |.                 |&lt;br /&gt;
    #                   |.                 | .      0         |&lt;br /&gt;
    # 0V ...............|                  |  ................|.............&lt;br /&gt;
    #                   |                  |                  |&lt;br /&gt;
    #                   |                  |                  |&lt;br /&gt;
    #                   |                  |                  |&lt;br /&gt;
    # 3V                |                  |                  |&lt;br /&gt;
    #                   |                  |                  | &lt;br /&gt;
    #  lewy_krok = 0    |                  |                  |&lt;br /&gt;
    #                   |         0        |        0         |&lt;br /&gt;
    # 0V ...............|..................|..................|.............&lt;br /&gt;
    #                   |                  |                  |&lt;br /&gt;
    #                     &amp;lt;-- czas*0.5 --&amp;gt;   &amp;lt;-- czas*0.5 --&amp;gt;     &lt;br /&gt;
    #&lt;br /&gt;
    #                     &amp;lt;------------  czas  -------------&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def zestaw(lewo, prawo, powtorek = 1):&lt;br /&gt;
    '''&lt;br /&gt;
    Funkcja bierze polecenie i powtarza jego wykonanie podaną ilość razy: &lt;br /&gt;
    lewo - polecenie dla lewego silnika&lt;br /&gt;
    prawo - polecenie dla prawego silnika&lt;br /&gt;
    powtorek - oznacza ile razy nalezy ten zestaw kroków powtórzyć&lt;br /&gt;
&lt;br /&gt;
    Na przykład:&lt;br /&gt;
    zestaw(PRZOD, STOP, 10)   -- wykona 10 kroków do przodu lewym silnikiem,&lt;br /&gt;
    zestaw(PRZOD, PRZOD, 200) -- wykona 200 kroków do przodu oboma silnikami,&lt;br /&gt;
                                 a więc koła obrócą się o pełny obrót  &lt;br /&gt;
    zestaw(PRZOD, TYL, 100)   -- obróci lewe koło 100 kroków do przodu, &lt;br /&gt;
                                 a prawe 100 do tyłu, a więc robot powinien &lt;br /&gt;
                                 wykonać skręt w prawo w miejscu.&lt;br /&gt;
    ''' &lt;br /&gt;
    for i in xrange(1, 1 + powtorek):&lt;br /&gt;
        krok(lewo, prawo)&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
def sekwencja(lista_zestawow):&lt;br /&gt;
    '''&lt;br /&gt;
    Czyta podaną listę i wykonuje kolejno podane w niej zestawy kroków.&lt;br /&gt;
&lt;br /&gt;
    lista_zestawów -- lista zawierająca kolejne zestawy; w pythonie &lt;br /&gt;
                      listę podaje się w nawiasach kwadratowych [] &lt;br /&gt;
                      oddzielając elementy przecinkami &lt;br /&gt;
&lt;br /&gt;
    Na przykład:&lt;br /&gt;
&lt;br /&gt;
    sekwencja([ (PRZOD, PRZOD, 400), (PRZOD, TYL, 100), (TYL, PRZOD, 100) ]) &lt;br /&gt;
&lt;br /&gt;
         -- wykona kolejno trzy zestawy: &lt;br /&gt;
            1. (PRZOD, PRZOD, 400)&lt;br /&gt;
            2. (PRZOD, TYL, 100)&lt;br /&gt;
            3. (TYL, PRZOD, 100)&lt;br /&gt;
            Pierwszy spowoduje podjechanie modelu o dwa pełne obroty kół &lt;br /&gt;
            do przodu. Drugi obrócenie lewego koła do przodu a prawego &lt;br /&gt;
            do tyłu o pół obrotu, a wiec robot skręci w miejscu w prawo. &lt;br /&gt;
            Ostatni zestaw spowoduje skręt w miejscu w przeciwną stronę &lt;br /&gt;
            - robot powróci do pierwotnego kierunku. Cała sekwencja wyglądać &lt;br /&gt;
            będzie tak jakby robot podjechał do przodu i rozejrzał się &lt;br /&gt;
            w prawo. &lt;br /&gt;
    '''&lt;br /&gt;
    for kolejny_zestaw in lista_zestawow:&lt;br /&gt;
        zestaw(*kolejny_zestaw)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Przykłady użycia ===&lt;br /&gt;
Dzięki modułowi '''silniki''' sterowanie ruchem sprowadza się do prostych instrukcji. &lt;br /&gt;
&lt;br /&gt;
Na początek spróbujmy zobaczyć instrukcję  &amp;lt;code&amp;gt;zestaw(''lewy, prawy, powtorek'')&amp;lt;/code&amp;gt; w akcji.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# coding: utf-8&lt;br /&gt;
import silniki as s&lt;br /&gt;
&lt;br /&gt;
# Przygotowanie portów Maliny do pracy&lt;br /&gt;
s.przygotuj()&lt;br /&gt;
&lt;br /&gt;
# Włączenie zasilania silników -- po tej instrukcji silniki powinny zablokować się w ustalonej pozycji&lt;br /&gt;
s.podlacz(1,1)&lt;br /&gt;
&lt;br /&gt;
# 10 obrotów kół (czyli 10*200 kroków) w przód&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 2000) &lt;br /&gt;
&lt;br /&gt;
# Jeden obrót lewego koła w przód, prawe stoi -- robot skręca w prawo&lt;br /&gt;
s.zestaw(s.PRZOD, s.STOP, 200)&lt;br /&gt;
&lt;br /&gt;
# Koniec programu, wyłączamy zasilanie silników -- po tej instrukcji koła znów obracają się lekko&lt;br /&gt;
s.podlacz(0,0)&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Po zapisaniu tego kodu w pliku &amp;lt;code&amp;gt;silniki_p1.py&amp;lt;/code&amp;gt; i wydaniu polecenia&lt;br /&gt;
&lt;br /&gt;
 pi@raspberrypi:~ $ python silniki_p1.py &lt;br /&gt;
&lt;br /&gt;
robot powinien przejechać 10 obrotów kół do przodu,  a potem skręcić w prawo. Oczywiście nie będzie to możliwe jeśli będziemy się łączyć z Maliną poprzez kabel USB dlatego w tej chwili najlepiej zdjąć koła, albo unieść je w górę i obserwować czy wykonują oczekiwane ruchy. Poniżej pokażemy gdzie wstawić powyższą instrukcję, żeby robot wykonywał podany kod zaraz po włączeniu. Wówczas będzie można podłączyć Malinę do powerbanku i oglądać wykonanie instrukcji w ruchu.&lt;br /&gt;
&lt;br /&gt;
== W akcji ==&lt;br /&gt;
Przykładowy kod sterujący i zachowaniem trzykołowca&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# coding: utf-8&lt;br /&gt;
import silniki as s&lt;br /&gt;
&lt;br /&gt;
s.przygotuj()                      # Przygotowanie pinów Maliny do wysyłania sygnałów.&lt;br /&gt;
s.podlacz(1,1)                     # Włączamy zasilanie silników, koła trudno obracać. &lt;br /&gt;
&lt;br /&gt;
s.zestaw(s.TYL, s.PRZOD, 60)       # lewe koło to tyłu, prawe do przodu o 60 kroków -- skręt w lewo&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)    # 400 kroków w przód, bok kwadratu ok. 50cm&lt;br /&gt;
s.zestaw(s.TYL, s.PRZOD, 60)       # skręt i drugi bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
s.zestaw(s.TYL, s.PRZOD, 60)       # skręt i trzeci bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
s.zestaw(s.TYL, s.PRZOD, 60)       # skręt i czwarty bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
&lt;br /&gt;
s.zestaw(s.PRZOD, s.TYL, 60)       # lewe koło w przód, prawe w tył -- skręt w prawo&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)    # robot jedzie w kierunku stopy na filmie&lt;br /&gt;
s.zestaw(s.PRZOD, s.TYL, 60)       # kolej skręt i bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
s.zestaw(s.PRZOD, s.TYL, 60)       # następny&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
s.zestaw(s.PRZOD, s.TYL, 60)       # ostatni skręt i bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
&lt;br /&gt;
# ... i tak dalej, kolejny kwadrat w lewo&lt;br /&gt;
&lt;br /&gt;
s.podlacz(0,0)           # Wyłączamy zasilanie silników, koła znów obracają się lekko&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;fSHDZ6fRyPc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Roboty]]&lt;br /&gt;
[[Category:Projekty_Pi_Zero]]&lt;br /&gt;
[[Category:Silniki_krokowe]]&lt;br /&gt;
[[Category:Moduły_elektroniczne]]&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Trzyko%C5%82owiec&amp;diff=626</id>
		<title>Trzykołowiec</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Trzyko%C5%82owiec&amp;diff=626"/>
		<updated>2019-11-19T14:03:23Z</updated>

		<summary type="html">&lt;p&gt;Isj: /* Moment obrotowy 120 mN/m */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Projekt prostego programowalnego robota kołowego z dwoma silnikami. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Do czego zmierzamy ==&lt;br /&gt;
Chodzi o to, żeby względnie małym nakładem pracy uzyskać robota, którego można łatwo zaprogramować. Dzięki temu bez zbędnych komplikacji będzie można rozpocząć realną zabawę w całkiem poważną robotykę. Robot będzie się składał z dwóch, oddzielnie sterowanych silników napędowych wyposażonych w koła, oraz trzeciego podpierającego. Możliwość sterowania obrotami każdego z kół z osobna pozwala zaprogramować dowolny kierunek jazdy i tworzyć dowolne trasy przejazdu. Podstawowe możliwości, uniwersalność i przez to przydatność takiego robota pokazuje poniższy film, gdzie projektanci z firmy Microsoft użyli dokładnie takiej konstrukcji w swoich projektach. Co więcej, tak samo jak my użyli Maliny jako &amp;quot;mózgu&amp;quot; robota.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;vimeo&amp;quot;&amp;gt;126458720&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Konstrukcja ==&lt;br /&gt;
=== Silnik ===&lt;br /&gt;
[[Plik:Nema_14.jpg|thumb|right|250px|Silnik o rozmiarze NEMA 14.]]&lt;br /&gt;
Do napędu kół użyjemy silnika krokowego o następujących parametrach:&lt;br /&gt;
* rozmiar NEMA 14, czyli boki '''35x35 mm''', ponadto nasz silnik będzie miał '''34 mm długości''' i oś wystającą na 20mm o średnicy 5mm&lt;br /&gt;
* waga '''180g'''&lt;br /&gt;
* maksymalny moment obrotowy '''120 mN/m''' (miliniutonów na metr)&lt;br /&gt;
* żeby wykonać pełny obrót silnik potrzebuje '''200 kroków'''&lt;br /&gt;
* pobór prądu '''750mA'''(miliamperów) przy napięciu zasilającym '''4.35V'''&lt;br /&gt;
&lt;br /&gt;
[[Plik:Silnik_krokowy_w_środku.jpg|right|250px|thumb|Tak wygląda w środku.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zasadę działania silnika krokowego przedstawia animacja poniżej: włączamy prąd w kolejnych uzwojeniach, co wytwarza silne pole magnetyczne, które przyciąga metalowe wypustki wirnika i obraca go o pewien mały kąt. Zależnie od tego w jakiej kolejności włączamy cewki, silnik będzie się kręcił w lewo lub prawo. Dużo więcej magii w tym nie ma ;).&lt;br /&gt;
&lt;br /&gt;
[[Plik:StepperMotor.gif|center]]&lt;br /&gt;
&lt;br /&gt;
Jak widać na zdjęciu rozebranego realnego silnika, praktyczna realizacja jest trochę inna: w tym przypadku mamy 8 cewek elektromagnesów na obwodzie (miedziane zwoje drutu na dole zdjęcia), a nie 4 jak na schemacie. Jednak sama zasada pozostaje ta sama. Dodatkowe cewki i podwójny rotor jak widać na zdjęciu pozwalają poprawić siłę z jaką silnik się obraca oraz precyzję kontroli kąta obrotu. Szczegóły wyjaśnia film poniżej.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;eyqwLiowZiU&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
==== Co oznaczają podane parametry silnika? ====&lt;br /&gt;
&lt;br /&gt;
===== Wymiary i masa =====&lt;br /&gt;
&lt;br /&gt;
Z rozmiarów silnika zgodnego z normą NEMA 14 i jego masy widzimy, że choć silnik nie jest jakoś przerażająco wielki, to jest jednak całkiem solidnym kawałkiem metalu. Same dwa silniki napędowe będą ważyły 360g, a więc dodając jeszcze powerbank, możemy się spodziewać, że cały robot będzie ważył około 1kg. To oszacowanie przyda się przy projektowaniu podwozia. Dzięki niemu wiemy jaką mniej więcej powinno mieć wytrzymałość &amp;amp;mdash; w przybliżeniu powinno być sztywniejsze niż choćby karta bankomatowa.&lt;br /&gt;
&lt;br /&gt;
===== Moment obrotowy 120 mN/m =====&lt;br /&gt;
&lt;br /&gt;
Gdyby przeczytać tą liczbę brzmiałaby ''&amp;quot;sto dwadzieścia miliniutonów na metr&amp;quot;''. Pierwsza część to niewielka siła (okolice ciężaru odtwarzacza mp3). Ale o jaki metr chodzi? &lt;br /&gt;
&lt;br /&gt;
O taki, jak gdyby do osi silnika przymocować metrowy patyk pod kątem prostym do osi (tak jak szprycha w kole roweru). Kiedy silnik pracowałby z całej siły wówczas koniec takiego metrowego patyka naciskałby na rękę z podaną siłą, lub jak kto woli wystarczyłoby delikatnie trzymać jego koniec, żeby silnik nie mógł się obracać. &lt;br /&gt;
&lt;br /&gt;
Łatwo wyczuć intuicyjnie, że gdyby patyk był krótszy, wówczas trzeba by było użyć większej siły, żeby powstrzymać silnik przed obracaniem się. Kto nie wierzy niech spróbuje przytrzymać koło roweru za szprychę najpierw chwytając blisko opony, a potem bliżej środka. O razu widać, że o ile trzymanie przy oponie jakoś wychodzi, to bliżej środka palce są za słabe. Fizycy mówią, że '''jeśli skracamy ramię na które działa pewien moment obrotowy, to siła na końcu ramienia proporcjonalnie rośnie'''. &lt;br /&gt;
&lt;br /&gt;
'''I to jest bardzo dobra wiadomość!''' Gdybyśmy mieli silnik pchający robota do przodu z siłą tylko 120mN moglibyśmy zapomnieć o jeździe po czymkolwiek mniej gładkim niż stół, a i to wątpliwe... Jeśli jednak skrócimy wymyślony metrowy patyk do połowy, siła na końcu wzrośnie proporcjonalnie do 240mN. Nadal szału nie ma, ale jest postęp!  Gdybyśmy skrócili go do &amp;lt;math&amp;gt;\frac{1}{10}&amp;lt;/math&amp;gt; metra, wówczas otrzymamy 120mN * 10 = 1200mN. Przypomnę, że ''mili'' oznacza jedną tysięczną. Czyli 1200mN to już całkiem ładne 1.2N. &lt;br /&gt;
&lt;br /&gt;
No dobrze, ale przecież nie będziemy używać patyków, tylko koła... To nic nie zmienia! Wystarczy sobie wyobrazić, że nakładamy na oś jeden patyk za drugim dookoła osi (znów, tak jak szprychy w kole roweru). Jeśli nawkładalibyśmy ich odpowiednio dużo powstanie w końcu koło. Na tym polega geniusz wynalazku koła, którego ludzkość  [https://pl.wikipedia.org/wiki/Ko%C5%82o_(technika) bardzo długo nie znała]. Dzięki odsunięciu osi, na której skupiony jest ciężar od podłoża, możemy przesuwać masy ze znacznie mniejszym wysiłkiem, bo cały czas stosujemy dźwignię o takiej długości jak promień koła. &lt;br /&gt;
&lt;br /&gt;
Teraz możemy wrócić do naszej skali, bo oczywiście nikt nie zamierzał(?) używać kół o metrowym promieniu. &lt;br /&gt;
&lt;br /&gt;
Jeśli wyobrazimy sobie, że ktoś założył na osi kółko o średnicy 2cm, wówczas promień będzie miał tylko 1cm, a więc 1/100 metra. Silnik pracujący z maksymalną mocą ciągnąłby pojazd na takich kołach z siłą 120 * 100 = 12000mN, czyli 12 N. Z taką siłą naciska na rękę trzymane w niej 1,2 kg. Jeśli ktoś założyłby kółka o średnicy dwa razy większej (4cm) wówczas siła spadnie do 6N (~600g), a dla kółek o średnicy 6cm do około 4N (~400g). &lt;br /&gt;
&lt;br /&gt;
Czy to dużo czy mało? Możemy łatwo oszacować co to oznacza wyliczając możliwe przyśpieszenia robota. Dla ułatwienia przyjmijmy, że cały będzie ważył około '''1kg'''. &lt;br /&gt;
&lt;br /&gt;
Przyśpieszenie podaje zupełnie prosty wzór, sprzed ponad 300 lat,  pana [https://pl.wikipedia.org/wiki/Isaac_Newton Izaaka Newtona] (czytaj ''niuton''):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;a=\frac{F}{m}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
gdzie: &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;math&amp;gt;F&amp;lt;/math&amp;gt; to siła wyrażona w, a jakże, w '''N''' (niutonach)&lt;br /&gt;
* &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; to masa, u nas 1kg&lt;br /&gt;
* &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; to przyśpieszenie jakiego należy się spodziewać w m/s²&lt;br /&gt;
&lt;br /&gt;
Podstawiając dane dla kół o średnicy 6cm, które dają siłę pchającą 4N na jeden silnik, przy włączonym napędzie na oba koła mamy:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;a=\frac{2*4[N]}{1[kg]}=8 [m/s^2]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jeśli porównamy to z przyśpieszeniem ziemskim, wynoszącym &amp;lt;math&amp;gt;9,81 [m/s^2]&amp;lt;/math&amp;gt; widzimy, że pojazd mógłby przyśpieszać prawie tak szybko jak szybko rzeczy spadają w polu grawitacji Ziemi. Inaczej mówiąc potrzebowałby '''niecałych 3 sekund &amp;quot;do setki&amp;quot; !''' Oczywiście to tylko oszacowanie, które podaje maksymalne przyśpieszenie. W praktyce będzie ono mniejsze. Wystarczy choćby zdać sobie sprawę z tego, że policzyliśmy siłę z jaką pojazd będzie napędzany, ale nie uwzględniliśmy siły tarcia, która będzie go spowalniać. Nawet jednak gdybyśmy spadli w okolice połowy tego przyśpieszenia nadal taki napęd wydaje się sensowny. Niestety oprócz zdolności silnika do przyśpieszania pojazdu, która jak widzimy jest dobra, musimy uwzględnić jeszcze jedno ograniczenie &amp;amp;mdash; maksymalną prędkość z jaką silnik może się obracać. Jak widać na filmie w dalszej części strony, pojazd rusza natychmiast, bez wyraźnych opóźnień, ale jego maksymalna prędkość nie jest wielka.&lt;br /&gt;
&lt;br /&gt;
===== 200 kroków na obrót =====&lt;br /&gt;
Silniki krokowe działają trochę inaczej niż zwykłe. W zwykłym wystarczy włączyć prąd i silnik się obraca. Silnikiem krokowym steruje się inaczej: podaje się odpowiednie impulsy, które powodują, że oś silnika obraca się o pewien kąt. Jak daleko obraca się oś w jednym kroku definiuje właśnie liczba kroków potrzebnych do pełnego obrotu. W przypadku naszego silnika będziemy musieli podać 200 impulsów żeby koło napędowe wykonało jeden obrót. Dzięki takiej dokładności możliwe będzie bardzo precyzyjne sterowanie odległością jaką przemierza każde koło, a przez to będzie można precyzyjnie skręcać.&lt;br /&gt;
&lt;br /&gt;
===== Parametry elektryczne =====&lt;br /&gt;
Jeśli chodzi o napięcie pracy silnika, wynoszące 4.35V, jest ono nieco mniejsze niż '''5V, którego używają porty USB, powerbank''' i którym zasilana jest Malina (przy czym część cyfrowa Maliny działa przy napięciach 0 i 3.3V). &lt;br /&gt;
&lt;br /&gt;
Możemy jednak przyjąć, że nieco wyższe napięcie zasilania jakiego użyjemy, nie będzie groźne dla uzwojeń silnika, a może poprawić prędkość z jaką silnik będzie wykonywał kolejne kroki. W normalnej sytuacji, kiedy silniki jest montowany w większej maszynie unikalibyśmy takiego &amp;quot;podkręcania&amp;quot;, ale w naszym przypadku silnik będzie pracował w otwartej przestrzeni, i pewien nadmiar wydzielanego ciepła jest dopuszczalny.&lt;br /&gt;
&lt;br /&gt;
Znaczenie poboru prądu wyjaśnimy przy okazji rozważań o baterii.&lt;br /&gt;
&lt;br /&gt;
=== Bateria ===&lt;br /&gt;
&lt;br /&gt;
Pobór prądu przez jeden silnik, który wynosi 750mA (miliamperów) oznacza, że gdybyśmy mieli baterię o pojemności 750mAh (miliamperogodzin) pojedynczy silnik mógłby działać przez godzinę. Ponieważ mamy dwa silniki i jeszcze Malinę, która również zużywa prąd, możemy oczekiwać zużycia na poziomie około 1800mAh. &lt;br /&gt;
&lt;br /&gt;
Teoretycznie więc powerbank o takiej pojemności mógłby zasilać robota przez godzinę. W praktyce producenci obiecują gruszki na wierzbie, i lepiej przyjąć co najmniej 2500mA potrzebnej pojemności na godzinę pracy robota. &lt;br /&gt;
&lt;br /&gt;
Powerbanki zwykle ładują się godzinami -- nie rzadko instrukcja podaje 8-10 godzin. Ponieważ byłoby niezbyt wygodnie po każdej godzinie testów czekać 8 godzin do kolejnego naładowania baterii, lepiej zastosować akumulator o większej pojemności niż tylko godzina użytkowania. Ostatecznie więc pobór prądu mówi nam tyle, że przydałby się akumulator o pojemności co najmniej 5000mAh. &lt;br /&gt;
&lt;br /&gt;
Ponadto musimy uwzględnić maksymalne możliwe obciążenie prądowe. Cóż z tego, że mielibyśmy pełny basen wody, jeśli dałoby się z niego czerpać tylko po jednej kropli na godzinę? Musimy więc wybrać powerbank, który będzie miał też odpowiednią wydajność. &lt;br /&gt;
&lt;br /&gt;
Dwa silniki zużywają 750mA * 2 = 1500mA. Do tego prądu trzeba dodać też Malinę, czyli co najmniej 500mA. Powerbank musi znieść obciążenie 2000mA, czyli 2A.&lt;br /&gt;
&lt;br /&gt;
=== Projekt podwozia ===&lt;br /&gt;
Wykonanie podwozia jest zadaniem do wykonania samodzielnie. ''Wszystkie chwyty dozwolone!'' Jeśli masz natchnienie, żeby ulepić podwozie z taśmy klejącej i gumy do żucia proszę bardzo. Jest tylko jedno ograniczenie -- byłoby fajnie gdyby robot zbudowany w oparciu o dostarczone części i zaprojektowane podwozie jeździł! Żeby to ograniczenie dokładniej sprecyzować umówmy się, że: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;thumb&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;thumbinner&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;thumbcaption&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#00bb44&amp;quot;&amp;gt;Części robota (oprócz Maliny) przechodzą na własność konstruktora dopiero po udowodnieniu, że robot jeździ i to zgodnie z podanym programem, czyli inaczej mówiąc '''o własnych siłach zarówno fizycznych jak i &amp;quot;umysłowych&amp;quot;.'''&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jeśli ktoś chciałby zaprojektować podwozie do wydruku na drukarce 3D (to jest możliwa opcja, nie wymaganie!) proponuję wykorzystanie programu FreeCAD. Dla ułatwienia poniżej plik wstępnie przygotowanego projektu robota. Zawiera podstawowe elementy zgodne z ich rozmiarami:&lt;br /&gt;
* płytkę Maliny&lt;br /&gt;
* silniki&lt;br /&gt;
* powerbank&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pozostaje tylko zająć się samym podwoziem i rozmieszczeniem wyżej wymienionych elementów na nim.&lt;br /&gt;
 &lt;br /&gt;
[[Plik:Trzykolowiec.fcstd]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;eAhDwQ00lHU&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Przykładowe rozwiązanie mechanicznej części robota wykonanej na drukarce 3D przedstawiają zdjęcia poniżej.&lt;br /&gt;
&lt;br /&gt;
[[Plik:Platforma_trzykołowca_wykonana_jako_wydruk_3D_--_góra.jpg|400px|thumb|left|Trzykołowiec wydrukowany na drukarce. Widok z góry.]]&lt;br /&gt;
[[Plik:Platforma_robota_wykonana_jako_wydruk_3D_--_spód.jpg|400px|thumb|right|I z dołu.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
== Elektronika ==&lt;br /&gt;
=== Opis wyprowadzeń łącza 40 pinowego ===&lt;br /&gt;
Piny złącza 40 pinowego liczy się zaczynając od kwadratowego (numer 1), a dalej &amp;quot;zygzakiem&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt; napięcie 3.3V &amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 1 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 2 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b style=&amp;quot;color:red&amp;quot;&amp;gt; napięcie 5V &amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right;color: orange&amp;quot;| I²C: SDA (dane) &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;Rezystor podciągający 1.8k do 3.3V&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 3 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 4 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b style=&amp;quot;color:red&amp;gt; napięcie 5V &amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right; color: orange&amp;quot;| I²C: SCL (taktowanie) &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;Rezystor podciągający 1.8k do 3.3V&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 5 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 6 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| GPCLK0 &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;(zegar nr 0, ogólnego przeznaczenia)&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 7 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 8 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;color: green&amp;quot;| UART0: TXD (wysyłka) &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;(na tym łączu działa konsola systemu Raspbian)&amp;lt;/small&amp;gt;&amp;lt;/em&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 9 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 10 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;color: green&amp;quot;| UART0: RXD (odbiór) &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;(na tym łączu działa konsola systemu Raspbian)&amp;lt;/small&amp;gt;&amp;lt;/em&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  11&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 12&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| PWM0/BCM18 &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;(fala prostokątna o programowalnym wypełnieniu z generatora 0)&amp;lt;/small&amp;gt;&amp;lt;/em&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  13&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 14&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  15&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 16&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt; napięcie 3.3V &amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  17&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 18&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| MOSI/BCM10 (urządzenie nadrzędne do podrzędnego na łączu SPI)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  19&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 20&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| MISO (urządzenie podrzędne do nadrzędnego na łączu SPI)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 21 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 22 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| SCLK/BCM11 (taktowanie łącza SPI)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|23 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 24 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| CE0 (linia 0 wyboru chipu łącza SLI)&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 25 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 26 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| CE1 (linia 1 wyboru chipu łącza SLI)&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| ID_SC (dane łącza I²C do pamięci EEPROM)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 27 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 28 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| ID_SC (taktowanie łącza I²C do pamięci EEPROM)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 29 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 30 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  31&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 32&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| PWM0/BCM12&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| PWM1/BCM13&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  33&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 34&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| MISO (urządzenie podrzędne do nadrzędnego na łączu SPI)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  35&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 36&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  37&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 38&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| MOSI/BCM20 (urządzenie nadrzędne do podrzędnego na łączu SPI)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  39&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 40&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;|  SCLK/BCM21 (taktowanie łącza SPI)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Powyżej zastosowane są następujące oznaczenia:&lt;br /&gt;
* '''pogrubiona czcionka''' &amp;amp;mdash; zwykłe piny elektryczne, nie działające w logice cyfrowej ponieważ nie łączą się z procesorem maliny (np. masa, napięcie 3.3V); napięcie '''3.3V''' może pełnić rolę sygnału wejściowego oznaczającego '''1''' ponieważ piny cyfrowe właśnie takiego napięcia spodziewają się jako logicznej jedynki; możliwe jest więc połączenie kablem wyjścia '''3.3V''' z którymś pinem logicznym żeby zasymulować podanie sygnału 1; można też zasilać z tego wyjścia jakieś niewielkie urządzenia np. podpiąć do niego diodę LED, której używamy jako sondy stanów logicznych i sprawdzić czy działa (wydajność zasilania 3.3V wynosi zaledwie kilkadziesiąt mA, nie należy go obciążać większymi układami)&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;'''czerwona pogrubiona czcionka'''&amp;lt;/span&amp;gt; &amp;amp;mdash;  napięcie zasilające '''5V'''; może się przydać do zasilania '''drobnych''' urządzeń (takich jakie można podłączyć do wyjścia USB z którego zasilamy malinę);  UWAGA: Napięcie '''5V''' jest '''za wysokie dla wejść procesora''' i prawie na pewno go uszkodzi! Z tego powodu nie wolno łączyć kablem tych pinów z żadnymi wejściami cyfrowymi na łączu 40-pinowym! Właśnie dlatego oznaczone jest na czerwono! najlepiej na piny 2 i 4 nasunąć kawałek izolacji i o nich zapomnieć&lt;br /&gt;
* zwykła czcionka &amp;amp;mdash; piny cyfrowe gdzie ustawienie z programu wartości '''0''' daje napięcie '''0V''', a wysłanie wartości '''1''' daje napięcie około '''3V'''&lt;br /&gt;
* kolory i opisy przy pinie &amp;amp;mdash; niektóre piny mają ustawioną jakąś domyślną funkcję w systemie Raspbian sterującym maliną; te funkcje można w większości przedefiniować, jednak w czasie włączania systemu pin działa w trybie domyślnym, dopóki go nie przedefiniujemy po swojemu - '''jest to bardzo ważne jeśli do pinu podpięte jest jakieś urządzenie ponieważ po włączeniu maliny do prądu będzie ono otrzymywać przypadkowe sygnały w trakcie wczytywania systemu co może prowadzić do uszkodzeń (np. jeśli jest to silnik ramienia robota)'''; warto zauważyć, że zmiana działania pinu generuje ostrzeżenie i na przykład polecenie &amp;lt;code&amp;gt;gpio.setup(8, gpio.OUT)&amp;lt;/code&amp;gt; (czyli ustawienie pinu 8 jako zwykłe wyjście cyfrowe) wyświetli komunikat, że pin był używany w innej roli; kolory oznaczają piny związane domyślnie z tym samym urządzeniem (np. pary dwupinowych łączy &amp;lt;b style=&amp;quot;color: orange&amp;quot;&amp;gt;I²C&amp;lt;/b&amp;gt;, czy &amp;lt;b style=&amp;quot;color: green&amp;quot;&amp;gt;UART&amp;lt;/b&amp;gt;)&lt;br /&gt;
* brak opisu &amp;amp;mdash; piny nie wykonują żadnej specjalnej funkcji w domyślnej konfiguracji Raspbiana; przy włączeniu zasilania będą ustawione na 0; można ich dowolnie używać&lt;br /&gt;
&lt;br /&gt;
=== Moduł sterownika silnika krokowego DRV8834 i jego połączenie z maliną ===&lt;br /&gt;
[[Plik:Polaczenia_elektryczne_jednego_silnika.png|thumb|800px|right]]&lt;br /&gt;
Sposób połączenia silnika, źródła zasilania, sterownika i Maliny przedstawia obrazek.&lt;br /&gt;
&lt;br /&gt;
Jak widać w naszym prostym projekcie nie używamy wszystkich wyjść sterownika. &lt;br /&gt;
&lt;br /&gt;
Na diagramie niektóre z używanych wyjść są podpisane kolorem czerwonym, a inne jasnozielonym. Chodzi o to, żeby wyraźnie pokazać, że choć tego nie widać sterownik rozdziela cały układ na dwa zupełnie różne światy:&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;'''świat silnika''' &amp;amp;mdash; tutaj krążą duże prądy (takie, które mogą spokojnie odparować cieńsze przewody!), pojawiają się wyższe napięcia (rzędu kilkunastu woltów), układy pracują z dużą mocą (silnik potrafi być nawet gorący)&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:lightgreen&amp;quot;&amp;gt;'''świat cyfrowy''' &amp;amp;mdash; tutaj nie ma wielkiego znaczenia moc sygnału, a tylko czy ustawiony jest stan '''1''' (ok. 3 wolty) czy stan '''0''' (ok. zero woltów); wszystkie elementy z tego świata spodziewają się maksymalnie kilku woltów napięcia, nie zostały zaprojektowane do obsługiwania takich wielkich obciążeń jak silniki i cały ten podsystem mógłby być zasilany z małej zegarkowej bateryjki przez miesiące, na tyle jest &amp;quot;delikatny&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ważne jest, żeby rozróżniać te dwa światy!''' Jeśli ktoś spróbowałby podłączyć silnik do tego samego pinu, który jest połączony z Maliną prawdopodobnie spaliłby i sterownik i komputer (choć Malina ma pewne zabezpieczenia przed takim brutalnym traktowaniem i czasem zdąży się wyłączyć w porę). &lt;br /&gt;
&lt;br /&gt;
Ale jest też odwrotnie. W sprzyjających warunkach &amp;quot;delikatna&amp;quot; część cyfrowa potrafi &amp;quot;zamordować&amp;quot; część dużych mocy sterującą silnikami. Jak może do tego dojść? W dokładnie taki sam sposób, jak delikatne, ale nieprzemyślane ruchy kierownicą mogą zniszczyć cały samochód. Chodzi o to, że część cyfrowa steruje systemem, który ma już jakąś niemałą energię (silnik, koła).  W przypadku projektu z diodą, jeśli kod zawierał jakąś nie do końca przemyślaną instrukcję, najgorszym co mogło się stać był brak światła lub świecenie diody w nieoczekiwany sposób. Nic ponad to. Tymczasem tutaj robot może niespodziewanie ruszyć, skręcić, cofnąć się, i tylko aktualne otoczenie decyduje o tym jak to się skończy (coś do picia, klawiatura i szalony robot to całkiem skuteczny przepis na większe wydatki). Z tego powodu najlepiej na początku ustawić robota z kołami napędowymi w powietrzu (albo bez kół), żeby odebrać mu możliwość niekontrolowanego ruszania. &lt;br /&gt;
&lt;br /&gt;
'''Trzeba też uwzględnić specyficzną cechę samego sterownika. Jego instrukcja mówi o tym, że nie wolno podłączać/odłączać przewodów silnika kiedy zasilanie silnika jest włączone (podany sygnał 1 na wyjściu SLP)'''.  Ponieważ sygnał na wyjściu '''SLP''' podaje Malina najprościej zapamiętać, że jeśli potrzebujemy odłączyć sterownik to zawsze najpierw odłączamy Malinę (czyli 8 punktową wtyczkę, która będzie po lewej stronie na diagramie), a potem silniki (czyli wtyczka po prawej, pin &amp;quot;masy&amp;quot; Maliny znajdujący się na dole tej wtyczki nie jest problemem). I w odwrotnej kolejności podłączamy sterownik, czyli najpierw silniki, potem Malinę. W ten sposób mamy zawsze pewność, że przewody silników będą wyłączane/włączane przy wyłączonym zasilaniu. &lt;br /&gt;
&lt;br /&gt;
[[Plik:Wyprowadzenie_zasilania_5V_z_wtyczki_USB.jpg|thumb|300|Wyprowadzenie zasilania z wtyczki USB. Dodatkowe szczegóły zawiera opis obrazka dostępny po jego kliknięciu.]]&lt;br /&gt;
&lt;br /&gt;
I jeszcze jedno wyjaśnienie dlaczego wyjście '''M0''' jest podłączone do masy. Chodzi o to, że zastosowany sterownik obsługuje funkcję bardzo przydatną w bardziej precyzyjnych urządzeniach. Potrafi mianowicie wykonywać tylko ułamek kroku zamiast od razu cały. Typowy silnik krokowy (taki jak nasz) wykonuje 200 kroków na pełny obrót. Ten sterownik potrafi podzielić jeden krok nawet na 32 drobniejsze, co daje aż 6400 kroków na jeden pełny obrót! W bardziej precyzyjnych urządzeniach (np. drukarce 3D) ta opcja może być przydatna, ale nam nie jest potrzebna. O tym jak dzielony jest krok decydują piny '''M0''' i '''M1''' sterownika. Jeśli '''M1''' pozostawimy niepodłączony, a na '''M0''' podamy logiczne '''0''' (czyli zero woltów, a więc właśnie '''masę''') wówczas sterownik nie będzie dzielił kroku i jeden impuls na wejściu '''STEP''' będzie powodował wykonanie 1/200 obrotu przez silnik. Dzięki temu wystarczy posłanie tylko 200 impulsów żeby obrócić koło jeden raz. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Oprogramowanie ==&lt;br /&gt;
&lt;br /&gt;
=== Pomocniczy moduł do obsługi silników ===&lt;br /&gt;
Żeby móc się skupić na programowaniu konkretnych tras do obsługi silników użyjemy gotowego, prostego modułu pythona. Jego kod można pobrać stąd: &lt;br /&gt;
&lt;br /&gt;
[[Plik:Silniki.zip]]&lt;br /&gt;
&lt;br /&gt;
Moduł zawiera kilka prostych funkcji, dzięki którym można wykonać automatycznie inicjowanie portów maliny, włączać/wyłączać silniki, wykonywać pojedynczy krok w zadanym kierunku, a nawet całe sekwencje kroków. Z jego użyciem zaprogramowanie trasy przejazdu sprowadza się do napisania po prostu instrukcji dokąd jechać. Zwróć uwagę, że choć sam plik modułu jest długi, większość to komentarze i opisy działania funkcji.&lt;br /&gt;
&lt;br /&gt;
Na wykresie połączeń elektrycznych powyżej napisane jest, że należy wybrać dowolne z wolnych portów Maliny. Jednak kod modułu obsługi silników musi znać już konkretne numery portów, bo inaczej nie byłoby jasne na które wyjścia posyłać sygnały sterujące. Dlatego w liniach 22-24 dla lewego silnika, i 26-28 dla prawego, wpisane zostały numery portów Maliny, do których podpięte są kable łączące do wyjść '''SLP''', '''STEP''', '''DIR''' sterowników. Połączenia pomiędzy Maliną ze sterownikami najprościej wykonać patrząc na tabelę zaczynającą się w linii 8. Jakieś drobne pomyłki w połączeniach nie powinny być szkodliwe, ale to jest właśnie taki moment przez który robot rusza w nieoczekiwanych momentach, dlatego lepiej zachować uwagę. Najlepiej też zrobić połączenia przed włączeniem zasilania.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# coding: utf-8&lt;br /&gt;
&lt;br /&gt;
import RPi.GPIO as gpio&lt;br /&gt;
from time import sleep&lt;br /&gt;
&lt;br /&gt;
# Poniższa numeracja pinów zakłada następujące połączenia kablowe:&lt;br /&gt;
#&lt;br /&gt;
# |   PIN MALINY  |  LEWY STEROWNIK SILNIKA | PRAWY STEROWNIK SILNIKA |&lt;br /&gt;
#  --------------- ------------------------- -------------------------&lt;br /&gt;
# |        9      |                         |          GND            |&lt;br /&gt;
# |       11      |                         |          SLP            |&lt;br /&gt;
# |       13      |                         |          STEP           | &lt;br /&gt;
# |       15      |                         |          DIR            | &lt;br /&gt;
# |               |                         |                         | &lt;br /&gt;
# |       16      |            DIR          |                         | &lt;br /&gt;
# |       18      |            STEP         |                         | &lt;br /&gt;
# |       20      |            GND          |                         | &lt;br /&gt;
# |       22      |            SLP          |                         | &lt;br /&gt;
# &lt;br /&gt;
# Oczywiście jeśli wybrało się inne wyjścia numery poniżej można &lt;br /&gt;
# (i trzeba) pozmieniać&lt;br /&gt;
PIN_SILNIK_LEWY_KIERUNEK = 16    &lt;br /&gt;
PIN_SILNIK_LEWY_KROK = 18       &lt;br /&gt;
PIN_SILNIK_LEWY_WLACZ = 22&lt;br /&gt;
&lt;br /&gt;
PIN_SILNIK_PRAWY_WLACZ = 11&lt;br /&gt;
PIN_SILNIK_PRAWY_KROK = 13&lt;br /&gt;
PIN_SILNIK_PRAWY_KIERUNEK = 15&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Stałe pozwalające czytelniej pisać kod. &lt;br /&gt;
# Zamiast krok(-1, 1) można napisać krok(TYL, PRZOD).&lt;br /&gt;
# Obie instrukcje zrobią to samo, ale druga jest czytelniejsza.&lt;br /&gt;
PRZOD = 1&lt;br /&gt;
STOP = 0&lt;br /&gt;
TYL = -1&lt;br /&gt;
&lt;br /&gt;
# Domyślny czas wykonywania kroku (5 milisekund). &lt;br /&gt;
#&lt;br /&gt;
# Przy 5 milisekundach można wykonać maksymalnie 200 kroków/s, &lt;br /&gt;
# co przy 60mm kole daje prędkość ~200mm/s. &lt;br /&gt;
#&lt;br /&gt;
# Ustawienie większej wartości daje silnikowi więcej czasu &lt;br /&gt;
# na wykonanie ruchu i jest on pewniejszy (silnik zawsze zdąży).&lt;br /&gt;
#&lt;br /&gt;
# Krótszy czas zwiększa maksymalną prędkość obrotową, ale może &lt;br /&gt;
# powodować, że pierwsza lepsza przeszkoda obciąży silnik na tyle, &lt;br /&gt;
# że nie zdąży on wykonać kroku i zablokuje się w miejscu.&lt;br /&gt;
#&lt;br /&gt;
# Poniżej 1ms silnik może się blokować nawet bez obciążenia.&lt;br /&gt;
DOMYSLNY_CZAS_KROKU = 0.005&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def przygotuj():&lt;br /&gt;
    '''&lt;br /&gt;
    Ta funkcja przygotowuje piny Maliny do komunikacji ze sterownikami &lt;br /&gt;
    silników. Należy ją wywołać na początku programu, przed wszystkimi &lt;br /&gt;
    innymi. &lt;br /&gt;
    '''&lt;br /&gt;
    gpio.setmode(gpio.BOARD)&lt;br /&gt;
    piny_sterowania_silnikow = [PIN_SILNIK_LEWY_KROK, &lt;br /&gt;
        PIN_SILNIK_LEWY_KIERUNEK, PIN_SILNIK_LEWY_WLACZ, &lt;br /&gt;
        PIN_SILNIK_PRAWY_KROK, PIN_SILNIK_PRAWY_KIERUNEK, &lt;br /&gt;
        PIN_SILNIK_PRAWY_WLACZ]&lt;br /&gt;
&lt;br /&gt;
    for pin in piny_sterowania_silnikow:    &lt;br /&gt;
        gpio.setup(pin, gpio.OUT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def podlacz(lewy = 0, prawy = 0):&lt;br /&gt;
    '''&lt;br /&gt;
    Włącza lub wyłącza zasilanie silników. Na przykład:&lt;br /&gt;
    podlacz(1,0) -- włączy zasilanie w silniku lewym i wyłączy w prawym&lt;br /&gt;
    podlacz(0,0) -- wyłączy zasilanie obu silników&lt;br /&gt;
    podlacz(1, None) -- włącza zasilanie lewego silnika nie zmieniając &lt;br /&gt;
                        stanu zasilania prawego&lt;br /&gt;
    podlacz() -- brak parametrów spowoduje przyjęcie domyślnych 0,0&lt;br /&gt;
                 a więc ta instrukcja wyłącza zasilanie obu silników&lt;br /&gt;
    '''&lt;br /&gt;
    # Przełączamy zasilanie silnika o ile wartość nie jest &lt;br /&gt;
    # nieokreślona (None)&lt;br /&gt;
    if lewy is not None:&lt;br /&gt;
        gpio.output(PIN_SILNIK_LEWY_WLACZ, lewy)&lt;br /&gt;
    if prawy is not None:&lt;br /&gt;
        gpio.output(PIN_SILNIK_PRAWY_WLACZ, prawy)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def krok(lewy, prawy, czas = None):&lt;br /&gt;
    '''&lt;br /&gt;
    Wywołanie tej funkcji wysyła impusly sterujące do sterowników silnika, &lt;br /&gt;
    które powodują wykonanie jednego kroku. &lt;br /&gt;
    &lt;br /&gt;
    Na przykład:&lt;br /&gt;
       krok(PRZOD, PRZOD) -- wykonanie kroku w przód przez oba silniki&lt;br /&gt;
       krok(PRZOD, TYL)   -- lewy silnik wykona krok w przód, a prawy w tyl, &lt;br /&gt;
                             pojazd skręci lekko w prawo w miejscu &lt;br /&gt;
       krok(PRZOD, STOP)  -- lewy silnik wykona krok w przód, a prawy &lt;br /&gt;
                             nie poruszy się&lt;br /&gt;
&lt;br /&gt;
    Jeśli nie chcemy używać domyślnego czasu wykonywania kroku (patrz opis &lt;br /&gt;
    zmiennej DOMYSLNY_CZAS_KROKU powyżej) możemy podać inną wartość czasu&lt;br /&gt;
    dla aktualnego kroku jako trzeci paramter. &lt;br /&gt;
    &lt;br /&gt;
    Na przykład:&lt;br /&gt;
       krok(PRZOD, PRZOD, 0.01) -- krok do przodu na obu silnikach z względnie&lt;br /&gt;
                                   długim czasem -- w tym trybie powinno się &lt;br /&gt;
                                   dać pokonać trudne przeszkody, które blokują&lt;br /&gt;
                                   silnik kiedy czas jest krótszy&lt;br /&gt;
    '''&lt;br /&gt;
&lt;br /&gt;
    # Zamieniamy podane polecenie na odpowiednie wartości dla pinów STEP i DIR.&lt;br /&gt;
&lt;br /&gt;
    if lewy == PRZOD:      # PRZOD: generujemy impuls kroku z pinem kierunku na 1&lt;br /&gt;
        lewy_krok = 1&lt;br /&gt;
        lewy_kierunek = 1    &lt;br /&gt;
    elif lewy == STOP:     # STOP: bez impulsu kroku, kierunek bez znaczenia&lt;br /&gt;
        lewy_krok = 0&lt;br /&gt;
        lewy_kierunek = None&lt;br /&gt;
    elif lewy == TYL:      # TYL: impuls kroku z pinem kierunku na 0  &lt;br /&gt;
        lewy_krok = 1&lt;br /&gt;
        lewy_kierunek = 0&lt;br /&gt;
    else:&lt;br /&gt;
        raise &amp;quot;Nieznane polecenie!&amp;quot;  # Nie PRZOD, nie TYL, nie STOP??? To co?   &lt;br /&gt;
&lt;br /&gt;
    # Jak wyżej, tylko dla prawego silnika. Zwróć uwagę, że pin kierunku włączany&lt;br /&gt;
    # jest odwrotnie (dla PRZOD ma wartosc 1, dla TYL 0). Wynika to z budowy &lt;br /&gt;
    # robota gdzie silniki są obrócone do siebie o 180 stopni i trzeba je obracać &lt;br /&gt;
    # w przeciwną stronę, żeby napędzały robota w tym samym kierunku.&lt;br /&gt;
    if prawy == PRZOD:       &lt;br /&gt;
        prawy_krok = 1&lt;br /&gt;
        prawy_kierunek = 0&lt;br /&gt;
    elif prawy == STOP:  &lt;br /&gt;
        prawy_krok = 0&lt;br /&gt;
        prawy_kierunek = None&lt;br /&gt;
    elif prawy == TYL:   &lt;br /&gt;
        prawy_krok = 1&lt;br /&gt;
        prawy_kierunek = 1&lt;br /&gt;
    else:&lt;br /&gt;
        raise &amp;quot;Nieznane polecenie!&amp;quot;  &lt;br /&gt;
&lt;br /&gt;
    # Jeśli czas nie jest podany ustawiamy domyślną wartość zdefiniowaną&lt;br /&gt;
    # w DOMYSLNY_CZAS_KROKU&lt;br /&gt;
    if czas is None:&lt;br /&gt;
        czas = DOMYSLNY_CZAS_KROKU&lt;br /&gt;
&lt;br /&gt;
    # I wykonanie kroku:&lt;br /&gt;
 &lt;br /&gt;
    # Najpierw ustawiamy sygnały na pinach kierunków o ile jest to potrzebne &lt;br /&gt;
    # (np. polecenie STOP nie wymaga ustawiania kierunku)&lt;br /&gt;
    if lewy_kierunek is not None:&lt;br /&gt;
        gpio.output(PIN_SILNIK_LEWY_KIERUNEK, lewy_kierunek)&lt;br /&gt;
&lt;br /&gt;
    if prawy_kierunek is not None:&lt;br /&gt;
        gpio.output(PIN_SILNIK_PRAWY_KIERUNEK, prawy_kierunek)&lt;br /&gt;
&lt;br /&gt;
    # Teraz wysyłamy impuls wykonania kroku, czyli przez połowę podanego czasu &lt;br /&gt;
    # ustawiamy pin na wyznaczoną powyżej wartość, a po chwili dajemy 0. &lt;br /&gt;
    gpio.output(PIN_SILNIK_LEWY_KROK, lewy_krok)&lt;br /&gt;
    gpio.output(PIN_SILNIK_PRAWY_KROK, prawy_krok)&lt;br /&gt;
    sleep(czas*0.5)&lt;br /&gt;
&lt;br /&gt;
    gpio.output(PIN_SILNIK_LEWY_KROK, 0)&lt;br /&gt;
    gpio.output(PIN_SILNIK_PRAWY_KROK, 0)&lt;br /&gt;
    sleep(czas*0.5)&lt;br /&gt;
&lt;br /&gt;
    # Dokładniejszy opis: &lt;br /&gt;
    #&lt;br /&gt;
    # Jeśli wyznaczona wartość ..._krok wynosiła 1, sygnał na pinie STEP skoczy &lt;br /&gt;
    # do 1 (czyli ok. 3 wolty) i potem spadnie do 0. Sterownik zinterpretuje &lt;br /&gt;
    # to jako impuls na wejściu STEP i wygeneruje odpowiednie sygnały &lt;br /&gt;
    # na wyjściach silnika, które przekręcą go o krok. &lt;br /&gt;
    #&lt;br /&gt;
    # Jeśli wartość ..._step wynosi 0, wówczas sygnał na pinie będzie cały czas &lt;br /&gt;
    # ustawiony na 0, sterownik nie otrzyma impulsu na wejściu STEP i nie &lt;br /&gt;
    # wygeneruje nowych sygnałów na wyjściu silnika, który wobec tego pozostanie &lt;br /&gt;
    # w niezmienionej pozycji.&lt;br /&gt;
    #&lt;br /&gt;
    # Wykresy napięcia jakie &amp;quot;widzi&amp;quot; wejście STEP lewego sterownika zależnie &lt;br /&gt;
    # od wartości lewy_krok:&lt;br /&gt;
    # &lt;br /&gt;
    #&lt;br /&gt;
    #                   |         1        |                  |&lt;br /&gt;
    # 3V                |   ...............|                  |&lt;br /&gt;
    #                   |  .               |                  | &lt;br /&gt;
    #  lewy_krok = 1    | .                |.                 |&lt;br /&gt;
    #                   |.                 | .      0         |&lt;br /&gt;
    # 0V ...............|                  |  ................|.............&lt;br /&gt;
    #                   |                  |                  |&lt;br /&gt;
    #                   |                  |                  |&lt;br /&gt;
    #                   |                  |                  |&lt;br /&gt;
    # 3V                |                  |                  |&lt;br /&gt;
    #                   |                  |                  | &lt;br /&gt;
    #  lewy_krok = 0    |                  |                  |&lt;br /&gt;
    #                   |         0        |        0         |&lt;br /&gt;
    # 0V ...............|..................|..................|.............&lt;br /&gt;
    #                   |                  |                  |&lt;br /&gt;
    #                     &amp;lt;-- czas*0.5 --&amp;gt;   &amp;lt;-- czas*0.5 --&amp;gt;     &lt;br /&gt;
    #&lt;br /&gt;
    #                     &amp;lt;------------  czas  -------------&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def zestaw(lewo, prawo, powtorek = 1):&lt;br /&gt;
    '''&lt;br /&gt;
    Funkcja bierze polecenie i powtarza jego wykonanie podaną ilość razy: &lt;br /&gt;
    lewo - polecenie dla lewego silnika&lt;br /&gt;
    prawo - polecenie dla prawego silnika&lt;br /&gt;
    powtorek - oznacza ile razy nalezy ten zestaw kroków powtórzyć&lt;br /&gt;
&lt;br /&gt;
    Na przykład:&lt;br /&gt;
    zestaw(PRZOD, STOP, 10)   -- wykona 10 kroków do przodu lewym silnikiem,&lt;br /&gt;
    zestaw(PRZOD, PRZOD, 200) -- wykona 200 kroków do przodu oboma silnikami,&lt;br /&gt;
                                 a więc koła obrócą się o pełny obrót  &lt;br /&gt;
    zestaw(PRZOD, TYL, 100)   -- obróci lewe koło 100 kroków do przodu, &lt;br /&gt;
                                 a prawe 100 do tyłu, a więc robot powinien &lt;br /&gt;
                                 wykonać skręt w prawo w miejscu.&lt;br /&gt;
    ''' &lt;br /&gt;
    for i in xrange(1, 1 + powtorek):&lt;br /&gt;
        krok(lewo, prawo)&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
def sekwencja(lista_zestawow):&lt;br /&gt;
    '''&lt;br /&gt;
    Czyta podaną listę i wykonuje kolejno podane w niej zestawy kroków.&lt;br /&gt;
&lt;br /&gt;
    lista_zestawów -- lista zawierająca kolejne zestawy; w pythonie &lt;br /&gt;
                      listę podaje się w nawiasach kwadratowych [] &lt;br /&gt;
                      oddzielając elementy przecinkami &lt;br /&gt;
&lt;br /&gt;
    Na przykład:&lt;br /&gt;
&lt;br /&gt;
    sekwencja([ (PRZOD, PRZOD, 400), (PRZOD, TYL, 100), (TYL, PRZOD, 100) ]) &lt;br /&gt;
&lt;br /&gt;
         -- wykona kolejno trzy zestawy: &lt;br /&gt;
            1. (PRZOD, PRZOD, 400)&lt;br /&gt;
            2. (PRZOD, TYL, 100)&lt;br /&gt;
            3. (TYL, PRZOD, 100)&lt;br /&gt;
            Pierwszy spowoduje podjechanie modelu o dwa pełne obroty kół &lt;br /&gt;
            do przodu. Drugi obrócenie lewego koła do przodu a prawego &lt;br /&gt;
            do tyłu o pół obrotu, a wiec robot skręci w miejscu w prawo. &lt;br /&gt;
            Ostatni zestaw spowoduje skręt w miejscu w przeciwną stronę &lt;br /&gt;
            - robot powróci do pierwotnego kierunku. Cała sekwencja wyglądać &lt;br /&gt;
            będzie tak jakby robot podjechał do przodu i rozejrzał się &lt;br /&gt;
            w prawo. &lt;br /&gt;
    '''&lt;br /&gt;
    for kolejny_zestaw in lista_zestawow:&lt;br /&gt;
        zestaw(*kolejny_zestaw)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Przykłady użycia ===&lt;br /&gt;
Dzięki modułowi '''silniki''' sterowanie ruchem sprowadza się do prostych instrukcji. &lt;br /&gt;
&lt;br /&gt;
Na początek spróbujmy zobaczyć instrukcję  &amp;lt;code&amp;gt;zestaw(''lewy, prawy, powtorek'')&amp;lt;/code&amp;gt; w akcji.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# coding: utf-8&lt;br /&gt;
import silniki as s&lt;br /&gt;
&lt;br /&gt;
# Przygotowanie portów Maliny do pracy&lt;br /&gt;
s.przygotuj()&lt;br /&gt;
&lt;br /&gt;
# Włączenie zasilania silników -- po tej instrukcji silniki powinny zablokować się w ustalonej pozycji&lt;br /&gt;
s.podlacz(1,1)&lt;br /&gt;
&lt;br /&gt;
# 10 obrotów kół (czyli 10*200 kroków) w przód&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 2000) &lt;br /&gt;
&lt;br /&gt;
# Jeden obrót lewego koła w przód, prawe stoi -- robot skręca w prawo&lt;br /&gt;
s.zestaw(s.PRZOD, s.STOP, 200)&lt;br /&gt;
&lt;br /&gt;
# Koniec programu, wyłączamy zasilanie silników -- po tej instrukcji koła znów obracają się lekko&lt;br /&gt;
s.podlacz(0,0)&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Po zapisaniu tego kodu w pliku &amp;lt;code&amp;gt;silniki_p1.py&amp;lt;/code&amp;gt; i wydaniu polecenia&lt;br /&gt;
&lt;br /&gt;
 pi@raspberrypi:~ $ python silniki_p1.py &lt;br /&gt;
&lt;br /&gt;
robot powinien przejechać 10 obrotów kół do przodu,  a potem skręcić w prawo. Oczywiście nie będzie to możliwe jeśli będziemy się łączyć z Maliną poprzez kabel USB dlatego w tej chwili najlepiej zdjąć koła, albo unieść je w górę i obserwować czy wykonują oczekiwane ruchy. Poniżej pokażemy gdzie wstawić powyższą instrukcję, żeby robot wykonywał podany kod zaraz po włączeniu. Wówczas będzie można podłączyć Malinę do powerbanku i oglądać wykonanie instrukcji w ruchu.&lt;br /&gt;
&lt;br /&gt;
== W akcji ==&lt;br /&gt;
Przykładowy kod sterujący i zachowaniem trzykołowca&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# coding: utf-8&lt;br /&gt;
import silniki as s&lt;br /&gt;
&lt;br /&gt;
s.przygotuj()                      # Przygotowanie pinów Maliny do wysyłania sygnałów.&lt;br /&gt;
s.podlacz(1,1)                     # Włączamy zasilanie silników, koła trudno obracać. &lt;br /&gt;
&lt;br /&gt;
s.zestaw(s.TYL, s.PRZOD, 60)       # lewe koło to tyłu, prawe do przodu o 60 kroków -- skręt w lewo&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)    # 400 kroków w przód, bok kwadratu ok. 50cm&lt;br /&gt;
s.zestaw(s.TYL, s.PRZOD, 60)       # skręt i drugi bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
s.zestaw(s.TYL, s.PRZOD, 60)       # skręt i trzeci bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
s.zestaw(s.TYL, s.PRZOD, 60)       # skręt i czwarty bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
&lt;br /&gt;
s.zestaw(s.PRZOD, s.TYL, 60)       # lewe koło w przód, prawe w tył -- skręt w prawo&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)    # robot jedzie w kierunku stopy na filmie&lt;br /&gt;
s.zestaw(s.PRZOD, s.TYL, 60)       # kolej skręt i bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
s.zestaw(s.PRZOD, s.TYL, 60)       # następny&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
s.zestaw(s.PRZOD, s.TYL, 60)       # ostatni skręt i bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
&lt;br /&gt;
# ... i tak dalej, kolejny kwadrat w lewo&lt;br /&gt;
&lt;br /&gt;
s.podlacz(0,0)           # Wyłączamy zasilanie silników, koła znów obracają się lekko&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;fSHDZ6fRyPc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Roboty]]&lt;br /&gt;
[[Category:Projekty_Pi_Zero]]&lt;br /&gt;
[[Category:Silniki_krokowe]]&lt;br /&gt;
[[Category:Moduły_elektroniczne]]&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Trzyko%C5%82owiec&amp;diff=625</id>
		<title>Trzykołowiec</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Trzyko%C5%82owiec&amp;diff=625"/>
		<updated>2019-11-19T14:02:45Z</updated>

		<summary type="html">&lt;p&gt;Isj: /* Moment obrotowy 120 mN/m */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Projekt prostego programowalnego robota kołowego z dwoma silnikami. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Do czego zmierzamy ==&lt;br /&gt;
Chodzi o to, żeby względnie małym nakładem pracy uzyskać robota, którego można łatwo zaprogramować. Dzięki temu bez zbędnych komplikacji będzie można rozpocząć realną zabawę w całkiem poważną robotykę. Robot będzie się składał z dwóch, oddzielnie sterowanych silników napędowych wyposażonych w koła, oraz trzeciego podpierającego. Możliwość sterowania obrotami każdego z kół z osobna pozwala zaprogramować dowolny kierunek jazdy i tworzyć dowolne trasy przejazdu. Podstawowe możliwości, uniwersalność i przez to przydatność takiego robota pokazuje poniższy film, gdzie projektanci z firmy Microsoft użyli dokładnie takiej konstrukcji w swoich projektach. Co więcej, tak samo jak my użyli Maliny jako &amp;quot;mózgu&amp;quot; robota.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;vimeo&amp;quot;&amp;gt;126458720&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Konstrukcja ==&lt;br /&gt;
=== Silnik ===&lt;br /&gt;
[[Plik:Nema_14.jpg|thumb|right|250px|Silnik o rozmiarze NEMA 14.]]&lt;br /&gt;
Do napędu kół użyjemy silnika krokowego o następujących parametrach:&lt;br /&gt;
* rozmiar NEMA 14, czyli boki '''35x35 mm''', ponadto nasz silnik będzie miał '''34 mm długości''' i oś wystającą na 20mm o średnicy 5mm&lt;br /&gt;
* waga '''180g'''&lt;br /&gt;
* maksymalny moment obrotowy '''120 mN/m''' (miliniutonów na metr)&lt;br /&gt;
* żeby wykonać pełny obrót silnik potrzebuje '''200 kroków'''&lt;br /&gt;
* pobór prądu '''750mA'''(miliamperów) przy napięciu zasilającym '''4.35V'''&lt;br /&gt;
&lt;br /&gt;
[[Plik:Silnik_krokowy_w_środku.jpg|right|250px|thumb|Tak wygląda w środku.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zasadę działania silnika krokowego przedstawia animacja poniżej: włączamy prąd w kolejnych uzwojeniach, co wytwarza silne pole magnetyczne, które przyciąga metalowe wypustki wirnika i obraca go o pewien mały kąt. Zależnie od tego w jakiej kolejności włączamy cewki, silnik będzie się kręcił w lewo lub prawo. Dużo więcej magii w tym nie ma ;).&lt;br /&gt;
&lt;br /&gt;
[[Plik:StepperMotor.gif|center]]&lt;br /&gt;
&lt;br /&gt;
Jak widać na zdjęciu rozebranego realnego silnika, praktyczna realizacja jest trochę inna: w tym przypadku mamy 8 cewek elektromagnesów na obwodzie (miedziane zwoje drutu na dole zdjęcia), a nie 4 jak na schemacie. Jednak sama zasada pozostaje ta sama. Dodatkowe cewki i podwójny rotor jak widać na zdjęciu pozwalają poprawić siłę z jaką silnik się obraca oraz precyzję kontroli kąta obrotu. Szczegóły wyjaśnia film poniżej.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;eyqwLiowZiU&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
==== Co oznaczają podane parametry silnika? ====&lt;br /&gt;
&lt;br /&gt;
===== Wymiary i masa =====&lt;br /&gt;
&lt;br /&gt;
Z rozmiarów silnika zgodnego z normą NEMA 14 i jego masy widzimy, że choć silnik nie jest jakoś przerażająco wielki, to jest jednak całkiem solidnym kawałkiem metalu. Same dwa silniki napędowe będą ważyły 360g, a więc dodając jeszcze powerbank, możemy się spodziewać, że cały robot będzie ważył około 1kg. To oszacowanie przyda się przy projektowaniu podwozia. Dzięki niemu wiemy jaką mniej więcej powinno mieć wytrzymałość &amp;amp;mdash; w przybliżeniu powinno być sztywniejsze niż choćby karta bankomatowa.&lt;br /&gt;
&lt;br /&gt;
===== Moment obrotowy 120 mN/m =====&lt;br /&gt;
&lt;br /&gt;
Gdyby przeczytać tą liczbę brzmiałaby ''&amp;quot;sto dwadzieścia miliniutonów na metr&amp;quot;''. Pierwsza część to niewielka siła (okolice ciężaru odtwarzacza mp3). Ale o jaki metr chodzi? &lt;br /&gt;
&lt;br /&gt;
O taki, jak gdyby do osi silnika przymocować metrowy patyk pod kątem prostym do osi (tak jak szprycha w kole roweru). Kiedy silnik pracowałby z całej siły wówczas koniec takiego metrowego patyka naciskałby na rękę z podaną siłą, lub jak kto woli wystarczyłoby delikatnie trzymać jego koniec, żeby silnik nie mógł się obracać. &lt;br /&gt;
&lt;br /&gt;
Łatwo wyczuć intuicyjnie, że gdyby patyk był krótszy, wówczas trzeba by było użyć większej siły, żeby powstrzymać silnik przed obracaniem się. Kto nie wierzy niech spróbuje przytrzymać koło roweru za szprychę najpierw chwytając blisko opony, a potem bliżej środka. O razu widać, że o ile trzymanie przy oponie jakoś wychodzi, to bliżej środka palce są za słabe. Fizycy mówią, że '''jeśli skracamy ramię na które działa pewien moment obrotowy, to siła na końcu ramienia proporcjonalnie rośnie'''. &lt;br /&gt;
&lt;br /&gt;
'''I to jest bardzo dobra wiadomość!&amp;quot;' Gdybyśmy mieli silnik pchający robota do przodu z siłą tylko 120mN moglibyśmy zapomnieć o jeździe po czymkolwiek mniej gładkim niż stół, a i to wątpliwe... Jeśli jednak skrócimy wymyślony metrowy patyk do połowy, siła na końcu wzrośnie proporcjonalnie do 240mN. Nadal szału nie ma, ale jest postęp!  Gdybyśmy skrócili go do &amp;lt;math&amp;gt;\frac{1}{10}&amp;lt;/math&amp;gt; metra, wówczas otrzymamy 120mN * 10 = 1200mN. Przypomnę, że ''mili'' oznacza jedną tysięczną. Czyli 1200mN to już całkiem ładne 1.2N. &lt;br /&gt;
&lt;br /&gt;
No dobrze, ale przecież nie będziemy używać patyków, tylko koła... To nic nie zmienia! Wystarczy sobie wyobrazić, że nakładamy na oś jeden patyk za drugim dookoła osi (znów, tak jak szprychy w kole roweru). Jeśli nawkładalibyśmy ich odpowiednio dużo powstanie w końcu koło. Na tym polega geniusz wynalazku koła, którego ludzkość  [https://pl.wikipedia.org/wiki/Ko%C5%82o_(technika) bardzo długo nie znała]. Dzięki odsunięciu osi, na której skupiony jest ciężar od podłoża, możemy przesuwać masy ze znacznie mniejszym wysiłkiem, bo cały czas stosujemy dźwignię o takiej długości jak promień koła. &lt;br /&gt;
&lt;br /&gt;
Teraz możemy wrócić do naszej skali, bo oczywiście nikt nie zamierzał(?) używać kół o metrowym promieniu. &lt;br /&gt;
&lt;br /&gt;
Jeśli wyobrazimy sobie, że ktoś założył na osi kółko o średnicy 2cm, wówczas promień będzie miał tylko 1cm, a więc 1/100 metra. Silnik pracujący z maksymalną mocą ciągnąłby pojazd na takich kołach z siłą 120 * 100 = 12000mN, czyli 12 N. Z taką siłą naciska na rękę trzymane w niej 1,2 kg. Jeśli ktoś założyłby kółka o średnicy dwa razy większej (4cm) wówczas siła spadnie do 6N (~600g), a dla kółek o średnicy 6cm do około 4N (~400g). &lt;br /&gt;
&lt;br /&gt;
Czy to dużo czy mało? Możemy łatwo oszacować co to oznacza wyliczając możliwe przyśpieszenia robota. Dla ułatwienia przyjmijmy, że cały będzie ważył około '''1kg'''. &lt;br /&gt;
&lt;br /&gt;
Przyśpieszenie podaje zupełnie prosty wzór, sprzed ponad 300 lat,  pana [https://pl.wikipedia.org/wiki/Isaac_Newton Izaaka Newtona] (czytaj ''niuton''):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;a=\frac{F}{m}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
gdzie: &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;math&amp;gt;F&amp;lt;/math&amp;gt; to siła wyrażona w, a jakże, w '''N''' (niutonach)&lt;br /&gt;
* &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; to masa, u nas 1kg&lt;br /&gt;
* &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; to przyśpieszenie jakiego należy się spodziewać w m/s²&lt;br /&gt;
&lt;br /&gt;
Podstawiając dane dla kół o średnicy 6cm, które dają siłę pchającą 4N na jeden silnik, przy włączonym napędzie na oba koła mamy:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;a=\frac{2*4[N]}{1[kg]}=8 [m/s^2]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jeśli porównamy to z przyśpieszeniem ziemskim, wynoszącym &amp;lt;math&amp;gt;9,81 [m/s^2]&amp;lt;/math&amp;gt; widzimy, że pojazd mógłby przyśpieszać prawie tak szybko jak szybko rzeczy spadają w polu grawitacji Ziemi. Inaczej mówiąc potrzebowałby '''niecałych 3 sekund &amp;quot;do setki&amp;quot; !''' Oczywiście to tylko oszacowanie, które podaje maksymalne przyśpieszenie. W praktyce będzie ono mniejsze. Wystarczy choćby zdać sobie sprawę z tego, że policzyliśmy siłę z jaką pojazd będzie napędzany, ale nie uwzględniliśmy siły tarcia, która będzie go spowalniać. Nawet jednak gdybyśmy spadli w okolice połowy tego przyśpieszenia nadal taki napęd wydaje się sensowny. Niestety oprócz zdolności silnika do przyśpieszania pojazdu, która jak widzimy jest dobra, musimy uwzględnić jeszcze jedno ograniczenie &amp;amp;mdash; maksymalną prędkość z jaką silnik może się obracać. Jak widać na filmie w dalszej części strony, pojazd rusza natychmiast, bez wyraźnych opóźnień, ale jego maksymalna prędkość nie jest wielka.&lt;br /&gt;
&lt;br /&gt;
===== 200 kroków na obrót =====&lt;br /&gt;
Silniki krokowe działają trochę inaczej niż zwykłe. W zwykłym wystarczy włączyć prąd i silnik się obraca. Silnikiem krokowym steruje się inaczej: podaje się odpowiednie impulsy, które powodują, że oś silnika obraca się o pewien kąt. Jak daleko obraca się oś w jednym kroku definiuje właśnie liczba kroków potrzebnych do pełnego obrotu. W przypadku naszego silnika będziemy musieli podać 200 impulsów żeby koło napędowe wykonało jeden obrót. Dzięki takiej dokładności możliwe będzie bardzo precyzyjne sterowanie odległością jaką przemierza każde koło, a przez to będzie można precyzyjnie skręcać.&lt;br /&gt;
&lt;br /&gt;
===== Parametry elektryczne =====&lt;br /&gt;
Jeśli chodzi o napięcie pracy silnika, wynoszące 4.35V, jest ono nieco mniejsze niż '''5V, którego używają porty USB, powerbank''' i którym zasilana jest Malina (przy czym część cyfrowa Maliny działa przy napięciach 0 i 3.3V). &lt;br /&gt;
&lt;br /&gt;
Możemy jednak przyjąć, że nieco wyższe napięcie zasilania jakiego użyjemy, nie będzie groźne dla uzwojeń silnika, a może poprawić prędkość z jaką silnik będzie wykonywał kolejne kroki. W normalnej sytuacji, kiedy silniki jest montowany w większej maszynie unikalibyśmy takiego &amp;quot;podkręcania&amp;quot;, ale w naszym przypadku silnik będzie pracował w otwartej przestrzeni, i pewien nadmiar wydzielanego ciepła jest dopuszczalny.&lt;br /&gt;
&lt;br /&gt;
Znaczenie poboru prądu wyjaśnimy przy okazji rozważań o baterii.&lt;br /&gt;
&lt;br /&gt;
=== Bateria ===&lt;br /&gt;
&lt;br /&gt;
Pobór prądu przez jeden silnik, który wynosi 750mA (miliamperów) oznacza, że gdybyśmy mieli baterię o pojemności 750mAh (miliamperogodzin) pojedynczy silnik mógłby działać przez godzinę. Ponieważ mamy dwa silniki i jeszcze Malinę, która również zużywa prąd, możemy oczekiwać zużycia na poziomie około 1800mAh. &lt;br /&gt;
&lt;br /&gt;
Teoretycznie więc powerbank o takiej pojemności mógłby zasilać robota przez godzinę. W praktyce producenci obiecują gruszki na wierzbie, i lepiej przyjąć co najmniej 2500mA potrzebnej pojemności na godzinę pracy robota. &lt;br /&gt;
&lt;br /&gt;
Powerbanki zwykle ładują się godzinami -- nie rzadko instrukcja podaje 8-10 godzin. Ponieważ byłoby niezbyt wygodnie po każdej godzinie testów czekać 8 godzin do kolejnego naładowania baterii, lepiej zastosować akumulator o większej pojemności niż tylko godzina użytkowania. Ostatecznie więc pobór prądu mówi nam tyle, że przydałby się akumulator o pojemności co najmniej 5000mAh. &lt;br /&gt;
&lt;br /&gt;
Ponadto musimy uwzględnić maksymalne możliwe obciążenie prądowe. Cóż z tego, że mielibyśmy pełny basen wody, jeśli dałoby się z niego czerpać tylko po jednej kropli na godzinę? Musimy więc wybrać powerbank, który będzie miał też odpowiednią wydajność. &lt;br /&gt;
&lt;br /&gt;
Dwa silniki zużywają 750mA * 2 = 1500mA. Do tego prądu trzeba dodać też Malinę, czyli co najmniej 500mA. Powerbank musi znieść obciążenie 2000mA, czyli 2A.&lt;br /&gt;
&lt;br /&gt;
=== Projekt podwozia ===&lt;br /&gt;
Wykonanie podwozia jest zadaniem do wykonania samodzielnie. ''Wszystkie chwyty dozwolone!'' Jeśli masz natchnienie, żeby ulepić podwozie z taśmy klejącej i gumy do żucia proszę bardzo. Jest tylko jedno ograniczenie -- byłoby fajnie gdyby robot zbudowany w oparciu o dostarczone części i zaprojektowane podwozie jeździł! Żeby to ograniczenie dokładniej sprecyzować umówmy się, że: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;thumb&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;thumbinner&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;thumbcaption&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#00bb44&amp;quot;&amp;gt;Części robota (oprócz Maliny) przechodzą na własność konstruktora dopiero po udowodnieniu, że robot jeździ i to zgodnie z podanym programem, czyli inaczej mówiąc '''o własnych siłach zarówno fizycznych jak i &amp;quot;umysłowych&amp;quot;.'''&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jeśli ktoś chciałby zaprojektować podwozie do wydruku na drukarce 3D (to jest możliwa opcja, nie wymaganie!) proponuję wykorzystanie programu FreeCAD. Dla ułatwienia poniżej plik wstępnie przygotowanego projektu robota. Zawiera podstawowe elementy zgodne z ich rozmiarami:&lt;br /&gt;
* płytkę Maliny&lt;br /&gt;
* silniki&lt;br /&gt;
* powerbank&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pozostaje tylko zająć się samym podwoziem i rozmieszczeniem wyżej wymienionych elementów na nim.&lt;br /&gt;
 &lt;br /&gt;
[[Plik:Trzykolowiec.fcstd]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;eAhDwQ00lHU&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Przykładowe rozwiązanie mechanicznej części robota wykonanej na drukarce 3D przedstawiają zdjęcia poniżej.&lt;br /&gt;
&lt;br /&gt;
[[Plik:Platforma_trzykołowca_wykonana_jako_wydruk_3D_--_góra.jpg|400px|thumb|left|Trzykołowiec wydrukowany na drukarce. Widok z góry.]]&lt;br /&gt;
[[Plik:Platforma_robota_wykonana_jako_wydruk_3D_--_spód.jpg|400px|thumb|right|I z dołu.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
== Elektronika ==&lt;br /&gt;
=== Opis wyprowadzeń łącza 40 pinowego ===&lt;br /&gt;
Piny złącza 40 pinowego liczy się zaczynając od kwadratowego (numer 1), a dalej &amp;quot;zygzakiem&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt; napięcie 3.3V &amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 1 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 2 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b style=&amp;quot;color:red&amp;quot;&amp;gt; napięcie 5V &amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right;color: orange&amp;quot;| I²C: SDA (dane) &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;Rezystor podciągający 1.8k do 3.3V&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 3 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 4 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b style=&amp;quot;color:red&amp;gt; napięcie 5V &amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right; color: orange&amp;quot;| I²C: SCL (taktowanie) &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;Rezystor podciągający 1.8k do 3.3V&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 5 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 6 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| GPCLK0 &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;(zegar nr 0, ogólnego przeznaczenia)&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 7 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 8 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;color: green&amp;quot;| UART0: TXD (wysyłka) &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;(na tym łączu działa konsola systemu Raspbian)&amp;lt;/small&amp;gt;&amp;lt;/em&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 9 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 10 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;color: green&amp;quot;| UART0: RXD (odbiór) &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;(na tym łączu działa konsola systemu Raspbian)&amp;lt;/small&amp;gt;&amp;lt;/em&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  11&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 12&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| PWM0/BCM18 &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;(fala prostokątna o programowalnym wypełnieniu z generatora 0)&amp;lt;/small&amp;gt;&amp;lt;/em&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  13&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 14&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  15&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 16&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt; napięcie 3.3V &amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  17&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 18&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| MOSI/BCM10 (urządzenie nadrzędne do podrzędnego na łączu SPI)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  19&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 20&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| MISO (urządzenie podrzędne do nadrzędnego na łączu SPI)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 21 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 22 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| SCLK/BCM11 (taktowanie łącza SPI)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|23 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 24 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| CE0 (linia 0 wyboru chipu łącza SLI)&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 25 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 26 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| CE1 (linia 1 wyboru chipu łącza SLI)&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| ID_SC (dane łącza I²C do pamięci EEPROM)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 27 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 28 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| ID_SC (taktowanie łącza I²C do pamięci EEPROM)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 29 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 30 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  31&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 32&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| PWM0/BCM12&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| PWM1/BCM13&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  33&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 34&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| MISO (urządzenie podrzędne do nadrzędnego na łączu SPI)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  35&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 36&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  37&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 38&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| MOSI/BCM20 (urządzenie nadrzędne do podrzędnego na łączu SPI)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  39&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 40&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;|  SCLK/BCM21 (taktowanie łącza SPI)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Powyżej zastosowane są następujące oznaczenia:&lt;br /&gt;
* '''pogrubiona czcionka''' &amp;amp;mdash; zwykłe piny elektryczne, nie działające w logice cyfrowej ponieważ nie łączą się z procesorem maliny (np. masa, napięcie 3.3V); napięcie '''3.3V''' może pełnić rolę sygnału wejściowego oznaczającego '''1''' ponieważ piny cyfrowe właśnie takiego napięcia spodziewają się jako logicznej jedynki; możliwe jest więc połączenie kablem wyjścia '''3.3V''' z którymś pinem logicznym żeby zasymulować podanie sygnału 1; można też zasilać z tego wyjścia jakieś niewielkie urządzenia np. podpiąć do niego diodę LED, której używamy jako sondy stanów logicznych i sprawdzić czy działa (wydajność zasilania 3.3V wynosi zaledwie kilkadziesiąt mA, nie należy go obciążać większymi układami)&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;'''czerwona pogrubiona czcionka'''&amp;lt;/span&amp;gt; &amp;amp;mdash;  napięcie zasilające '''5V'''; może się przydać do zasilania '''drobnych''' urządzeń (takich jakie można podłączyć do wyjścia USB z którego zasilamy malinę);  UWAGA: Napięcie '''5V''' jest '''za wysokie dla wejść procesora''' i prawie na pewno go uszkodzi! Z tego powodu nie wolno łączyć kablem tych pinów z żadnymi wejściami cyfrowymi na łączu 40-pinowym! Właśnie dlatego oznaczone jest na czerwono! najlepiej na piny 2 i 4 nasunąć kawałek izolacji i o nich zapomnieć&lt;br /&gt;
* zwykła czcionka &amp;amp;mdash; piny cyfrowe gdzie ustawienie z programu wartości '''0''' daje napięcie '''0V''', a wysłanie wartości '''1''' daje napięcie około '''3V'''&lt;br /&gt;
* kolory i opisy przy pinie &amp;amp;mdash; niektóre piny mają ustawioną jakąś domyślną funkcję w systemie Raspbian sterującym maliną; te funkcje można w większości przedefiniować, jednak w czasie włączania systemu pin działa w trybie domyślnym, dopóki go nie przedefiniujemy po swojemu - '''jest to bardzo ważne jeśli do pinu podpięte jest jakieś urządzenie ponieważ po włączeniu maliny do prądu będzie ono otrzymywać przypadkowe sygnały w trakcie wczytywania systemu co może prowadzić do uszkodzeń (np. jeśli jest to silnik ramienia robota)'''; warto zauważyć, że zmiana działania pinu generuje ostrzeżenie i na przykład polecenie &amp;lt;code&amp;gt;gpio.setup(8, gpio.OUT)&amp;lt;/code&amp;gt; (czyli ustawienie pinu 8 jako zwykłe wyjście cyfrowe) wyświetli komunikat, że pin był używany w innej roli; kolory oznaczają piny związane domyślnie z tym samym urządzeniem (np. pary dwupinowych łączy &amp;lt;b style=&amp;quot;color: orange&amp;quot;&amp;gt;I²C&amp;lt;/b&amp;gt;, czy &amp;lt;b style=&amp;quot;color: green&amp;quot;&amp;gt;UART&amp;lt;/b&amp;gt;)&lt;br /&gt;
* brak opisu &amp;amp;mdash; piny nie wykonują żadnej specjalnej funkcji w domyślnej konfiguracji Raspbiana; przy włączeniu zasilania będą ustawione na 0; można ich dowolnie używać&lt;br /&gt;
&lt;br /&gt;
=== Moduł sterownika silnika krokowego DRV8834 i jego połączenie z maliną ===&lt;br /&gt;
[[Plik:Polaczenia_elektryczne_jednego_silnika.png|thumb|800px|right]]&lt;br /&gt;
Sposób połączenia silnika, źródła zasilania, sterownika i Maliny przedstawia obrazek.&lt;br /&gt;
&lt;br /&gt;
Jak widać w naszym prostym projekcie nie używamy wszystkich wyjść sterownika. &lt;br /&gt;
&lt;br /&gt;
Na diagramie niektóre z używanych wyjść są podpisane kolorem czerwonym, a inne jasnozielonym. Chodzi o to, żeby wyraźnie pokazać, że choć tego nie widać sterownik rozdziela cały układ na dwa zupełnie różne światy:&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;'''świat silnika''' &amp;amp;mdash; tutaj krążą duże prądy (takie, które mogą spokojnie odparować cieńsze przewody!), pojawiają się wyższe napięcia (rzędu kilkunastu woltów), układy pracują z dużą mocą (silnik potrafi być nawet gorący)&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:lightgreen&amp;quot;&amp;gt;'''świat cyfrowy''' &amp;amp;mdash; tutaj nie ma wielkiego znaczenia moc sygnału, a tylko czy ustawiony jest stan '''1''' (ok. 3 wolty) czy stan '''0''' (ok. zero woltów); wszystkie elementy z tego świata spodziewają się maksymalnie kilku woltów napięcia, nie zostały zaprojektowane do obsługiwania takich wielkich obciążeń jak silniki i cały ten podsystem mógłby być zasilany z małej zegarkowej bateryjki przez miesiące, na tyle jest &amp;quot;delikatny&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ważne jest, żeby rozróżniać te dwa światy!''' Jeśli ktoś spróbowałby podłączyć silnik do tego samego pinu, który jest połączony z Maliną prawdopodobnie spaliłby i sterownik i komputer (choć Malina ma pewne zabezpieczenia przed takim brutalnym traktowaniem i czasem zdąży się wyłączyć w porę). &lt;br /&gt;
&lt;br /&gt;
Ale jest też odwrotnie. W sprzyjających warunkach &amp;quot;delikatna&amp;quot; część cyfrowa potrafi &amp;quot;zamordować&amp;quot; część dużych mocy sterującą silnikami. Jak może do tego dojść? W dokładnie taki sam sposób, jak delikatne, ale nieprzemyślane ruchy kierownicą mogą zniszczyć cały samochód. Chodzi o to, że część cyfrowa steruje systemem, który ma już jakąś niemałą energię (silnik, koła).  W przypadku projektu z diodą, jeśli kod zawierał jakąś nie do końca przemyślaną instrukcję, najgorszym co mogło się stać był brak światła lub świecenie diody w nieoczekiwany sposób. Nic ponad to. Tymczasem tutaj robot może niespodziewanie ruszyć, skręcić, cofnąć się, i tylko aktualne otoczenie decyduje o tym jak to się skończy (coś do picia, klawiatura i szalony robot to całkiem skuteczny przepis na większe wydatki). Z tego powodu najlepiej na początku ustawić robota z kołami napędowymi w powietrzu (albo bez kół), żeby odebrać mu możliwość niekontrolowanego ruszania. &lt;br /&gt;
&lt;br /&gt;
'''Trzeba też uwzględnić specyficzną cechę samego sterownika. Jego instrukcja mówi o tym, że nie wolno podłączać/odłączać przewodów silnika kiedy zasilanie silnika jest włączone (podany sygnał 1 na wyjściu SLP)'''.  Ponieważ sygnał na wyjściu '''SLP''' podaje Malina najprościej zapamiętać, że jeśli potrzebujemy odłączyć sterownik to zawsze najpierw odłączamy Malinę (czyli 8 punktową wtyczkę, która będzie po lewej stronie na diagramie), a potem silniki (czyli wtyczka po prawej, pin &amp;quot;masy&amp;quot; Maliny znajdujący się na dole tej wtyczki nie jest problemem). I w odwrotnej kolejności podłączamy sterownik, czyli najpierw silniki, potem Malinę. W ten sposób mamy zawsze pewność, że przewody silników będą wyłączane/włączane przy wyłączonym zasilaniu. &lt;br /&gt;
&lt;br /&gt;
[[Plik:Wyprowadzenie_zasilania_5V_z_wtyczki_USB.jpg|thumb|300|Wyprowadzenie zasilania z wtyczki USB. Dodatkowe szczegóły zawiera opis obrazka dostępny po jego kliknięciu.]]&lt;br /&gt;
&lt;br /&gt;
I jeszcze jedno wyjaśnienie dlaczego wyjście '''M0''' jest podłączone do masy. Chodzi o to, że zastosowany sterownik obsługuje funkcję bardzo przydatną w bardziej precyzyjnych urządzeniach. Potrafi mianowicie wykonywać tylko ułamek kroku zamiast od razu cały. Typowy silnik krokowy (taki jak nasz) wykonuje 200 kroków na pełny obrót. Ten sterownik potrafi podzielić jeden krok nawet na 32 drobniejsze, co daje aż 6400 kroków na jeden pełny obrót! W bardziej precyzyjnych urządzeniach (np. drukarce 3D) ta opcja może być przydatna, ale nam nie jest potrzebna. O tym jak dzielony jest krok decydują piny '''M0''' i '''M1''' sterownika. Jeśli '''M1''' pozostawimy niepodłączony, a na '''M0''' podamy logiczne '''0''' (czyli zero woltów, a więc właśnie '''masę''') wówczas sterownik nie będzie dzielił kroku i jeden impuls na wejściu '''STEP''' będzie powodował wykonanie 1/200 obrotu przez silnik. Dzięki temu wystarczy posłanie tylko 200 impulsów żeby obrócić koło jeden raz. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Oprogramowanie ==&lt;br /&gt;
&lt;br /&gt;
=== Pomocniczy moduł do obsługi silników ===&lt;br /&gt;
Żeby móc się skupić na programowaniu konkretnych tras do obsługi silników użyjemy gotowego, prostego modułu pythona. Jego kod można pobrać stąd: &lt;br /&gt;
&lt;br /&gt;
[[Plik:Silniki.zip]]&lt;br /&gt;
&lt;br /&gt;
Moduł zawiera kilka prostych funkcji, dzięki którym można wykonać automatycznie inicjowanie portów maliny, włączać/wyłączać silniki, wykonywać pojedynczy krok w zadanym kierunku, a nawet całe sekwencje kroków. Z jego użyciem zaprogramowanie trasy przejazdu sprowadza się do napisania po prostu instrukcji dokąd jechać. Zwróć uwagę, że choć sam plik modułu jest długi, większość to komentarze i opisy działania funkcji.&lt;br /&gt;
&lt;br /&gt;
Na wykresie połączeń elektrycznych powyżej napisane jest, że należy wybrać dowolne z wolnych portów Maliny. Jednak kod modułu obsługi silników musi znać już konkretne numery portów, bo inaczej nie byłoby jasne na które wyjścia posyłać sygnały sterujące. Dlatego w liniach 22-24 dla lewego silnika, i 26-28 dla prawego, wpisane zostały numery portów Maliny, do których podpięte są kable łączące do wyjść '''SLP''', '''STEP''', '''DIR''' sterowników. Połączenia pomiędzy Maliną ze sterownikami najprościej wykonać patrząc na tabelę zaczynającą się w linii 8. Jakieś drobne pomyłki w połączeniach nie powinny być szkodliwe, ale to jest właśnie taki moment przez który robot rusza w nieoczekiwanych momentach, dlatego lepiej zachować uwagę. Najlepiej też zrobić połączenia przed włączeniem zasilania.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# coding: utf-8&lt;br /&gt;
&lt;br /&gt;
import RPi.GPIO as gpio&lt;br /&gt;
from time import sleep&lt;br /&gt;
&lt;br /&gt;
# Poniższa numeracja pinów zakłada następujące połączenia kablowe:&lt;br /&gt;
#&lt;br /&gt;
# |   PIN MALINY  |  LEWY STEROWNIK SILNIKA | PRAWY STEROWNIK SILNIKA |&lt;br /&gt;
#  --------------- ------------------------- -------------------------&lt;br /&gt;
# |        9      |                         |          GND            |&lt;br /&gt;
# |       11      |                         |          SLP            |&lt;br /&gt;
# |       13      |                         |          STEP           | &lt;br /&gt;
# |       15      |                         |          DIR            | &lt;br /&gt;
# |               |                         |                         | &lt;br /&gt;
# |       16      |            DIR          |                         | &lt;br /&gt;
# |       18      |            STEP         |                         | &lt;br /&gt;
# |       20      |            GND          |                         | &lt;br /&gt;
# |       22      |            SLP          |                         | &lt;br /&gt;
# &lt;br /&gt;
# Oczywiście jeśli wybrało się inne wyjścia numery poniżej można &lt;br /&gt;
# (i trzeba) pozmieniać&lt;br /&gt;
PIN_SILNIK_LEWY_KIERUNEK = 16    &lt;br /&gt;
PIN_SILNIK_LEWY_KROK = 18       &lt;br /&gt;
PIN_SILNIK_LEWY_WLACZ = 22&lt;br /&gt;
&lt;br /&gt;
PIN_SILNIK_PRAWY_WLACZ = 11&lt;br /&gt;
PIN_SILNIK_PRAWY_KROK = 13&lt;br /&gt;
PIN_SILNIK_PRAWY_KIERUNEK = 15&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Stałe pozwalające czytelniej pisać kod. &lt;br /&gt;
# Zamiast krok(-1, 1) można napisać krok(TYL, PRZOD).&lt;br /&gt;
# Obie instrukcje zrobią to samo, ale druga jest czytelniejsza.&lt;br /&gt;
PRZOD = 1&lt;br /&gt;
STOP = 0&lt;br /&gt;
TYL = -1&lt;br /&gt;
&lt;br /&gt;
# Domyślny czas wykonywania kroku (5 milisekund). &lt;br /&gt;
#&lt;br /&gt;
# Przy 5 milisekundach można wykonać maksymalnie 200 kroków/s, &lt;br /&gt;
# co przy 60mm kole daje prędkość ~200mm/s. &lt;br /&gt;
#&lt;br /&gt;
# Ustawienie większej wartości daje silnikowi więcej czasu &lt;br /&gt;
# na wykonanie ruchu i jest on pewniejszy (silnik zawsze zdąży).&lt;br /&gt;
#&lt;br /&gt;
# Krótszy czas zwiększa maksymalną prędkość obrotową, ale może &lt;br /&gt;
# powodować, że pierwsza lepsza przeszkoda obciąży silnik na tyle, &lt;br /&gt;
# że nie zdąży on wykonać kroku i zablokuje się w miejscu.&lt;br /&gt;
#&lt;br /&gt;
# Poniżej 1ms silnik może się blokować nawet bez obciążenia.&lt;br /&gt;
DOMYSLNY_CZAS_KROKU = 0.005&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def przygotuj():&lt;br /&gt;
    '''&lt;br /&gt;
    Ta funkcja przygotowuje piny Maliny do komunikacji ze sterownikami &lt;br /&gt;
    silników. Należy ją wywołać na początku programu, przed wszystkimi &lt;br /&gt;
    innymi. &lt;br /&gt;
    '''&lt;br /&gt;
    gpio.setmode(gpio.BOARD)&lt;br /&gt;
    piny_sterowania_silnikow = [PIN_SILNIK_LEWY_KROK, &lt;br /&gt;
        PIN_SILNIK_LEWY_KIERUNEK, PIN_SILNIK_LEWY_WLACZ, &lt;br /&gt;
        PIN_SILNIK_PRAWY_KROK, PIN_SILNIK_PRAWY_KIERUNEK, &lt;br /&gt;
        PIN_SILNIK_PRAWY_WLACZ]&lt;br /&gt;
&lt;br /&gt;
    for pin in piny_sterowania_silnikow:    &lt;br /&gt;
        gpio.setup(pin, gpio.OUT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def podlacz(lewy = 0, prawy = 0):&lt;br /&gt;
    '''&lt;br /&gt;
    Włącza lub wyłącza zasilanie silników. Na przykład:&lt;br /&gt;
    podlacz(1,0) -- włączy zasilanie w silniku lewym i wyłączy w prawym&lt;br /&gt;
    podlacz(0,0) -- wyłączy zasilanie obu silników&lt;br /&gt;
    podlacz(1, None) -- włącza zasilanie lewego silnika nie zmieniając &lt;br /&gt;
                        stanu zasilania prawego&lt;br /&gt;
    podlacz() -- brak parametrów spowoduje przyjęcie domyślnych 0,0&lt;br /&gt;
                 a więc ta instrukcja wyłącza zasilanie obu silników&lt;br /&gt;
    '''&lt;br /&gt;
    # Przełączamy zasilanie silnika o ile wartość nie jest &lt;br /&gt;
    # nieokreślona (None)&lt;br /&gt;
    if lewy is not None:&lt;br /&gt;
        gpio.output(PIN_SILNIK_LEWY_WLACZ, lewy)&lt;br /&gt;
    if prawy is not None:&lt;br /&gt;
        gpio.output(PIN_SILNIK_PRAWY_WLACZ, prawy)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def krok(lewy, prawy, czas = None):&lt;br /&gt;
    '''&lt;br /&gt;
    Wywołanie tej funkcji wysyła impusly sterujące do sterowników silnika, &lt;br /&gt;
    które powodują wykonanie jednego kroku. &lt;br /&gt;
    &lt;br /&gt;
    Na przykład:&lt;br /&gt;
       krok(PRZOD, PRZOD) -- wykonanie kroku w przód przez oba silniki&lt;br /&gt;
       krok(PRZOD, TYL)   -- lewy silnik wykona krok w przód, a prawy w tyl, &lt;br /&gt;
                             pojazd skręci lekko w prawo w miejscu &lt;br /&gt;
       krok(PRZOD, STOP)  -- lewy silnik wykona krok w przód, a prawy &lt;br /&gt;
                             nie poruszy się&lt;br /&gt;
&lt;br /&gt;
    Jeśli nie chcemy używać domyślnego czasu wykonywania kroku (patrz opis &lt;br /&gt;
    zmiennej DOMYSLNY_CZAS_KROKU powyżej) możemy podać inną wartość czasu&lt;br /&gt;
    dla aktualnego kroku jako trzeci paramter. &lt;br /&gt;
    &lt;br /&gt;
    Na przykład:&lt;br /&gt;
       krok(PRZOD, PRZOD, 0.01) -- krok do przodu na obu silnikach z względnie&lt;br /&gt;
                                   długim czasem -- w tym trybie powinno się &lt;br /&gt;
                                   dać pokonać trudne przeszkody, które blokują&lt;br /&gt;
                                   silnik kiedy czas jest krótszy&lt;br /&gt;
    '''&lt;br /&gt;
&lt;br /&gt;
    # Zamieniamy podane polecenie na odpowiednie wartości dla pinów STEP i DIR.&lt;br /&gt;
&lt;br /&gt;
    if lewy == PRZOD:      # PRZOD: generujemy impuls kroku z pinem kierunku na 1&lt;br /&gt;
        lewy_krok = 1&lt;br /&gt;
        lewy_kierunek = 1    &lt;br /&gt;
    elif lewy == STOP:     # STOP: bez impulsu kroku, kierunek bez znaczenia&lt;br /&gt;
        lewy_krok = 0&lt;br /&gt;
        lewy_kierunek = None&lt;br /&gt;
    elif lewy == TYL:      # TYL: impuls kroku z pinem kierunku na 0  &lt;br /&gt;
        lewy_krok = 1&lt;br /&gt;
        lewy_kierunek = 0&lt;br /&gt;
    else:&lt;br /&gt;
        raise &amp;quot;Nieznane polecenie!&amp;quot;  # Nie PRZOD, nie TYL, nie STOP??? To co?   &lt;br /&gt;
&lt;br /&gt;
    # Jak wyżej, tylko dla prawego silnika. Zwróć uwagę, że pin kierunku włączany&lt;br /&gt;
    # jest odwrotnie (dla PRZOD ma wartosc 1, dla TYL 0). Wynika to z budowy &lt;br /&gt;
    # robota gdzie silniki są obrócone do siebie o 180 stopni i trzeba je obracać &lt;br /&gt;
    # w przeciwną stronę, żeby napędzały robota w tym samym kierunku.&lt;br /&gt;
    if prawy == PRZOD:       &lt;br /&gt;
        prawy_krok = 1&lt;br /&gt;
        prawy_kierunek = 0&lt;br /&gt;
    elif prawy == STOP:  &lt;br /&gt;
        prawy_krok = 0&lt;br /&gt;
        prawy_kierunek = None&lt;br /&gt;
    elif prawy == TYL:   &lt;br /&gt;
        prawy_krok = 1&lt;br /&gt;
        prawy_kierunek = 1&lt;br /&gt;
    else:&lt;br /&gt;
        raise &amp;quot;Nieznane polecenie!&amp;quot;  &lt;br /&gt;
&lt;br /&gt;
    # Jeśli czas nie jest podany ustawiamy domyślną wartość zdefiniowaną&lt;br /&gt;
    # w DOMYSLNY_CZAS_KROKU&lt;br /&gt;
    if czas is None:&lt;br /&gt;
        czas = DOMYSLNY_CZAS_KROKU&lt;br /&gt;
&lt;br /&gt;
    # I wykonanie kroku:&lt;br /&gt;
 &lt;br /&gt;
    # Najpierw ustawiamy sygnały na pinach kierunków o ile jest to potrzebne &lt;br /&gt;
    # (np. polecenie STOP nie wymaga ustawiania kierunku)&lt;br /&gt;
    if lewy_kierunek is not None:&lt;br /&gt;
        gpio.output(PIN_SILNIK_LEWY_KIERUNEK, lewy_kierunek)&lt;br /&gt;
&lt;br /&gt;
    if prawy_kierunek is not None:&lt;br /&gt;
        gpio.output(PIN_SILNIK_PRAWY_KIERUNEK, prawy_kierunek)&lt;br /&gt;
&lt;br /&gt;
    # Teraz wysyłamy impuls wykonania kroku, czyli przez połowę podanego czasu &lt;br /&gt;
    # ustawiamy pin na wyznaczoną powyżej wartość, a po chwili dajemy 0. &lt;br /&gt;
    gpio.output(PIN_SILNIK_LEWY_KROK, lewy_krok)&lt;br /&gt;
    gpio.output(PIN_SILNIK_PRAWY_KROK, prawy_krok)&lt;br /&gt;
    sleep(czas*0.5)&lt;br /&gt;
&lt;br /&gt;
    gpio.output(PIN_SILNIK_LEWY_KROK, 0)&lt;br /&gt;
    gpio.output(PIN_SILNIK_PRAWY_KROK, 0)&lt;br /&gt;
    sleep(czas*0.5)&lt;br /&gt;
&lt;br /&gt;
    # Dokładniejszy opis: &lt;br /&gt;
    #&lt;br /&gt;
    # Jeśli wyznaczona wartość ..._krok wynosiła 1, sygnał na pinie STEP skoczy &lt;br /&gt;
    # do 1 (czyli ok. 3 wolty) i potem spadnie do 0. Sterownik zinterpretuje &lt;br /&gt;
    # to jako impuls na wejściu STEP i wygeneruje odpowiednie sygnały &lt;br /&gt;
    # na wyjściach silnika, które przekręcą go o krok. &lt;br /&gt;
    #&lt;br /&gt;
    # Jeśli wartość ..._step wynosi 0, wówczas sygnał na pinie będzie cały czas &lt;br /&gt;
    # ustawiony na 0, sterownik nie otrzyma impulsu na wejściu STEP i nie &lt;br /&gt;
    # wygeneruje nowych sygnałów na wyjściu silnika, który wobec tego pozostanie &lt;br /&gt;
    # w niezmienionej pozycji.&lt;br /&gt;
    #&lt;br /&gt;
    # Wykresy napięcia jakie &amp;quot;widzi&amp;quot; wejście STEP lewego sterownika zależnie &lt;br /&gt;
    # od wartości lewy_krok:&lt;br /&gt;
    # &lt;br /&gt;
    #&lt;br /&gt;
    #                   |         1        |                  |&lt;br /&gt;
    # 3V                |   ...............|                  |&lt;br /&gt;
    #                   |  .               |                  | &lt;br /&gt;
    #  lewy_krok = 1    | .                |.                 |&lt;br /&gt;
    #                   |.                 | .      0         |&lt;br /&gt;
    # 0V ...............|                  |  ................|.............&lt;br /&gt;
    #                   |                  |                  |&lt;br /&gt;
    #                   |                  |                  |&lt;br /&gt;
    #                   |                  |                  |&lt;br /&gt;
    # 3V                |                  |                  |&lt;br /&gt;
    #                   |                  |                  | &lt;br /&gt;
    #  lewy_krok = 0    |                  |                  |&lt;br /&gt;
    #                   |         0        |        0         |&lt;br /&gt;
    # 0V ...............|..................|..................|.............&lt;br /&gt;
    #                   |                  |                  |&lt;br /&gt;
    #                     &amp;lt;-- czas*0.5 --&amp;gt;   &amp;lt;-- czas*0.5 --&amp;gt;     &lt;br /&gt;
    #&lt;br /&gt;
    #                     &amp;lt;------------  czas  -------------&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def zestaw(lewo, prawo, powtorek = 1):&lt;br /&gt;
    '''&lt;br /&gt;
    Funkcja bierze polecenie i powtarza jego wykonanie podaną ilość razy: &lt;br /&gt;
    lewo - polecenie dla lewego silnika&lt;br /&gt;
    prawo - polecenie dla prawego silnika&lt;br /&gt;
    powtorek - oznacza ile razy nalezy ten zestaw kroków powtórzyć&lt;br /&gt;
&lt;br /&gt;
    Na przykład:&lt;br /&gt;
    zestaw(PRZOD, STOP, 10)   -- wykona 10 kroków do przodu lewym silnikiem,&lt;br /&gt;
    zestaw(PRZOD, PRZOD, 200) -- wykona 200 kroków do przodu oboma silnikami,&lt;br /&gt;
                                 a więc koła obrócą się o pełny obrót  &lt;br /&gt;
    zestaw(PRZOD, TYL, 100)   -- obróci lewe koło 100 kroków do przodu, &lt;br /&gt;
                                 a prawe 100 do tyłu, a więc robot powinien &lt;br /&gt;
                                 wykonać skręt w prawo w miejscu.&lt;br /&gt;
    ''' &lt;br /&gt;
    for i in xrange(1, 1 + powtorek):&lt;br /&gt;
        krok(lewo, prawo)&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
def sekwencja(lista_zestawow):&lt;br /&gt;
    '''&lt;br /&gt;
    Czyta podaną listę i wykonuje kolejno podane w niej zestawy kroków.&lt;br /&gt;
&lt;br /&gt;
    lista_zestawów -- lista zawierająca kolejne zestawy; w pythonie &lt;br /&gt;
                      listę podaje się w nawiasach kwadratowych [] &lt;br /&gt;
                      oddzielając elementy przecinkami &lt;br /&gt;
&lt;br /&gt;
    Na przykład:&lt;br /&gt;
&lt;br /&gt;
    sekwencja([ (PRZOD, PRZOD, 400), (PRZOD, TYL, 100), (TYL, PRZOD, 100) ]) &lt;br /&gt;
&lt;br /&gt;
         -- wykona kolejno trzy zestawy: &lt;br /&gt;
            1. (PRZOD, PRZOD, 400)&lt;br /&gt;
            2. (PRZOD, TYL, 100)&lt;br /&gt;
            3. (TYL, PRZOD, 100)&lt;br /&gt;
            Pierwszy spowoduje podjechanie modelu o dwa pełne obroty kół &lt;br /&gt;
            do przodu. Drugi obrócenie lewego koła do przodu a prawego &lt;br /&gt;
            do tyłu o pół obrotu, a wiec robot skręci w miejscu w prawo. &lt;br /&gt;
            Ostatni zestaw spowoduje skręt w miejscu w przeciwną stronę &lt;br /&gt;
            - robot powróci do pierwotnego kierunku. Cała sekwencja wyglądać &lt;br /&gt;
            będzie tak jakby robot podjechał do przodu i rozejrzał się &lt;br /&gt;
            w prawo. &lt;br /&gt;
    '''&lt;br /&gt;
    for kolejny_zestaw in lista_zestawow:&lt;br /&gt;
        zestaw(*kolejny_zestaw)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Przykłady użycia ===&lt;br /&gt;
Dzięki modułowi '''silniki''' sterowanie ruchem sprowadza się do prostych instrukcji. &lt;br /&gt;
&lt;br /&gt;
Na początek spróbujmy zobaczyć instrukcję  &amp;lt;code&amp;gt;zestaw(''lewy, prawy, powtorek'')&amp;lt;/code&amp;gt; w akcji.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# coding: utf-8&lt;br /&gt;
import silniki as s&lt;br /&gt;
&lt;br /&gt;
# Przygotowanie portów Maliny do pracy&lt;br /&gt;
s.przygotuj()&lt;br /&gt;
&lt;br /&gt;
# Włączenie zasilania silników -- po tej instrukcji silniki powinny zablokować się w ustalonej pozycji&lt;br /&gt;
s.podlacz(1,1)&lt;br /&gt;
&lt;br /&gt;
# 10 obrotów kół (czyli 10*200 kroków) w przód&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 2000) &lt;br /&gt;
&lt;br /&gt;
# Jeden obrót lewego koła w przód, prawe stoi -- robot skręca w prawo&lt;br /&gt;
s.zestaw(s.PRZOD, s.STOP, 200)&lt;br /&gt;
&lt;br /&gt;
# Koniec programu, wyłączamy zasilanie silników -- po tej instrukcji koła znów obracają się lekko&lt;br /&gt;
s.podlacz(0,0)&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Po zapisaniu tego kodu w pliku &amp;lt;code&amp;gt;silniki_p1.py&amp;lt;/code&amp;gt; i wydaniu polecenia&lt;br /&gt;
&lt;br /&gt;
 pi@raspberrypi:~ $ python silniki_p1.py &lt;br /&gt;
&lt;br /&gt;
robot powinien przejechać 10 obrotów kół do przodu,  a potem skręcić w prawo. Oczywiście nie będzie to możliwe jeśli będziemy się łączyć z Maliną poprzez kabel USB dlatego w tej chwili najlepiej zdjąć koła, albo unieść je w górę i obserwować czy wykonują oczekiwane ruchy. Poniżej pokażemy gdzie wstawić powyższą instrukcję, żeby robot wykonywał podany kod zaraz po włączeniu. Wówczas będzie można podłączyć Malinę do powerbanku i oglądać wykonanie instrukcji w ruchu.&lt;br /&gt;
&lt;br /&gt;
== W akcji ==&lt;br /&gt;
Przykładowy kod sterujący i zachowaniem trzykołowca&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# coding: utf-8&lt;br /&gt;
import silniki as s&lt;br /&gt;
&lt;br /&gt;
s.przygotuj()                      # Przygotowanie pinów Maliny do wysyłania sygnałów.&lt;br /&gt;
s.podlacz(1,1)                     # Włączamy zasilanie silników, koła trudno obracać. &lt;br /&gt;
&lt;br /&gt;
s.zestaw(s.TYL, s.PRZOD, 60)       # lewe koło to tyłu, prawe do przodu o 60 kroków -- skręt w lewo&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)    # 400 kroków w przód, bok kwadratu ok. 50cm&lt;br /&gt;
s.zestaw(s.TYL, s.PRZOD, 60)       # skręt i drugi bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
s.zestaw(s.TYL, s.PRZOD, 60)       # skręt i trzeci bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
s.zestaw(s.TYL, s.PRZOD, 60)       # skręt i czwarty bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
&lt;br /&gt;
s.zestaw(s.PRZOD, s.TYL, 60)       # lewe koło w przód, prawe w tył -- skręt w prawo&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)    # robot jedzie w kierunku stopy na filmie&lt;br /&gt;
s.zestaw(s.PRZOD, s.TYL, 60)       # kolej skręt i bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
s.zestaw(s.PRZOD, s.TYL, 60)       # następny&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
s.zestaw(s.PRZOD, s.TYL, 60)       # ostatni skręt i bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
&lt;br /&gt;
# ... i tak dalej, kolejny kwadrat w lewo&lt;br /&gt;
&lt;br /&gt;
s.podlacz(0,0)           # Wyłączamy zasilanie silników, koła znów obracają się lekko&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;fSHDZ6fRyPc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Roboty]]&lt;br /&gt;
[[Category:Projekty_Pi_Zero]]&lt;br /&gt;
[[Category:Silniki_krokowe]]&lt;br /&gt;
[[Category:Moduły_elektroniczne]]&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Trzyko%C5%82owiec&amp;diff=624</id>
		<title>Trzykołowiec</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Trzyko%C5%82owiec&amp;diff=624"/>
		<updated>2019-11-19T14:00:24Z</updated>

		<summary type="html">&lt;p&gt;Isj: /* Wymiary i masa */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Projekt prostego programowalnego robota kołowego z dwoma silnikami. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Do czego zmierzamy ==&lt;br /&gt;
Chodzi o to, żeby względnie małym nakładem pracy uzyskać robota, którego można łatwo zaprogramować. Dzięki temu bez zbędnych komplikacji będzie można rozpocząć realną zabawę w całkiem poważną robotykę. Robot będzie się składał z dwóch, oddzielnie sterowanych silników napędowych wyposażonych w koła, oraz trzeciego podpierającego. Możliwość sterowania obrotami każdego z kół z osobna pozwala zaprogramować dowolny kierunek jazdy i tworzyć dowolne trasy przejazdu. Podstawowe możliwości, uniwersalność i przez to przydatność takiego robota pokazuje poniższy film, gdzie projektanci z firmy Microsoft użyli dokładnie takiej konstrukcji w swoich projektach. Co więcej, tak samo jak my użyli Maliny jako &amp;quot;mózgu&amp;quot; robota.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;vimeo&amp;quot;&amp;gt;126458720&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Konstrukcja ==&lt;br /&gt;
=== Silnik ===&lt;br /&gt;
[[Plik:Nema_14.jpg|thumb|right|250px|Silnik o rozmiarze NEMA 14.]]&lt;br /&gt;
Do napędu kół użyjemy silnika krokowego o następujących parametrach:&lt;br /&gt;
* rozmiar NEMA 14, czyli boki '''35x35 mm''', ponadto nasz silnik będzie miał '''34 mm długości''' i oś wystającą na 20mm o średnicy 5mm&lt;br /&gt;
* waga '''180g'''&lt;br /&gt;
* maksymalny moment obrotowy '''120 mN/m''' (miliniutonów na metr)&lt;br /&gt;
* żeby wykonać pełny obrót silnik potrzebuje '''200 kroków'''&lt;br /&gt;
* pobór prądu '''750mA'''(miliamperów) przy napięciu zasilającym '''4.35V'''&lt;br /&gt;
&lt;br /&gt;
[[Plik:Silnik_krokowy_w_środku.jpg|right|250px|thumb|Tak wygląda w środku.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zasadę działania silnika krokowego przedstawia animacja poniżej: włączamy prąd w kolejnych uzwojeniach, co wytwarza silne pole magnetyczne, które przyciąga metalowe wypustki wirnika i obraca go o pewien mały kąt. Zależnie od tego w jakiej kolejności włączamy cewki, silnik będzie się kręcił w lewo lub prawo. Dużo więcej magii w tym nie ma ;).&lt;br /&gt;
&lt;br /&gt;
[[Plik:StepperMotor.gif|center]]&lt;br /&gt;
&lt;br /&gt;
Jak widać na zdjęciu rozebranego realnego silnika, praktyczna realizacja jest trochę inna: w tym przypadku mamy 8 cewek elektromagnesów na obwodzie (miedziane zwoje drutu na dole zdjęcia), a nie 4 jak na schemacie. Jednak sama zasada pozostaje ta sama. Dodatkowe cewki i podwójny rotor jak widać na zdjęciu pozwalają poprawić siłę z jaką silnik się obraca oraz precyzję kontroli kąta obrotu. Szczegóły wyjaśnia film poniżej.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;eyqwLiowZiU&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
==== Co oznaczają podane parametry silnika? ====&lt;br /&gt;
&lt;br /&gt;
===== Wymiary i masa =====&lt;br /&gt;
&lt;br /&gt;
Z rozmiarów silnika zgodnego z normą NEMA 14 i jego masy widzimy, że choć silnik nie jest jakoś przerażająco wielki, to jest jednak całkiem solidnym kawałkiem metalu. Same dwa silniki napędowe będą ważyły 360g, a więc dodając jeszcze powerbank, możemy się spodziewać, że cały robot będzie ważył około 1kg. To oszacowanie przyda się przy projektowaniu podwozia. Dzięki niemu wiemy jaką mniej więcej powinno mieć wytrzymałość &amp;amp;mdash; w przybliżeniu powinno być sztywniejsze niż choćby karta bankomatowa.&lt;br /&gt;
&lt;br /&gt;
===== Moment obrotowy 120 mN/m =====&lt;br /&gt;
&lt;br /&gt;
Gdyby przeczytać tą liczbę brzmiałaby ''&amp;quot;sto dwadzieścia miliniutonów na metr&amp;quot;''. Pierwsza część to niewielka siła (okolice ciężaru odtwarzacza mp3). Ale o jaki metr chodzi? &lt;br /&gt;
&lt;br /&gt;
O taki, jak gdyby do osi silnika przymocować metrowy patyk pod kątem prostym do osi (tak jak szprycha w kole roweru). Kiedy silnik pracowałby z całej siły wówczas koniec takiego metrowego patyka naciskałby na rękę z podaną siłą, lub jak kto woli wystarczyłoby delikatnie trzymać jego koniec, żeby silnik nie mógł się obracać. &lt;br /&gt;
&lt;br /&gt;
Łatwo wyczuć intuicyjnie, że gdyby patyk był krótszy, wówczas trzeba by było użyć większej siły, żeby powstrzymać silnik przed obracaniem się. Kto nie wierzy niech spróbuje przytrzymać koło roweru za szprychę najpierw chwytając blisko opony, a potem bliżej środka. O razu widać, że o ile trzymanie przy oponie jakoś wychodzi, to bliżej środka palce są za słabe. Fizycy mówią, że '''jeśli skracamy ramię na które działa pewien moment obrotowy, to siła na końcu ramienia rośnie proporcjonalnie'''. &lt;br /&gt;
&lt;br /&gt;
'''I to jest bardzo dobra wiadomość!&amp;quot;' Gdybyśmy mieli silnik pchający robota do przodu z siłą tylko 120mN moglibyśmy zapomnieć o jeździe po czymkolwiek mniej gładkim niż stół, a i to wątpliwe... Jeśli jednak skrócimy wymyślony metrowy patyk do połowy, siła na końcu wzrośnie proporcjonalnie do 240mN. Nadal szału nie ma, ale jest postęp!  Gdybyśmy skrócili go do &amp;lt;math&amp;gt;\frac{1}{10}&amp;lt;/math&amp;gt; metra, wówczas otrzymamy 120mN * 10 = 1200mN. Przypomnę, że ''mili'' oznacza jedną tysięczną. Czyli 1200mN to już całkiem ładne 1.2N. &lt;br /&gt;
&lt;br /&gt;
No dobrze, ale przecież nie będziemy używać patyków, tylko koła... To nic nie zmienia! Wystarczy sobie wyobrazić, że nakładamy na oś jeden patyk za drugim dookoła osi (znów, tak jak szprychy w kole roweru). Jeśli nawkładalibyśmy ich odpowiednio dużo powstanie w końcu koło. Na tym polega geniusz wynalazku koła, którego ludzkość  [https://pl.wikipedia.org/wiki/Ko%C5%82o_(technika) bardzo długo nie znała]. Dzięki odsunięciu osi, na której skupiony jest ciężar od podłoża, możemy przesuwać masy ze znacznie mniejszym wysiłkiem, bo cały czas stosujemy dźwignię o takiej długości jak promień koła. &lt;br /&gt;
&lt;br /&gt;
Teraz możemy wrócić do naszej skali, bo oczywiście nikt nie zamierzał(?) używać kół o metrowym promieniu. &lt;br /&gt;
&lt;br /&gt;
Jeśli wyobrazimy sobie, że ktoś założył na osi kółko o średnicy 2cm, wówczas promień będzie miał tylko 1cm, a więc 1/100 metra. Silnik pracujący z maksymalną mocą ciągnąłby pojazd na takich kołach z siłą 120 * 100 = 12000mN, czyli 12 N. Z taką siłą naciska na rękę trzymane w niej 1,2 kg. Jeśli ktoś założyłby kółka o średnicy dwa razy większej (4cm) wówczas siła spadnie do 6N (~600g), a dla kółek o średnicy 6cm do około 4N (~400g). &lt;br /&gt;
&lt;br /&gt;
Czy to dużo czy mało? Możemy łatwo oszacować co to oznacza wyliczając możliwe przyśpieszenia robota. Dla ułatwienia przyjmijmy, że cały będzie ważył około '''1kg'''. &lt;br /&gt;
&lt;br /&gt;
Przyśpieszenie podaje zupełnie prosty wzór, sprzed ponad 300 lat,  pana [https://pl.wikipedia.org/wiki/Isaac_Newton Izaaka Newtona] (czytaj ''niuton''):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;a=\frac{F}{m}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
gdzie: &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;math&amp;gt;F&amp;lt;/math&amp;gt; to siła wyrażona w, a jakże, w '''N''' (niutonach)&lt;br /&gt;
* &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; to masa, u nas 1kg&lt;br /&gt;
* &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; to przyśpieszenie jakiego należy się spodziewać w m/s²&lt;br /&gt;
&lt;br /&gt;
Podstawiając dane dla kół o średnicy 6cm, które dają siłę pchającą 4N na jeden silnik, przy włączonym napędzie na oba koła mamy:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;a=\frac{2*4[N]}{1[kg]}=8 [m/s^2]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jeśli porównamy to z przyśpieszeniem ziemskim, wynoszącym &amp;lt;math&amp;gt;9,81 [m/s^2]&amp;lt;/math&amp;gt; widzimy, że pojazd mógłby przyśpieszać prawie tak szybko jak szybko rzeczy spadają w polu grawitacji Ziemi. Inaczej mówiąc potrzebowałby '''niecałych 3 sekund &amp;quot;do setki&amp;quot; !''' Oczywiście to tylko oszacowanie, które podaje maksymalne przyśpieszenie. W praktyce będzie ono mniejsze. Wystarczy choćby zdać sobie sprawę z tego, że policzyliśmy siłę z jaką pojazd będzie napędzany, ale nie uwzględniliśmy siły tarcia, która będzie go spowalniać. Nawet jednak gdybyśmy spadli w okolice połowy tego przyśpieszenia nadal taki napęd wydaje się sensowny. Niestety oprócz zdolności silnika do przyśpieszania pojazdu, która jak widzimy jest dobra, musimy uwzględnić jeszcze jedno ograniczenie &amp;amp;mdash; maksymalną prędkość z jaką silnik może się obracać. Jak widać na filmie w dalszej części strony, pojazd rusza natychmiast, bez wyraźnych opóźnień, ale jego maksymalna prędkość nie jest wielka.&lt;br /&gt;
&lt;br /&gt;
===== 200 kroków na obrót =====&lt;br /&gt;
Silniki krokowe działają trochę inaczej niż zwykłe. W zwykłym wystarczy włączyć prąd i silnik się obraca. Silnikiem krokowym steruje się inaczej: podaje się odpowiednie impulsy, które powodują, że oś silnika obraca się o pewien kąt. Jak daleko obraca się oś w jednym kroku definiuje właśnie liczba kroków potrzebnych do pełnego obrotu. W przypadku naszego silnika będziemy musieli podać 200 impulsów żeby koło napędowe wykonało jeden obrót. Dzięki takiej dokładności możliwe będzie bardzo precyzyjne sterowanie odległością jaką przemierza każde koło, a przez to będzie można precyzyjnie skręcać.&lt;br /&gt;
&lt;br /&gt;
===== Parametry elektryczne =====&lt;br /&gt;
Jeśli chodzi o napięcie pracy silnika, wynoszące 4.35V, jest ono nieco mniejsze niż '''5V, którego używają porty USB, powerbank''' i którym zasilana jest Malina (przy czym część cyfrowa Maliny działa przy napięciach 0 i 3.3V). &lt;br /&gt;
&lt;br /&gt;
Możemy jednak przyjąć, że nieco wyższe napięcie zasilania jakiego użyjemy, nie będzie groźne dla uzwojeń silnika, a może poprawić prędkość z jaką silnik będzie wykonywał kolejne kroki. W normalnej sytuacji, kiedy silniki jest montowany w większej maszynie unikalibyśmy takiego &amp;quot;podkręcania&amp;quot;, ale w naszym przypadku silnik będzie pracował w otwartej przestrzeni, i pewien nadmiar wydzielanego ciepła jest dopuszczalny.&lt;br /&gt;
&lt;br /&gt;
Znaczenie poboru prądu wyjaśnimy przy okazji rozważań o baterii.&lt;br /&gt;
&lt;br /&gt;
=== Bateria ===&lt;br /&gt;
&lt;br /&gt;
Pobór prądu przez jeden silnik, który wynosi 750mA (miliamperów) oznacza, że gdybyśmy mieli baterię o pojemności 750mAh (miliamperogodzin) pojedynczy silnik mógłby działać przez godzinę. Ponieważ mamy dwa silniki i jeszcze Malinę, która również zużywa prąd, możemy oczekiwać zużycia na poziomie około 1800mAh. &lt;br /&gt;
&lt;br /&gt;
Teoretycznie więc powerbank o takiej pojemności mógłby zasilać robota przez godzinę. W praktyce producenci obiecują gruszki na wierzbie, i lepiej przyjąć co najmniej 2500mA potrzebnej pojemności na godzinę pracy robota. &lt;br /&gt;
&lt;br /&gt;
Powerbanki zwykle ładują się godzinami -- nie rzadko instrukcja podaje 8-10 godzin. Ponieważ byłoby niezbyt wygodnie po każdej godzinie testów czekać 8 godzin do kolejnego naładowania baterii, lepiej zastosować akumulator o większej pojemności niż tylko godzina użytkowania. Ostatecznie więc pobór prądu mówi nam tyle, że przydałby się akumulator o pojemności co najmniej 5000mAh. &lt;br /&gt;
&lt;br /&gt;
Ponadto musimy uwzględnić maksymalne możliwe obciążenie prądowe. Cóż z tego, że mielibyśmy pełny basen wody, jeśli dałoby się z niego czerpać tylko po jednej kropli na godzinę? Musimy więc wybrać powerbank, który będzie miał też odpowiednią wydajność. &lt;br /&gt;
&lt;br /&gt;
Dwa silniki zużywają 750mA * 2 = 1500mA. Do tego prądu trzeba dodać też Malinę, czyli co najmniej 500mA. Powerbank musi znieść obciążenie 2000mA, czyli 2A.&lt;br /&gt;
&lt;br /&gt;
=== Projekt podwozia ===&lt;br /&gt;
Wykonanie podwozia jest zadaniem do wykonania samodzielnie. ''Wszystkie chwyty dozwolone!'' Jeśli masz natchnienie, żeby ulepić podwozie z taśmy klejącej i gumy do żucia proszę bardzo. Jest tylko jedno ograniczenie -- byłoby fajnie gdyby robot zbudowany w oparciu o dostarczone części i zaprojektowane podwozie jeździł! Żeby to ograniczenie dokładniej sprecyzować umówmy się, że: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;thumb&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;thumbinner&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;thumbcaption&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#00bb44&amp;quot;&amp;gt;Części robota (oprócz Maliny) przechodzą na własność konstruktora dopiero po udowodnieniu, że robot jeździ i to zgodnie z podanym programem, czyli inaczej mówiąc '''o własnych siłach zarówno fizycznych jak i &amp;quot;umysłowych&amp;quot;.'''&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jeśli ktoś chciałby zaprojektować podwozie do wydruku na drukarce 3D (to jest możliwa opcja, nie wymaganie!) proponuję wykorzystanie programu FreeCAD. Dla ułatwienia poniżej plik wstępnie przygotowanego projektu robota. Zawiera podstawowe elementy zgodne z ich rozmiarami:&lt;br /&gt;
* płytkę Maliny&lt;br /&gt;
* silniki&lt;br /&gt;
* powerbank&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pozostaje tylko zająć się samym podwoziem i rozmieszczeniem wyżej wymienionych elementów na nim.&lt;br /&gt;
 &lt;br /&gt;
[[Plik:Trzykolowiec.fcstd]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;eAhDwQ00lHU&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Przykładowe rozwiązanie mechanicznej części robota wykonanej na drukarce 3D przedstawiają zdjęcia poniżej.&lt;br /&gt;
&lt;br /&gt;
[[Plik:Platforma_trzykołowca_wykonana_jako_wydruk_3D_--_góra.jpg|400px|thumb|left|Trzykołowiec wydrukowany na drukarce. Widok z góry.]]&lt;br /&gt;
[[Plik:Platforma_robota_wykonana_jako_wydruk_3D_--_spód.jpg|400px|thumb|right|I z dołu.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
== Elektronika ==&lt;br /&gt;
=== Opis wyprowadzeń łącza 40 pinowego ===&lt;br /&gt;
Piny złącza 40 pinowego liczy się zaczynając od kwadratowego (numer 1), a dalej &amp;quot;zygzakiem&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt; napięcie 3.3V &amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 1 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 2 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b style=&amp;quot;color:red&amp;quot;&amp;gt; napięcie 5V &amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right;color: orange&amp;quot;| I²C: SDA (dane) &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;Rezystor podciągający 1.8k do 3.3V&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 3 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 4 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b style=&amp;quot;color:red&amp;gt; napięcie 5V &amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right; color: orange&amp;quot;| I²C: SCL (taktowanie) &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;Rezystor podciągający 1.8k do 3.3V&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 5 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 6 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| GPCLK0 &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;(zegar nr 0, ogólnego przeznaczenia)&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 7 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 8 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;color: green&amp;quot;| UART0: TXD (wysyłka) &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;(na tym łączu działa konsola systemu Raspbian)&amp;lt;/small&amp;gt;&amp;lt;/em&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 9 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 10 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;color: green&amp;quot;| UART0: RXD (odbiór) &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;(na tym łączu działa konsola systemu Raspbian)&amp;lt;/small&amp;gt;&amp;lt;/em&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  11&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 12&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| PWM0/BCM18 &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;(fala prostokątna o programowalnym wypełnieniu z generatora 0)&amp;lt;/small&amp;gt;&amp;lt;/em&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  13&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 14&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  15&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 16&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt; napięcie 3.3V &amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  17&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 18&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| MOSI/BCM10 (urządzenie nadrzędne do podrzędnego na łączu SPI)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  19&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 20&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| MISO (urządzenie podrzędne do nadrzędnego na łączu SPI)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 21 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 22 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| SCLK/BCM11 (taktowanie łącza SPI)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|23 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 24 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| CE0 (linia 0 wyboru chipu łącza SLI)&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 25 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 26 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| CE1 (linia 1 wyboru chipu łącza SLI)&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| ID_SC (dane łącza I²C do pamięci EEPROM)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 27 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 28 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| ID_SC (taktowanie łącza I²C do pamięci EEPROM)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 29 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 30 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  31&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 32&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| PWM0/BCM12&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| PWM1/BCM13&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  33&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 34&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| MISO (urządzenie podrzędne do nadrzędnego na łączu SPI)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  35&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 36&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  37&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 38&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| MOSI/BCM20 (urządzenie nadrzędne do podrzędnego na łączu SPI)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  39&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 40&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;|  SCLK/BCM21 (taktowanie łącza SPI)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Powyżej zastosowane są następujące oznaczenia:&lt;br /&gt;
* '''pogrubiona czcionka''' &amp;amp;mdash; zwykłe piny elektryczne, nie działające w logice cyfrowej ponieważ nie łączą się z procesorem maliny (np. masa, napięcie 3.3V); napięcie '''3.3V''' może pełnić rolę sygnału wejściowego oznaczającego '''1''' ponieważ piny cyfrowe właśnie takiego napięcia spodziewają się jako logicznej jedynki; możliwe jest więc połączenie kablem wyjścia '''3.3V''' z którymś pinem logicznym żeby zasymulować podanie sygnału 1; można też zasilać z tego wyjścia jakieś niewielkie urządzenia np. podpiąć do niego diodę LED, której używamy jako sondy stanów logicznych i sprawdzić czy działa (wydajność zasilania 3.3V wynosi zaledwie kilkadziesiąt mA, nie należy go obciążać większymi układami)&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;'''czerwona pogrubiona czcionka'''&amp;lt;/span&amp;gt; &amp;amp;mdash;  napięcie zasilające '''5V'''; może się przydać do zasilania '''drobnych''' urządzeń (takich jakie można podłączyć do wyjścia USB z którego zasilamy malinę);  UWAGA: Napięcie '''5V''' jest '''za wysokie dla wejść procesora''' i prawie na pewno go uszkodzi! Z tego powodu nie wolno łączyć kablem tych pinów z żadnymi wejściami cyfrowymi na łączu 40-pinowym! Właśnie dlatego oznaczone jest na czerwono! najlepiej na piny 2 i 4 nasunąć kawałek izolacji i o nich zapomnieć&lt;br /&gt;
* zwykła czcionka &amp;amp;mdash; piny cyfrowe gdzie ustawienie z programu wartości '''0''' daje napięcie '''0V''', a wysłanie wartości '''1''' daje napięcie około '''3V'''&lt;br /&gt;
* kolory i opisy przy pinie &amp;amp;mdash; niektóre piny mają ustawioną jakąś domyślną funkcję w systemie Raspbian sterującym maliną; te funkcje można w większości przedefiniować, jednak w czasie włączania systemu pin działa w trybie domyślnym, dopóki go nie przedefiniujemy po swojemu - '''jest to bardzo ważne jeśli do pinu podpięte jest jakieś urządzenie ponieważ po włączeniu maliny do prądu będzie ono otrzymywać przypadkowe sygnały w trakcie wczytywania systemu co może prowadzić do uszkodzeń (np. jeśli jest to silnik ramienia robota)'''; warto zauważyć, że zmiana działania pinu generuje ostrzeżenie i na przykład polecenie &amp;lt;code&amp;gt;gpio.setup(8, gpio.OUT)&amp;lt;/code&amp;gt; (czyli ustawienie pinu 8 jako zwykłe wyjście cyfrowe) wyświetli komunikat, że pin był używany w innej roli; kolory oznaczają piny związane domyślnie z tym samym urządzeniem (np. pary dwupinowych łączy &amp;lt;b style=&amp;quot;color: orange&amp;quot;&amp;gt;I²C&amp;lt;/b&amp;gt;, czy &amp;lt;b style=&amp;quot;color: green&amp;quot;&amp;gt;UART&amp;lt;/b&amp;gt;)&lt;br /&gt;
* brak opisu &amp;amp;mdash; piny nie wykonują żadnej specjalnej funkcji w domyślnej konfiguracji Raspbiana; przy włączeniu zasilania będą ustawione na 0; można ich dowolnie używać&lt;br /&gt;
&lt;br /&gt;
=== Moduł sterownika silnika krokowego DRV8834 i jego połączenie z maliną ===&lt;br /&gt;
[[Plik:Polaczenia_elektryczne_jednego_silnika.png|thumb|800px|right]]&lt;br /&gt;
Sposób połączenia silnika, źródła zasilania, sterownika i Maliny przedstawia obrazek.&lt;br /&gt;
&lt;br /&gt;
Jak widać w naszym prostym projekcie nie używamy wszystkich wyjść sterownika. &lt;br /&gt;
&lt;br /&gt;
Na diagramie niektóre z używanych wyjść są podpisane kolorem czerwonym, a inne jasnozielonym. Chodzi o to, żeby wyraźnie pokazać, że choć tego nie widać sterownik rozdziela cały układ na dwa zupełnie różne światy:&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;'''świat silnika''' &amp;amp;mdash; tutaj krążą duże prądy (takie, które mogą spokojnie odparować cieńsze przewody!), pojawiają się wyższe napięcia (rzędu kilkunastu woltów), układy pracują z dużą mocą (silnik potrafi być nawet gorący)&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:lightgreen&amp;quot;&amp;gt;'''świat cyfrowy''' &amp;amp;mdash; tutaj nie ma wielkiego znaczenia moc sygnału, a tylko czy ustawiony jest stan '''1''' (ok. 3 wolty) czy stan '''0''' (ok. zero woltów); wszystkie elementy z tego świata spodziewają się maksymalnie kilku woltów napięcia, nie zostały zaprojektowane do obsługiwania takich wielkich obciążeń jak silniki i cały ten podsystem mógłby być zasilany z małej zegarkowej bateryjki przez miesiące, na tyle jest &amp;quot;delikatny&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ważne jest, żeby rozróżniać te dwa światy!''' Jeśli ktoś spróbowałby podłączyć silnik do tego samego pinu, który jest połączony z Maliną prawdopodobnie spaliłby i sterownik i komputer (choć Malina ma pewne zabezpieczenia przed takim brutalnym traktowaniem i czasem zdąży się wyłączyć w porę). &lt;br /&gt;
&lt;br /&gt;
Ale jest też odwrotnie. W sprzyjających warunkach &amp;quot;delikatna&amp;quot; część cyfrowa potrafi &amp;quot;zamordować&amp;quot; część dużych mocy sterującą silnikami. Jak może do tego dojść? W dokładnie taki sam sposób, jak delikatne, ale nieprzemyślane ruchy kierownicą mogą zniszczyć cały samochód. Chodzi o to, że część cyfrowa steruje systemem, który ma już jakąś niemałą energię (silnik, koła).  W przypadku projektu z diodą, jeśli kod zawierał jakąś nie do końca przemyślaną instrukcję, najgorszym co mogło się stać był brak światła lub świecenie diody w nieoczekiwany sposób. Nic ponad to. Tymczasem tutaj robot może niespodziewanie ruszyć, skręcić, cofnąć się, i tylko aktualne otoczenie decyduje o tym jak to się skończy (coś do picia, klawiatura i szalony robot to całkiem skuteczny przepis na większe wydatki). Z tego powodu najlepiej na początku ustawić robota z kołami napędowymi w powietrzu (albo bez kół), żeby odebrać mu możliwość niekontrolowanego ruszania. &lt;br /&gt;
&lt;br /&gt;
'''Trzeba też uwzględnić specyficzną cechę samego sterownika. Jego instrukcja mówi o tym, że nie wolno podłączać/odłączać przewodów silnika kiedy zasilanie silnika jest włączone (podany sygnał 1 na wyjściu SLP)'''.  Ponieważ sygnał na wyjściu '''SLP''' podaje Malina najprościej zapamiętać, że jeśli potrzebujemy odłączyć sterownik to zawsze najpierw odłączamy Malinę (czyli 8 punktową wtyczkę, która będzie po lewej stronie na diagramie), a potem silniki (czyli wtyczka po prawej, pin &amp;quot;masy&amp;quot; Maliny znajdujący się na dole tej wtyczki nie jest problemem). I w odwrotnej kolejności podłączamy sterownik, czyli najpierw silniki, potem Malinę. W ten sposób mamy zawsze pewność, że przewody silników będą wyłączane/włączane przy wyłączonym zasilaniu. &lt;br /&gt;
&lt;br /&gt;
[[Plik:Wyprowadzenie_zasilania_5V_z_wtyczki_USB.jpg|thumb|300|Wyprowadzenie zasilania z wtyczki USB. Dodatkowe szczegóły zawiera opis obrazka dostępny po jego kliknięciu.]]&lt;br /&gt;
&lt;br /&gt;
I jeszcze jedno wyjaśnienie dlaczego wyjście '''M0''' jest podłączone do masy. Chodzi o to, że zastosowany sterownik obsługuje funkcję bardzo przydatną w bardziej precyzyjnych urządzeniach. Potrafi mianowicie wykonywać tylko ułamek kroku zamiast od razu cały. Typowy silnik krokowy (taki jak nasz) wykonuje 200 kroków na pełny obrót. Ten sterownik potrafi podzielić jeden krok nawet na 32 drobniejsze, co daje aż 6400 kroków na jeden pełny obrót! W bardziej precyzyjnych urządzeniach (np. drukarce 3D) ta opcja może być przydatna, ale nam nie jest potrzebna. O tym jak dzielony jest krok decydują piny '''M0''' i '''M1''' sterownika. Jeśli '''M1''' pozostawimy niepodłączony, a na '''M0''' podamy logiczne '''0''' (czyli zero woltów, a więc właśnie '''masę''') wówczas sterownik nie będzie dzielił kroku i jeden impuls na wejściu '''STEP''' będzie powodował wykonanie 1/200 obrotu przez silnik. Dzięki temu wystarczy posłanie tylko 200 impulsów żeby obrócić koło jeden raz. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Oprogramowanie ==&lt;br /&gt;
&lt;br /&gt;
=== Pomocniczy moduł do obsługi silników ===&lt;br /&gt;
Żeby móc się skupić na programowaniu konkretnych tras do obsługi silników użyjemy gotowego, prostego modułu pythona. Jego kod można pobrać stąd: &lt;br /&gt;
&lt;br /&gt;
[[Plik:Silniki.zip]]&lt;br /&gt;
&lt;br /&gt;
Moduł zawiera kilka prostych funkcji, dzięki którym można wykonać automatycznie inicjowanie portów maliny, włączać/wyłączać silniki, wykonywać pojedynczy krok w zadanym kierunku, a nawet całe sekwencje kroków. Z jego użyciem zaprogramowanie trasy przejazdu sprowadza się do napisania po prostu instrukcji dokąd jechać. Zwróć uwagę, że choć sam plik modułu jest długi, większość to komentarze i opisy działania funkcji.&lt;br /&gt;
&lt;br /&gt;
Na wykresie połączeń elektrycznych powyżej napisane jest, że należy wybrać dowolne z wolnych portów Maliny. Jednak kod modułu obsługi silników musi znać już konkretne numery portów, bo inaczej nie byłoby jasne na które wyjścia posyłać sygnały sterujące. Dlatego w liniach 22-24 dla lewego silnika, i 26-28 dla prawego, wpisane zostały numery portów Maliny, do których podpięte są kable łączące do wyjść '''SLP''', '''STEP''', '''DIR''' sterowników. Połączenia pomiędzy Maliną ze sterownikami najprościej wykonać patrząc na tabelę zaczynającą się w linii 8. Jakieś drobne pomyłki w połączeniach nie powinny być szkodliwe, ale to jest właśnie taki moment przez który robot rusza w nieoczekiwanych momentach, dlatego lepiej zachować uwagę. Najlepiej też zrobić połączenia przed włączeniem zasilania.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# coding: utf-8&lt;br /&gt;
&lt;br /&gt;
import RPi.GPIO as gpio&lt;br /&gt;
from time import sleep&lt;br /&gt;
&lt;br /&gt;
# Poniższa numeracja pinów zakłada następujące połączenia kablowe:&lt;br /&gt;
#&lt;br /&gt;
# |   PIN MALINY  |  LEWY STEROWNIK SILNIKA | PRAWY STEROWNIK SILNIKA |&lt;br /&gt;
#  --------------- ------------------------- -------------------------&lt;br /&gt;
# |        9      |                         |          GND            |&lt;br /&gt;
# |       11      |                         |          SLP            |&lt;br /&gt;
# |       13      |                         |          STEP           | &lt;br /&gt;
# |       15      |                         |          DIR            | &lt;br /&gt;
# |               |                         |                         | &lt;br /&gt;
# |       16      |            DIR          |                         | &lt;br /&gt;
# |       18      |            STEP         |                         | &lt;br /&gt;
# |       20      |            GND          |                         | &lt;br /&gt;
# |       22      |            SLP          |                         | &lt;br /&gt;
# &lt;br /&gt;
# Oczywiście jeśli wybrało się inne wyjścia numery poniżej można &lt;br /&gt;
# (i trzeba) pozmieniać&lt;br /&gt;
PIN_SILNIK_LEWY_KIERUNEK = 16    &lt;br /&gt;
PIN_SILNIK_LEWY_KROK = 18       &lt;br /&gt;
PIN_SILNIK_LEWY_WLACZ = 22&lt;br /&gt;
&lt;br /&gt;
PIN_SILNIK_PRAWY_WLACZ = 11&lt;br /&gt;
PIN_SILNIK_PRAWY_KROK = 13&lt;br /&gt;
PIN_SILNIK_PRAWY_KIERUNEK = 15&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Stałe pozwalające czytelniej pisać kod. &lt;br /&gt;
# Zamiast krok(-1, 1) można napisać krok(TYL, PRZOD).&lt;br /&gt;
# Obie instrukcje zrobią to samo, ale druga jest czytelniejsza.&lt;br /&gt;
PRZOD = 1&lt;br /&gt;
STOP = 0&lt;br /&gt;
TYL = -1&lt;br /&gt;
&lt;br /&gt;
# Domyślny czas wykonywania kroku (5 milisekund). &lt;br /&gt;
#&lt;br /&gt;
# Przy 5 milisekundach można wykonać maksymalnie 200 kroków/s, &lt;br /&gt;
# co przy 60mm kole daje prędkość ~200mm/s. &lt;br /&gt;
#&lt;br /&gt;
# Ustawienie większej wartości daje silnikowi więcej czasu &lt;br /&gt;
# na wykonanie ruchu i jest on pewniejszy (silnik zawsze zdąży).&lt;br /&gt;
#&lt;br /&gt;
# Krótszy czas zwiększa maksymalną prędkość obrotową, ale może &lt;br /&gt;
# powodować, że pierwsza lepsza przeszkoda obciąży silnik na tyle, &lt;br /&gt;
# że nie zdąży on wykonać kroku i zablokuje się w miejscu.&lt;br /&gt;
#&lt;br /&gt;
# Poniżej 1ms silnik może się blokować nawet bez obciążenia.&lt;br /&gt;
DOMYSLNY_CZAS_KROKU = 0.005&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def przygotuj():&lt;br /&gt;
    '''&lt;br /&gt;
    Ta funkcja przygotowuje piny Maliny do komunikacji ze sterownikami &lt;br /&gt;
    silników. Należy ją wywołać na początku programu, przed wszystkimi &lt;br /&gt;
    innymi. &lt;br /&gt;
    '''&lt;br /&gt;
    gpio.setmode(gpio.BOARD)&lt;br /&gt;
    piny_sterowania_silnikow = [PIN_SILNIK_LEWY_KROK, &lt;br /&gt;
        PIN_SILNIK_LEWY_KIERUNEK, PIN_SILNIK_LEWY_WLACZ, &lt;br /&gt;
        PIN_SILNIK_PRAWY_KROK, PIN_SILNIK_PRAWY_KIERUNEK, &lt;br /&gt;
        PIN_SILNIK_PRAWY_WLACZ]&lt;br /&gt;
&lt;br /&gt;
    for pin in piny_sterowania_silnikow:    &lt;br /&gt;
        gpio.setup(pin, gpio.OUT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def podlacz(lewy = 0, prawy = 0):&lt;br /&gt;
    '''&lt;br /&gt;
    Włącza lub wyłącza zasilanie silników. Na przykład:&lt;br /&gt;
    podlacz(1,0) -- włączy zasilanie w silniku lewym i wyłączy w prawym&lt;br /&gt;
    podlacz(0,0) -- wyłączy zasilanie obu silników&lt;br /&gt;
    podlacz(1, None) -- włącza zasilanie lewego silnika nie zmieniając &lt;br /&gt;
                        stanu zasilania prawego&lt;br /&gt;
    podlacz() -- brak parametrów spowoduje przyjęcie domyślnych 0,0&lt;br /&gt;
                 a więc ta instrukcja wyłącza zasilanie obu silników&lt;br /&gt;
    '''&lt;br /&gt;
    # Przełączamy zasilanie silnika o ile wartość nie jest &lt;br /&gt;
    # nieokreślona (None)&lt;br /&gt;
    if lewy is not None:&lt;br /&gt;
        gpio.output(PIN_SILNIK_LEWY_WLACZ, lewy)&lt;br /&gt;
    if prawy is not None:&lt;br /&gt;
        gpio.output(PIN_SILNIK_PRAWY_WLACZ, prawy)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def krok(lewy, prawy, czas = None):&lt;br /&gt;
    '''&lt;br /&gt;
    Wywołanie tej funkcji wysyła impusly sterujące do sterowników silnika, &lt;br /&gt;
    które powodują wykonanie jednego kroku. &lt;br /&gt;
    &lt;br /&gt;
    Na przykład:&lt;br /&gt;
       krok(PRZOD, PRZOD) -- wykonanie kroku w przód przez oba silniki&lt;br /&gt;
       krok(PRZOD, TYL)   -- lewy silnik wykona krok w przód, a prawy w tyl, &lt;br /&gt;
                             pojazd skręci lekko w prawo w miejscu &lt;br /&gt;
       krok(PRZOD, STOP)  -- lewy silnik wykona krok w przód, a prawy &lt;br /&gt;
                             nie poruszy się&lt;br /&gt;
&lt;br /&gt;
    Jeśli nie chcemy używać domyślnego czasu wykonywania kroku (patrz opis &lt;br /&gt;
    zmiennej DOMYSLNY_CZAS_KROKU powyżej) możemy podać inną wartość czasu&lt;br /&gt;
    dla aktualnego kroku jako trzeci paramter. &lt;br /&gt;
    &lt;br /&gt;
    Na przykład:&lt;br /&gt;
       krok(PRZOD, PRZOD, 0.01) -- krok do przodu na obu silnikach z względnie&lt;br /&gt;
                                   długim czasem -- w tym trybie powinno się &lt;br /&gt;
                                   dać pokonać trudne przeszkody, które blokują&lt;br /&gt;
                                   silnik kiedy czas jest krótszy&lt;br /&gt;
    '''&lt;br /&gt;
&lt;br /&gt;
    # Zamieniamy podane polecenie na odpowiednie wartości dla pinów STEP i DIR.&lt;br /&gt;
&lt;br /&gt;
    if lewy == PRZOD:      # PRZOD: generujemy impuls kroku z pinem kierunku na 1&lt;br /&gt;
        lewy_krok = 1&lt;br /&gt;
        lewy_kierunek = 1    &lt;br /&gt;
    elif lewy == STOP:     # STOP: bez impulsu kroku, kierunek bez znaczenia&lt;br /&gt;
        lewy_krok = 0&lt;br /&gt;
        lewy_kierunek = None&lt;br /&gt;
    elif lewy == TYL:      # TYL: impuls kroku z pinem kierunku na 0  &lt;br /&gt;
        lewy_krok = 1&lt;br /&gt;
        lewy_kierunek = 0&lt;br /&gt;
    else:&lt;br /&gt;
        raise &amp;quot;Nieznane polecenie!&amp;quot;  # Nie PRZOD, nie TYL, nie STOP??? To co?   &lt;br /&gt;
&lt;br /&gt;
    # Jak wyżej, tylko dla prawego silnika. Zwróć uwagę, że pin kierunku włączany&lt;br /&gt;
    # jest odwrotnie (dla PRZOD ma wartosc 1, dla TYL 0). Wynika to z budowy &lt;br /&gt;
    # robota gdzie silniki są obrócone do siebie o 180 stopni i trzeba je obracać &lt;br /&gt;
    # w przeciwną stronę, żeby napędzały robota w tym samym kierunku.&lt;br /&gt;
    if prawy == PRZOD:       &lt;br /&gt;
        prawy_krok = 1&lt;br /&gt;
        prawy_kierunek = 0&lt;br /&gt;
    elif prawy == STOP:  &lt;br /&gt;
        prawy_krok = 0&lt;br /&gt;
        prawy_kierunek = None&lt;br /&gt;
    elif prawy == TYL:   &lt;br /&gt;
        prawy_krok = 1&lt;br /&gt;
        prawy_kierunek = 1&lt;br /&gt;
    else:&lt;br /&gt;
        raise &amp;quot;Nieznane polecenie!&amp;quot;  &lt;br /&gt;
&lt;br /&gt;
    # Jeśli czas nie jest podany ustawiamy domyślną wartość zdefiniowaną&lt;br /&gt;
    # w DOMYSLNY_CZAS_KROKU&lt;br /&gt;
    if czas is None:&lt;br /&gt;
        czas = DOMYSLNY_CZAS_KROKU&lt;br /&gt;
&lt;br /&gt;
    # I wykonanie kroku:&lt;br /&gt;
 &lt;br /&gt;
    # Najpierw ustawiamy sygnały na pinach kierunków o ile jest to potrzebne &lt;br /&gt;
    # (np. polecenie STOP nie wymaga ustawiania kierunku)&lt;br /&gt;
    if lewy_kierunek is not None:&lt;br /&gt;
        gpio.output(PIN_SILNIK_LEWY_KIERUNEK, lewy_kierunek)&lt;br /&gt;
&lt;br /&gt;
    if prawy_kierunek is not None:&lt;br /&gt;
        gpio.output(PIN_SILNIK_PRAWY_KIERUNEK, prawy_kierunek)&lt;br /&gt;
&lt;br /&gt;
    # Teraz wysyłamy impuls wykonania kroku, czyli przez połowę podanego czasu &lt;br /&gt;
    # ustawiamy pin na wyznaczoną powyżej wartość, a po chwili dajemy 0. &lt;br /&gt;
    gpio.output(PIN_SILNIK_LEWY_KROK, lewy_krok)&lt;br /&gt;
    gpio.output(PIN_SILNIK_PRAWY_KROK, prawy_krok)&lt;br /&gt;
    sleep(czas*0.5)&lt;br /&gt;
&lt;br /&gt;
    gpio.output(PIN_SILNIK_LEWY_KROK, 0)&lt;br /&gt;
    gpio.output(PIN_SILNIK_PRAWY_KROK, 0)&lt;br /&gt;
    sleep(czas*0.5)&lt;br /&gt;
&lt;br /&gt;
    # Dokładniejszy opis: &lt;br /&gt;
    #&lt;br /&gt;
    # Jeśli wyznaczona wartość ..._krok wynosiła 1, sygnał na pinie STEP skoczy &lt;br /&gt;
    # do 1 (czyli ok. 3 wolty) i potem spadnie do 0. Sterownik zinterpretuje &lt;br /&gt;
    # to jako impuls na wejściu STEP i wygeneruje odpowiednie sygnały &lt;br /&gt;
    # na wyjściach silnika, które przekręcą go o krok. &lt;br /&gt;
    #&lt;br /&gt;
    # Jeśli wartość ..._step wynosi 0, wówczas sygnał na pinie będzie cały czas &lt;br /&gt;
    # ustawiony na 0, sterownik nie otrzyma impulsu na wejściu STEP i nie &lt;br /&gt;
    # wygeneruje nowych sygnałów na wyjściu silnika, który wobec tego pozostanie &lt;br /&gt;
    # w niezmienionej pozycji.&lt;br /&gt;
    #&lt;br /&gt;
    # Wykresy napięcia jakie &amp;quot;widzi&amp;quot; wejście STEP lewego sterownika zależnie &lt;br /&gt;
    # od wartości lewy_krok:&lt;br /&gt;
    # &lt;br /&gt;
    #&lt;br /&gt;
    #                   |         1        |                  |&lt;br /&gt;
    # 3V                |   ...............|                  |&lt;br /&gt;
    #                   |  .               |                  | &lt;br /&gt;
    #  lewy_krok = 1    | .                |.                 |&lt;br /&gt;
    #                   |.                 | .      0         |&lt;br /&gt;
    # 0V ...............|                  |  ................|.............&lt;br /&gt;
    #                   |                  |                  |&lt;br /&gt;
    #                   |                  |                  |&lt;br /&gt;
    #                   |                  |                  |&lt;br /&gt;
    # 3V                |                  |                  |&lt;br /&gt;
    #                   |                  |                  | &lt;br /&gt;
    #  lewy_krok = 0    |                  |                  |&lt;br /&gt;
    #                   |         0        |        0         |&lt;br /&gt;
    # 0V ...............|..................|..................|.............&lt;br /&gt;
    #                   |                  |                  |&lt;br /&gt;
    #                     &amp;lt;-- czas*0.5 --&amp;gt;   &amp;lt;-- czas*0.5 --&amp;gt;     &lt;br /&gt;
    #&lt;br /&gt;
    #                     &amp;lt;------------  czas  -------------&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def zestaw(lewo, prawo, powtorek = 1):&lt;br /&gt;
    '''&lt;br /&gt;
    Funkcja bierze polecenie i powtarza jego wykonanie podaną ilość razy: &lt;br /&gt;
    lewo - polecenie dla lewego silnika&lt;br /&gt;
    prawo - polecenie dla prawego silnika&lt;br /&gt;
    powtorek - oznacza ile razy nalezy ten zestaw kroków powtórzyć&lt;br /&gt;
&lt;br /&gt;
    Na przykład:&lt;br /&gt;
    zestaw(PRZOD, STOP, 10)   -- wykona 10 kroków do przodu lewym silnikiem,&lt;br /&gt;
    zestaw(PRZOD, PRZOD, 200) -- wykona 200 kroków do przodu oboma silnikami,&lt;br /&gt;
                                 a więc koła obrócą się o pełny obrót  &lt;br /&gt;
    zestaw(PRZOD, TYL, 100)   -- obróci lewe koło 100 kroków do przodu, &lt;br /&gt;
                                 a prawe 100 do tyłu, a więc robot powinien &lt;br /&gt;
                                 wykonać skręt w prawo w miejscu.&lt;br /&gt;
    ''' &lt;br /&gt;
    for i in xrange(1, 1 + powtorek):&lt;br /&gt;
        krok(lewo, prawo)&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
def sekwencja(lista_zestawow):&lt;br /&gt;
    '''&lt;br /&gt;
    Czyta podaną listę i wykonuje kolejno podane w niej zestawy kroków.&lt;br /&gt;
&lt;br /&gt;
    lista_zestawów -- lista zawierająca kolejne zestawy; w pythonie &lt;br /&gt;
                      listę podaje się w nawiasach kwadratowych [] &lt;br /&gt;
                      oddzielając elementy przecinkami &lt;br /&gt;
&lt;br /&gt;
    Na przykład:&lt;br /&gt;
&lt;br /&gt;
    sekwencja([ (PRZOD, PRZOD, 400), (PRZOD, TYL, 100), (TYL, PRZOD, 100) ]) &lt;br /&gt;
&lt;br /&gt;
         -- wykona kolejno trzy zestawy: &lt;br /&gt;
            1. (PRZOD, PRZOD, 400)&lt;br /&gt;
            2. (PRZOD, TYL, 100)&lt;br /&gt;
            3. (TYL, PRZOD, 100)&lt;br /&gt;
            Pierwszy spowoduje podjechanie modelu o dwa pełne obroty kół &lt;br /&gt;
            do przodu. Drugi obrócenie lewego koła do przodu a prawego &lt;br /&gt;
            do tyłu o pół obrotu, a wiec robot skręci w miejscu w prawo. &lt;br /&gt;
            Ostatni zestaw spowoduje skręt w miejscu w przeciwną stronę &lt;br /&gt;
            - robot powróci do pierwotnego kierunku. Cała sekwencja wyglądać &lt;br /&gt;
            będzie tak jakby robot podjechał do przodu i rozejrzał się &lt;br /&gt;
            w prawo. &lt;br /&gt;
    '''&lt;br /&gt;
    for kolejny_zestaw in lista_zestawow:&lt;br /&gt;
        zestaw(*kolejny_zestaw)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Przykłady użycia ===&lt;br /&gt;
Dzięki modułowi '''silniki''' sterowanie ruchem sprowadza się do prostych instrukcji. &lt;br /&gt;
&lt;br /&gt;
Na początek spróbujmy zobaczyć instrukcję  &amp;lt;code&amp;gt;zestaw(''lewy, prawy, powtorek'')&amp;lt;/code&amp;gt; w akcji.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# coding: utf-8&lt;br /&gt;
import silniki as s&lt;br /&gt;
&lt;br /&gt;
# Przygotowanie portów Maliny do pracy&lt;br /&gt;
s.przygotuj()&lt;br /&gt;
&lt;br /&gt;
# Włączenie zasilania silników -- po tej instrukcji silniki powinny zablokować się w ustalonej pozycji&lt;br /&gt;
s.podlacz(1,1)&lt;br /&gt;
&lt;br /&gt;
# 10 obrotów kół (czyli 10*200 kroków) w przód&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 2000) &lt;br /&gt;
&lt;br /&gt;
# Jeden obrót lewego koła w przód, prawe stoi -- robot skręca w prawo&lt;br /&gt;
s.zestaw(s.PRZOD, s.STOP, 200)&lt;br /&gt;
&lt;br /&gt;
# Koniec programu, wyłączamy zasilanie silników -- po tej instrukcji koła znów obracają się lekko&lt;br /&gt;
s.podlacz(0,0)&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Po zapisaniu tego kodu w pliku &amp;lt;code&amp;gt;silniki_p1.py&amp;lt;/code&amp;gt; i wydaniu polecenia&lt;br /&gt;
&lt;br /&gt;
 pi@raspberrypi:~ $ python silniki_p1.py &lt;br /&gt;
&lt;br /&gt;
robot powinien przejechać 10 obrotów kół do przodu,  a potem skręcić w prawo. Oczywiście nie będzie to możliwe jeśli będziemy się łączyć z Maliną poprzez kabel USB dlatego w tej chwili najlepiej zdjąć koła, albo unieść je w górę i obserwować czy wykonują oczekiwane ruchy. Poniżej pokażemy gdzie wstawić powyższą instrukcję, żeby robot wykonywał podany kod zaraz po włączeniu. Wówczas będzie można podłączyć Malinę do powerbanku i oglądać wykonanie instrukcji w ruchu.&lt;br /&gt;
&lt;br /&gt;
== W akcji ==&lt;br /&gt;
Przykładowy kod sterujący i zachowaniem trzykołowca&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# coding: utf-8&lt;br /&gt;
import silniki as s&lt;br /&gt;
&lt;br /&gt;
s.przygotuj()                      # Przygotowanie pinów Maliny do wysyłania sygnałów.&lt;br /&gt;
s.podlacz(1,1)                     # Włączamy zasilanie silników, koła trudno obracać. &lt;br /&gt;
&lt;br /&gt;
s.zestaw(s.TYL, s.PRZOD, 60)       # lewe koło to tyłu, prawe do przodu o 60 kroków -- skręt w lewo&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)    # 400 kroków w przód, bok kwadratu ok. 50cm&lt;br /&gt;
s.zestaw(s.TYL, s.PRZOD, 60)       # skręt i drugi bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
s.zestaw(s.TYL, s.PRZOD, 60)       # skręt i trzeci bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
s.zestaw(s.TYL, s.PRZOD, 60)       # skręt i czwarty bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
&lt;br /&gt;
s.zestaw(s.PRZOD, s.TYL, 60)       # lewe koło w przód, prawe w tył -- skręt w prawo&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)    # robot jedzie w kierunku stopy na filmie&lt;br /&gt;
s.zestaw(s.PRZOD, s.TYL, 60)       # kolej skręt i bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
s.zestaw(s.PRZOD, s.TYL, 60)       # następny&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
s.zestaw(s.PRZOD, s.TYL, 60)       # ostatni skręt i bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
&lt;br /&gt;
# ... i tak dalej, kolejny kwadrat w lewo&lt;br /&gt;
&lt;br /&gt;
s.podlacz(0,0)           # Wyłączamy zasilanie silników, koła znów obracają się lekko&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;fSHDZ6fRyPc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Roboty]]&lt;br /&gt;
[[Category:Projekty_Pi_Zero]]&lt;br /&gt;
[[Category:Silniki_krokowe]]&lt;br /&gt;
[[Category:Moduły_elektroniczne]]&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Trzyko%C5%82owiec&amp;diff=623</id>
		<title>Trzykołowiec</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Trzyko%C5%82owiec&amp;diff=623"/>
		<updated>2019-11-19T13:57:29Z</updated>

		<summary type="html">&lt;p&gt;Isj: Dodane video z bardziej szczegółowym opisem działania silnika krokowego z kątem obrotu 1.8° (powszechnie stosowanym)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Projekt prostego programowalnego robota kołowego z dwoma silnikami. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Do czego zmierzamy ==&lt;br /&gt;
Chodzi o to, żeby względnie małym nakładem pracy uzyskać robota, którego można łatwo zaprogramować. Dzięki temu bez zbędnych komplikacji będzie można rozpocząć realną zabawę w całkiem poważną robotykę. Robot będzie się składał z dwóch, oddzielnie sterowanych silników napędowych wyposażonych w koła, oraz trzeciego podpierającego. Możliwość sterowania obrotami każdego z kół z osobna pozwala zaprogramować dowolny kierunek jazdy i tworzyć dowolne trasy przejazdu. Podstawowe możliwości, uniwersalność i przez to przydatność takiego robota pokazuje poniższy film, gdzie projektanci z firmy Microsoft użyli dokładnie takiej konstrukcji w swoich projektach. Co więcej, tak samo jak my użyli Maliny jako &amp;quot;mózgu&amp;quot; robota.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;vimeo&amp;quot;&amp;gt;126458720&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Konstrukcja ==&lt;br /&gt;
=== Silnik ===&lt;br /&gt;
[[Plik:Nema_14.jpg|thumb|right|250px|Silnik o rozmiarze NEMA 14.]]&lt;br /&gt;
Do napędu kół użyjemy silnika krokowego o następujących parametrach:&lt;br /&gt;
* rozmiar NEMA 14, czyli boki '''35x35 mm''', ponadto nasz silnik będzie miał '''34 mm długości''' i oś wystającą na 20mm o średnicy 5mm&lt;br /&gt;
* waga '''180g'''&lt;br /&gt;
* maksymalny moment obrotowy '''120 mN/m''' (miliniutonów na metr)&lt;br /&gt;
* żeby wykonać pełny obrót silnik potrzebuje '''200 kroków'''&lt;br /&gt;
* pobór prądu '''750mA'''(miliamperów) przy napięciu zasilającym '''4.35V'''&lt;br /&gt;
&lt;br /&gt;
[[Plik:Silnik_krokowy_w_środku.jpg|right|250px|thumb|Tak wygląda w środku.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zasadę działania silnika krokowego przedstawia animacja poniżej: włączamy prąd w kolejnych uzwojeniach, co wytwarza silne pole magnetyczne, które przyciąga metalowe wypustki wirnika i obraca go o pewien mały kąt. Zależnie od tego w jakiej kolejności włączamy cewki, silnik będzie się kręcił w lewo lub prawo. Dużo więcej magii w tym nie ma ;).&lt;br /&gt;
&lt;br /&gt;
[[Plik:StepperMotor.gif|center]]&lt;br /&gt;
&lt;br /&gt;
Jak widać na zdjęciu rozebranego realnego silnika, praktyczna realizacja jest trochę inna: w tym przypadku mamy 8 cewek elektromagnesów na obwodzie (miedziane zwoje drutu na dole zdjęcia), a nie 4 jak na schemacie. Jednak sama zasada pozostaje ta sama. Dodatkowe cewki i podwójny rotor jak widać na zdjęciu pozwalają poprawić siłę z jaką silnik się obraca oraz precyzję kontroli kąta obrotu. Szczegóły wyjaśnia film poniżej.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;eyqwLiowZiU&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
==== Co oznaczają podane parametry silnika? ====&lt;br /&gt;
&lt;br /&gt;
===== Wymiary i masa =====&lt;br /&gt;
&lt;br /&gt;
Z rozmiarów silnika zgodnego z normą NEMA 14 i jego masy widzimy, że choć silnik nie jest jakoś przerażająco wielki, to jest jednak całkiem solidnym kawałkiem metalu. Same dwa silniki napędowe będą ważyły 360g, a więc dodając jeszcze powerbank, możemy się spodziewać, że cały robot będzie ważył około 1kg. To oszacowanie przyda się przy projektowaniu podwozia. Dzięki niemu wiemy jaką mniej więcej powinno mieć wytrzymałość: nie musi wytrzymać stojącego na nim człowieka (nawet całkiem małego), ale nie może też być tak miękkie jak choćby karta bankomatowa. &lt;br /&gt;
&lt;br /&gt;
===== Moment obrotowy 120 mN/m =====&lt;br /&gt;
&lt;br /&gt;
Gdyby przeczytać tą liczbę brzmiałaby ''&amp;quot;sto dwadzieścia miliniutonów na metr&amp;quot;''. Pierwsza część to niewielka siła (okolice ciężaru odtwarzacza mp3). Ale o jaki metr chodzi? &lt;br /&gt;
&lt;br /&gt;
O taki, jak gdyby do osi silnika przymocować metrowy patyk pod kątem prostym do osi (tak jak szprycha w kole roweru). Kiedy silnik pracowałby z całej siły wówczas koniec takiego metrowego patyka naciskałby na rękę z podaną siłą, lub jak kto woli wystarczyłoby delikatnie trzymać jego koniec, żeby silnik nie mógł się obracać. &lt;br /&gt;
&lt;br /&gt;
Łatwo wyczuć intuicyjnie, że gdyby patyk był krótszy, wówczas trzeba by było użyć większej siły, żeby powstrzymać silnik przed obracaniem się. Kto nie wierzy niech spróbuje przytrzymać koło roweru za szprychę najpierw chwytając blisko opony, a potem bliżej środka. O razu widać, że o ile trzymanie przy oponie jakoś wychodzi, to bliżej środka palce są za słabe. Fizycy mówią, że '''jeśli skracamy ramię na które działa pewien moment obrotowy, to siła na końcu ramienia rośnie proporcjonalnie'''. &lt;br /&gt;
&lt;br /&gt;
'''I to jest bardzo dobra wiadomość!&amp;quot;' Gdybyśmy mieli silnik pchający robota do przodu z siłą tylko 120mN moglibyśmy zapomnieć o jeździe po czymkolwiek mniej gładkim niż stół, a i to wątpliwe... Jeśli jednak skrócimy wymyślony metrowy patyk do połowy, siła na końcu wzrośnie proporcjonalnie do 240mN. Nadal szału nie ma, ale jest postęp!  Gdybyśmy skrócili go do &amp;lt;math&amp;gt;\frac{1}{10}&amp;lt;/math&amp;gt; metra, wówczas otrzymamy 120mN * 10 = 1200mN. Przypomnę, że ''mili'' oznacza jedną tysięczną. Czyli 1200mN to już całkiem ładne 1.2N. &lt;br /&gt;
&lt;br /&gt;
No dobrze, ale przecież nie będziemy używać patyków, tylko koła... To nic nie zmienia! Wystarczy sobie wyobrazić, że nakładamy na oś jeden patyk za drugim dookoła osi (znów, tak jak szprychy w kole roweru). Jeśli nawkładalibyśmy ich odpowiednio dużo powstanie w końcu koło. Na tym polega geniusz wynalazku koła, którego ludzkość  [https://pl.wikipedia.org/wiki/Ko%C5%82o_(technika) bardzo długo nie znała]. Dzięki odsunięciu osi, na której skupiony jest ciężar od podłoża, możemy przesuwać masy ze znacznie mniejszym wysiłkiem, bo cały czas stosujemy dźwignię o takiej długości jak promień koła. &lt;br /&gt;
&lt;br /&gt;
Teraz możemy wrócić do naszej skali, bo oczywiście nikt nie zamierzał(?) używać kół o metrowym promieniu. &lt;br /&gt;
&lt;br /&gt;
Jeśli wyobrazimy sobie, że ktoś założył na osi kółko o średnicy 2cm, wówczas promień będzie miał tylko 1cm, a więc 1/100 metra. Silnik pracujący z maksymalną mocą ciągnąłby pojazd na takich kołach z siłą 120 * 100 = 12000mN, czyli 12 N. Z taką siłą naciska na rękę trzymane w niej 1,2 kg. Jeśli ktoś założyłby kółka o średnicy dwa razy większej (4cm) wówczas siła spadnie do 6N (~600g), a dla kółek o średnicy 6cm do około 4N (~400g). &lt;br /&gt;
&lt;br /&gt;
Czy to dużo czy mało? Możemy łatwo oszacować co to oznacza wyliczając możliwe przyśpieszenia robota. Dla ułatwienia przyjmijmy, że cały będzie ważył około '''1kg'''. &lt;br /&gt;
&lt;br /&gt;
Przyśpieszenie podaje zupełnie prosty wzór, sprzed ponad 300 lat,  pana [https://pl.wikipedia.org/wiki/Isaac_Newton Izaaka Newtona] (czytaj ''niuton''):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;a=\frac{F}{m}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
gdzie: &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;math&amp;gt;F&amp;lt;/math&amp;gt; to siła wyrażona w, a jakże, w '''N''' (niutonach)&lt;br /&gt;
* &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; to masa, u nas 1kg&lt;br /&gt;
* &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; to przyśpieszenie jakiego należy się spodziewać w m/s²&lt;br /&gt;
&lt;br /&gt;
Podstawiając dane dla kół o średnicy 6cm, które dają siłę pchającą 4N na jeden silnik, przy włączonym napędzie na oba koła mamy:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;a=\frac{2*4[N]}{1[kg]}=8 [m/s^2]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jeśli porównamy to z przyśpieszeniem ziemskim, wynoszącym &amp;lt;math&amp;gt;9,81 [m/s^2]&amp;lt;/math&amp;gt; widzimy, że pojazd mógłby przyśpieszać prawie tak szybko jak szybko rzeczy spadają w polu grawitacji Ziemi. Inaczej mówiąc potrzebowałby '''niecałych 3 sekund &amp;quot;do setki&amp;quot; !''' Oczywiście to tylko oszacowanie, które podaje maksymalne przyśpieszenie. W praktyce będzie ono mniejsze. Wystarczy choćby zdać sobie sprawę z tego, że policzyliśmy siłę z jaką pojazd będzie napędzany, ale nie uwzględniliśmy siły tarcia, która będzie go spowalniać. Nawet jednak gdybyśmy spadli w okolice połowy tego przyśpieszenia nadal taki napęd wydaje się sensowny. Niestety oprócz zdolności silnika do przyśpieszania pojazdu, która jak widzimy jest dobra, musimy uwzględnić jeszcze jedno ograniczenie &amp;amp;mdash; maksymalną prędkość z jaką silnik może się obracać. Jak widać na filmie w dalszej części strony, pojazd rusza natychmiast, bez wyraźnych opóźnień, ale jego maksymalna prędkość nie jest wielka.&lt;br /&gt;
&lt;br /&gt;
===== 200 kroków na obrót =====&lt;br /&gt;
Silniki krokowe działają trochę inaczej niż zwykłe. W zwykłym wystarczy włączyć prąd i silnik się obraca. Silnikiem krokowym steruje się inaczej: podaje się odpowiednie impulsy, które powodują, że oś silnika obraca się o pewien kąt. Jak daleko obraca się oś w jednym kroku definiuje właśnie liczba kroków potrzebnych do pełnego obrotu. W przypadku naszego silnika będziemy musieli podać 200 impulsów żeby koło napędowe wykonało jeden obrót. Dzięki takiej dokładności możliwe będzie bardzo precyzyjne sterowanie odległością jaką przemierza każde koło, a przez to będzie można precyzyjnie skręcać.&lt;br /&gt;
&lt;br /&gt;
===== Parametry elektryczne =====&lt;br /&gt;
Jeśli chodzi o napięcie pracy silnika, wynoszące 4.35V, jest ono nieco mniejsze niż '''5V, którego używają porty USB, powerbank''' i którym zasilana jest Malina (przy czym część cyfrowa Maliny działa przy napięciach 0 i 3.3V). &lt;br /&gt;
&lt;br /&gt;
Możemy jednak przyjąć, że nieco wyższe napięcie zasilania jakiego użyjemy, nie będzie groźne dla uzwojeń silnika, a może poprawić prędkość z jaką silnik będzie wykonywał kolejne kroki. W normalnej sytuacji, kiedy silniki jest montowany w większej maszynie unikalibyśmy takiego &amp;quot;podkręcania&amp;quot;, ale w naszym przypadku silnik będzie pracował w otwartej przestrzeni, i pewien nadmiar wydzielanego ciepła jest dopuszczalny.&lt;br /&gt;
&lt;br /&gt;
Znaczenie poboru prądu wyjaśnimy przy okazji rozważań o baterii.&lt;br /&gt;
&lt;br /&gt;
=== Bateria ===&lt;br /&gt;
&lt;br /&gt;
Pobór prądu przez jeden silnik, który wynosi 750mA (miliamperów) oznacza, że gdybyśmy mieli baterię o pojemności 750mAh (miliamperogodzin) pojedynczy silnik mógłby działać przez godzinę. Ponieważ mamy dwa silniki i jeszcze Malinę, która również zużywa prąd, możemy oczekiwać zużycia na poziomie około 1800mAh. &lt;br /&gt;
&lt;br /&gt;
Teoretycznie więc powerbank o takiej pojemności mógłby zasilać robota przez godzinę. W praktyce producenci obiecują gruszki na wierzbie, i lepiej przyjąć co najmniej 2500mA potrzebnej pojemności na godzinę pracy robota. &lt;br /&gt;
&lt;br /&gt;
Powerbanki zwykle ładują się godzinami -- nie rzadko instrukcja podaje 8-10 godzin. Ponieważ byłoby niezbyt wygodnie po każdej godzinie testów czekać 8 godzin do kolejnego naładowania baterii, lepiej zastosować akumulator o większej pojemności niż tylko godzina użytkowania. Ostatecznie więc pobór prądu mówi nam tyle, że przydałby się akumulator o pojemności co najmniej 5000mAh. &lt;br /&gt;
&lt;br /&gt;
Ponadto musimy uwzględnić maksymalne możliwe obciążenie prądowe. Cóż z tego, że mielibyśmy pełny basen wody, jeśli dałoby się z niego czerpać tylko po jednej kropli na godzinę? Musimy więc wybrać powerbank, który będzie miał też odpowiednią wydajność. &lt;br /&gt;
&lt;br /&gt;
Dwa silniki zużywają 750mA * 2 = 1500mA. Do tego prądu trzeba dodać też Malinę, czyli co najmniej 500mA. Powerbank musi znieść obciążenie 2000mA, czyli 2A.&lt;br /&gt;
&lt;br /&gt;
=== Projekt podwozia ===&lt;br /&gt;
Wykonanie podwozia jest zadaniem do wykonania samodzielnie. ''Wszystkie chwyty dozwolone!'' Jeśli masz natchnienie, żeby ulepić podwozie z taśmy klejącej i gumy do żucia proszę bardzo. Jest tylko jedno ograniczenie -- byłoby fajnie gdyby robot zbudowany w oparciu o dostarczone części i zaprojektowane podwozie jeździł! Żeby to ograniczenie dokładniej sprecyzować umówmy się, że: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;thumb&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;thumbinner&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;thumbcaption&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#00bb44&amp;quot;&amp;gt;Części robota (oprócz Maliny) przechodzą na własność konstruktora dopiero po udowodnieniu, że robot jeździ i to zgodnie z podanym programem, czyli inaczej mówiąc '''o własnych siłach zarówno fizycznych jak i &amp;quot;umysłowych&amp;quot;.'''&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jeśli ktoś chciałby zaprojektować podwozie do wydruku na drukarce 3D (to jest możliwa opcja, nie wymaganie!) proponuję wykorzystanie programu FreeCAD. Dla ułatwienia poniżej plik wstępnie przygotowanego projektu robota. Zawiera podstawowe elementy zgodne z ich rozmiarami:&lt;br /&gt;
* płytkę Maliny&lt;br /&gt;
* silniki&lt;br /&gt;
* powerbank&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pozostaje tylko zająć się samym podwoziem i rozmieszczeniem wyżej wymienionych elementów na nim.&lt;br /&gt;
 &lt;br /&gt;
[[Plik:Trzykolowiec.fcstd]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;eAhDwQ00lHU&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Przykładowe rozwiązanie mechanicznej części robota wykonanej na drukarce 3D przedstawiają zdjęcia poniżej.&lt;br /&gt;
&lt;br /&gt;
[[Plik:Platforma_trzykołowca_wykonana_jako_wydruk_3D_--_góra.jpg|400px|thumb|left|Trzykołowiec wydrukowany na drukarce. Widok z góry.]]&lt;br /&gt;
[[Plik:Platforma_robota_wykonana_jako_wydruk_3D_--_spód.jpg|400px|thumb|right|I z dołu.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
== Elektronika ==&lt;br /&gt;
=== Opis wyprowadzeń łącza 40 pinowego ===&lt;br /&gt;
Piny złącza 40 pinowego liczy się zaczynając od kwadratowego (numer 1), a dalej &amp;quot;zygzakiem&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt; napięcie 3.3V &amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 1 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 2 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b style=&amp;quot;color:red&amp;quot;&amp;gt; napięcie 5V &amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right;color: orange&amp;quot;| I²C: SDA (dane) &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;Rezystor podciągający 1.8k do 3.3V&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 3 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 4 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b style=&amp;quot;color:red&amp;gt; napięcie 5V &amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right; color: orange&amp;quot;| I²C: SCL (taktowanie) &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;Rezystor podciągający 1.8k do 3.3V&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 5 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 6 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| GPCLK0 &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;(zegar nr 0, ogólnego przeznaczenia)&amp;lt;/em&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 7 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 8 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;color: green&amp;quot;| UART0: TXD (wysyłka) &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;(na tym łączu działa konsola systemu Raspbian)&amp;lt;/small&amp;gt;&amp;lt;/em&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 9 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 10 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;color: green&amp;quot;| UART0: RXD (odbiór) &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;(na tym łączu działa konsola systemu Raspbian)&amp;lt;/small&amp;gt;&amp;lt;/em&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  11&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 12&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| PWM0/BCM18 &amp;lt;small&amp;gt;&amp;lt;em&amp;gt;(fala prostokątna o programowalnym wypełnieniu z generatora 0)&amp;lt;/small&amp;gt;&amp;lt;/em&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  13&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 14&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  15&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 16&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt; napięcie 3.3V &amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  17&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 18&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| MOSI/BCM10 (urządzenie nadrzędne do podrzędnego na łączu SPI)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  19&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 20&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| MISO (urządzenie podrzędne do nadrzędnego na łączu SPI)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 21 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 22 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| SCLK/BCM11 (taktowanie łącza SPI)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|23 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 24 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| CE0 (linia 0 wyboru chipu łącza SLI)&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 25 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 26 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| CE1 (linia 1 wyboru chipu łącza SLI)&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| ID_SC (dane łącza I²C do pamięci EEPROM)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 27 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 28 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| ID_SC (taktowanie łącza I²C do pamięci EEPROM)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;| 29 &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 30 &lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  31&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 32&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| PWM0/BCM12&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| PWM1/BCM13&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  33&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 34&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| MISO (urządzenie podrzędne do nadrzędnego na łączu SPI)&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  35&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 36&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  37&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 38&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;| MOSI/BCM20 (urządzenie nadrzędne do podrzędnego na łączu SPI)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-right:0.5em;text-align:right&amp;quot;| &amp;lt;b&amp;gt;MASA&amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;width: 15px; background: blue;color:white;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot;|  39&lt;br /&gt;
|style=&amp;quot;width: 15px; background: lightgray;color:black;padding-left:0.5em;padding-right:0.5em;text-align:center;&amp;quot; | 40&lt;br /&gt;
|style=&amp;quot;padding-left:0.5em;&amp;quot;|  SCLK/BCM21 (taktowanie łącza SPI)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Powyżej zastosowane są następujące oznaczenia:&lt;br /&gt;
* '''pogrubiona czcionka''' &amp;amp;mdash; zwykłe piny elektryczne, nie działające w logice cyfrowej ponieważ nie łączą się z procesorem maliny (np. masa, napięcie 3.3V); napięcie '''3.3V''' może pełnić rolę sygnału wejściowego oznaczającego '''1''' ponieważ piny cyfrowe właśnie takiego napięcia spodziewają się jako logicznej jedynki; możliwe jest więc połączenie kablem wyjścia '''3.3V''' z którymś pinem logicznym żeby zasymulować podanie sygnału 1; można też zasilać z tego wyjścia jakieś niewielkie urządzenia np. podpiąć do niego diodę LED, której używamy jako sondy stanów logicznych i sprawdzić czy działa (wydajność zasilania 3.3V wynosi zaledwie kilkadziesiąt mA, nie należy go obciążać większymi układami)&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;'''czerwona pogrubiona czcionka'''&amp;lt;/span&amp;gt; &amp;amp;mdash;  napięcie zasilające '''5V'''; może się przydać do zasilania '''drobnych''' urządzeń (takich jakie można podłączyć do wyjścia USB z którego zasilamy malinę);  UWAGA: Napięcie '''5V''' jest '''za wysokie dla wejść procesora''' i prawie na pewno go uszkodzi! Z tego powodu nie wolno łączyć kablem tych pinów z żadnymi wejściami cyfrowymi na łączu 40-pinowym! Właśnie dlatego oznaczone jest na czerwono! najlepiej na piny 2 i 4 nasunąć kawałek izolacji i o nich zapomnieć&lt;br /&gt;
* zwykła czcionka &amp;amp;mdash; piny cyfrowe gdzie ustawienie z programu wartości '''0''' daje napięcie '''0V''', a wysłanie wartości '''1''' daje napięcie około '''3V'''&lt;br /&gt;
* kolory i opisy przy pinie &amp;amp;mdash; niektóre piny mają ustawioną jakąś domyślną funkcję w systemie Raspbian sterującym maliną; te funkcje można w większości przedefiniować, jednak w czasie włączania systemu pin działa w trybie domyślnym, dopóki go nie przedefiniujemy po swojemu - '''jest to bardzo ważne jeśli do pinu podpięte jest jakieś urządzenie ponieważ po włączeniu maliny do prądu będzie ono otrzymywać przypadkowe sygnały w trakcie wczytywania systemu co może prowadzić do uszkodzeń (np. jeśli jest to silnik ramienia robota)'''; warto zauważyć, że zmiana działania pinu generuje ostrzeżenie i na przykład polecenie &amp;lt;code&amp;gt;gpio.setup(8, gpio.OUT)&amp;lt;/code&amp;gt; (czyli ustawienie pinu 8 jako zwykłe wyjście cyfrowe) wyświetli komunikat, że pin był używany w innej roli; kolory oznaczają piny związane domyślnie z tym samym urządzeniem (np. pary dwupinowych łączy &amp;lt;b style=&amp;quot;color: orange&amp;quot;&amp;gt;I²C&amp;lt;/b&amp;gt;, czy &amp;lt;b style=&amp;quot;color: green&amp;quot;&amp;gt;UART&amp;lt;/b&amp;gt;)&lt;br /&gt;
* brak opisu &amp;amp;mdash; piny nie wykonują żadnej specjalnej funkcji w domyślnej konfiguracji Raspbiana; przy włączeniu zasilania będą ustawione na 0; można ich dowolnie używać&lt;br /&gt;
&lt;br /&gt;
=== Moduł sterownika silnika krokowego DRV8834 i jego połączenie z maliną ===&lt;br /&gt;
[[Plik:Polaczenia_elektryczne_jednego_silnika.png|thumb|800px|right]]&lt;br /&gt;
Sposób połączenia silnika, źródła zasilania, sterownika i Maliny przedstawia obrazek.&lt;br /&gt;
&lt;br /&gt;
Jak widać w naszym prostym projekcie nie używamy wszystkich wyjść sterownika. &lt;br /&gt;
&lt;br /&gt;
Na diagramie niektóre z używanych wyjść są podpisane kolorem czerwonym, a inne jasnozielonym. Chodzi o to, żeby wyraźnie pokazać, że choć tego nie widać sterownik rozdziela cały układ na dwa zupełnie różne światy:&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;'''świat silnika''' &amp;amp;mdash; tutaj krążą duże prądy (takie, które mogą spokojnie odparować cieńsze przewody!), pojawiają się wyższe napięcia (rzędu kilkunastu woltów), układy pracują z dużą mocą (silnik potrafi być nawet gorący)&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:lightgreen&amp;quot;&amp;gt;'''świat cyfrowy''' &amp;amp;mdash; tutaj nie ma wielkiego znaczenia moc sygnału, a tylko czy ustawiony jest stan '''1''' (ok. 3 wolty) czy stan '''0''' (ok. zero woltów); wszystkie elementy z tego świata spodziewają się maksymalnie kilku woltów napięcia, nie zostały zaprojektowane do obsługiwania takich wielkich obciążeń jak silniki i cały ten podsystem mógłby być zasilany z małej zegarkowej bateryjki przez miesiące, na tyle jest &amp;quot;delikatny&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ważne jest, żeby rozróżniać te dwa światy!''' Jeśli ktoś spróbowałby podłączyć silnik do tego samego pinu, który jest połączony z Maliną prawdopodobnie spaliłby i sterownik i komputer (choć Malina ma pewne zabezpieczenia przed takim brutalnym traktowaniem i czasem zdąży się wyłączyć w porę). &lt;br /&gt;
&lt;br /&gt;
Ale jest też odwrotnie. W sprzyjających warunkach &amp;quot;delikatna&amp;quot; część cyfrowa potrafi &amp;quot;zamordować&amp;quot; część dużych mocy sterującą silnikami. Jak może do tego dojść? W dokładnie taki sam sposób, jak delikatne, ale nieprzemyślane ruchy kierownicą mogą zniszczyć cały samochód. Chodzi o to, że część cyfrowa steruje systemem, który ma już jakąś niemałą energię (silnik, koła).  W przypadku projektu z diodą, jeśli kod zawierał jakąś nie do końca przemyślaną instrukcję, najgorszym co mogło się stać był brak światła lub świecenie diody w nieoczekiwany sposób. Nic ponad to. Tymczasem tutaj robot może niespodziewanie ruszyć, skręcić, cofnąć się, i tylko aktualne otoczenie decyduje o tym jak to się skończy (coś do picia, klawiatura i szalony robot to całkiem skuteczny przepis na większe wydatki). Z tego powodu najlepiej na początku ustawić robota z kołami napędowymi w powietrzu (albo bez kół), żeby odebrać mu możliwość niekontrolowanego ruszania. &lt;br /&gt;
&lt;br /&gt;
'''Trzeba też uwzględnić specyficzną cechę samego sterownika. Jego instrukcja mówi o tym, że nie wolno podłączać/odłączać przewodów silnika kiedy zasilanie silnika jest włączone (podany sygnał 1 na wyjściu SLP)'''.  Ponieważ sygnał na wyjściu '''SLP''' podaje Malina najprościej zapamiętać, że jeśli potrzebujemy odłączyć sterownik to zawsze najpierw odłączamy Malinę (czyli 8 punktową wtyczkę, która będzie po lewej stronie na diagramie), a potem silniki (czyli wtyczka po prawej, pin &amp;quot;masy&amp;quot; Maliny znajdujący się na dole tej wtyczki nie jest problemem). I w odwrotnej kolejności podłączamy sterownik, czyli najpierw silniki, potem Malinę. W ten sposób mamy zawsze pewność, że przewody silników będą wyłączane/włączane przy wyłączonym zasilaniu. &lt;br /&gt;
&lt;br /&gt;
[[Plik:Wyprowadzenie_zasilania_5V_z_wtyczki_USB.jpg|thumb|300|Wyprowadzenie zasilania z wtyczki USB. Dodatkowe szczegóły zawiera opis obrazka dostępny po jego kliknięciu.]]&lt;br /&gt;
&lt;br /&gt;
I jeszcze jedno wyjaśnienie dlaczego wyjście '''M0''' jest podłączone do masy. Chodzi o to, że zastosowany sterownik obsługuje funkcję bardzo przydatną w bardziej precyzyjnych urządzeniach. Potrafi mianowicie wykonywać tylko ułamek kroku zamiast od razu cały. Typowy silnik krokowy (taki jak nasz) wykonuje 200 kroków na pełny obrót. Ten sterownik potrafi podzielić jeden krok nawet na 32 drobniejsze, co daje aż 6400 kroków na jeden pełny obrót! W bardziej precyzyjnych urządzeniach (np. drukarce 3D) ta opcja może być przydatna, ale nam nie jest potrzebna. O tym jak dzielony jest krok decydują piny '''M0''' i '''M1''' sterownika. Jeśli '''M1''' pozostawimy niepodłączony, a na '''M0''' podamy logiczne '''0''' (czyli zero woltów, a więc właśnie '''masę''') wówczas sterownik nie będzie dzielił kroku i jeden impuls na wejściu '''STEP''' będzie powodował wykonanie 1/200 obrotu przez silnik. Dzięki temu wystarczy posłanie tylko 200 impulsów żeby obrócić koło jeden raz. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Oprogramowanie ==&lt;br /&gt;
&lt;br /&gt;
=== Pomocniczy moduł do obsługi silników ===&lt;br /&gt;
Żeby móc się skupić na programowaniu konkretnych tras do obsługi silników użyjemy gotowego, prostego modułu pythona. Jego kod można pobrać stąd: &lt;br /&gt;
&lt;br /&gt;
[[Plik:Silniki.zip]]&lt;br /&gt;
&lt;br /&gt;
Moduł zawiera kilka prostych funkcji, dzięki którym można wykonać automatycznie inicjowanie portów maliny, włączać/wyłączać silniki, wykonywać pojedynczy krok w zadanym kierunku, a nawet całe sekwencje kroków. Z jego użyciem zaprogramowanie trasy przejazdu sprowadza się do napisania po prostu instrukcji dokąd jechać. Zwróć uwagę, że choć sam plik modułu jest długi, większość to komentarze i opisy działania funkcji.&lt;br /&gt;
&lt;br /&gt;
Na wykresie połączeń elektrycznych powyżej napisane jest, że należy wybrać dowolne z wolnych portów Maliny. Jednak kod modułu obsługi silników musi znać już konkretne numery portów, bo inaczej nie byłoby jasne na które wyjścia posyłać sygnały sterujące. Dlatego w liniach 22-24 dla lewego silnika, i 26-28 dla prawego, wpisane zostały numery portów Maliny, do których podpięte są kable łączące do wyjść '''SLP''', '''STEP''', '''DIR''' sterowników. Połączenia pomiędzy Maliną ze sterownikami najprościej wykonać patrząc na tabelę zaczynającą się w linii 8. Jakieś drobne pomyłki w połączeniach nie powinny być szkodliwe, ale to jest właśnie taki moment przez który robot rusza w nieoczekiwanych momentach, dlatego lepiej zachować uwagę. Najlepiej też zrobić połączenia przed włączeniem zasilania.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# coding: utf-8&lt;br /&gt;
&lt;br /&gt;
import RPi.GPIO as gpio&lt;br /&gt;
from time import sleep&lt;br /&gt;
&lt;br /&gt;
# Poniższa numeracja pinów zakłada następujące połączenia kablowe:&lt;br /&gt;
#&lt;br /&gt;
# |   PIN MALINY  |  LEWY STEROWNIK SILNIKA | PRAWY STEROWNIK SILNIKA |&lt;br /&gt;
#  --------------- ------------------------- -------------------------&lt;br /&gt;
# |        9      |                         |          GND            |&lt;br /&gt;
# |       11      |                         |          SLP            |&lt;br /&gt;
# |       13      |                         |          STEP           | &lt;br /&gt;
# |       15      |                         |          DIR            | &lt;br /&gt;
# |               |                         |                         | &lt;br /&gt;
# |       16      |            DIR          |                         | &lt;br /&gt;
# |       18      |            STEP         |                         | &lt;br /&gt;
# |       20      |            GND          |                         | &lt;br /&gt;
# |       22      |            SLP          |                         | &lt;br /&gt;
# &lt;br /&gt;
# Oczywiście jeśli wybrało się inne wyjścia numery poniżej można &lt;br /&gt;
# (i trzeba) pozmieniać&lt;br /&gt;
PIN_SILNIK_LEWY_KIERUNEK = 16    &lt;br /&gt;
PIN_SILNIK_LEWY_KROK = 18       &lt;br /&gt;
PIN_SILNIK_LEWY_WLACZ = 22&lt;br /&gt;
&lt;br /&gt;
PIN_SILNIK_PRAWY_WLACZ = 11&lt;br /&gt;
PIN_SILNIK_PRAWY_KROK = 13&lt;br /&gt;
PIN_SILNIK_PRAWY_KIERUNEK = 15&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Stałe pozwalające czytelniej pisać kod. &lt;br /&gt;
# Zamiast krok(-1, 1) można napisać krok(TYL, PRZOD).&lt;br /&gt;
# Obie instrukcje zrobią to samo, ale druga jest czytelniejsza.&lt;br /&gt;
PRZOD = 1&lt;br /&gt;
STOP = 0&lt;br /&gt;
TYL = -1&lt;br /&gt;
&lt;br /&gt;
# Domyślny czas wykonywania kroku (5 milisekund). &lt;br /&gt;
#&lt;br /&gt;
# Przy 5 milisekundach można wykonać maksymalnie 200 kroków/s, &lt;br /&gt;
# co przy 60mm kole daje prędkość ~200mm/s. &lt;br /&gt;
#&lt;br /&gt;
# Ustawienie większej wartości daje silnikowi więcej czasu &lt;br /&gt;
# na wykonanie ruchu i jest on pewniejszy (silnik zawsze zdąży).&lt;br /&gt;
#&lt;br /&gt;
# Krótszy czas zwiększa maksymalną prędkość obrotową, ale może &lt;br /&gt;
# powodować, że pierwsza lepsza przeszkoda obciąży silnik na tyle, &lt;br /&gt;
# że nie zdąży on wykonać kroku i zablokuje się w miejscu.&lt;br /&gt;
#&lt;br /&gt;
# Poniżej 1ms silnik może się blokować nawet bez obciążenia.&lt;br /&gt;
DOMYSLNY_CZAS_KROKU = 0.005&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def przygotuj():&lt;br /&gt;
    '''&lt;br /&gt;
    Ta funkcja przygotowuje piny Maliny do komunikacji ze sterownikami &lt;br /&gt;
    silników. Należy ją wywołać na początku programu, przed wszystkimi &lt;br /&gt;
    innymi. &lt;br /&gt;
    '''&lt;br /&gt;
    gpio.setmode(gpio.BOARD)&lt;br /&gt;
    piny_sterowania_silnikow = [PIN_SILNIK_LEWY_KROK, &lt;br /&gt;
        PIN_SILNIK_LEWY_KIERUNEK, PIN_SILNIK_LEWY_WLACZ, &lt;br /&gt;
        PIN_SILNIK_PRAWY_KROK, PIN_SILNIK_PRAWY_KIERUNEK, &lt;br /&gt;
        PIN_SILNIK_PRAWY_WLACZ]&lt;br /&gt;
&lt;br /&gt;
    for pin in piny_sterowania_silnikow:    &lt;br /&gt;
        gpio.setup(pin, gpio.OUT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def podlacz(lewy = 0, prawy = 0):&lt;br /&gt;
    '''&lt;br /&gt;
    Włącza lub wyłącza zasilanie silników. Na przykład:&lt;br /&gt;
    podlacz(1,0) -- włączy zasilanie w silniku lewym i wyłączy w prawym&lt;br /&gt;
    podlacz(0,0) -- wyłączy zasilanie obu silników&lt;br /&gt;
    podlacz(1, None) -- włącza zasilanie lewego silnika nie zmieniając &lt;br /&gt;
                        stanu zasilania prawego&lt;br /&gt;
    podlacz() -- brak parametrów spowoduje przyjęcie domyślnych 0,0&lt;br /&gt;
                 a więc ta instrukcja wyłącza zasilanie obu silników&lt;br /&gt;
    '''&lt;br /&gt;
    # Przełączamy zasilanie silnika o ile wartość nie jest &lt;br /&gt;
    # nieokreślona (None)&lt;br /&gt;
    if lewy is not None:&lt;br /&gt;
        gpio.output(PIN_SILNIK_LEWY_WLACZ, lewy)&lt;br /&gt;
    if prawy is not None:&lt;br /&gt;
        gpio.output(PIN_SILNIK_PRAWY_WLACZ, prawy)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def krok(lewy, prawy, czas = None):&lt;br /&gt;
    '''&lt;br /&gt;
    Wywołanie tej funkcji wysyła impusly sterujące do sterowników silnika, &lt;br /&gt;
    które powodują wykonanie jednego kroku. &lt;br /&gt;
    &lt;br /&gt;
    Na przykład:&lt;br /&gt;
       krok(PRZOD, PRZOD) -- wykonanie kroku w przód przez oba silniki&lt;br /&gt;
       krok(PRZOD, TYL)   -- lewy silnik wykona krok w przód, a prawy w tyl, &lt;br /&gt;
                             pojazd skręci lekko w prawo w miejscu &lt;br /&gt;
       krok(PRZOD, STOP)  -- lewy silnik wykona krok w przód, a prawy &lt;br /&gt;
                             nie poruszy się&lt;br /&gt;
&lt;br /&gt;
    Jeśli nie chcemy używać domyślnego czasu wykonywania kroku (patrz opis &lt;br /&gt;
    zmiennej DOMYSLNY_CZAS_KROKU powyżej) możemy podać inną wartość czasu&lt;br /&gt;
    dla aktualnego kroku jako trzeci paramter. &lt;br /&gt;
    &lt;br /&gt;
    Na przykład:&lt;br /&gt;
       krok(PRZOD, PRZOD, 0.01) -- krok do przodu na obu silnikach z względnie&lt;br /&gt;
                                   długim czasem -- w tym trybie powinno się &lt;br /&gt;
                                   dać pokonać trudne przeszkody, które blokują&lt;br /&gt;
                                   silnik kiedy czas jest krótszy&lt;br /&gt;
    '''&lt;br /&gt;
&lt;br /&gt;
    # Zamieniamy podane polecenie na odpowiednie wartości dla pinów STEP i DIR.&lt;br /&gt;
&lt;br /&gt;
    if lewy == PRZOD:      # PRZOD: generujemy impuls kroku z pinem kierunku na 1&lt;br /&gt;
        lewy_krok = 1&lt;br /&gt;
        lewy_kierunek = 1    &lt;br /&gt;
    elif lewy == STOP:     # STOP: bez impulsu kroku, kierunek bez znaczenia&lt;br /&gt;
        lewy_krok = 0&lt;br /&gt;
        lewy_kierunek = None&lt;br /&gt;
    elif lewy == TYL:      # TYL: impuls kroku z pinem kierunku na 0  &lt;br /&gt;
        lewy_krok = 1&lt;br /&gt;
        lewy_kierunek = 0&lt;br /&gt;
    else:&lt;br /&gt;
        raise &amp;quot;Nieznane polecenie!&amp;quot;  # Nie PRZOD, nie TYL, nie STOP??? To co?   &lt;br /&gt;
&lt;br /&gt;
    # Jak wyżej, tylko dla prawego silnika. Zwróć uwagę, że pin kierunku włączany&lt;br /&gt;
    # jest odwrotnie (dla PRZOD ma wartosc 1, dla TYL 0). Wynika to z budowy &lt;br /&gt;
    # robota gdzie silniki są obrócone do siebie o 180 stopni i trzeba je obracać &lt;br /&gt;
    # w przeciwną stronę, żeby napędzały robota w tym samym kierunku.&lt;br /&gt;
    if prawy == PRZOD:       &lt;br /&gt;
        prawy_krok = 1&lt;br /&gt;
        prawy_kierunek = 0&lt;br /&gt;
    elif prawy == STOP:  &lt;br /&gt;
        prawy_krok = 0&lt;br /&gt;
        prawy_kierunek = None&lt;br /&gt;
    elif prawy == TYL:   &lt;br /&gt;
        prawy_krok = 1&lt;br /&gt;
        prawy_kierunek = 1&lt;br /&gt;
    else:&lt;br /&gt;
        raise &amp;quot;Nieznane polecenie!&amp;quot;  &lt;br /&gt;
&lt;br /&gt;
    # Jeśli czas nie jest podany ustawiamy domyślną wartość zdefiniowaną&lt;br /&gt;
    # w DOMYSLNY_CZAS_KROKU&lt;br /&gt;
    if czas is None:&lt;br /&gt;
        czas = DOMYSLNY_CZAS_KROKU&lt;br /&gt;
&lt;br /&gt;
    # I wykonanie kroku:&lt;br /&gt;
 &lt;br /&gt;
    # Najpierw ustawiamy sygnały na pinach kierunków o ile jest to potrzebne &lt;br /&gt;
    # (np. polecenie STOP nie wymaga ustawiania kierunku)&lt;br /&gt;
    if lewy_kierunek is not None:&lt;br /&gt;
        gpio.output(PIN_SILNIK_LEWY_KIERUNEK, lewy_kierunek)&lt;br /&gt;
&lt;br /&gt;
    if prawy_kierunek is not None:&lt;br /&gt;
        gpio.output(PIN_SILNIK_PRAWY_KIERUNEK, prawy_kierunek)&lt;br /&gt;
&lt;br /&gt;
    # Teraz wysyłamy impuls wykonania kroku, czyli przez połowę podanego czasu &lt;br /&gt;
    # ustawiamy pin na wyznaczoną powyżej wartość, a po chwili dajemy 0. &lt;br /&gt;
    gpio.output(PIN_SILNIK_LEWY_KROK, lewy_krok)&lt;br /&gt;
    gpio.output(PIN_SILNIK_PRAWY_KROK, prawy_krok)&lt;br /&gt;
    sleep(czas*0.5)&lt;br /&gt;
&lt;br /&gt;
    gpio.output(PIN_SILNIK_LEWY_KROK, 0)&lt;br /&gt;
    gpio.output(PIN_SILNIK_PRAWY_KROK, 0)&lt;br /&gt;
    sleep(czas*0.5)&lt;br /&gt;
&lt;br /&gt;
    # Dokładniejszy opis: &lt;br /&gt;
    #&lt;br /&gt;
    # Jeśli wyznaczona wartość ..._krok wynosiła 1, sygnał na pinie STEP skoczy &lt;br /&gt;
    # do 1 (czyli ok. 3 wolty) i potem spadnie do 0. Sterownik zinterpretuje &lt;br /&gt;
    # to jako impuls na wejściu STEP i wygeneruje odpowiednie sygnały &lt;br /&gt;
    # na wyjściach silnika, które przekręcą go o krok. &lt;br /&gt;
    #&lt;br /&gt;
    # Jeśli wartość ..._step wynosi 0, wówczas sygnał na pinie będzie cały czas &lt;br /&gt;
    # ustawiony na 0, sterownik nie otrzyma impulsu na wejściu STEP i nie &lt;br /&gt;
    # wygeneruje nowych sygnałów na wyjściu silnika, który wobec tego pozostanie &lt;br /&gt;
    # w niezmienionej pozycji.&lt;br /&gt;
    #&lt;br /&gt;
    # Wykresy napięcia jakie &amp;quot;widzi&amp;quot; wejście STEP lewego sterownika zależnie &lt;br /&gt;
    # od wartości lewy_krok:&lt;br /&gt;
    # &lt;br /&gt;
    #&lt;br /&gt;
    #                   |         1        |                  |&lt;br /&gt;
    # 3V                |   ...............|                  |&lt;br /&gt;
    #                   |  .               |                  | &lt;br /&gt;
    #  lewy_krok = 1    | .                |.                 |&lt;br /&gt;
    #                   |.                 | .      0         |&lt;br /&gt;
    # 0V ...............|                  |  ................|.............&lt;br /&gt;
    #                   |                  |                  |&lt;br /&gt;
    #                   |                  |                  |&lt;br /&gt;
    #                   |                  |                  |&lt;br /&gt;
    # 3V                |                  |                  |&lt;br /&gt;
    #                   |                  |                  | &lt;br /&gt;
    #  lewy_krok = 0    |                  |                  |&lt;br /&gt;
    #                   |         0        |        0         |&lt;br /&gt;
    # 0V ...............|..................|..................|.............&lt;br /&gt;
    #                   |                  |                  |&lt;br /&gt;
    #                     &amp;lt;-- czas*0.5 --&amp;gt;   &amp;lt;-- czas*0.5 --&amp;gt;     &lt;br /&gt;
    #&lt;br /&gt;
    #                     &amp;lt;------------  czas  -------------&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def zestaw(lewo, prawo, powtorek = 1):&lt;br /&gt;
    '''&lt;br /&gt;
    Funkcja bierze polecenie i powtarza jego wykonanie podaną ilość razy: &lt;br /&gt;
    lewo - polecenie dla lewego silnika&lt;br /&gt;
    prawo - polecenie dla prawego silnika&lt;br /&gt;
    powtorek - oznacza ile razy nalezy ten zestaw kroków powtórzyć&lt;br /&gt;
&lt;br /&gt;
    Na przykład:&lt;br /&gt;
    zestaw(PRZOD, STOP, 10)   -- wykona 10 kroków do przodu lewym silnikiem,&lt;br /&gt;
    zestaw(PRZOD, PRZOD, 200) -- wykona 200 kroków do przodu oboma silnikami,&lt;br /&gt;
                                 a więc koła obrócą się o pełny obrót  &lt;br /&gt;
    zestaw(PRZOD, TYL, 100)   -- obróci lewe koło 100 kroków do przodu, &lt;br /&gt;
                                 a prawe 100 do tyłu, a więc robot powinien &lt;br /&gt;
                                 wykonać skręt w prawo w miejscu.&lt;br /&gt;
    ''' &lt;br /&gt;
    for i in xrange(1, 1 + powtorek):&lt;br /&gt;
        krok(lewo, prawo)&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
def sekwencja(lista_zestawow):&lt;br /&gt;
    '''&lt;br /&gt;
    Czyta podaną listę i wykonuje kolejno podane w niej zestawy kroków.&lt;br /&gt;
&lt;br /&gt;
    lista_zestawów -- lista zawierająca kolejne zestawy; w pythonie &lt;br /&gt;
                      listę podaje się w nawiasach kwadratowych [] &lt;br /&gt;
                      oddzielając elementy przecinkami &lt;br /&gt;
&lt;br /&gt;
    Na przykład:&lt;br /&gt;
&lt;br /&gt;
    sekwencja([ (PRZOD, PRZOD, 400), (PRZOD, TYL, 100), (TYL, PRZOD, 100) ]) &lt;br /&gt;
&lt;br /&gt;
         -- wykona kolejno trzy zestawy: &lt;br /&gt;
            1. (PRZOD, PRZOD, 400)&lt;br /&gt;
            2. (PRZOD, TYL, 100)&lt;br /&gt;
            3. (TYL, PRZOD, 100)&lt;br /&gt;
            Pierwszy spowoduje podjechanie modelu o dwa pełne obroty kół &lt;br /&gt;
            do przodu. Drugi obrócenie lewego koła do przodu a prawego &lt;br /&gt;
            do tyłu o pół obrotu, a wiec robot skręci w miejscu w prawo. &lt;br /&gt;
            Ostatni zestaw spowoduje skręt w miejscu w przeciwną stronę &lt;br /&gt;
            - robot powróci do pierwotnego kierunku. Cała sekwencja wyglądać &lt;br /&gt;
            będzie tak jakby robot podjechał do przodu i rozejrzał się &lt;br /&gt;
            w prawo. &lt;br /&gt;
    '''&lt;br /&gt;
    for kolejny_zestaw in lista_zestawow:&lt;br /&gt;
        zestaw(*kolejny_zestaw)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Przykłady użycia ===&lt;br /&gt;
Dzięki modułowi '''silniki''' sterowanie ruchem sprowadza się do prostych instrukcji. &lt;br /&gt;
&lt;br /&gt;
Na początek spróbujmy zobaczyć instrukcję  &amp;lt;code&amp;gt;zestaw(''lewy, prawy, powtorek'')&amp;lt;/code&amp;gt; w akcji.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# coding: utf-8&lt;br /&gt;
import silniki as s&lt;br /&gt;
&lt;br /&gt;
# Przygotowanie portów Maliny do pracy&lt;br /&gt;
s.przygotuj()&lt;br /&gt;
&lt;br /&gt;
# Włączenie zasilania silników -- po tej instrukcji silniki powinny zablokować się w ustalonej pozycji&lt;br /&gt;
s.podlacz(1,1)&lt;br /&gt;
&lt;br /&gt;
# 10 obrotów kół (czyli 10*200 kroków) w przód&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 2000) &lt;br /&gt;
&lt;br /&gt;
# Jeden obrót lewego koła w przód, prawe stoi -- robot skręca w prawo&lt;br /&gt;
s.zestaw(s.PRZOD, s.STOP, 200)&lt;br /&gt;
&lt;br /&gt;
# Koniec programu, wyłączamy zasilanie silników -- po tej instrukcji koła znów obracają się lekko&lt;br /&gt;
s.podlacz(0,0)&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Po zapisaniu tego kodu w pliku &amp;lt;code&amp;gt;silniki_p1.py&amp;lt;/code&amp;gt; i wydaniu polecenia&lt;br /&gt;
&lt;br /&gt;
 pi@raspberrypi:~ $ python silniki_p1.py &lt;br /&gt;
&lt;br /&gt;
robot powinien przejechać 10 obrotów kół do przodu,  a potem skręcić w prawo. Oczywiście nie będzie to możliwe jeśli będziemy się łączyć z Maliną poprzez kabel USB dlatego w tej chwili najlepiej zdjąć koła, albo unieść je w górę i obserwować czy wykonują oczekiwane ruchy. Poniżej pokażemy gdzie wstawić powyższą instrukcję, żeby robot wykonywał podany kod zaraz po włączeniu. Wówczas będzie można podłączyć Malinę do powerbanku i oglądać wykonanie instrukcji w ruchu.&lt;br /&gt;
&lt;br /&gt;
== W akcji ==&lt;br /&gt;
Przykładowy kod sterujący i zachowaniem trzykołowca&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# coding: utf-8&lt;br /&gt;
import silniki as s&lt;br /&gt;
&lt;br /&gt;
s.przygotuj()                      # Przygotowanie pinów Maliny do wysyłania sygnałów.&lt;br /&gt;
s.podlacz(1,1)                     # Włączamy zasilanie silników, koła trudno obracać. &lt;br /&gt;
&lt;br /&gt;
s.zestaw(s.TYL, s.PRZOD, 60)       # lewe koło to tyłu, prawe do przodu o 60 kroków -- skręt w lewo&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)    # 400 kroków w przód, bok kwadratu ok. 50cm&lt;br /&gt;
s.zestaw(s.TYL, s.PRZOD, 60)       # skręt i drugi bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
s.zestaw(s.TYL, s.PRZOD, 60)       # skręt i trzeci bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
s.zestaw(s.TYL, s.PRZOD, 60)       # skręt i czwarty bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
&lt;br /&gt;
s.zestaw(s.PRZOD, s.TYL, 60)       # lewe koło w przód, prawe w tył -- skręt w prawo&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)    # robot jedzie w kierunku stopy na filmie&lt;br /&gt;
s.zestaw(s.PRZOD, s.TYL, 60)       # kolej skręt i bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
s.zestaw(s.PRZOD, s.TYL, 60)       # następny&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
s.zestaw(s.PRZOD, s.TYL, 60)       # ostatni skręt i bok&lt;br /&gt;
s.zestaw(s.PRZOD, s.PRZOD, 400)     &lt;br /&gt;
&lt;br /&gt;
# ... i tak dalej, kolejny kwadrat w lewo&lt;br /&gt;
&lt;br /&gt;
s.podlacz(0,0)           # Wyłączamy zasilanie silników, koła znów obracają się lekko&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;fSHDZ6fRyPc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Roboty]]&lt;br /&gt;
[[Category:Projekty_Pi_Zero]]&lt;br /&gt;
[[Category:Silniki_krokowe]]&lt;br /&gt;
[[Category:Moduły_elektroniczne]]&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=RoboCity:O_RoboCity&amp;diff=622</id>
		<title>RoboCity:O RoboCity</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=RoboCity:O_RoboCity&amp;diff=622"/>
		<updated>2019-10-10T01:44:58Z</updated>

		<summary type="html">&lt;p&gt;Isj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Jak w ogóle działa ta strona? ==&lt;br /&gt;
&lt;br /&gt;
=== Ogólnie ===&lt;br /&gt;
Oprogramowanie pochodzi z projektu Wikimedia, tego samego, którego działanie widać na Wikipedii. Oczywiście styl i zawartość strony jest zupełnie inna, ale funkcjonalność jest dokładnie taka sama. &lt;br /&gt;
&lt;br /&gt;
Oprogramowanie Mediawiki powstało w celu wspólnego tworzenia internetowych encyklopedii. Jeżeli jesteś wyłącznie obserwatorem z Twojego punktu widzenia ten portal składa się po prostu z różnych stron tematycznych opisujących interesując nas zagadnienia. &lt;br /&gt;
&lt;br /&gt;
Zalogowany użytkownik szybko zauważy, że może tworzyć nowe strony, a także zmieniać dowolnie treść stron dodanych przez innego użytkownika. Taki jest sens Wikipedii i jej oprogramowania -- dzielimy się wiedzą spisując ją w miejscu dostępnym dla wszystkich zainteresowanych. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;thumb&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;thumbinner&amp;quot; style=&amp;quot;background-color:#fafffa&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;'''Rada:''' Dodając jakąkolwiek treść do strony (tekst/obraz/nagranie) należy pamiętać o tym, że będzie ona dostępna dla każdego innego użytkownika sieci. Warto więc zachować zdrowy rozsądek. &amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Układ strony w tej wersji wiki ===&lt;br /&gt;
Większość częstych działań -- takich jak logowanie, zarządzanie kontem, menu związane z oglądaną stroną -- znajduje się pod ikonami po lewej u góry. Podpowiedzi wyświetlane po przesunięciu kursora nad ikonę powinny pomóc. W razie wejścia w jakąś niezrozumiałą opcję zawsze można użyć guzika &amp;quot;wstecz&amp;quot; przeglądarki.&lt;br /&gt;
&lt;br /&gt;
Menu główne u góry strony po prawej dotyczy treści dodanych do {{SITENAME}}. Tutaj można zobaczyć co nowego zostało dodane/zmienione, wylosować którąś ze stron, zobaczyć jak używa się stron opartych na kodzie Wikimedia.&lt;br /&gt;
&lt;br /&gt;
Ciemne menu na dole zawiera funkcje dotyczące aktualnie wyświetlanej strony i różnych &amp;quot;technicznych&amp;quot; funkcji.&lt;br /&gt;
&lt;br /&gt;
=== Użytkownicy ===&lt;br /&gt;
Strona nie powstaje sama! Tworzą ją ludzie. Poniżej lista użytkowników z prawem do edycji stron (alfabetycznie).&lt;br /&gt;
&lt;br /&gt;
* [[Użytkownik:adihector|adihector]]&lt;br /&gt;
* [[Użytkownik:grucha|grucha]]&lt;br /&gt;
* [[Użytkownik:Isj|isj]]&lt;br /&gt;
* [[Użytkownik:Make13|make13]]&lt;br /&gt;
* [[Użytkownik:pawhan|pawhan]]&lt;br /&gt;
* [[Użytkownik:pelikan|pelikan]]&lt;br /&gt;
&amp;lt;small&amp;gt;'''UWAGA: Jeżeli link do Twojej strony jest czerwony kliknij go, żeby ją stworzyć. ''' Więcej informacji o edytowaniu stron znajduje się poniżej.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Jak zacząć? ==&lt;br /&gt;
&lt;br /&gt;
=== Obserwator ===&lt;br /&gt;
&lt;br /&gt;
Jeśli masz ochotę wyłącznie obserwować co ciekawego dzieje się w {{SITENAME}} nie musisz robić niczego. Dostęp do strony jest otwarty dla wszystkich. Po prostu zajrzyj na nią czasem. :)&lt;br /&gt;
&lt;br /&gt;
=== Uczestnik ===&lt;br /&gt;
&lt;br /&gt;
[[Plik:Otwarcie_strony_uzytkownika.jpg|300px|thumb|right|Strona użytkownika dostępna jest w menu w lewym górnym rogu po zalogowaniu.]]&lt;br /&gt;
Dodawanie stron i ich zmienianie, uczestnictwo w dyskusjach, itd. zarezerwowane jest dla zalogowanych użytkowników. Aby brać aktywny udział w projektach i mieć dostęp do edycji strony skontaktuj się z administratorem. Po utworzeniu konta na początek należy stworzyć stronę o sobie. W tym celu wystarczy wskazać nazwę użytkownika w menu znajdującym się w lewym górnym rogu. Nie musi być bardzo wyszukana wystarczy, że zawiera kilka słów i jakiś obrazek. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;'''UWAGA:''' Nie musisz umieszczać danych osobistych lub własnego zdjęcia! Szanujemy prywatność. Jeśli napiszesz, że pochodzisz z Marsa i jesteś znajomym Batmana oraz wrzucisz zdjęcie ostatnio zajmowanego krateru, wystarczy. Chodzi tylko o to, żeby zacząć eksperymenty z wiki na własnej stronie i pokazać, że potrafi się jej używać. Jeśli nie masz ochoty nauczyć się edytowania stron i aktywnego używania wiki (co jest bardzo proste!!!) nie proś o zakładanie konta -- do niczego nie będzie Ci przydatne.&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Nowo założone konto będzie miało hasło, w którym występują zwierzęta, okrzyk i wspólny znajomy. Jeśli nie wiesz o co chodzi prawdopodobnie nie otrzymałeś zaproszenia. To domyślne hasło należy zmienić na własne najlepiej po pierwszym logowaniu. Do strony zmiany hasła można dojść przez wybranie opcji PREFERENCJE z menu użytkownika (po prawej u góry) po zalogowaniu i tam wybrać link &amp;quot;Zmień hasło&amp;quot; w grupie ''Podstawowe informacje''. Jest też &amp;quot;strona specjalna&amp;quot; dedykowana do tego celu [[Specjalna:Zmień_hasło]]&lt;br /&gt;
&lt;br /&gt;
=== Kilka słów o edycji stron ===&lt;br /&gt;
Strona wyświetlana różni się od jej treści oglądanej w trybie edycji. Chodzi o to, żeby zamiast &amp;quot;rzeźbić&amp;quot; każdą stronę od nowa i definiować wygląd poszczególnych elementów, można się było skupić na '''temacie''', którego strona dotyczy, a samo formatowanie zostawić oprogramowaniu Wikimedia. Na przykład pogrubiony fragment poprzedniego zdania w treści tej strony jest zapisany w potrójnym cudzysłowie &amp;lt;pre&amp;gt;... skupić na '''temacie''', którego strona dotyczy ...&amp;lt;/pre&amp;gt; a oprogramowanie Wikimedia widząc potrójny cudzysłów wyświetla pogrubiony tekst automatycznie. Może początkowo taka idea wydaje się dziwna, ale kiedy w przyszłości będziesz chciał szybko napisać stronę o tym jak wypadł najnowszy test robota w terenie, ostatnią rzeczą o którą będziesz miał ochotę się martwić będzie dobieranie czcionek i formatów. O wiele prościej napisać kilka dodatkowych znaków i mieć problem wyglądu strony z głowy. W jaki sposób zapisywać czcionkę pochyloną, tabelki, linki do innych stron {{SITENAME}}, linki zewnętrzne, itd. itp. można przeczytać na przykład [//pl.wikipedia.org/wiki/Pomoc:Formatowanie_tekstu tutaj]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kilka prostych przykładów użycia ''wikikodu'' możesz zobaczyć włączając edycję choćby tej strony (ikona ołówka w menu u góry po prawej). Po przejściu do trybu edycji poniżej okna z treścią strony znajduje się przycisk '''Pokaż podgląd'''. Możesz dzięki niemu eksperymentować z treścią strony oglądając efekty bez zapisywania zmian, a wykonać zapis dopiero kiedy osiągniesz oczekiwany efekt lub w ogóle. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Śmiało! Eksperymentuj!'''&lt;br /&gt;
&lt;br /&gt;
== Strony do poczytania ==&lt;br /&gt;
Poniżej kilka linków do stron w języku polskim podających więcej technicznych detali:&lt;br /&gt;
* [//pl.wikipedia.org/wiki/Pomoc:Formatowanie_tekstu Podstawy wikikodu]&lt;br /&gt;
* [//pl.wikipedia.org/wiki/Pomoc:Spis_tre%C5%9Bci Przewodnik użytkownika]&lt;br /&gt;
* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ/pl MediaWiki FAQ]&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=621</id>
		<title>Strona główna</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=621"/>
		<updated>2019-10-10T01:31:07Z</updated>

		<summary type="html">&lt;p&gt;Isj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Wyłączenie spisu treści strony --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;!-- Wyłączenie linków [edit] przy tytułach sekcji (zaśmiecają obraz) --&amp;gt;&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
Wiki do wymiany informacji o projektach. Jeśli jesteś tutaj pierwszy raz '''zerknij na stronę [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]]''' żeby dowiedzieć się więcej.&lt;br /&gt;
=== Indeks ===&lt;br /&gt;
===== Programowanie =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Programowanie&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Strony o Malinie Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Projekty wykorzystujące Malinę Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Projekty Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Moduły elektroniczne =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Moduły elektroniczne&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Roboty =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Roboty&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
order = ascending&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Ubuntu =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Ubuntu&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Aktualności ===&lt;br /&gt;
&lt;br /&gt;
'''10 październik 2019'''&lt;br /&gt;
&lt;br /&gt;
Japońskie roboty potrafią być też szybkie... &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;-KxjVlaLBmk&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''10 sierpnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe symulacje pokazujące jak można skutecznie stłumić wibracje w układzie wykonując ruch sprytniejszym oprogramowaniem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;Z1jgaEO9aRs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2019'''&lt;br /&gt;
&lt;br /&gt;
Kilka mniej schematycznych zastosowań serw i silników&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;BaDz12Yt0rw&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Jeśli ktoś nie może zasnąć &amp;amp;mdash; ekstremalnie porywająca siatkówka w wykonaniu Toyoty&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;V_nhy4iIaBA&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''1 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Siła fizyczna już nie zapewni kariery w logistyce...&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;youtube&amp;gt;5iV_hB08Uns&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''16 marca 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe ujęcia poklatkowe pozwalające zobaczyć bez zasłaniającej głowicy jak powstaje wydruk 3D&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;aubLuCFIejc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''12 luty 2019, 0:30 '''&lt;br /&gt;
&lt;br /&gt;
Aktualizacja oprogramowania strony do '''Wikimedia 1.32'''. Domyślny styl został zmieniony ze względu na brak uaktualnionej wersji dotychczasowego.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 lutego 2019, 13:04'''&lt;br /&gt;
&lt;br /&gt;
Gwiezdne Wojny w [https://www.pb.pl/droid-z-agh-952687 Krakowie]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 listopada 2018, 15:50'''&lt;br /&gt;
&lt;br /&gt;
[https://spaceforest.pl/bigos-4/ BIGOS] poleciał :)&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;aJiJKennwWU&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''27 października 2018, 19:00'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Znajdowanie_IP_maliny_przy_pomocy_kom.C3.B3rki|opis]] wyszukiwania adresu IP Maliny w lokalnej sieci WiFi przy pomocy komórki z Androidem.&lt;br /&gt;
&lt;br /&gt;
'''26 października 2018, 2:30'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Ustawienie_domy.C5.9Blnej_sieci_WiFi_dla_RaspberryPi_Zero_W|opis]] prekonfiguracji systemu i łączenia z Maliną przez WiFi. &lt;br /&gt;
&lt;br /&gt;
'''25 października 2018, 16:00'''&lt;br /&gt;
&lt;br /&gt;
Dodana obsługa emaila w robo.city. Dzięki temu możliwe jest odzyskiwanie haseł, ustawianie alertów o zmianach, itd. &lt;br /&gt;
&lt;br /&gt;
Zmieniony domyślny styl całej strony na wygodniejszy na komórkach. &lt;br /&gt;
&lt;br /&gt;
'''16 września 2016, 1:20'''&lt;br /&gt;
&lt;br /&gt;
W opisie elektroniki [[Trzykołowiec#Po.C5.82.C4.85czenia_elektryczne|trzykołowca]] dodane zdjęcie wtyczki USB z przylutowanymi przewodami zasilania i kondensatorem.&lt;br /&gt;
&lt;br /&gt;
'''7 września 2016,19:10'''&lt;br /&gt;
&lt;br /&gt;
Na stronie poświęconej budowie [[Trzykołowiec|trzykołowca]] dodany rozdział o łączeniu kabelków i programowaniu ruchu. Znajduje się tam link do modułu w pythonie dzięki, któremu można zapisać tor ruchu kilkoma prostymi poleceniami. Dodany  [[Trzykołowiec#W akcji|przykład kodu z nagraniem zachowania robota]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 sierpnia 2016, 16:05'''&lt;br /&gt;
&lt;br /&gt;
VirtualBox&lt;br /&gt;
&lt;br /&gt;
Na stronie https://www.virtualbox.org/wiki/Downloads trzeba pobrać '''VirtualBox 5.1.2 for Windows hosts''' jeśli systemem roboczym ma być Windows i zainstalować. Potem w tym programie tworzymy maszyny wirtualne i na nich instalujemy potrzebny system. &lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Trafiłem na taki krótki filmik (po polsku) o tym jak sobie człowiek drukarkę 3D zbudował. Właściwie ludzie potrafiący projektować części w 3D, oraz nie bojący się silnika krokowego &amp;amp;mdash; czyli każdy kto zrobi trzykołowca z drukowanymi własnymi częściami &amp;amp;mdash; może bez problemu taką drukarkę samemu zrobić!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;_KdsQ2qVVVY&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 0:10'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o to jakie są dostępne filamenty. Ten sklep http://3dfilamenty.com/pl/c/Filamenty/19 posiada całkiem dużą ofertę z opisami zalet różnych materiałów.&lt;br /&gt;
&lt;br /&gt;
'''5 sierpnia 2016, 20:50'''&lt;br /&gt;
&lt;br /&gt;
Nawiązując do rozmowy o programach pozwalających na obróbkę obrazów:&lt;br /&gt;
&lt;br /&gt;
Do obrazów rastrowych (czyli komponowanych z wielu pojedynczych  punktów) na Ubuntu warto zainstalować '''Gimp'''(a). Raczej spory program z wieloma opcjami i nie łatwy do nauczenia się od razu. Jednak potem bardzo poręczny i skuteczny,&lt;br /&gt;
&lt;br /&gt;
Do obrazów wektorowych świetnie nadaje się '''Inkscape'''. Do jego zainstalowania można użyć standardowego dodawana aplikacji Ubuntu. Pojęcie grafiki wektorowej już znacie -- dokładnie w takim trybie działa choćby FreeCAD, tyle tylko że robi to w trzech wymiarach. InkScape i FreeCAD są pod w tym względem bardzo podobne. Kiedy we FreeCADzie chcemy zdefiniować kulę określamy tylko pozycję jej środka i promień. Podobnie w InkScape, jeśli chcemy narysować okrąg podajemy tylko  pozycję i promień. Potem możemy dodatkowo zmieniać kolor wnętrza figury i jej brzegów, rodzaj użytej linii, itd.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''29 lipca 2016, 21:21'''&lt;br /&gt;
&lt;br /&gt;
Dodana strona o [[Instalowanie najnowszej wersji FreeCAD| instalowaniu najnowszej wersji FreeCADa]] na Ubuntu. &lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2016, 21:56'''&lt;br /&gt;
&lt;br /&gt;
Nowa strona w kategorii Projekty Pi Zero: [[Przylutowanie pinów do Maliny Zero]]. Strona zwiera też film pokazujący lutowanie.&lt;br /&gt;
&lt;br /&gt;
'''12 lipca 2016, 21:24'''&lt;br /&gt;
&lt;br /&gt;
Dołączył nowy użytkownik [[Użytkownik:pawhan|pawhan]]. Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] jest cały wstępniak, czyli co warto wiedzieć na początek.&lt;br /&gt;
&lt;br /&gt;
'''8 lipca 2016, 13:06'''&lt;br /&gt;
&lt;br /&gt;
Przyjechały:&lt;br /&gt;
&lt;br /&gt;
[[Plik:Silniki nema 14.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1 lipca 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o przygotowaniu systemu dla Maliny dodany rozdział o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Dostęp_do_plików_Maliny_z_komputera_zasilającego| uzyskiwaniu dostępu do plików działającej Maliny]].&lt;br /&gt;
&lt;br /&gt;
'''30 czerwca 2016, 23:40'''&lt;br /&gt;
&lt;br /&gt;
Na stronie [[Trzykołowiec]] pierwsze informacje o konstrukcji robota. Strona zawiera także wstępny plik projektu w programie FreeCAD jeśli ktoś chciałby w nim projektować podwozie. &lt;br /&gt;
&lt;br /&gt;
'''29 czerwca 2016, 1:55'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o Politechnikę Wrocławską. A tak się chłopaki bawią. Zaczyna się po angielsku, ale z robotem rozmawiają po polsku.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;v1GBBIFbwXs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''28 czerwca 2016, 1:15'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o [[Mrugająca_dioda_LED| projekcie z mrugającą diodą LED]] dodany przykładowy kod i minimalny opis pinów.&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 18:40''' &lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=U39RMUzCjiU Przykład mało intuicyjnego] zachowania aż do bólu prostego układu mechanicznego: dopóki sztabki są sztywno skręcone wahadło zachowuje się &amp;quot;zwyczajnie&amp;quot;; kiedy jednak uwolnimy zawias dzielący wahadło na dwie części, oscylacja staje się zupełnie nieoczekiwana. Okazuje się, że wiele bardziej skomplikowanych układów zachowuje się zgodnie z tymi samymi regułami opisywanymi '''teorią chaosu''' (nie mylić z &amp;quot;chaotyczną teorią&amp;quot;, z którą ta ścisła nie ma nic wspólnego). Na przykład takie zaskakujące ruchy mogą wykonywać notowania na giełdzie, pogoda, lub społeczeństwa. Warto o tym pamiętać patrząc na to co potrafi najprostsze wahadło. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 12:30'''&lt;br /&gt;
Do strony o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| przygotowaniu systemu dla Maliny]] dodany rozdział na temat naszej wersji obrazu uwzględniającej konfigurację połączenia po USB. Po wgraniu tej wersji na kartę będzie można łączyć się zdalnie.&lt;br /&gt;
&lt;br /&gt;
'''19 czerwca 2016, 23:15'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: orange;&amp;quot;&amp;gt;'''Już 3 maliny mają nowych właścicieli! Kolejna czeka...'''&amp;lt;/span&amp;gt; Do obioru potrzebna jest własna karta SD, z którą Malina zadziała. Szczegóły jej przygotowania są opisane [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| tutaj]], a kilka komentarzy zawiera ta strona [[Dyskusja_użytkownika:Grucha|dyskusji]].&lt;br /&gt;
[[Plik:4_maliny_nowe_zero_bez_trzech.jpg|400px|center]]&lt;br /&gt;
&lt;br /&gt;
=== Rzeczy do zrobienia ===&lt;br /&gt;
==== Strony własne użytkowników ====&lt;br /&gt;
Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] znajduje się lista użytkowników. Czerwony link na liście oznacza brak strony użytkownika, a jego kliknięcie pozwala rozpocząć jej dodawanie (o ile jest się zalogowanym). '''Zbudowanie własnej strony -- choćby najprostszej -- jest zadaniem użytkownika.'''&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=620</id>
		<title>Strona główna</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=620"/>
		<updated>2019-10-10T01:29:56Z</updated>

		<summary type="html">&lt;p&gt;Isj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Wyłączenie spisu treści strony --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;!-- Wyłączenie linków [edit] przy tytułach sekcji (zaśmiecają obraz) --&amp;gt;&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
Wiki do wymiany informacji o projektach. Jeśli jesteś tutaj pierwszy raz '''zerknij na stronę [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]]''' żeby dowiedzieć się więcej.&lt;br /&gt;
=== Indeks ===&lt;br /&gt;
===== Programowanie =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Programowanie&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Strony o Malinie Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Projekty wykorzystujące Malinę Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Projekty Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Moduły elektroniczne =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Moduły elektroniczne&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Roboty =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Roboty&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
order = ascending&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Ubuntu =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Ubuntu&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Aktualności ===&lt;br /&gt;
&lt;br /&gt;
'''10 październik 2019'''&lt;br /&gt;
&lt;br /&gt;
Japońskie roboty potrafią być też szybkie... choć jeszcze nie ogarniają dzwonienia.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;-KxjVlaLBmk&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''10 sierpnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe symulacje pokazujące jak można skutecznie stłumić wibracje w układzie wykonując ruch sprytniejszym oprogramowaniem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;Z1jgaEO9aRs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2019'''&lt;br /&gt;
&lt;br /&gt;
Kilka mniej schematycznych zastosowań serw i silników&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;BaDz12Yt0rw&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Jeśli ktoś nie może zasnąć &amp;amp;mdash; ekstremalnie porywająca siatkówka w wykonaniu Toyoty&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;V_nhy4iIaBA&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''1 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Siła fizyczna już nie zapewni kariery w logistyce...&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;youtube&amp;gt;5iV_hB08Uns&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''16 marca 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe ujęcia poklatkowe pozwalające zobaczyć bez zasłaniającej głowicy jak powstaje wydruk 3D&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;aubLuCFIejc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''12 luty 2019, 0:30 '''&lt;br /&gt;
&lt;br /&gt;
Aktualizacja oprogramowania strony do '''Wikimedia 1.32'''. Domyślny styl został zmieniony ze względu na brak uaktualnionej wersji dotychczasowego.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 lutego 2019, 13:04'''&lt;br /&gt;
&lt;br /&gt;
Gwiezdne Wojny w [https://www.pb.pl/droid-z-agh-952687 Krakowie]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 listopada 2018, 15:50'''&lt;br /&gt;
&lt;br /&gt;
[https://spaceforest.pl/bigos-4/ BIGOS] poleciał :)&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;aJiJKennwWU&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''27 października 2018, 19:00'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Znajdowanie_IP_maliny_przy_pomocy_kom.C3.B3rki|opis]] wyszukiwania adresu IP Maliny w lokalnej sieci WiFi przy pomocy komórki z Androidem.&lt;br /&gt;
&lt;br /&gt;
'''26 października 2018, 2:30'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Ustawienie_domy.C5.9Blnej_sieci_WiFi_dla_RaspberryPi_Zero_W|opis]] prekonfiguracji systemu i łączenia z Maliną przez WiFi. &lt;br /&gt;
&lt;br /&gt;
'''25 października 2018, 16:00'''&lt;br /&gt;
&lt;br /&gt;
Dodana obsługa emaila w robo.city. Dzięki temu możliwe jest odzyskiwanie haseł, ustawianie alertów o zmianach, itd. &lt;br /&gt;
&lt;br /&gt;
Zmieniony domyślny styl całej strony na wygodniejszy na komórkach. &lt;br /&gt;
&lt;br /&gt;
'''16 września 2016, 1:20'''&lt;br /&gt;
&lt;br /&gt;
W opisie elektroniki [[Trzykołowiec#Po.C5.82.C4.85czenia_elektryczne|trzykołowca]] dodane zdjęcie wtyczki USB z przylutowanymi przewodami zasilania i kondensatorem.&lt;br /&gt;
&lt;br /&gt;
'''7 września 2016,19:10'''&lt;br /&gt;
&lt;br /&gt;
Na stronie poświęconej budowie [[Trzykołowiec|trzykołowca]] dodany rozdział o łączeniu kabelków i programowaniu ruchu. Znajduje się tam link do modułu w pythonie dzięki, któremu można zapisać tor ruchu kilkoma prostymi poleceniami. Dodany  [[Trzykołowiec#W akcji|przykład kodu z nagraniem zachowania robota]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 sierpnia 2016, 16:05'''&lt;br /&gt;
&lt;br /&gt;
VirtualBox&lt;br /&gt;
&lt;br /&gt;
Na stronie https://www.virtualbox.org/wiki/Downloads trzeba pobrać '''VirtualBox 5.1.2 for Windows hosts''' jeśli systemem roboczym ma być Windows i zainstalować. Potem w tym programie tworzymy maszyny wirtualne i na nich instalujemy potrzebny system. &lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Trafiłem na taki krótki filmik (po polsku) o tym jak sobie człowiek drukarkę 3D zbudował. Właściwie ludzie potrafiący projektować części w 3D, oraz nie bojący się silnika krokowego &amp;amp;mdash; czyli każdy kto zrobi trzykołowca z drukowanymi własnymi częściami &amp;amp;mdash; może bez problemu taką drukarkę samemu zrobić!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;_KdsQ2qVVVY&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 0:10'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o to jakie są dostępne filamenty. Ten sklep http://3dfilamenty.com/pl/c/Filamenty/19 posiada całkiem dużą ofertę z opisami zalet różnych materiałów.&lt;br /&gt;
&lt;br /&gt;
'''5 sierpnia 2016, 20:50'''&lt;br /&gt;
&lt;br /&gt;
Nawiązując do rozmowy o programach pozwalających na obróbkę obrazów:&lt;br /&gt;
&lt;br /&gt;
Do obrazów rastrowych (czyli komponowanych z wielu pojedynczych  punktów) na Ubuntu warto zainstalować '''Gimp'''(a). Raczej spory program z wieloma opcjami i nie łatwy do nauczenia się od razu. Jednak potem bardzo poręczny i skuteczny,&lt;br /&gt;
&lt;br /&gt;
Do obrazów wektorowych świetnie nadaje się '''Inkscape'''. Do jego zainstalowania można użyć standardowego dodawana aplikacji Ubuntu. Pojęcie grafiki wektorowej już znacie -- dokładnie w takim trybie działa choćby FreeCAD, tyle tylko że robi to w trzech wymiarach. InkScape i FreeCAD są pod w tym względem bardzo podobne. Kiedy we FreeCADzie chcemy zdefiniować kulę określamy tylko pozycję jej środka i promień. Podobnie w InkScape, jeśli chcemy narysować okrąg podajemy tylko  pozycję i promień. Potem możemy dodatkowo zmieniać kolor wnętrza figury i jej brzegów, rodzaj użytej linii, itd.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''29 lipca 2016, 21:21'''&lt;br /&gt;
&lt;br /&gt;
Dodana strona o [[Instalowanie najnowszej wersji FreeCAD| instalowaniu najnowszej wersji FreeCADa]] na Ubuntu. &lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2016, 21:56'''&lt;br /&gt;
&lt;br /&gt;
Nowa strona w kategorii Projekty Pi Zero: [[Przylutowanie pinów do Maliny Zero]]. Strona zwiera też film pokazujący lutowanie.&lt;br /&gt;
&lt;br /&gt;
'''12 lipca 2016, 21:24'''&lt;br /&gt;
&lt;br /&gt;
Dołączył nowy użytkownik [[Użytkownik:pawhan|pawhan]]. Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] jest cały wstępniak, czyli co warto wiedzieć na początek.&lt;br /&gt;
&lt;br /&gt;
'''8 lipca 2016, 13:06'''&lt;br /&gt;
&lt;br /&gt;
Przyjechały:&lt;br /&gt;
&lt;br /&gt;
[[Plik:Silniki nema 14.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1 lipca 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o przygotowaniu systemu dla Maliny dodany rozdział o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Dostęp_do_plików_Maliny_z_komputera_zasilającego| uzyskiwaniu dostępu do plików działającej Maliny]].&lt;br /&gt;
&lt;br /&gt;
'''30 czerwca 2016, 23:40'''&lt;br /&gt;
&lt;br /&gt;
Na stronie [[Trzykołowiec]] pierwsze informacje o konstrukcji robota. Strona zawiera także wstępny plik projektu w programie FreeCAD jeśli ktoś chciałby w nim projektować podwozie. &lt;br /&gt;
&lt;br /&gt;
'''29 czerwca 2016, 1:55'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o Politechnikę Wrocławską. A tak się chłopaki bawią. Zaczyna się po angielsku, ale z robotem rozmawiają po polsku.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;v1GBBIFbwXs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''28 czerwca 2016, 1:15'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o [[Mrugająca_dioda_LED| projekcie z mrugającą diodą LED]] dodany przykładowy kod i minimalny opis pinów.&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 18:40''' &lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=U39RMUzCjiU Przykład mało intuicyjnego] zachowania aż do bólu prostego układu mechanicznego: dopóki sztabki są sztywno skręcone wahadło zachowuje się &amp;quot;zwyczajnie&amp;quot;; kiedy jednak uwolnimy zawias dzielący wahadło na dwie części, oscylacja staje się zupełnie nieoczekiwana. Okazuje się, że wiele bardziej skomplikowanych układów zachowuje się zgodnie z tymi samymi regułami opisywanymi '''teorią chaosu''' (nie mylić z &amp;quot;chaotyczną teorią&amp;quot;, z którą ta ścisła nie ma nic wspólnego). Na przykład takie zaskakujące ruchy mogą wykonywać notowania na giełdzie, pogoda, lub społeczeństwa. Warto o tym pamiętać patrząc na to co potrafi najprostsze wahadło. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 12:30'''&lt;br /&gt;
Do strony o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| przygotowaniu systemu dla Maliny]] dodany rozdział na temat naszej wersji obrazu uwzględniającej konfigurację połączenia po USB. Po wgraniu tej wersji na kartę będzie można łączyć się zdalnie.&lt;br /&gt;
&lt;br /&gt;
'''19 czerwca 2016, 23:15'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: orange;&amp;quot;&amp;gt;'''Już 3 maliny mają nowych właścicieli! Kolejna czeka...'''&amp;lt;/span&amp;gt; Do obioru potrzebna jest własna karta SD, z którą Malina zadziała. Szczegóły jej przygotowania są opisane [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| tutaj]], a kilka komentarzy zawiera ta strona [[Dyskusja_użytkownika:Grucha|dyskusji]].&lt;br /&gt;
[[Plik:4_maliny_nowe_zero_bez_trzech.jpg|400px|center]]&lt;br /&gt;
&lt;br /&gt;
=== Rzeczy do zrobienia ===&lt;br /&gt;
==== Strony własne użytkowników ====&lt;br /&gt;
Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] znajduje się lista użytkowników. Czerwony link na liście oznacza brak strony użytkownika, a jego kliknięcie pozwala rozpocząć jej dodawanie (o ile jest się zalogowanym). '''Zbudowanie własnej strony -- choćby najprostszej -- jest zadaniem użytkownika.'''&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=619</id>
		<title>Strona główna</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=619"/>
		<updated>2019-10-10T01:27:32Z</updated>

		<summary type="html">&lt;p&gt;Isj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Wyłączenie spisu treści strony --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;!-- Wyłączenie linków [edit] przy tytułach sekcji (zaśmiecają obraz) --&amp;gt;&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
Wiki do wymiany informacji o projektach. Jeśli jesteś tutaj pierwszy raz '''zerknij na stronę [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]]''' żeby dowiedzieć się więcej.&lt;br /&gt;
=== Indeks ===&lt;br /&gt;
===== Programowanie =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Programowanie&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Strony o Malinie Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Projekty wykorzystujące Malinę Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Projekty Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Moduły elektroniczne =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Moduły elektroniczne&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Roboty =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Roboty&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
order = ascending&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Ubuntu =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Ubuntu&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Aktualności ===&lt;br /&gt;
'''10 sierpnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe symulacje pokazujące jak można skutecznie stłumić wibracje w układzie wykonując ruch sprytniejszym oprogramowaniem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;Z1jgaEO9aRs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2019'''&lt;br /&gt;
&lt;br /&gt;
Kilka mniej schematycznych zastosowań serw i silników&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;BaDz12Yt0rw&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Jeśli ktoś nie może zasnąć &amp;amp;mdash; ekstremalnie porywająca siatkówka w wykonaniu Toyoty&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;V_nhy4iIaBA&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''1 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Siła fizyczna już nie zapewni kariery w logistyce...&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;youtube&amp;gt;5iV_hB08Uns&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''16 marca 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe ujęcia poklatkowe pozwalające zobaczyć bez zasłaniającej głowicy jak powstaje wydruk 3D&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;aubLuCFIejc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''12 luty 2019, 0:30 '''&lt;br /&gt;
&lt;br /&gt;
Aktualizacja oprogramowania strony do '''Wikimedia 1.32'''. Domyślny styl został zmieniony ze względu na brak uaktualnionej wersji dotychczasowego.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 lutego 2019, 13:04'''&lt;br /&gt;
&lt;br /&gt;
Gwiezdne Wojny w [https://www.pb.pl/droid-z-agh-952687 Krakowie]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 listopada 2018, 15:50'''&lt;br /&gt;
&lt;br /&gt;
[https://spaceforest.pl/bigos-4/ BIGOS] poleciał :)&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;aJiJKennwWU&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''27 października 2018, 19:00'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Znajdowanie_IP_maliny_przy_pomocy_kom.C3.B3rki|opis]] wyszukiwania adresu IP Maliny w lokalnej sieci WiFi przy pomocy komórki z Androidem.&lt;br /&gt;
&lt;br /&gt;
'''26 października 2018, 2:30'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Ustawienie_domy.C5.9Blnej_sieci_WiFi_dla_RaspberryPi_Zero_W|opis]] prekonfiguracji systemu i łączenia z Maliną przez WiFi. &lt;br /&gt;
&lt;br /&gt;
'''25 października 2018, 16:00'''&lt;br /&gt;
&lt;br /&gt;
Dodana obsługa emaila w robo.city. Dzięki temu możliwe jest odzyskiwanie haseł, ustawianie alertów o zmianach, itd. &lt;br /&gt;
&lt;br /&gt;
Zmieniony domyślny styl całej strony na wygodniejszy na komórkach. &lt;br /&gt;
&lt;br /&gt;
'''16 września 2016, 1:20'''&lt;br /&gt;
&lt;br /&gt;
W opisie elektroniki [[Trzykołowiec#Po.C5.82.C4.85czenia_elektryczne|trzykołowca]] dodane zdjęcie wtyczki USB z przylutowanymi przewodami zasilania i kondensatorem.&lt;br /&gt;
&lt;br /&gt;
'''7 września 2016,19:10'''&lt;br /&gt;
&lt;br /&gt;
Na stronie poświęconej budowie [[Trzykołowiec|trzykołowca]] dodany rozdział o łączeniu kabelków i programowaniu ruchu. Znajduje się tam link do modułu w pythonie dzięki, któremu można zapisać tor ruchu kilkoma prostymi poleceniami. Dodany  [[Trzykołowiec#W akcji|przykład kodu z nagraniem zachowania robota]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 sierpnia 2016, 16:05'''&lt;br /&gt;
&lt;br /&gt;
VirtualBox&lt;br /&gt;
&lt;br /&gt;
Na stronie https://www.virtualbox.org/wiki/Downloads trzeba pobrać '''VirtualBox 5.1.2 for Windows hosts''' jeśli systemem roboczym ma być Windows i zainstalować. Potem w tym programie tworzymy maszyny wirtualne i na nich instalujemy potrzebny system. &lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Trafiłem na taki krótki filmik (po polsku) o tym jak sobie człowiek drukarkę 3D zbudował. Właściwie ludzie potrafiący projektować części w 3D, oraz nie bojący się silnika krokowego &amp;amp;mdash; czyli każdy kto zrobi trzykołowca z drukowanymi własnymi częściami &amp;amp;mdash; może bez problemu taką drukarkę samemu zrobić!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;_KdsQ2qVVVY&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 0:10'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o to jakie są dostępne filamenty. Ten sklep http://3dfilamenty.com/pl/c/Filamenty/19 posiada całkiem dużą ofertę z opisami zalet różnych materiałów.&lt;br /&gt;
&lt;br /&gt;
'''5 sierpnia 2016, 20:50'''&lt;br /&gt;
&lt;br /&gt;
Nawiązując do rozmowy o programach pozwalających na obróbkę obrazów:&lt;br /&gt;
&lt;br /&gt;
Do obrazów rastrowych (czyli komponowanych z wielu pojedynczych  punktów) na Ubuntu warto zainstalować '''Gimp'''(a). Raczej spory program z wieloma opcjami i nie łatwy do nauczenia się od razu. Jednak potem bardzo poręczny i skuteczny,&lt;br /&gt;
&lt;br /&gt;
Do obrazów wektorowych świetnie nadaje się '''Inkscape'''. Do jego zainstalowania można użyć standardowego dodawana aplikacji Ubuntu. Pojęcie grafiki wektorowej już znacie -- dokładnie w takim trybie działa choćby FreeCAD, tyle tylko że robi to w trzech wymiarach. InkScape i FreeCAD są pod w tym względem bardzo podobne. Kiedy we FreeCADzie chcemy zdefiniować kulę określamy tylko pozycję jej środka i promień. Podobnie w InkScape, jeśli chcemy narysować okrąg podajemy tylko  pozycję i promień. Potem możemy dodatkowo zmieniać kolor wnętrza figury i jej brzegów, rodzaj użytej linii, itd.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''29 lipca 2016, 21:21'''&lt;br /&gt;
&lt;br /&gt;
Dodana strona o [[Instalowanie najnowszej wersji FreeCAD| instalowaniu najnowszej wersji FreeCADa]] na Ubuntu. &lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2016, 21:56'''&lt;br /&gt;
&lt;br /&gt;
Nowa strona w kategorii Projekty Pi Zero: [[Przylutowanie pinów do Maliny Zero]]. Strona zwiera też film pokazujący lutowanie.&lt;br /&gt;
&lt;br /&gt;
'''12 lipca 2016, 21:24'''&lt;br /&gt;
&lt;br /&gt;
Dołączył nowy użytkownik [[Użytkownik:pawhan|pawhan]]. Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] jest cały wstępniak, czyli co warto wiedzieć na początek.&lt;br /&gt;
&lt;br /&gt;
'''8 lipca 2016, 13:06'''&lt;br /&gt;
&lt;br /&gt;
Przyjechały:&lt;br /&gt;
&lt;br /&gt;
[[Plik:Silniki nema 14.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1 lipca 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o przygotowaniu systemu dla Maliny dodany rozdział o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Dostęp_do_plików_Maliny_z_komputera_zasilającego| uzyskiwaniu dostępu do plików działającej Maliny]].&lt;br /&gt;
&lt;br /&gt;
'''30 czerwca 2016, 23:40'''&lt;br /&gt;
&lt;br /&gt;
Na stronie [[Trzykołowiec]] pierwsze informacje o konstrukcji robota. Strona zawiera także wstępny plik projektu w programie FreeCAD jeśli ktoś chciałby w nim projektować podwozie. &lt;br /&gt;
&lt;br /&gt;
'''29 czerwca 2016, 1:55'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o Politechnikę Wrocławską. A tak się chłopaki bawią. Zaczyna się po angielsku, ale z robotem rozmawiają po polsku.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;v1GBBIFbwXs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''28 czerwca 2016, 1:15'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o [[Mrugająca_dioda_LED| projekcie z mrugającą diodą LED]] dodany przykładowy kod i minimalny opis pinów.&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 18:40''' &lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=U39RMUzCjiU Przykład mało intuicyjnego] zachowania aż do bólu prostego układu mechanicznego: dopóki sztabki są sztywno skręcone wahadło zachowuje się &amp;quot;zwyczajnie&amp;quot;; kiedy jednak uwolnimy zawias dzielący wahadło na dwie części, oscylacja staje się zupełnie nieoczekiwana. Okazuje się, że wiele bardziej skomplikowanych układów zachowuje się zgodnie z tymi samymi regułami opisywanymi '''teorią chaosu''' (nie mylić z &amp;quot;chaotyczną teorią&amp;quot;, z którą ta ścisła nie ma nic wspólnego). Na przykład takie zaskakujące ruchy mogą wykonywać notowania na giełdzie, pogoda, lub społeczeństwa. Warto o tym pamiętać patrząc na to co potrafi najprostsze wahadło. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 12:30'''&lt;br /&gt;
Do strony o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| przygotowaniu systemu dla Maliny]] dodany rozdział na temat naszej wersji obrazu uwzględniającej konfigurację połączenia po USB. Po wgraniu tej wersji na kartę będzie można łączyć się zdalnie.&lt;br /&gt;
&lt;br /&gt;
'''19 czerwca 2016, 23:15'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: orange;&amp;quot;&amp;gt;'''Już 3 maliny mają nowych właścicieli! Kolejna czeka...'''&amp;lt;/span&amp;gt; Do obioru potrzebna jest własna karta SD, z którą Malina zadziała. Szczegóły jej przygotowania są opisane [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| tutaj]], a kilka komentarzy zawiera ta strona [[Dyskusja_użytkownika:Grucha|dyskusji]].&lt;br /&gt;
[[Plik:4_maliny_nowe_zero_bez_trzech.jpg|400px|center]]&lt;br /&gt;
&lt;br /&gt;
=== Rzeczy do zrobienia ===&lt;br /&gt;
==== Strony własne użytkowników ====&lt;br /&gt;
Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] znajduje się lista użytkowników. Czerwony link na liście oznacza brak strony użytkownika, a jego kliknięcie pozwala rozpocząć jej dodawanie (o ile jest się zalogowanym). '''Zbudowanie własnej strony -- choćby najprostszej -- jest zadaniem użytkownika.'''&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=618</id>
		<title>Strona główna</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=618"/>
		<updated>2019-08-09T22:06:45Z</updated>

		<summary type="html">&lt;p&gt;Isj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Wyłączenie spisu treści strony --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;!-- Wyłączenie linków [edit] przy tytułach sekcji (zaśmiecają obraz) --&amp;gt;&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
Wiki do wymiany informacji o projektach. Jeśli jesteś tutaj pierwszy '''zerknij na stronę [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]]''' żeby dowiedzieć się więcej.&lt;br /&gt;
=== Indeks ===&lt;br /&gt;
===== Programowanie =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Programowanie&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Strony o Malinie Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Projekty wykorzystujące Malinę Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Projekty Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Moduły elektroniczne =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Moduły elektroniczne&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Roboty =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Roboty&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
order = ascending&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Ubuntu =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Ubuntu&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Aktualności ===&lt;br /&gt;
'''10 sierpnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe symulacje pokazujące jak można skutecznie stłumić wibracje w układzie wykonując ruch sprytniejszym oprogramowaniem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;Z1jgaEO9aRs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2019'''&lt;br /&gt;
&lt;br /&gt;
Kilka mniej schematycznych zastosowań serw i silników&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;BaDz12Yt0rw&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Jeśli ktoś nie może zasnąć &amp;amp;mdash; ekstremalnie porywająca siatkówka w wykonaniu Toyoty&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;V_nhy4iIaBA&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''1 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Siła fizyczna już nie zapewni kariery w logistyce...&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;youtube&amp;gt;5iV_hB08Uns&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''16 marca 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe ujęcia poklatkowe pozwalające zobaczyć bez zasłaniającej głowicy jak powstaje wydruk 3D&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;aubLuCFIejc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''12 luty 2019, 0:30 '''&lt;br /&gt;
&lt;br /&gt;
Aktualizacja oprogramowania strony do '''Wikimedia 1.32'''. Domyślny styl został zmieniony ze względu na brak uaktualnionej wersji dotychczasowego.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 lutego 2019, 13:04'''&lt;br /&gt;
&lt;br /&gt;
Gwiezdne Wojny w [https://www.pb.pl/droid-z-agh-952687 Krakowie]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 listopada 2018, 15:50'''&lt;br /&gt;
&lt;br /&gt;
[https://spaceforest.pl/bigos-4/ BIGOS] poleciał :)&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;aJiJKennwWU&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''27 października 2018, 19:00'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Znajdowanie_IP_maliny_przy_pomocy_kom.C3.B3rki|opis]] wyszukiwania adresu IP Maliny w lokalnej sieci WiFi przy pomocy komórki z Androidem.&lt;br /&gt;
&lt;br /&gt;
'''26 października 2018, 2:30'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Ustawienie_domy.C5.9Blnej_sieci_WiFi_dla_RaspberryPi_Zero_W|opis]] prekonfiguracji systemu i łączenia z Maliną przez WiFi. &lt;br /&gt;
&lt;br /&gt;
'''25 października 2018, 16:00'''&lt;br /&gt;
&lt;br /&gt;
Dodana obsługa emaila w robo.city. Dzięki temu możliwe jest odzyskiwanie haseł, ustawianie alertów o zmianach, itd. &lt;br /&gt;
&lt;br /&gt;
Zmieniony domyślny styl całej strony na wygodniejszy na komórkach. &lt;br /&gt;
&lt;br /&gt;
'''16 września 2016, 1:20'''&lt;br /&gt;
&lt;br /&gt;
W opisie elektroniki [[Trzykołowiec#Po.C5.82.C4.85czenia_elektryczne|trzykołowca]] dodane zdjęcie wtyczki USB z przylutowanymi przewodami zasilania i kondensatorem.&lt;br /&gt;
&lt;br /&gt;
'''7 września 2016,19:10'''&lt;br /&gt;
&lt;br /&gt;
Na stronie poświęconej budowie [[Trzykołowiec|trzykołowca]] dodany rozdział o łączeniu kabelków i programowaniu ruchu. Znajduje się tam link do modułu w pythonie dzięki, któremu można zapisać tor ruchu kilkoma prostymi poleceniami. Dodany  [[Trzykołowiec#W akcji|przykład kodu z nagraniem zachowania robota]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 sierpnia 2016, 16:05'''&lt;br /&gt;
&lt;br /&gt;
VirtualBox&lt;br /&gt;
&lt;br /&gt;
Na stronie https://www.virtualbox.org/wiki/Downloads trzeba pobrać '''VirtualBox 5.1.2 for Windows hosts''' jeśli systemem roboczym ma być Windows i zainstalować. Potem w tym programie tworzymy maszyny wirtualne i na nich instalujemy potrzebny system. &lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Trafiłem na taki krótki filmik (po polsku) o tym jak sobie człowiek drukarkę 3D zbudował. Właściwie ludzie potrafiący projektować części w 3D, oraz nie bojący się silnika krokowego &amp;amp;mdash; czyli każdy kto zrobi trzykołowca z drukowanymi własnymi częściami &amp;amp;mdash; może bez problemu taką drukarkę samemu zrobić!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;_KdsQ2qVVVY&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 0:10'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o to jakie są dostępne filamenty. Ten sklep http://3dfilamenty.com/pl/c/Filamenty/19 posiada całkiem dużą ofertę z opisami zalet różnych materiałów.&lt;br /&gt;
&lt;br /&gt;
'''5 sierpnia 2016, 20:50'''&lt;br /&gt;
&lt;br /&gt;
Nawiązując do rozmowy o programach pozwalających na obróbkę obrazów:&lt;br /&gt;
&lt;br /&gt;
Do obrazów rastrowych (czyli komponowanych z wielu pojedynczych  punktów) na Ubuntu warto zainstalować '''Gimp'''(a). Raczej spory program z wieloma opcjami i nie łatwy do nauczenia się od razu. Jednak potem bardzo poręczny i skuteczny,&lt;br /&gt;
&lt;br /&gt;
Do obrazów wektorowych świetnie nadaje się '''Inkscape'''. Do jego zainstalowania można użyć standardowego dodawana aplikacji Ubuntu. Pojęcie grafiki wektorowej już znacie -- dokładnie w takim trybie działa choćby FreeCAD, tyle tylko że robi to w trzech wymiarach. InkScape i FreeCAD są pod w tym względem bardzo podobne. Kiedy we FreeCADzie chcemy zdefiniować kulę określamy tylko pozycję jej środka i promień. Podobnie w InkScape, jeśli chcemy narysować okrąg podajemy tylko  pozycję i promień. Potem możemy dodatkowo zmieniać kolor wnętrza figury i jej brzegów, rodzaj użytej linii, itd.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''29 lipca 2016, 21:21'''&lt;br /&gt;
&lt;br /&gt;
Dodana strona o [[Instalowanie najnowszej wersji FreeCAD| instalowaniu najnowszej wersji FreeCADa]] na Ubuntu. &lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2016, 21:56'''&lt;br /&gt;
&lt;br /&gt;
Nowa strona w kategorii Projekty Pi Zero: [[Przylutowanie pinów do Maliny Zero]]. Strona zwiera też film pokazujący lutowanie.&lt;br /&gt;
&lt;br /&gt;
'''12 lipca 2016, 21:24'''&lt;br /&gt;
&lt;br /&gt;
Dołączył nowy użytkownik [[Użytkownik:pawhan|pawhan]]. Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] jest cały wstępniak, czyli co warto wiedzieć na początek.&lt;br /&gt;
&lt;br /&gt;
'''8 lipca 2016, 13:06'''&lt;br /&gt;
&lt;br /&gt;
Przyjechały:&lt;br /&gt;
&lt;br /&gt;
[[Plik:Silniki nema 14.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1 lipca 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o przygotowaniu systemu dla Maliny dodany rozdział o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Dostęp_do_plików_Maliny_z_komputera_zasilającego| uzyskiwaniu dostępu do plików działającej Maliny]].&lt;br /&gt;
&lt;br /&gt;
'''30 czerwca 2016, 23:40'''&lt;br /&gt;
&lt;br /&gt;
Na stronie [[Trzykołowiec]] pierwsze informacje o konstrukcji robota. Strona zawiera także wstępny plik projektu w programie FreeCAD jeśli ktoś chciałby w nim projektować podwozie. &lt;br /&gt;
&lt;br /&gt;
'''29 czerwca 2016, 1:55'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o Politechnikę Wrocławską. A tak się chłopaki bawią. Zaczyna się po angielsku, ale z robotem rozmawiają po polsku.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;v1GBBIFbwXs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''28 czerwca 2016, 1:15'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o [[Mrugająca_dioda_LED| projekcie z mrugającą diodą LED]] dodany przykładowy kod i minimalny opis pinów.&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 18:40''' &lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=U39RMUzCjiU Przykład mało intuicyjnego] zachowania aż do bólu prostego układu mechanicznego: dopóki sztabki są sztywno skręcone wahadło zachowuje się &amp;quot;zwyczajnie&amp;quot;; kiedy jednak uwolnimy zawias dzielący wahadło na dwie części, oscylacja staje się zupełnie nieoczekiwana. Okazuje się, że wiele bardziej skomplikowanych układów zachowuje się zgodnie z tymi samymi regułami opisywanymi '''teorią chaosu''' (nie mylić z &amp;quot;chaotyczną teorią&amp;quot;, z którą ta ścisła nie ma nic wspólnego). Na przykład takie zaskakujące ruchy mogą wykonywać notowania na giełdzie, pogoda, lub społeczeństwa. Warto o tym pamiętać patrząc na to co potrafi najprostsze wahadło. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 12:30'''&lt;br /&gt;
Do strony o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| przygotowaniu systemu dla Maliny]] dodany rozdział na temat naszej wersji obrazu uwzględniającej konfigurację połączenia po USB. Po wgraniu tej wersji na kartę będzie można łączyć się zdalnie.&lt;br /&gt;
&lt;br /&gt;
'''19 czerwca 2016, 23:15'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: orange;&amp;quot;&amp;gt;'''Już 3 maliny mają nowych właścicieli! Kolejna czeka...'''&amp;lt;/span&amp;gt; Do obioru potrzebna jest własna karta SD, z którą Malina zadziała. Szczegóły jej przygotowania są opisane [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| tutaj]], a kilka komentarzy zawiera ta strona [[Dyskusja_użytkownika:Grucha|dyskusji]].&lt;br /&gt;
[[Plik:4_maliny_nowe_zero_bez_trzech.jpg|400px|center]]&lt;br /&gt;
&lt;br /&gt;
=== Rzeczy do zrobienia ===&lt;br /&gt;
==== Strony własne użytkowników ====&lt;br /&gt;
Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] znajduje się lista użytkowników. Czerwony link na liście oznacza brak strony użytkownika, a jego kliknięcie pozwala rozpocząć jej dodawanie (o ile jest się zalogowanym). '''Zbudowanie własnej strony -- choćby najprostszej -- jest zadaniem użytkownika.'''&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=617</id>
		<title>Strona główna</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=617"/>
		<updated>2019-08-09T22:06:23Z</updated>

		<summary type="html">&lt;p&gt;Isj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Wyłączenie spisu treści strony --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;!-- Wyłączenie linków [edit] przy tytułach sekcji (zaśmiecają obraz) --&amp;gt;&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
Wiki do wymiany informacji o projektach. Jeśli jesteś tutaj pierwszy '''zerknij na stronę [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]]''' żeby dowiedzieć się więcej.&lt;br /&gt;
=== Indeks ===&lt;br /&gt;
===== Programowanie =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Programowanie&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Strony o Malinie Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Projekty wykorzystujące Malinę Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Projekty Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Moduły elektroniczne =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Moduły elektroniczne&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Roboty =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Roboty&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
order = ascending&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Ubuntu =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Ubuntu&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Aktualności ===&lt;br /&gt;
'''10 sierpnia 2019'''&lt;br /&gt;
Ciekawe symulacje pokazujące jak można skutecznie stłumić wibracje w układzie wykonując ruch sprytniejszym oprogramowaniem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;Z1jgaEO9aRs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2019'''&lt;br /&gt;
&lt;br /&gt;
Kilka mniej schematycznych zastosowań serw i silników&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;BaDz12Yt0rw&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Jeśli ktoś nie może zasnąć &amp;amp;mdash; ekstremalnie porywająca siatkówka w wykonaniu Toyoty&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;V_nhy4iIaBA&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''1 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Siła fizyczna już nie zapewni kariery w logistyce...&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;youtube&amp;gt;5iV_hB08Uns&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''16 marca 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe ujęcia poklatkowe pozwalające zobaczyć bez zasłaniającej głowicy jak powstaje wydruk 3D&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;aubLuCFIejc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''12 luty 2019, 0:30 '''&lt;br /&gt;
&lt;br /&gt;
Aktualizacja oprogramowania strony do '''Wikimedia 1.32'''. Domyślny styl został zmieniony ze względu na brak uaktualnionej wersji dotychczasowego.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 lutego 2019, 13:04'''&lt;br /&gt;
&lt;br /&gt;
Gwiezdne Wojny w [https://www.pb.pl/droid-z-agh-952687 Krakowie]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 listopada 2018, 15:50'''&lt;br /&gt;
&lt;br /&gt;
[https://spaceforest.pl/bigos-4/ BIGOS] poleciał :)&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;aJiJKennwWU&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''27 października 2018, 19:00'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Znajdowanie_IP_maliny_przy_pomocy_kom.C3.B3rki|opis]] wyszukiwania adresu IP Maliny w lokalnej sieci WiFi przy pomocy komórki z Androidem.&lt;br /&gt;
&lt;br /&gt;
'''26 października 2018, 2:30'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Ustawienie_domy.C5.9Blnej_sieci_WiFi_dla_RaspberryPi_Zero_W|opis]] prekonfiguracji systemu i łączenia z Maliną przez WiFi. &lt;br /&gt;
&lt;br /&gt;
'''25 października 2018, 16:00'''&lt;br /&gt;
&lt;br /&gt;
Dodana obsługa emaila w robo.city. Dzięki temu możliwe jest odzyskiwanie haseł, ustawianie alertów o zmianach, itd. &lt;br /&gt;
&lt;br /&gt;
Zmieniony domyślny styl całej strony na wygodniejszy na komórkach. &lt;br /&gt;
&lt;br /&gt;
'''16 września 2016, 1:20'''&lt;br /&gt;
&lt;br /&gt;
W opisie elektroniki [[Trzykołowiec#Po.C5.82.C4.85czenia_elektryczne|trzykołowca]] dodane zdjęcie wtyczki USB z przylutowanymi przewodami zasilania i kondensatorem.&lt;br /&gt;
&lt;br /&gt;
'''7 września 2016,19:10'''&lt;br /&gt;
&lt;br /&gt;
Na stronie poświęconej budowie [[Trzykołowiec|trzykołowca]] dodany rozdział o łączeniu kabelków i programowaniu ruchu. Znajduje się tam link do modułu w pythonie dzięki, któremu można zapisać tor ruchu kilkoma prostymi poleceniami. Dodany  [[Trzykołowiec#W akcji|przykład kodu z nagraniem zachowania robota]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 sierpnia 2016, 16:05'''&lt;br /&gt;
&lt;br /&gt;
VirtualBox&lt;br /&gt;
&lt;br /&gt;
Na stronie https://www.virtualbox.org/wiki/Downloads trzeba pobrać '''VirtualBox 5.1.2 for Windows hosts''' jeśli systemem roboczym ma być Windows i zainstalować. Potem w tym programie tworzymy maszyny wirtualne i na nich instalujemy potrzebny system. &lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Trafiłem na taki krótki filmik (po polsku) o tym jak sobie człowiek drukarkę 3D zbudował. Właściwie ludzie potrafiący projektować części w 3D, oraz nie bojący się silnika krokowego &amp;amp;mdash; czyli każdy kto zrobi trzykołowca z drukowanymi własnymi częściami &amp;amp;mdash; może bez problemu taką drukarkę samemu zrobić!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;_KdsQ2qVVVY&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 0:10'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o to jakie są dostępne filamenty. Ten sklep http://3dfilamenty.com/pl/c/Filamenty/19 posiada całkiem dużą ofertę z opisami zalet różnych materiałów.&lt;br /&gt;
&lt;br /&gt;
'''5 sierpnia 2016, 20:50'''&lt;br /&gt;
&lt;br /&gt;
Nawiązując do rozmowy o programach pozwalających na obróbkę obrazów:&lt;br /&gt;
&lt;br /&gt;
Do obrazów rastrowych (czyli komponowanych z wielu pojedynczych  punktów) na Ubuntu warto zainstalować '''Gimp'''(a). Raczej spory program z wieloma opcjami i nie łatwy do nauczenia się od razu. Jednak potem bardzo poręczny i skuteczny,&lt;br /&gt;
&lt;br /&gt;
Do obrazów wektorowych świetnie nadaje się '''Inkscape'''. Do jego zainstalowania można użyć standardowego dodawana aplikacji Ubuntu. Pojęcie grafiki wektorowej już znacie -- dokładnie w takim trybie działa choćby FreeCAD, tyle tylko że robi to w trzech wymiarach. InkScape i FreeCAD są pod w tym względem bardzo podobne. Kiedy we FreeCADzie chcemy zdefiniować kulę określamy tylko pozycję jej środka i promień. Podobnie w InkScape, jeśli chcemy narysować okrąg podajemy tylko  pozycję i promień. Potem możemy dodatkowo zmieniać kolor wnętrza figury i jej brzegów, rodzaj użytej linii, itd.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''29 lipca 2016, 21:21'''&lt;br /&gt;
&lt;br /&gt;
Dodana strona o [[Instalowanie najnowszej wersji FreeCAD| instalowaniu najnowszej wersji FreeCADa]] na Ubuntu. &lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2016, 21:56'''&lt;br /&gt;
&lt;br /&gt;
Nowa strona w kategorii Projekty Pi Zero: [[Przylutowanie pinów do Maliny Zero]]. Strona zwiera też film pokazujący lutowanie.&lt;br /&gt;
&lt;br /&gt;
'''12 lipca 2016, 21:24'''&lt;br /&gt;
&lt;br /&gt;
Dołączył nowy użytkownik [[Użytkownik:pawhan|pawhan]]. Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] jest cały wstępniak, czyli co warto wiedzieć na początek.&lt;br /&gt;
&lt;br /&gt;
'''8 lipca 2016, 13:06'''&lt;br /&gt;
&lt;br /&gt;
Przyjechały:&lt;br /&gt;
&lt;br /&gt;
[[Plik:Silniki nema 14.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1 lipca 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o przygotowaniu systemu dla Maliny dodany rozdział o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Dostęp_do_plików_Maliny_z_komputera_zasilającego| uzyskiwaniu dostępu do plików działającej Maliny]].&lt;br /&gt;
&lt;br /&gt;
'''30 czerwca 2016, 23:40'''&lt;br /&gt;
&lt;br /&gt;
Na stronie [[Trzykołowiec]] pierwsze informacje o konstrukcji robota. Strona zawiera także wstępny plik projektu w programie FreeCAD jeśli ktoś chciałby w nim projektować podwozie. &lt;br /&gt;
&lt;br /&gt;
'''29 czerwca 2016, 1:55'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o Politechnikę Wrocławską. A tak się chłopaki bawią. Zaczyna się po angielsku, ale z robotem rozmawiają po polsku.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;v1GBBIFbwXs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''28 czerwca 2016, 1:15'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o [[Mrugająca_dioda_LED| projekcie z mrugającą diodą LED]] dodany przykładowy kod i minimalny opis pinów.&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 18:40''' &lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=U39RMUzCjiU Przykład mało intuicyjnego] zachowania aż do bólu prostego układu mechanicznego: dopóki sztabki są sztywno skręcone wahadło zachowuje się &amp;quot;zwyczajnie&amp;quot;; kiedy jednak uwolnimy zawias dzielący wahadło na dwie części, oscylacja staje się zupełnie nieoczekiwana. Okazuje się, że wiele bardziej skomplikowanych układów zachowuje się zgodnie z tymi samymi regułami opisywanymi '''teorią chaosu''' (nie mylić z &amp;quot;chaotyczną teorią&amp;quot;, z którą ta ścisła nie ma nic wspólnego). Na przykład takie zaskakujące ruchy mogą wykonywać notowania na giełdzie, pogoda, lub społeczeństwa. Warto o tym pamiętać patrząc na to co potrafi najprostsze wahadło. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 12:30'''&lt;br /&gt;
Do strony o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| przygotowaniu systemu dla Maliny]] dodany rozdział na temat naszej wersji obrazu uwzględniającej konfigurację połączenia po USB. Po wgraniu tej wersji na kartę będzie można łączyć się zdalnie.&lt;br /&gt;
&lt;br /&gt;
'''19 czerwca 2016, 23:15'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: orange;&amp;quot;&amp;gt;'''Już 3 maliny mają nowych właścicieli! Kolejna czeka...'''&amp;lt;/span&amp;gt; Do obioru potrzebna jest własna karta SD, z którą Malina zadziała. Szczegóły jej przygotowania są opisane [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| tutaj]], a kilka komentarzy zawiera ta strona [[Dyskusja_użytkownika:Grucha|dyskusji]].&lt;br /&gt;
[[Plik:4_maliny_nowe_zero_bez_trzech.jpg|400px|center]]&lt;br /&gt;
&lt;br /&gt;
=== Rzeczy do zrobienia ===&lt;br /&gt;
==== Strony własne użytkowników ====&lt;br /&gt;
Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] znajduje się lista użytkowników. Czerwony link na liście oznacza brak strony użytkownika, a jego kliknięcie pozwala rozpocząć jej dodawanie (o ile jest się zalogowanym). '''Zbudowanie własnej strony -- choćby najprostszej -- jest zadaniem użytkownika.'''&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=616</id>
		<title>Strona główna</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=616"/>
		<updated>2019-08-09T22:03:51Z</updated>

		<summary type="html">&lt;p&gt;Isj: literówka&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Wyłączenie spisu treści strony --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;!-- Wyłączenie linków [edit] przy tytułach sekcji (zaśmiecają obraz) --&amp;gt;&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
Wiki do wymiany informacji o projektach. Jeśli jesteś tutaj pierwszy '''zerknij na stronę [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]]''' żeby dowiedzieć się więcej.&lt;br /&gt;
=== Indeks ===&lt;br /&gt;
===== Programowanie =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Programowanie&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Strony o Malinie Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Projekty wykorzystujące Malinę Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Projekty Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Moduły elektroniczne =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Moduły elektroniczne&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Roboty =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Roboty&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
order = ascending&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Ubuntu =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Ubuntu&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Aktualności/Ogłoszenia ===&lt;br /&gt;
'''19 lipca 2019'''&lt;br /&gt;
&lt;br /&gt;
Kilka mniej schematycznych zastosowań serw i silników&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;BaDz12Yt0rw&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Jeśli ktoś nie może zasnąć &amp;amp;mdash; ekstremalnie porywająca siatkówka w wykonaniu Toyoty&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;V_nhy4iIaBA&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''1 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Siła fizyczna już nie zapewni kariery w logistyce...&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;youtube&amp;gt;5iV_hB08Uns&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''16 marca 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe ujęcia poklatkowe pozwalające zobaczyć bez zasłaniającej głowicy jak powstaje wydruk 3D&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;aubLuCFIejc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''12 luty 2019, 0:30 '''&lt;br /&gt;
&lt;br /&gt;
Aktualizacja oprogramowania strony do '''Wikimedia 1.32'''. Domyślny styl został zmieniony ze względu na brak uaktualnionej wersji dotychczasowego.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 lutego 2019, 13:04'''&lt;br /&gt;
&lt;br /&gt;
Gwiezdne Wojny w [https://www.pb.pl/droid-z-agh-952687 Krakowie]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 listopada 2018, 15:50'''&lt;br /&gt;
&lt;br /&gt;
[https://spaceforest.pl/bigos-4/ BIGOS] poleciał :)&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;aJiJKennwWU&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''27 października 2018, 19:00'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Znajdowanie_IP_maliny_przy_pomocy_kom.C3.B3rki|opis]] wyszukiwania adresu IP Maliny w lokalnej sieci WiFi przy pomocy komórki z Androidem.&lt;br /&gt;
&lt;br /&gt;
'''26 października 2018, 2:30'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Ustawienie_domy.C5.9Blnej_sieci_WiFi_dla_RaspberryPi_Zero_W|opis]] prekonfiguracji systemu i łączenia z Maliną przez WiFi. &lt;br /&gt;
&lt;br /&gt;
'''25 października 2018, 16:00'''&lt;br /&gt;
&lt;br /&gt;
Dodana obsługa emaila w robo.city. Dzięki temu możliwe jest odzyskiwanie haseł, ustawianie alertów o zmianach, itd. &lt;br /&gt;
&lt;br /&gt;
Zmieniony domyślny styl całej strony na wygodniejszy na komórkach. &lt;br /&gt;
&lt;br /&gt;
'''16 września 2016, 1:20'''&lt;br /&gt;
&lt;br /&gt;
W opisie elektroniki [[Trzykołowiec#Po.C5.82.C4.85czenia_elektryczne|trzykołowca]] dodane zdjęcie wtyczki USB z przylutowanymi przewodami zasilania i kondensatorem.&lt;br /&gt;
&lt;br /&gt;
'''7 września 2016,19:10'''&lt;br /&gt;
&lt;br /&gt;
Na stronie poświęconej budowie [[Trzykołowiec|trzykołowca]] dodany rozdział o łączeniu kabelków i programowaniu ruchu. Znajduje się tam link do modułu w pythonie dzięki, któremu można zapisać tor ruchu kilkoma prostymi poleceniami. Dodany  [[Trzykołowiec#W akcji|przykład kodu z nagraniem zachowania robota]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 sierpnia 2016, 16:05'''&lt;br /&gt;
&lt;br /&gt;
VirtualBox&lt;br /&gt;
&lt;br /&gt;
Na stronie https://www.virtualbox.org/wiki/Downloads trzeba pobrać '''VirtualBox 5.1.2 for Windows hosts''' jeśli systemem roboczym ma być Windows i zainstalować. Potem w tym programie tworzymy maszyny wirtualne i na nich instalujemy potrzebny system. &lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Trafiłem na taki krótki filmik (po polsku) o tym jak sobie człowiek drukarkę 3D zbudował. Właściwie ludzie potrafiący projektować części w 3D, oraz nie bojący się silnika krokowego &amp;amp;mdash; czyli każdy kto zrobi trzykołowca z drukowanymi własnymi częściami &amp;amp;mdash; może bez problemu taką drukarkę samemu zrobić!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;_KdsQ2qVVVY&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 0:10'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o to jakie są dostępne filamenty. Ten sklep http://3dfilamenty.com/pl/c/Filamenty/19 posiada całkiem dużą ofertę z opisami zalet różnych materiałów.&lt;br /&gt;
&lt;br /&gt;
'''5 sierpnia 2016, 20:50'''&lt;br /&gt;
&lt;br /&gt;
Nawiązując do rozmowy o programach pozwalających na obróbkę obrazów:&lt;br /&gt;
&lt;br /&gt;
Do obrazów rastrowych (czyli komponowanych z wielu pojedynczych  punktów) na Ubuntu warto zainstalować '''Gimp'''(a). Raczej spory program z wieloma opcjami i nie łatwy do nauczenia się od razu. Jednak potem bardzo poręczny i skuteczny,&lt;br /&gt;
&lt;br /&gt;
Do obrazów wektorowych świetnie nadaje się '''Inkscape'''. Do jego zainstalowania można użyć standardowego dodawana aplikacji Ubuntu. Pojęcie grafiki wektorowej już znacie -- dokładnie w takim trybie działa choćby FreeCAD, tyle tylko że robi to w trzech wymiarach. InkScape i FreeCAD są pod w tym względem bardzo podobne. Kiedy we FreeCADzie chcemy zdefiniować kulę określamy tylko pozycję jej środka i promień. Podobnie w InkScape, jeśli chcemy narysować okrąg podajemy tylko  pozycję i promień. Potem możemy dodatkowo zmieniać kolor wnętrza figury i jej brzegów, rodzaj użytej linii, itd.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''29 lipca 2016, 21:21'''&lt;br /&gt;
&lt;br /&gt;
Dodana strona o [[Instalowanie najnowszej wersji FreeCAD| instalowaniu najnowszej wersji FreeCADa]] na Ubuntu. &lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2016, 21:56'''&lt;br /&gt;
&lt;br /&gt;
Nowa strona w kategorii Projekty Pi Zero: [[Przylutowanie pinów do Maliny Zero]]. Strona zwiera też film pokazujący lutowanie.&lt;br /&gt;
&lt;br /&gt;
'''12 lipca 2016, 21:24'''&lt;br /&gt;
&lt;br /&gt;
Dołączył nowy użytkownik [[Użytkownik:pawhan|pawhan]]. Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] jest cały wstępniak, czyli co warto wiedzieć na początek.&lt;br /&gt;
&lt;br /&gt;
'''8 lipca 2016, 13:06'''&lt;br /&gt;
&lt;br /&gt;
Przyjechały:&lt;br /&gt;
&lt;br /&gt;
[[Plik:Silniki nema 14.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1 lipca 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o przygotowaniu systemu dla Maliny dodany rozdział o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Dostęp_do_plików_Maliny_z_komputera_zasilającego| uzyskiwaniu dostępu do plików działającej Maliny]].&lt;br /&gt;
&lt;br /&gt;
'''30 czerwca 2016, 23:40'''&lt;br /&gt;
&lt;br /&gt;
Na stronie [[Trzykołowiec]] pierwsze informacje o konstrukcji robota. Strona zawiera także wstępny plik projektu w programie FreeCAD jeśli ktoś chciałby w nim projektować podwozie. &lt;br /&gt;
&lt;br /&gt;
'''29 czerwca 2016, 1:55'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o Politechnikę Wrocławską. A tak się chłopaki bawią. Zaczyna się po angielsku, ale z robotem rozmawiają po polsku.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;v1GBBIFbwXs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''28 czerwca 2016, 1:15'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o [[Mrugająca_dioda_LED| projekcie z mrugającą diodą LED]] dodany przykładowy kod i minimalny opis pinów.&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 18:40''' &lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=U39RMUzCjiU Przykład mało intuicyjnego] zachowania aż do bólu prostego układu mechanicznego: dopóki sztabki są sztywno skręcone wahadło zachowuje się &amp;quot;zwyczajnie&amp;quot;; kiedy jednak uwolnimy zawias dzielący wahadło na dwie części, oscylacja staje się zupełnie nieoczekiwana. Okazuje się, że wiele bardziej skomplikowanych układów zachowuje się zgodnie z tymi samymi regułami opisywanymi '''teorią chaosu''' (nie mylić z &amp;quot;chaotyczną teorią&amp;quot;, z którą ta ścisła nie ma nic wspólnego). Na przykład takie zaskakujące ruchy mogą wykonywać notowania na giełdzie, pogoda, lub społeczeństwa. Warto o tym pamiętać patrząc na to co potrafi najprostsze wahadło. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 12:30'''&lt;br /&gt;
Do strony o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| przygotowaniu systemu dla Maliny]] dodany rozdział na temat naszej wersji obrazu uwzględniającej konfigurację połączenia po USB. Po wgraniu tej wersji na kartę będzie można łączyć się zdalnie.&lt;br /&gt;
&lt;br /&gt;
'''19 czerwca 2016, 23:15'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: orange;&amp;quot;&amp;gt;'''Już 3 maliny mają nowych właścicieli! Kolejna czeka...'''&amp;lt;/span&amp;gt; Do obioru potrzebna jest własna karta SD, z którą Malina zadziała. Szczegóły jej przygotowania są opisane [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| tutaj]], a kilka komentarzy zawiera ta strona [[Dyskusja_użytkownika:Grucha|dyskusji]].&lt;br /&gt;
[[Plik:4_maliny_nowe_zero_bez_trzech.jpg|400px|center]]&lt;br /&gt;
&lt;br /&gt;
=== Rzeczy do zrobienia ===&lt;br /&gt;
==== Strony własne użytkowników ====&lt;br /&gt;
Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] znajduje się lista użytkowników. Czerwony link na liście oznacza brak strony użytkownika, a jego kliknięcie pozwala rozpocząć jej dodawanie (o ile jest się zalogowanym). '''Zbudowanie własnej strony -- choćby najprostszej -- jest zadaniem użytkownika.'''&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=615</id>
		<title>Strona główna</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=615"/>
		<updated>2019-07-19T14:16:26Z</updated>

		<summary type="html">&lt;p&gt;Isj: link z filmem z ciekawymi robotami&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Wyłączenie spisu treści strony --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;!-- Wyłączenie linków [edit] przy tytułach sekcji (zaśmiecają obraz) --&amp;gt;&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
Wiki do wymiany informacji o projektach. Jeśli jesteś tutaj pierwszy '''zerknij na stronę [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]]''' żeby dowiedzieć się więcej.&lt;br /&gt;
=== Indeks ===&lt;br /&gt;
===== Programowanie =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Programowanie&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Strony o Malinie Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Projekty wykorzystujące Malinę Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Projekty Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Moduły elektroniczne =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Moduły elektroniczne&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Roboty =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Roboty&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
order = ascending&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Ubuntu =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Ubuntu&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Aktualności/Ogłoszenia ===&lt;br /&gt;
'''19 lipca 2019'''&lt;br /&gt;
&lt;br /&gt;
Kilka mniej schematycznch zastosowań serw i silników&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;BaDz12Yt0rw&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Jeśli ktoś nie może zasnąć &amp;amp;mdash; ekstremalnie porywająca siatkówka w wykonaniu Toyoty&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;V_nhy4iIaBA&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''1 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Siła fizyczna już nie zapewni kariery w logistyce...&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;youtube&amp;gt;5iV_hB08Uns&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''16 marca 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe ujęcia poklatkowe pozwalające zobaczyć bez zasłaniającej głowicy jak powstaje wydruk 3D&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;aubLuCFIejc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''12 luty 2019, 0:30 '''&lt;br /&gt;
&lt;br /&gt;
Aktualizacja oprogramowania strony do '''Wikimedia 1.32'''. Domyślny styl został zmieniony ze względu na brak uaktualnionej wersji dotychczasowego.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 lutego 2019, 13:04'''&lt;br /&gt;
&lt;br /&gt;
Gwiezdne Wojny w [https://www.pb.pl/droid-z-agh-952687 Krakowie]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 listopada 2018, 15:50'''&lt;br /&gt;
&lt;br /&gt;
[https://spaceforest.pl/bigos-4/ BIGOS] poleciał :)&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;aJiJKennwWU&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''27 października 2018, 19:00'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Znajdowanie_IP_maliny_przy_pomocy_kom.C3.B3rki|opis]] wyszukiwania adresu IP Maliny w lokalnej sieci WiFi przy pomocy komórki z Androidem.&lt;br /&gt;
&lt;br /&gt;
'''26 października 2018, 2:30'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Ustawienie_domy.C5.9Blnej_sieci_WiFi_dla_RaspberryPi_Zero_W|opis]] prekonfiguracji systemu i łączenia z Maliną przez WiFi. &lt;br /&gt;
&lt;br /&gt;
'''25 października 2018, 16:00'''&lt;br /&gt;
&lt;br /&gt;
Dodana obsługa emaila w robo.city. Dzięki temu możliwe jest odzyskiwanie haseł, ustawianie alertów o zmianach, itd. &lt;br /&gt;
&lt;br /&gt;
Zmieniony domyślny styl całej strony na wygodniejszy na komórkach. &lt;br /&gt;
&lt;br /&gt;
'''16 września 2016, 1:20'''&lt;br /&gt;
&lt;br /&gt;
W opisie elektroniki [[Trzykołowiec#Po.C5.82.C4.85czenia_elektryczne|trzykołowca]] dodane zdjęcie wtyczki USB z przylutowanymi przewodami zasilania i kondensatorem.&lt;br /&gt;
&lt;br /&gt;
'''7 września 2016,19:10'''&lt;br /&gt;
&lt;br /&gt;
Na stronie poświęconej budowie [[Trzykołowiec|trzykołowca]] dodany rozdział o łączeniu kabelków i programowaniu ruchu. Znajduje się tam link do modułu w pythonie dzięki, któremu można zapisać tor ruchu kilkoma prostymi poleceniami. Dodany  [[Trzykołowiec#W akcji|przykład kodu z nagraniem zachowania robota]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 sierpnia 2016, 16:05'''&lt;br /&gt;
&lt;br /&gt;
VirtualBox&lt;br /&gt;
&lt;br /&gt;
Na stronie https://www.virtualbox.org/wiki/Downloads trzeba pobrać '''VirtualBox 5.1.2 for Windows hosts''' jeśli systemem roboczym ma być Windows i zainstalować. Potem w tym programie tworzymy maszyny wirtualne i na nich instalujemy potrzebny system. &lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Trafiłem na taki krótki filmik (po polsku) o tym jak sobie człowiek drukarkę 3D zbudował. Właściwie ludzie potrafiący projektować części w 3D, oraz nie bojący się silnika krokowego &amp;amp;mdash; czyli każdy kto zrobi trzykołowca z drukowanymi własnymi częściami &amp;amp;mdash; może bez problemu taką drukarkę samemu zrobić!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;_KdsQ2qVVVY&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 0:10'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o to jakie są dostępne filamenty. Ten sklep http://3dfilamenty.com/pl/c/Filamenty/19 posiada całkiem dużą ofertę z opisami zalet różnych materiałów.&lt;br /&gt;
&lt;br /&gt;
'''5 sierpnia 2016, 20:50'''&lt;br /&gt;
&lt;br /&gt;
Nawiązując do rozmowy o programach pozwalających na obróbkę obrazów:&lt;br /&gt;
&lt;br /&gt;
Do obrazów rastrowych (czyli komponowanych z wielu pojedynczych  punktów) na Ubuntu warto zainstalować '''Gimp'''(a). Raczej spory program z wieloma opcjami i nie łatwy do nauczenia się od razu. Jednak potem bardzo poręczny i skuteczny,&lt;br /&gt;
&lt;br /&gt;
Do obrazów wektorowych świetnie nadaje się '''Inkscape'''. Do jego zainstalowania można użyć standardowego dodawana aplikacji Ubuntu. Pojęcie grafiki wektorowej już znacie -- dokładnie w takim trybie działa choćby FreeCAD, tyle tylko że robi to w trzech wymiarach. InkScape i FreeCAD są pod w tym względem bardzo podobne. Kiedy we FreeCADzie chcemy zdefiniować kulę określamy tylko pozycję jej środka i promień. Podobnie w InkScape, jeśli chcemy narysować okrąg podajemy tylko  pozycję i promień. Potem możemy dodatkowo zmieniać kolor wnętrza figury i jej brzegów, rodzaj użytej linii, itd.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''29 lipca 2016, 21:21'''&lt;br /&gt;
&lt;br /&gt;
Dodana strona o [[Instalowanie najnowszej wersji FreeCAD| instalowaniu najnowszej wersji FreeCADa]] na Ubuntu. &lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2016, 21:56'''&lt;br /&gt;
&lt;br /&gt;
Nowa strona w kategorii Projekty Pi Zero: [[Przylutowanie pinów do Maliny Zero]]. Strona zwiera też film pokazujący lutowanie.&lt;br /&gt;
&lt;br /&gt;
'''12 lipca 2016, 21:24'''&lt;br /&gt;
&lt;br /&gt;
Dołączył nowy użytkownik [[Użytkownik:pawhan|pawhan]]. Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] jest cały wstępniak, czyli co warto wiedzieć na początek.&lt;br /&gt;
&lt;br /&gt;
'''8 lipca 2016, 13:06'''&lt;br /&gt;
&lt;br /&gt;
Przyjechały:&lt;br /&gt;
&lt;br /&gt;
[[Plik:Silniki nema 14.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1 lipca 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o przygotowaniu systemu dla Maliny dodany rozdział o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Dostęp_do_plików_Maliny_z_komputera_zasilającego| uzyskiwaniu dostępu do plików działającej Maliny]].&lt;br /&gt;
&lt;br /&gt;
'''30 czerwca 2016, 23:40'''&lt;br /&gt;
&lt;br /&gt;
Na stronie [[Trzykołowiec]] pierwsze informacje o konstrukcji robota. Strona zawiera także wstępny plik projektu w programie FreeCAD jeśli ktoś chciałby w nim projektować podwozie. &lt;br /&gt;
&lt;br /&gt;
'''29 czerwca 2016, 1:55'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o Politechnikę Wrocławską. A tak się chłopaki bawią. Zaczyna się po angielsku, ale z robotem rozmawiają po polsku.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;v1GBBIFbwXs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''28 czerwca 2016, 1:15'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o [[Mrugająca_dioda_LED| projekcie z mrugającą diodą LED]] dodany przykładowy kod i minimalny opis pinów.&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 18:40''' &lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=U39RMUzCjiU Przykład mało intuicyjnego] zachowania aż do bólu prostego układu mechanicznego: dopóki sztabki są sztywno skręcone wahadło zachowuje się &amp;quot;zwyczajnie&amp;quot;; kiedy jednak uwolnimy zawias dzielący wahadło na dwie części, oscylacja staje się zupełnie nieoczekiwana. Okazuje się, że wiele bardziej skomplikowanych układów zachowuje się zgodnie z tymi samymi regułami opisywanymi '''teorią chaosu''' (nie mylić z &amp;quot;chaotyczną teorią&amp;quot;, z którą ta ścisła nie ma nic wspólnego). Na przykład takie zaskakujące ruchy mogą wykonywać notowania na giełdzie, pogoda, lub społeczeństwa. Warto o tym pamiętać patrząc na to co potrafi najprostsze wahadło. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 12:30'''&lt;br /&gt;
Do strony o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| przygotowaniu systemu dla Maliny]] dodany rozdział na temat naszej wersji obrazu uwzględniającej konfigurację połączenia po USB. Po wgraniu tej wersji na kartę będzie można łączyć się zdalnie.&lt;br /&gt;
&lt;br /&gt;
'''19 czerwca 2016, 23:15'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: orange;&amp;quot;&amp;gt;'''Już 3 maliny mają nowych właścicieli! Kolejna czeka...'''&amp;lt;/span&amp;gt; Do obioru potrzebna jest własna karta SD, z którą Malina zadziała. Szczegóły jej przygotowania są opisane [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| tutaj]], a kilka komentarzy zawiera ta strona [[Dyskusja_użytkownika:Grucha|dyskusji]].&lt;br /&gt;
[[Plik:4_maliny_nowe_zero_bez_trzech.jpg|400px|center]]&lt;br /&gt;
&lt;br /&gt;
=== Rzeczy do zrobienia ===&lt;br /&gt;
==== Strony własne użytkowników ====&lt;br /&gt;
Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] znajduje się lista użytkowników. Czerwony link na liście oznacza brak strony użytkownika, a jego kliknięcie pozwala rozpocząć jej dodawanie (o ile jest się zalogowanym). '''Zbudowanie własnej strony -- choćby najprostszej -- jest zadaniem użytkownika.'''&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=614</id>
		<title>Strona główna</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=614"/>
		<updated>2019-04-02T13:51:53Z</updated>

		<summary type="html">&lt;p&gt;Isj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Wyłączenie spisu treści strony --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;!-- Wyłączenie linków [edit] przy tytułach sekcji (zaśmiecają obraz) --&amp;gt;&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
Wiki do wymiany informacji o projektach. Jeśli jesteś tutaj pierwszy '''zerknij na stronę [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]]''' żeby dowiedzieć się więcej.&lt;br /&gt;
=== Indeks ===&lt;br /&gt;
===== Programowanie =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Programowanie&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Strony o Malinie Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Projekty wykorzystujące Malinę Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Projekty Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Moduły elektroniczne =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Moduły elektroniczne&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Roboty =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Roboty&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
order = ascending&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Ubuntu =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Ubuntu&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Aktualności/Ogłoszenia ===&lt;br /&gt;
'''2 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Jeśli ktoś nie może zasnąć &amp;amp;mdash; ekstremalnie porywająca siatkówka w wykonaniu Toyoty&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;V_nhy4iIaBA&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''1 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Siła fizyczna już nie zapewni kariery w logistyce...&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;youtube&amp;gt;5iV_hB08Uns&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''16 marca 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe ujęcia poklatkowe pozwalające zobaczyć bez zasłaniającej głowicy jak powstaje wydruk 3D&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;aubLuCFIejc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''12 luty 2019, 0:30 '''&lt;br /&gt;
&lt;br /&gt;
Aktualizacja oprogramowania strony do '''Wikimedia 1.32'''. Domyślny styl został zmieniony ze względu na brak uaktualnionej wersji dotychczasowego.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 lutego 2019, 13:04'''&lt;br /&gt;
&lt;br /&gt;
Gwiezdne Wojny w [https://www.pb.pl/droid-z-agh-952687 Krakowie]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 listopada 2018, 15:50'''&lt;br /&gt;
&lt;br /&gt;
[https://spaceforest.pl/bigos-4/ BIGOS] poleciał :)&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;aJiJKennwWU&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''27 października 2018, 19:00'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Znajdowanie_IP_maliny_przy_pomocy_kom.C3.B3rki|opis]] wyszukiwania adresu IP Maliny w lokalnej sieci WiFi przy pomocy komórki z Androidem.&lt;br /&gt;
&lt;br /&gt;
'''26 października 2018, 2:30'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Ustawienie_domy.C5.9Blnej_sieci_WiFi_dla_RaspberryPi_Zero_W|opis]] prekonfiguracji systemu i łączenia z Maliną przez WiFi. &lt;br /&gt;
&lt;br /&gt;
'''25 października 2018, 16:00'''&lt;br /&gt;
&lt;br /&gt;
Dodana obsługa emaila w robo.city. Dzięki temu możliwe jest odzyskiwanie haseł, ustawianie alertów o zmianach, itd. &lt;br /&gt;
&lt;br /&gt;
Zmieniony domyślny styl całej strony na wygodniejszy na komórkach. &lt;br /&gt;
&lt;br /&gt;
'''16 września 2016, 1:20'''&lt;br /&gt;
&lt;br /&gt;
W opisie elektroniki [[Trzykołowiec#Po.C5.82.C4.85czenia_elektryczne|trzykołowca]] dodane zdjęcie wtyczki USB z przylutowanymi przewodami zasilania i kondensatorem.&lt;br /&gt;
&lt;br /&gt;
'''7 września 2016,19:10'''&lt;br /&gt;
&lt;br /&gt;
Na stronie poświęconej budowie [[Trzykołowiec|trzykołowca]] dodany rozdział o łączeniu kabelków i programowaniu ruchu. Znajduje się tam link do modułu w pythonie dzięki, któremu można zapisać tor ruchu kilkoma prostymi poleceniami. Dodany  [[Trzykołowiec#W akcji|przykład kodu z nagraniem zachowania robota]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 sierpnia 2016, 16:05'''&lt;br /&gt;
&lt;br /&gt;
VirtualBox&lt;br /&gt;
&lt;br /&gt;
Na stronie https://www.virtualbox.org/wiki/Downloads trzeba pobrać '''VirtualBox 5.1.2 for Windows hosts''' jeśli systemem roboczym ma być Windows i zainstalować. Potem w tym programie tworzymy maszyny wirtualne i na nich instalujemy potrzebny system. &lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Trafiłem na taki krótki filmik (po polsku) o tym jak sobie człowiek drukarkę 3D zbudował. Właściwie ludzie potrafiący projektować części w 3D, oraz nie bojący się silnika krokowego &amp;amp;mdash; czyli każdy kto zrobi trzykołowca z drukowanymi własnymi częściami &amp;amp;mdash; może bez problemu taką drukarkę samemu zrobić!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;_KdsQ2qVVVY&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 0:10'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o to jakie są dostępne filamenty. Ten sklep http://3dfilamenty.com/pl/c/Filamenty/19 posiada całkiem dużą ofertę z opisami zalet różnych materiałów.&lt;br /&gt;
&lt;br /&gt;
'''5 sierpnia 2016, 20:50'''&lt;br /&gt;
&lt;br /&gt;
Nawiązując do rozmowy o programach pozwalających na obróbkę obrazów:&lt;br /&gt;
&lt;br /&gt;
Do obrazów rastrowych (czyli komponowanych z wielu pojedynczych  punktów) na Ubuntu warto zainstalować '''Gimp'''(a). Raczej spory program z wieloma opcjami i nie łatwy do nauczenia się od razu. Jednak potem bardzo poręczny i skuteczny,&lt;br /&gt;
&lt;br /&gt;
Do obrazów wektorowych świetnie nadaje się '''Inkscape'''. Do jego zainstalowania można użyć standardowego dodawana aplikacji Ubuntu. Pojęcie grafiki wektorowej już znacie -- dokładnie w takim trybie działa choćby FreeCAD, tyle tylko że robi to w trzech wymiarach. InkScape i FreeCAD są pod w tym względem bardzo podobne. Kiedy we FreeCADzie chcemy zdefiniować kulę określamy tylko pozycję jej środka i promień. Podobnie w InkScape, jeśli chcemy narysować okrąg podajemy tylko  pozycję i promień. Potem możemy dodatkowo zmieniać kolor wnętrza figury i jej brzegów, rodzaj użytej linii, itd.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''29 lipca 2016, 21:21'''&lt;br /&gt;
&lt;br /&gt;
Dodana strona o [[Instalowanie najnowszej wersji FreeCAD| instalowaniu najnowszej wersji FreeCADa]] na Ubuntu. &lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2016, 21:56'''&lt;br /&gt;
&lt;br /&gt;
Nowa strona w kategorii Projekty Pi Zero: [[Przylutowanie pinów do Maliny Zero]]. Strona zwiera też film pokazujący lutowanie.&lt;br /&gt;
&lt;br /&gt;
'''12 lipca 2016, 21:24'''&lt;br /&gt;
&lt;br /&gt;
Dołączył nowy użytkownik [[Użytkownik:pawhan|pawhan]]. Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] jest cały wstępniak, czyli co warto wiedzieć na początek.&lt;br /&gt;
&lt;br /&gt;
'''8 lipca 2016, 13:06'''&lt;br /&gt;
&lt;br /&gt;
Przyjechały:&lt;br /&gt;
&lt;br /&gt;
[[Plik:Silniki nema 14.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1 lipca 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o przygotowaniu systemu dla Maliny dodany rozdział o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Dostęp_do_plików_Maliny_z_komputera_zasilającego| uzyskiwaniu dostępu do plików działającej Maliny]].&lt;br /&gt;
&lt;br /&gt;
'''30 czerwca 2016, 23:40'''&lt;br /&gt;
&lt;br /&gt;
Na stronie [[Trzykołowiec]] pierwsze informacje o konstrukcji robota. Strona zawiera także wstępny plik projektu w programie FreeCAD jeśli ktoś chciałby w nim projektować podwozie. &lt;br /&gt;
&lt;br /&gt;
'''29 czerwca 2016, 1:55'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o Politechnikę Wrocławską. A tak się chłopaki bawią. Zaczyna się po angielsku, ale z robotem rozmawiają po polsku.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;v1GBBIFbwXs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''28 czerwca 2016, 1:15'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o [[Mrugająca_dioda_LED| projekcie z mrugającą diodą LED]] dodany przykładowy kod i minimalny opis pinów.&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 18:40''' &lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=U39RMUzCjiU Przykład mało intuicyjnego] zachowania aż do bólu prostego układu mechanicznego: dopóki sztabki są sztywno skręcone wahadło zachowuje się &amp;quot;zwyczajnie&amp;quot;; kiedy jednak uwolnimy zawias dzielący wahadło na dwie części, oscylacja staje się zupełnie nieoczekiwana. Okazuje się, że wiele bardziej skomplikowanych układów zachowuje się zgodnie z tymi samymi regułami opisywanymi '''teorią chaosu''' (nie mylić z &amp;quot;chaotyczną teorią&amp;quot;, z którą ta ścisła nie ma nic wspólnego). Na przykład takie zaskakujące ruchy mogą wykonywać notowania na giełdzie, pogoda, lub społeczeństwa. Warto o tym pamiętać patrząc na to co potrafi najprostsze wahadło. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 12:30'''&lt;br /&gt;
Do strony o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| przygotowaniu systemu dla Maliny]] dodany rozdział na temat naszej wersji obrazu uwzględniającej konfigurację połączenia po USB. Po wgraniu tej wersji na kartę będzie można łączyć się zdalnie.&lt;br /&gt;
&lt;br /&gt;
'''19 czerwca 2016, 23:15'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: orange;&amp;quot;&amp;gt;'''Już 3 maliny mają nowych właścicieli! Kolejna czeka...'''&amp;lt;/span&amp;gt; Do obioru potrzebna jest własna karta SD, z którą Malina zadziała. Szczegóły jej przygotowania są opisane [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| tutaj]], a kilka komentarzy zawiera ta strona [[Dyskusja_użytkownika:Grucha|dyskusji]].&lt;br /&gt;
[[Plik:4_maliny_nowe_zero_bez_trzech.jpg|400px|center]]&lt;br /&gt;
&lt;br /&gt;
=== Rzeczy do zrobienia ===&lt;br /&gt;
==== Strony własne użytkowników ====&lt;br /&gt;
Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] znajduje się lista użytkowników. Czerwony link na liście oznacza brak strony użytkownika, a jego kliknięcie pozwala rozpocząć jej dodawanie (o ile jest się zalogowanym). '''Zbudowanie własnej strony -- choćby najprostszej -- jest zadaniem użytkownika.'''&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=613</id>
		<title>Strona główna</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=613"/>
		<updated>2019-04-01T15:26:41Z</updated>

		<summary type="html">&lt;p&gt;Isj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Wyłączenie spisu treści strony --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;!-- Wyłączenie linków [edit] przy tytułach sekcji (zaśmiecają obraz) --&amp;gt;&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
Wiki do wymiany informacji o projektach. Jeśli jesteś tutaj pierwszy '''zerknij na stronę [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]]''' żeby dowiedzieć się więcej.&lt;br /&gt;
=== Indeks ===&lt;br /&gt;
===== Programowanie =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Programowanie&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Strony o Malinie Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Projekty wykorzystujące Malinę Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Projekty Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Moduły elektroniczne =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Moduły elektroniczne&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Roboty =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Roboty&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
order = ascending&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Ubuntu =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Ubuntu&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Aktualności/Ogłoszenia ===&lt;br /&gt;
'''1 kwietnia 2019'''&lt;br /&gt;
&lt;br /&gt;
Siła fizyczna już nie zapewni kariery w logistyce...&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;youtube&amp;gt;5iV_hB08Uns&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''16 marca 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe ujęcia poklatkowe pozwalające zobaczyć bez zasłaniającej głowicy jak powstaje wydruk 3D&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;aubLuCFIejc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''12 luty 2019, 0:30 '''&lt;br /&gt;
&lt;br /&gt;
Aktualizacja oprogramowania strony do '''Wikimedia 1.32'''. Domyślny styl został zmieniony ze względu na brak uaktualnionej wersji dotychczasowego.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 lutego 2019, 13:04'''&lt;br /&gt;
&lt;br /&gt;
Gwiezdne Wojny w [https://www.pb.pl/droid-z-agh-952687 Krakowie]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 listopada 2018, 15:50'''&lt;br /&gt;
&lt;br /&gt;
[https://spaceforest.pl/bigos-4/ BIGOS] poleciał :)&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;aJiJKennwWU&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''27 października 2018, 19:00'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Znajdowanie_IP_maliny_przy_pomocy_kom.C3.B3rki|opis]] wyszukiwania adresu IP Maliny w lokalnej sieci WiFi przy pomocy komórki z Androidem.&lt;br /&gt;
&lt;br /&gt;
'''26 października 2018, 2:30'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Ustawienie_domy.C5.9Blnej_sieci_WiFi_dla_RaspberryPi_Zero_W|opis]] prekonfiguracji systemu i łączenia z Maliną przez WiFi. &lt;br /&gt;
&lt;br /&gt;
'''25 października 2018, 16:00'''&lt;br /&gt;
&lt;br /&gt;
Dodana obsługa emaila w robo.city. Dzięki temu możliwe jest odzyskiwanie haseł, ustawianie alertów o zmianach, itd. &lt;br /&gt;
&lt;br /&gt;
Zmieniony domyślny styl całej strony na wygodniejszy na komórkach. &lt;br /&gt;
&lt;br /&gt;
'''16 września 2016, 1:20'''&lt;br /&gt;
&lt;br /&gt;
W opisie elektroniki [[Trzykołowiec#Po.C5.82.C4.85czenia_elektryczne|trzykołowca]] dodane zdjęcie wtyczki USB z przylutowanymi przewodami zasilania i kondensatorem.&lt;br /&gt;
&lt;br /&gt;
'''7 września 2016,19:10'''&lt;br /&gt;
&lt;br /&gt;
Na stronie poświęconej budowie [[Trzykołowiec|trzykołowca]] dodany rozdział o łączeniu kabelków i programowaniu ruchu. Znajduje się tam link do modułu w pythonie dzięki, któremu można zapisać tor ruchu kilkoma prostymi poleceniami. Dodany  [[Trzykołowiec#W akcji|przykład kodu z nagraniem zachowania robota]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 sierpnia 2016, 16:05'''&lt;br /&gt;
&lt;br /&gt;
VirtualBox&lt;br /&gt;
&lt;br /&gt;
Na stronie https://www.virtualbox.org/wiki/Downloads trzeba pobrać '''VirtualBox 5.1.2 for Windows hosts''' jeśli systemem roboczym ma być Windows i zainstalować. Potem w tym programie tworzymy maszyny wirtualne i na nich instalujemy potrzebny system. &lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Trafiłem na taki krótki filmik (po polsku) o tym jak sobie człowiek drukarkę 3D zbudował. Właściwie ludzie potrafiący projektować części w 3D, oraz nie bojący się silnika krokowego &amp;amp;mdash; czyli każdy kto zrobi trzykołowca z drukowanymi własnymi częściami &amp;amp;mdash; może bez problemu taką drukarkę samemu zrobić!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;_KdsQ2qVVVY&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 0:10'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o to jakie są dostępne filamenty. Ten sklep http://3dfilamenty.com/pl/c/Filamenty/19 posiada całkiem dużą ofertę z opisami zalet różnych materiałów.&lt;br /&gt;
&lt;br /&gt;
'''5 sierpnia 2016, 20:50'''&lt;br /&gt;
&lt;br /&gt;
Nawiązując do rozmowy o programach pozwalających na obróbkę obrazów:&lt;br /&gt;
&lt;br /&gt;
Do obrazów rastrowych (czyli komponowanych z wielu pojedynczych  punktów) na Ubuntu warto zainstalować '''Gimp'''(a). Raczej spory program z wieloma opcjami i nie łatwy do nauczenia się od razu. Jednak potem bardzo poręczny i skuteczny,&lt;br /&gt;
&lt;br /&gt;
Do obrazów wektorowych świetnie nadaje się '''Inkscape'''. Do jego zainstalowania można użyć standardowego dodawana aplikacji Ubuntu. Pojęcie grafiki wektorowej już znacie -- dokładnie w takim trybie działa choćby FreeCAD, tyle tylko że robi to w trzech wymiarach. InkScape i FreeCAD są pod w tym względem bardzo podobne. Kiedy we FreeCADzie chcemy zdefiniować kulę określamy tylko pozycję jej środka i promień. Podobnie w InkScape, jeśli chcemy narysować okrąg podajemy tylko  pozycję i promień. Potem możemy dodatkowo zmieniać kolor wnętrza figury i jej brzegów, rodzaj użytej linii, itd.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''29 lipca 2016, 21:21'''&lt;br /&gt;
&lt;br /&gt;
Dodana strona o [[Instalowanie najnowszej wersji FreeCAD| instalowaniu najnowszej wersji FreeCADa]] na Ubuntu. &lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2016, 21:56'''&lt;br /&gt;
&lt;br /&gt;
Nowa strona w kategorii Projekty Pi Zero: [[Przylutowanie pinów do Maliny Zero]]. Strona zwiera też film pokazujący lutowanie.&lt;br /&gt;
&lt;br /&gt;
'''12 lipca 2016, 21:24'''&lt;br /&gt;
&lt;br /&gt;
Dołączył nowy użytkownik [[Użytkownik:pawhan|pawhan]]. Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] jest cały wstępniak, czyli co warto wiedzieć na początek.&lt;br /&gt;
&lt;br /&gt;
'''8 lipca 2016, 13:06'''&lt;br /&gt;
&lt;br /&gt;
Przyjechały:&lt;br /&gt;
&lt;br /&gt;
[[Plik:Silniki nema 14.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1 lipca 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o przygotowaniu systemu dla Maliny dodany rozdział o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Dostęp_do_plików_Maliny_z_komputera_zasilającego| uzyskiwaniu dostępu do plików działającej Maliny]].&lt;br /&gt;
&lt;br /&gt;
'''30 czerwca 2016, 23:40'''&lt;br /&gt;
&lt;br /&gt;
Na stronie [[Trzykołowiec]] pierwsze informacje o konstrukcji robota. Strona zawiera także wstępny plik projektu w programie FreeCAD jeśli ktoś chciałby w nim projektować podwozie. &lt;br /&gt;
&lt;br /&gt;
'''29 czerwca 2016, 1:55'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o Politechnikę Wrocławską. A tak się chłopaki bawią. Zaczyna się po angielsku, ale z robotem rozmawiają po polsku.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;v1GBBIFbwXs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''28 czerwca 2016, 1:15'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o [[Mrugająca_dioda_LED| projekcie z mrugającą diodą LED]] dodany przykładowy kod i minimalny opis pinów.&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 18:40''' &lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=U39RMUzCjiU Przykład mało intuicyjnego] zachowania aż do bólu prostego układu mechanicznego: dopóki sztabki są sztywno skręcone wahadło zachowuje się &amp;quot;zwyczajnie&amp;quot;; kiedy jednak uwolnimy zawias dzielący wahadło na dwie części, oscylacja staje się zupełnie nieoczekiwana. Okazuje się, że wiele bardziej skomplikowanych układów zachowuje się zgodnie z tymi samymi regułami opisywanymi '''teorią chaosu''' (nie mylić z &amp;quot;chaotyczną teorią&amp;quot;, z którą ta ścisła nie ma nic wspólnego). Na przykład takie zaskakujące ruchy mogą wykonywać notowania na giełdzie, pogoda, lub społeczeństwa. Warto o tym pamiętać patrząc na to co potrafi najprostsze wahadło. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 12:30'''&lt;br /&gt;
Do strony o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| przygotowaniu systemu dla Maliny]] dodany rozdział na temat naszej wersji obrazu uwzględniającej konfigurację połączenia po USB. Po wgraniu tej wersji na kartę będzie można łączyć się zdalnie.&lt;br /&gt;
&lt;br /&gt;
'''19 czerwca 2016, 23:15'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: orange;&amp;quot;&amp;gt;'''Już 3 maliny mają nowych właścicieli! Kolejna czeka...'''&amp;lt;/span&amp;gt; Do obioru potrzebna jest własna karta SD, z którą Malina zadziała. Szczegóły jej przygotowania są opisane [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| tutaj]], a kilka komentarzy zawiera ta strona [[Dyskusja_użytkownika:Grucha|dyskusji]].&lt;br /&gt;
[[Plik:4_maliny_nowe_zero_bez_trzech.jpg|400px|center]]&lt;br /&gt;
&lt;br /&gt;
=== Rzeczy do zrobienia ===&lt;br /&gt;
==== Strony własne użytkowników ====&lt;br /&gt;
Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] znajduje się lista użytkowników. Czerwony link na liście oznacza brak strony użytkownika, a jego kliknięcie pozwala rozpocząć jej dodawanie (o ile jest się zalogowanym). '''Zbudowanie własnej strony -- choćby najprostszej -- jest zadaniem użytkownika.'''&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=612</id>
		<title>Strona główna</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=612"/>
		<updated>2019-03-15T23:23:48Z</updated>

		<summary type="html">&lt;p&gt;Isj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Wyłączenie spisu treści strony --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;!-- Wyłączenie linków [edit] przy tytułach sekcji (zaśmiecają obraz) --&amp;gt;&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
Wiki do wymiany informacji o projektach. Jeśli jesteś tutaj pierwszy '''zerknij na stronę [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]]''' żeby dowiedzieć się więcej.&lt;br /&gt;
=== Indeks ===&lt;br /&gt;
===== Programowanie =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Programowanie&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Strony o Malinie Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Projekty wykorzystujące Malinę Zero =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Projekty Pi Zero&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Moduły elektroniczne =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Moduły elektroniczne&lt;br /&gt;
order = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Roboty =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Roboty&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
order = ascending&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
===== Ubuntu =====&lt;br /&gt;
&amp;lt;DynamicPageList&amp;gt;&lt;br /&gt;
category = Ubuntu&lt;br /&gt;
order  = ascending&lt;br /&gt;
ordermethod=sortkey&lt;br /&gt;
&amp;lt;/DynamicPageList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Aktualności/Ogłoszenia ===&lt;br /&gt;
'''16 marca 2019'''&lt;br /&gt;
&lt;br /&gt;
Ciekawe ujęcia poklatkowe pozwalające zobaczyć bez zasłaniającej głowicy jak powstaje wydruk 3D&lt;br /&gt;
&amp;lt;youtube&amp;gt;aubLuCFIejc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''12 luty 2019, 0:30 '''&lt;br /&gt;
&lt;br /&gt;
Aktualizacja oprogramowania strony do '''Wikimedia 1.32'''. Domyślny styl został zmieniony ze względu na brak uaktualnionej wersji dotychczasowego.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 lutego 2019, 13:04'''&lt;br /&gt;
&lt;br /&gt;
Gwiezdne Wojny w [https://www.pb.pl/droid-z-agh-952687 Krakowie]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 listopada 2018, 15:50'''&lt;br /&gt;
&lt;br /&gt;
[https://spaceforest.pl/bigos-4/ BIGOS] poleciał :)&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;aJiJKennwWU&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''27 października 2018, 19:00'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Znajdowanie_IP_maliny_przy_pomocy_kom.C3.B3rki|opis]] wyszukiwania adresu IP Maliny w lokalnej sieci WiFi przy pomocy komórki z Androidem.&lt;br /&gt;
&lt;br /&gt;
'''26 października 2018, 2:30'''&lt;br /&gt;
&lt;br /&gt;
Dodany [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Ustawienie_domy.C5.9Blnej_sieci_WiFi_dla_RaspberryPi_Zero_W|opis]] prekonfiguracji systemu i łączenia z Maliną przez WiFi. &lt;br /&gt;
&lt;br /&gt;
'''25 października 2018, 16:00'''&lt;br /&gt;
&lt;br /&gt;
Dodana obsługa emaila w robo.city. Dzięki temu możliwe jest odzyskiwanie haseł, ustawianie alertów o zmianach, itd. &lt;br /&gt;
&lt;br /&gt;
Zmieniony domyślny styl całej strony na wygodniejszy na komórkach. &lt;br /&gt;
&lt;br /&gt;
'''16 września 2016, 1:20'''&lt;br /&gt;
&lt;br /&gt;
W opisie elektroniki [[Trzykołowiec#Po.C5.82.C4.85czenia_elektryczne|trzykołowca]] dodane zdjęcie wtyczki USB z przylutowanymi przewodami zasilania i kondensatorem.&lt;br /&gt;
&lt;br /&gt;
'''7 września 2016,19:10'''&lt;br /&gt;
&lt;br /&gt;
Na stronie poświęconej budowie [[Trzykołowiec|trzykołowca]] dodany rozdział o łączeniu kabelków i programowaniu ruchu. Znajduje się tam link do modułu w pythonie dzięki, któremu można zapisać tor ruchu kilkoma prostymi poleceniami. Dodany  [[Trzykołowiec#W akcji|przykład kodu z nagraniem zachowania robota]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8 sierpnia 2016, 16:05'''&lt;br /&gt;
&lt;br /&gt;
VirtualBox&lt;br /&gt;
&lt;br /&gt;
Na stronie https://www.virtualbox.org/wiki/Downloads trzeba pobrać '''VirtualBox 5.1.2 for Windows hosts''' jeśli systemem roboczym ma być Windows i zainstalować. Potem w tym programie tworzymy maszyny wirtualne i na nich instalujemy potrzebny system. &lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Trafiłem na taki krótki filmik (po polsku) o tym jak sobie człowiek drukarkę 3D zbudował. Właściwie ludzie potrafiący projektować części w 3D, oraz nie bojący się silnika krokowego &amp;amp;mdash; czyli każdy kto zrobi trzykołowca z drukowanymi własnymi częściami &amp;amp;mdash; może bez problemu taką drukarkę samemu zrobić!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;embedvideo service=&amp;quot;youtube&amp;quot;&amp;gt;_KdsQ2qVVVY&amp;lt;/embedvideo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''6 sierpnia 2016, 0:10'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o to jakie są dostępne filamenty. Ten sklep http://3dfilamenty.com/pl/c/Filamenty/19 posiada całkiem dużą ofertę z opisami zalet różnych materiałów.&lt;br /&gt;
&lt;br /&gt;
'''5 sierpnia 2016, 20:50'''&lt;br /&gt;
&lt;br /&gt;
Nawiązując do rozmowy o programach pozwalających na obróbkę obrazów:&lt;br /&gt;
&lt;br /&gt;
Do obrazów rastrowych (czyli komponowanych z wielu pojedynczych  punktów) na Ubuntu warto zainstalować '''Gimp'''(a). Raczej spory program z wieloma opcjami i nie łatwy do nauczenia się od razu. Jednak potem bardzo poręczny i skuteczny,&lt;br /&gt;
&lt;br /&gt;
Do obrazów wektorowych świetnie nadaje się '''Inkscape'''. Do jego zainstalowania można użyć standardowego dodawana aplikacji Ubuntu. Pojęcie grafiki wektorowej już znacie -- dokładnie w takim trybie działa choćby FreeCAD, tyle tylko że robi to w trzech wymiarach. InkScape i FreeCAD są pod w tym względem bardzo podobne. Kiedy we FreeCADzie chcemy zdefiniować kulę określamy tylko pozycję jej środka i promień. Podobnie w InkScape, jeśli chcemy narysować okrąg podajemy tylko  pozycję i promień. Potem możemy dodatkowo zmieniać kolor wnętrza figury i jej brzegów, rodzaj użytej linii, itd.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''29 lipca 2016, 21:21'''&lt;br /&gt;
&lt;br /&gt;
Dodana strona o [[Instalowanie najnowszej wersji FreeCAD| instalowaniu najnowszej wersji FreeCADa]] na Ubuntu. &lt;br /&gt;
&lt;br /&gt;
'''19 lipca 2016, 21:56'''&lt;br /&gt;
&lt;br /&gt;
Nowa strona w kategorii Projekty Pi Zero: [[Przylutowanie pinów do Maliny Zero]]. Strona zwiera też film pokazujący lutowanie.&lt;br /&gt;
&lt;br /&gt;
'''12 lipca 2016, 21:24'''&lt;br /&gt;
&lt;br /&gt;
Dołączył nowy użytkownik [[Użytkownik:pawhan|pawhan]]. Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] jest cały wstępniak, czyli co warto wiedzieć na początek.&lt;br /&gt;
&lt;br /&gt;
'''8 lipca 2016, 13:06'''&lt;br /&gt;
&lt;br /&gt;
Przyjechały:&lt;br /&gt;
&lt;br /&gt;
[[Plik:Silniki nema 14.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1 lipca 2016, 18:20'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o przygotowaniu systemu dla Maliny dodany rozdział o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero#Dostęp_do_plików_Maliny_z_komputera_zasilającego| uzyskiwaniu dostępu do plików działającej Maliny]].&lt;br /&gt;
&lt;br /&gt;
'''30 czerwca 2016, 23:40'''&lt;br /&gt;
&lt;br /&gt;
Na stronie [[Trzykołowiec]] pierwsze informacje o konstrukcji robota. Strona zawiera także wstępny plik projektu w programie FreeCAD jeśli ktoś chciałby w nim projektować podwozie. &lt;br /&gt;
&lt;br /&gt;
'''29 czerwca 2016, 1:55'''&lt;br /&gt;
&lt;br /&gt;
Padło pytanie o Politechnikę Wrocławską. A tak się chłopaki bawią. Zaczyna się po angielsku, ale z robotem rozmawiają po polsku.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;v1GBBIFbwXs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''28 czerwca 2016, 1:15'''&lt;br /&gt;
&lt;br /&gt;
Na stronie o [[Mrugająca_dioda_LED| projekcie z mrugającą diodą LED]] dodany przykładowy kod i minimalny opis pinów.&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 18:40''' &lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=U39RMUzCjiU Przykład mało intuicyjnego] zachowania aż do bólu prostego układu mechanicznego: dopóki sztabki są sztywno skręcone wahadło zachowuje się &amp;quot;zwyczajnie&amp;quot;; kiedy jednak uwolnimy zawias dzielący wahadło na dwie części, oscylacja staje się zupełnie nieoczekiwana. Okazuje się, że wiele bardziej skomplikowanych układów zachowuje się zgodnie z tymi samymi regułami opisywanymi '''teorią chaosu''' (nie mylić z &amp;quot;chaotyczną teorią&amp;quot;, z którą ta ścisła nie ma nic wspólnego). Na przykład takie zaskakujące ruchy mogą wykonywać notowania na giełdzie, pogoda, lub społeczeństwa. Warto o tym pamiętać patrząc na to co potrafi najprostsze wahadło. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''27 czerwca 2016, 12:30'''&lt;br /&gt;
Do strony o [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| przygotowaniu systemu dla Maliny]] dodany rozdział na temat naszej wersji obrazu uwzględniającej konfigurację połączenia po USB. Po wgraniu tej wersji na kartę będzie można łączyć się zdalnie.&lt;br /&gt;
&lt;br /&gt;
'''19 czerwca 2016, 23:15'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: orange;&amp;quot;&amp;gt;'''Już 3 maliny mają nowych właścicieli! Kolejna czeka...'''&amp;lt;/span&amp;gt; Do obioru potrzebna jest własna karta SD, z którą Malina zadziała. Szczegóły jej przygotowania są opisane [[Przygotowanie_systemu_dla_Raspberry_Pi_Zero| tutaj]], a kilka komentarzy zawiera ta strona [[Dyskusja_użytkownika:Grucha|dyskusji]].&lt;br /&gt;
[[Plik:4_maliny_nowe_zero_bez_trzech.jpg|400px|center]]&lt;br /&gt;
&lt;br /&gt;
=== Rzeczy do zrobienia ===&lt;br /&gt;
==== Strony własne użytkowników ====&lt;br /&gt;
Przypomnę, że na stronie [[{{SITENAME}}:O_{{SITENAME}}|O {{SITENAME}}]] znajduje się lista użytkowników. Czerwony link na liście oznacza brak strony użytkownika, a jego kliknięcie pozwala rozpocząć jej dodawanie (o ile jest się zalogowanym). '''Zbudowanie własnej strony -- choćby najprostszej -- jest zadaniem użytkownika.'''&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Ciekawe_linki&amp;diff=611</id>
		<title>Ciekawe linki</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Ciekawe_linki&amp;diff=611"/>
		<updated>2019-02-20T20:35:34Z</updated>

		<summary type="html">&lt;p&gt;Isj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Miejsce na różne zasoby, których chwilowo nie ma gdzie dodać, a mogą się przydać.&lt;br /&gt;
* '''lutowanie pełnego złącza do Maliny Zero''' &amp;amp;mdash; dopóki testujemy pojedyncze wyjścia wlutowanie pełnego łącza nie jest potrzebne, ale w przyszłości może się okazać konieczne; zależnie od przyszłego zastosowania będzie też wiadomo czy wlutować żeńską czy męską wersję (wtyczkę co prawda można potem wylutować i zamienić wersję, ale to nie jest zbyt wygodne więc lepiej mieć pewność)&amp;lt;youtube width=&amp;quot;300&amp;quot; height=&amp;quot;250&amp;quot;&amp;gt;8N18lIL3Uwk&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''wzory matematyczne w treści wiki''' &amp;amp;mdash; korzystając z tagu &amp;lt;pre&amp;gt;&amp;lt;math&amp;gt;...&amp;lt;/math&amp;gt;&amp;lt;/pre&amp;gt; można umieszczać w treści stron dobrze wyglądające wyrażenia matematyczne; jak wprowadzać równania wewnątrz tego tagu opisuje strona o [https://en.wikipedia.org/wiki/Help:Displaying_a_formula formułach matematycznych w wiki]; na przykład użycie &amp;lt;pre&amp;gt;&amp;lt;math&amp;gt;x=\frac{-b \pm \sqrt{b^2 - 4ac}}{2a}&amp;lt;/math&amp;gt;&amp;lt;/pre&amp;gt; daje taki efekt &amp;lt;math&amp;gt;x=\frac{-b \pm \sqrt{b^2 - 4ac}}{2a}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* prosty przykład projektu [https://blog.ubuntu.com/2019/02/19/easy-iot-with-ubuntu-core-and-raspberry-pi '''IoT'''] z zastosowaniem Ubuntu Core i maliny&lt;br /&gt;
[[Category:Pi Zero]]&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Ciekawe_linki&amp;diff=610</id>
		<title>Ciekawe linki</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Ciekawe_linki&amp;diff=610"/>
		<updated>2019-02-20T20:28:24Z</updated>

		<summary type="html">&lt;p&gt;Isj: link przykładu IoT&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Miejsce na różne zasoby, których chwilowo nie ma gdzie dodać, a mogą się przydać.&lt;br /&gt;
* '''lutowanie pełnego złącza do Maliny Zero''' &amp;amp;mdash; dopóki testujemy pojedyncze wyjścia wlutowanie pełnego łącza nie jest potrzebne, ale w przyszłości może się okazać konieczne; zależnie od przyszłego zastosowania będzie też wiadomo czy wlutować żeńską czy męską wersję (wtyczkę co prawda można potem wylutować i zamienić wersję, ale to nie jest zbyt wygodne więc lepiej mieć pewność)&lt;br /&gt;
&amp;lt;youtube&amp;gt;8N18lIL3Uwk&amp;lt;/youtube&amp;gt;&lt;br /&gt;
* '''wzory matematyczne w treści wiki''' &amp;amp;mdash; korzystając z tagu &amp;lt;pre&amp;gt;&amp;lt;math&amp;gt;...&amp;lt;/math&amp;gt;&amp;lt;/pre&amp;gt; można umieszczać w treści stron dobrze wyglądające wyrażenia matematyczne; jak wprowadzać równania wewnątrz tego tagu opisuje strona o [https://en.wikipedia.org/wiki/Help:Displaying_a_formula formułach matematycznych w wiki]; na przykład użycie &amp;lt;pre&amp;gt;&amp;lt;math&amp;gt;x=\frac{-b \pm \sqrt{b^2 - 4ac}}{2a}&amp;lt;/math&amp;gt;&amp;lt;/pre&amp;gt; daje taki efekt &amp;lt;math&amp;gt;x=\frac{-b \pm \sqrt{b^2 - 4ac}}{2a}&amp;lt;/math&amp;gt;&lt;br /&gt;
* prosty przykład projektu [https://blog.ubuntu.com/2019/02/19/easy-iot-with-ubuntu-core-and-raspberry-pi '''IoT'''] z zastosowaniem Ubuntu Core i maliny&lt;br /&gt;
[[Category:Pi Zero]]&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Paj%C4%85k&amp;diff=609</id>
		<title>Pająk</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Paj%C4%85k&amp;diff=609"/>
		<updated>2019-02-20T16:38:07Z</updated>

		<summary type="html">&lt;p&gt;Isj: użycie tagu math we wzorze Ohma&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Projekt robota wykorzystującego serwa (serwomechanizmy). &lt;br /&gt;
== Do czego zmierzamy ==&lt;br /&gt;
Chodzi o stworzenie przykładowego robota używającego serw jako źródła siły mechanicznej. Dzięki temu można poznać sposób obsługi kolejnego typowego elementu, z którego buduje się mniejsze i większe maszyny. Zgodnie z nazwą zadaniem jest zbudowanie prostej maszyny kroczącej, czyli modelu pająka. Warto zwrócić uwagę, że nazwa dotyczy tylko trywialnego podobieństwa. Prawdziwe pająki, potrafiące konstruować wyrafinowane pajęczyny, czaić się na swoje ofiary, wykorzystywać zasadę obejścia (nie każdy pies potrafi ominąć płot chcąc się dostać do przedmiotu leżącego prawie z zasięgu pyska), posiadające nawet po kilkanaście par oczu, realizujące przeróżne rytuały godowe, są tak skomplikowane, że nazywanie pająkiem kilkunastu serw na zawiasach jest raczej pocieszne. Niemniej jednak od czegoś trzeba zacząć...&lt;br /&gt;
&lt;br /&gt;
Mózgiem robota będzie Malina Zero W. Ponieważ pająk będzie miał 6 niezależnych nóg, a każda noga trzy stawy, będziemy potrzebowali 18 serw do zginania stawów. Zauważ, że staw nogi bez serwa pozwalającego ustawić ten staw pod zadanym kątem, ustawiałby się swobodnie w przypadkowych pozycjach i byłby mało przydatny. Z drugiej strony jeśli nogi mają być niezależne, każda musi posiadać swój własny zestaw serw. Dlatego będziemy potrzebowali tyle serw ile stawów będzie miał nasz stawonóg. Byłoby trudno samą Maliną wykonać sterowanie 18 serwami, o ile to w ogóle możliwe. Dlatego dodatkowym układem jaki zastosujemy będą płytki PCA9685 pozwalające wygodnie sterować 12 serwami na raz. Do komunikacji pomiędzy Maliną a płytkami sterowników serw posłuży łącze [[Acronym:I2C|I²C]]. Poniższy film przedstawia ogólny schemat postępowania żeby sterować serwem z maliny z pośrednictwem układu PCA9685, co jak widać jest dziecinnie proste :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;Rp6VvvjSGSs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Konstrukcja mechaniczna i zasada działania serwa modelarskiego ==&lt;br /&gt;
&lt;br /&gt;
=== Mechanika serwa ===&lt;br /&gt;
&amp;lt;youtube&amp;gt;ZZhuD78BLDk&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sygnał PWM &amp;amp;mdash; sterowanie serwem ===&lt;br /&gt;
&lt;br /&gt;
Jak widać na filmie powyżej serwo posiada 3 kabelki do podłączenia. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dwa z nich to masa (zwykle najciemniejszy kolor, czarny lub brązowy) i zasilanie (+ baterii, najczęściej czerwony przewód). Standardowym napięciem pracy serw modelarskich jest przedział od 4.8 do 6V (3-4 baterie po 1.5V). Nowsze serwa przewidują również zasilanie z pakietu 2S baterii litowych i dobrze pracują z napięciem 7.4V. Im wyższe napięcie tym szybciej serwo reaguje na zmiany i tym większą siłą dysponuje. Oczywiście przekraczanie dopuszczalnych napięć grozi spaleniem serwa. Pobierany prąd zależy obciążenia serwa i jego wielkości. Najwięcej prądu pobiera ono w sytuacji kiedy próbuje osiągnąć zadaną pozycję, a nie jest to możliwe z powodu zbyt dużego obciążenia (blokada). Jeśli przy normalnej pracy pobierany jest prąd 1A, to przy blokadzie można się spodziewać natężenia ponad dwa razy większego. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Trzeci przewód przeznaczony jest do określania pozycji ramienia roboczego (orczyka). Warto tutaj wyjaśnić, że sterowanie serwem '''nie polega''' na włączeniu, odczekaniu aż serwo się obróci i wyłączeniu. Serwo jest nieco bardziej wyszukanym elementem siłownikiem. Podajemy mu pozycję jaką ma przyjąć, a ono samo wykonuje potrzebny obrót. Można to porównać do obsługi windy gdzie wchodzimy i przyciskiem wskazujemy na jakim piętrze winda ma się znaleźć, i nie wnikamy w to, jak do tego dojdzie. Każde serwo ma określony zakres w jakim może się obracać. Niektóre potrafią przesuwać orczyk w zakresie 180°, inne w pełnym zakresie 360°. Dla nas ważne jest, że mamy zawsze do czynienia z pewnym zakresem, np. od 0°...180° i w tym przedziale możemy zażądać ustawienia orczyka. Pozostaje tylko wyjaśnienie co trzeba podać na kablu sterującym, żeby wybrać jakąś pozycję z dozwolonego przedziału.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Do sterowania pozycją stosuje się sygnał '''PWM''' (ang. ''pulse width modulation'' &amp;amp;mdash; sygnał o zmiennej szerokości impulsu). Przyjmuje się, że na wejściu sterującym podawana jest fala prostokątna (czyli mówiąc &amp;quot;po ludzku&amp;quot; na przemian włączone/wyłączone napięcie) o częstotliwości 50Hz, czyli w każdej 1/50 sekundy podajemy jakąś sekwencję włączenia/wyłączenia napięcia, która koduje w jakiej pozycji ma się ustawić serwo. Ponieważ 1/50 sekundy to 20ms musimy już tylko sprecyzować jak długo w tym czasie napięcie musi być wysokie, żeby serwo przyjęło odpowiednią pozycję. Umówiono się w ten sposób:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* jeśli przez '''1ms''' sygnał jest wysoki, a przez pozostałe '''19ms''' niski, serwo ustawi ramię w '''minimalnej pozycji''' (np. kąt obrotu 0°)&lt;br /&gt;
* jeśli przez '''2ms''' sygnał jest wysoki, a przez pozostałe '''18ms''' będzie niski, serwo przestawi się na '''maksymalną pozycję''' (np. kąt 180°)&lt;br /&gt;
* jeśli stan wysoki będzie trwał między 1ms a 2ms, serwo ustawi się odpowiednio na pozycji pomiędzy minimalną a maksymalną wartością wychylenia&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Warto zwrócić uwagę, że jeśli w całym cyklu, który trwa 20ms, sygnał był wysoki przez 1ms, to stan wysoki zajął 5% cyklu. Podobnie w drugim przypadku, jeśli napięcie było włączone przez 2ms, to stan wysoki zajął 10% z całego 20ms cyklu. Można więc powiedzieć, że pozycja serwa jest zakodowana szerokością sygnału wysokiego. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''W reakcji na zmiany szerokości sygnału między 5%...10% na przewodzie sygnałowym serwo ustawi ramię w pozycji między minimalnym a maksymalnym wychyleniem.''''' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wykorzystanie tylko 5% przedziału (od 5% do 10%) szerokości sygnału PWM do zakodowania pozycji serwa może wydawać się dziwne (dlaczego na przykład nie od 5% do 95%?), ale takie postępowanie powoduje, że sygnał jest odporny na zakłócenia. Jest to ważna cecha sygnałów sterujących. Mało kto chciałby zniszczyć model za 10 tys. dlatego, że serwo z powodu zakłóceń skierowało stery w ziemię.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''UWAGA: O tym, że do sterowania serwa używany jest sygnał o częstotliwości 50Hz i tylko z modulacją szerokości od 5% do 10% trzeba pamiętać przy używaniu płytki PCA9685!''' Układ scalony, który nią steruje, nie był konstruowany specjalnie do sterowania serwami i pozwala wybrać dowolną częstotliwości (np. 1000Hz) jak i dowolną szerokości sygnału PWM między 0 a 100%. Pisząc program sterujący serwami przez płytkę PCA9685 należy więc koniecznie ustawić prawidłową dla serw częstotliwość pracy 50Hz, a potem przy kodowaniu pozycji serwa nie ustawiać szerokości sygnału spoza zakresu 5%..10%.&lt;br /&gt;
&lt;br /&gt;
=== Jak szybko działa serwo? === &lt;br /&gt;
&lt;br /&gt;
Poglądowo prędkość reakcji serw przedstawiają filmy na tej stronie. Dokładne prędkości zależne są od konstrukcji i wysokości napięcia zasilającego. Serwa szybkie są wyraźnie droższe i około 2 razy szybsze od serw przeciętnych. Orientacyjnie można przyjąć, że serwo potrzebuje mniej więcej 2ms na wykonanie obrotu o 1°. Jeśli więc zmienimy skokowo szerokość sygnału z 5% na 10%, czyli z początkowej skrajnej pozycji przeskoczymy do skrajnej końcowej, wówczas jeśli serwo ma zasięg 180° będzie potrzebowało około 1/3 sekundy (360ms) na wykonanie tego ruchu. Ponieważ mrugnięcie oka trwa około 150ms można powiedzieć, że serwo potrzebuje mrugnięcia oka na zmianę pozycji o kąt prosty.&lt;br /&gt;
&lt;br /&gt;
== Łącze I²C ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I²C pozwala połączyć układy cyfrowe (dwa lub więcej) dając im możliwość wymiany informacji pomiędzy sobą. Jest ono powszechnie używane we współczesnej elektronice. Na przykład w telefonach komórkowych główny procesor odczytuje informacje i steruje pracą układu scalonego z akcelerometrem przy pomocy tego połączenia. Jego zaletą jest względnie duża prędkość przesyłania danych (setki tysięcy bitów/s) oraz oszczędność ponieważ wymaga tylko dwóch przewodów: &lt;br /&gt;
- SCL &amp;amp;mdash; czyli linii taktującej transmisję (ten sygnał synchronizuje układ nadawczy i odbiorczy)&lt;br /&gt;
- SDA &amp;amp;mdash; czyli linii transmisji danych (tędy, w rytm linii SCL, słane są kolejne informacje)&lt;br /&gt;
&lt;br /&gt;
Malina ma wyprowadzoną linię I²C na złącze 40-pinowe, ale domyślnie jego obsługa jest wyłączona. Żeby ją włączyć korzystamy z konfiguratora&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo raspi-config&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
i w nim wybieramy '''Interfacing options''', a potem '''I2C''' które włączamy i wychodzimy z programu. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Do pracy z łączem I²C przydatne nam będą również programy narzędziowe przeznaczone dla konsoli. Instalujemy je poleceniem:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt install i2c-tools&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jeśli wszystko przebiegło pomyślnie (możliwe, że będzie potrzebny restart maliny) powinniśmy być w stanie wyświetlić wszystkie urządzenia podłączone do linii I²C numer 1 poleceniem:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;i2cdetect -y 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
które powinno wyświetlić następującą tabelkę:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f&lt;br /&gt;
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- &lt;br /&gt;
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- &lt;br /&gt;
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- &lt;br /&gt;
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- &lt;br /&gt;
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- &lt;br /&gt;
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- &lt;br /&gt;
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- &lt;br /&gt;
70: -- -- -- -- -- -- -- --     &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Oczywiście ponieważ nie podłączaliśmy jeszcze żadnego urządzenia do linii 1 lista jest pusta. Jednak jej pojawienie się pokazuje, że obsługa I²C jest prawidłowo skonfigurowana. Teraz można zacząć z tej linii korzystać podłączając zewnętrzne urządzenia do maliny i komunikować się z nimi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Minimum wiedzy o adresach urządzeń ===&lt;br /&gt;
&lt;br /&gt;
Jak widać polecenie &amp;lt;code&amp;gt;i2cdetect&amp;lt;/code&amp;gt; wyświetla dużą tabelę zamiast po prostu poinformować czy coś jest podłączone do wyjścia I²C czy nie. Dlaczego tak się dzieje? Odpowiedź jest prosta: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Standard I²C przewiduje możliwość podłączenia do tej samej linii '''wielu urządzeń na raz'''.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Skoro na tej samej linii może być wiele urządzeń jeśli dwa z nich chcą wymieniać dane musi być jakiś sposób wskazania, dla którego urządzenia przeznaczone są posłane na linię informacje. Z tego powodu '''każde''' urządzenie na linii I²C '''musi mieć''' swój indywidualny numer, który z racji podobieństwa w sposobie użycia nazywa się adresem. Jeśli urządzenie nadające wysyła paczkę danych dodaje do niej zawsze adres urządzenia, które ma je odebrać. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Plik:Adresowanie na linii i2c na przykładzie PCA9685.jpg|thumb|right|450px|Adres urządzenia w połączeniu I²C i prezentacja w i2cdetect. Przykład opcji sprzętowej zmiany na płytce PCA9685 &amp;amp;mdash; lutując zworki możemy zmieniać domyślny adres.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Na liniach I²C dane posyła się w bajtach, czyli porcjach po 8 bitów. Z tego powodu umówiono się, że adres będzie także numerem, który da się zapisać w jednym bajcie. Ponieważ na 8 bitach da się zapisać 256 różnych kombinacji można by się było spodziewać, że na jednej linii może działać do 256 różnych urządzeń. Jednak dla uproszczenia całego protokołu transmisji zdecydowano się &amp;quot;poświęcić&amp;quot; jeden bit adresu do innego celu. Zarezerwowano go do przesłania informacji, czy wysłana pod wskazany adres porcja danych ma być po prostu zapisana w docelowym urządzeniu, czy stanowi prośbę o odesłanie jakichś informacji, na które wskazują wysłane dane (np. ''urządzenie 27 odeślij mi dane z rejestru mierzącego przyśpieszenia''). Tym bitem określającym zapis/odczyt jest najmłodszy bit bajtu adresowego. Na czysty adres pozostaje więc 7 bitów, co daje możliwość podłączenia na jednej linii 128 rozróżnialnych urządzeń. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dla wygody program &amp;lt;code&amp;gt;i2cdetect&amp;lt;/code&amp;gt; wyświetla listę urządzeń podłączonych do linii I²C w postaci tabeli &amp;amp;mdash; dzięki temu 128 adresów mieści się na połowie typowej konsoli a nie ciągnie przez kilka ekranów. 3 górne bity adresu numerują wiersze tej tabeli, 4 dolne numerują kolumny. Rysunek obok pokazuje ten schemat.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Urządzenia, które komunikują się po linii I²C często mają ustawiony domyślny adres, pod którym będą się zgłaszały. Często jednak zdarza się, ze chcemy dwa takie same urządzenia podłączyć do jednej linii I²C i wówczas przydatna jest opcja zmiany adresu domyślnego. Producenci urządzeń I²C mają tego świadomość i dlatego większość z nich dopuszcza taką możliwość. Podobnie jest w przypadku omawianej niżej płytki PCA9685 co również przedstawia rysunek obok.&lt;br /&gt;
&lt;br /&gt;
== Moduł z układem PCA9685 ==&lt;br /&gt;
=== Opis modułu ===&lt;br /&gt;
Najbardziej kolorową i rzucającą się w oczy częścią modułu (p. niżej na zdjęcie przedstawiające połączenie maliny z płytką) jest rząd 16, w grupach po 4, potrójnych pinów do podłączania serw. Jak zwykle w przypadku serw pin czarny oznacza masę, czerwony napięcie zasilania, a żółty linię sterującą, na której podawany jest sygnał PWM. Jeśli kabelek serwa nie ma dokładnie tych samych kolorów można się zwykle kierować jasnością kolorów. Czarny bywa zastępowany brązowym, żółty białym, stosunkowo najrzadziej zmieniany jest kolor czerwony. Jeśli kabel serwa ma zupełnie inne kolory najlepiej upewnić się w jego specyfikacji jak producent rozmieścił wyjścia i ewentualnie dopasować ich rozkład do płytki PCA9685 przekładając styki we wtyczce. &lt;br /&gt;
&lt;br /&gt;
Na krótszych brzegach płytka ma wyprowadzone wyjścia, którymi możemy ją połączyć z maliną oraz następnymi płytkami PCA9685:&lt;br /&gt;
* GND &amp;amp;mdash; masa zasilania&lt;br /&gt;
* OE &amp;amp;mdash; podanie stanu wysokiego, odłączy wszystkie wyjścia&lt;br /&gt;
* SCL i SDA &amp;amp;mdash; linie zegarowa i danych magistrali I2C&lt;br /&gt;
* VCC &amp;amp;mdash; zasilanie częsci logicznej 3-5V&lt;br /&gt;
* V+ &amp;amp;mdash; zasilanie serw, max 6V; nie należy przeciążać tego pinu (parz niżej)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Choć łącze na brzegu płytki posiada pin V+ przeznaczony jako źródło zasilania dla silników serw, przy dużej ilości serw, albo dla dużych serw wymagających większej mocy, żeby dostarczyć napięcie zasilania części mechanicznych lepiej skorzystać z zielonego łącza w centralnej części płytki. Pozwala ono podłączyć grubsze przewody i dobrze je przymocować przykręcanymi stykami. Dobre połączenie i grubsze przewody pozwolą uniknąć strat napięcia zasilania. W przypadku pinu V+ możemy przyjąć, że ogólny opór tego połączenia wynosi około '''0.02Ω''' gdybyśmy więc chcieli przez nie zasilać 16 serw, każde po 1.5 A, przez pin płynąłby prąd 24A. Z prawa Ohma możemy policzyć, że w takim przypadku na tym połączeniu wystąpiłby spadek napięcia&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;U=IR=24[A]\cdot 0.02[\Omega]=0.48[V]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Czyli napięcie spadłoby o prawie 10% jeśli zasilalibyśmy serwa ze źródła 6V! Żeby tego uniknąć lepiej korzystać z przeznaczonego dla dużych prądów podłączenia w środku płytki. Po jednej stronie tego łącza znajduje się napis '''GND''' oznaczający gdzie należy połączyć ujemny biegun baterii (lub innego zasilacza).&lt;br /&gt;
&lt;br /&gt;
=== Połączenie maliny z modułem ===&lt;br /&gt;
[[Plik:Połączenie maliny zero z modułem PCA9685.jpg|thumb|right|400px|Połączenie maliny zero z modułem PCA9685 używające do komunikacji kanału i2c-1 maliny.]]&lt;br /&gt;
&lt;br /&gt;
Podłączenie jednego modułu PCA9685 do maliny nie jest skomplikowane ponieważ wszystkie niezbędne sygnały znajdują się na [[Trzykołowiec#Opis_wyprowadze.C5.84_.C5.82.C4.85cza_40_pinowego|40-pinowym złączu]]. Jedyne czego potrzebujemy to pięciożyłowy kabelek z końcówkami BLS. Po połączeniu i włączeniu maliny do zasilania na płytce PC9685 powinna się zapalić dioda wskazująca na obecność zasilania płytki. Żeby sprawdzić czy połączenie I²C również działa i możliwe jest sterowanie płytką możemy posłużyć się znanym poleceniem &amp;lt;code&amp;gt;i2cdetect -y 1&amp;lt;/code&amp;gt;, które tym razem powinno wykryć obecność płytki PCA9685 na linii I²C pod jej standardowym adresem 0x40:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f&lt;br /&gt;
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- &lt;br /&gt;
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- &lt;br /&gt;
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- &lt;br /&gt;
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- &lt;br /&gt;
40: 40 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- &lt;br /&gt;
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- &lt;br /&gt;
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- &lt;br /&gt;
70: 70 -- -- -- -- -- -- -- &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
W przypadku kiedy na jednej linii I²C musimy używać więcej niż jednej płytki (np. dlatego, że mamy więcej niż 16 serw) muszą się one różnić swoim adresem. Jak zmienić w dodatkowych płytkach domyślny adres '''x40''' na inny pisaliśmy wyżej w części [[Pająk#Minimum_wiedzy_o_adresach_urządzeń| o adresach urządzeń w połączeniu I²C]].&lt;br /&gt;
&lt;br /&gt;
=== Sterowanie serwem za pośrednictwem układu PCA9685 w pythonie ===&lt;br /&gt;
&lt;br /&gt;
Do pracy z układem PCA9685 użyjemy modułu &amp;lt;code&amp;gt;adafruit-pca9685&amp;lt;/code&amp;gt;, który zawiera różne funkcje pozwalające wykorzystywać możliwości chipa PCA9685 bez wnikania w szczegóły jego działania z poziomu kodu zapisanego w pythonie. Moduł można zainstalować korzystając z menadżera pakietów pythona '''pip''' poleceniem:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
sudo pip install adafruit-pca9685&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Przykładowy kod pythona korzystający z tego modułu można zobaczyć na stronie projektu [https://github.com/adafruit/Adafruit_Python_PCA9685/blob/master/examples/simpletest.py Adafruit_Python_PCA9685]. Program ten przestawia serwo podłączone do kanału 0 płytki PCA9685 między dwoma pozycjami co sekundę (jego działanie widać na końcu filmu z początku strony).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;7crYPmMEHbc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Roboty]]&lt;br /&gt;
[[Category:Projekty_Pi_Zero]]&lt;br /&gt;
[[Category:Serwa]]&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Korobot&amp;diff=608</id>
		<title>Korobot</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Korobot&amp;diff=608"/>
		<updated>2019-02-18T22:32:37Z</updated>

		<summary type="html">&lt;p&gt;Isj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Robot kooperujący z człowiekiem.&lt;br /&gt;
&lt;br /&gt;
== Do czego zmierzamy ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nowością na rynku robotów są roboty kooperujące. Ich nazwa bierze się stąd, że w odróżnieniu od &amp;quot;zwykłych&amp;quot; robotów przemysłowych, które działają &lt;br /&gt;
autonomicznie w ściśle określony sposób, najczęściej bardzo powtarzalny, ko-roboty mają za zadanie wchodzić w interakcję z człowiekiem. Oprogramowanie ko-robota musi uwzględniać wszystkie zmiany jakie wprowadza w jego otoczeniu kooperujący człowiek, potrafić reagować na bieżące polecenia człowieka, wykazywać się inteligencją w zachowaniu. Dobrym przykładem może być robot zbudowany kilka lat temu na Politechnice Wrocławskiej:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;v1GBBIFbwXs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jedną z odmian ko-robotów są proste jednoramienne manipulatory, które przez analogię do wyrażeń takich jak '''desktop computer''', '''desktop printer''', czy może najbardziej zbliżona kształtem '''lampa biurowa''', można by było nazwać '''robotem biurowym''' (w jęz. polskim angielskie sprzęty &amp;quot;biurkowe&amp;quot; z jakiegoś powodu są nazywane chętniej &amp;quot;biurowymi&amp;quot;). Przeznaczeniem takich programowanych ramion jest wykonanie jakichś powtarzalnych mechanicznych zadań, które ludzie wykonują siedząc przy stole, lub pomoc w ich wykonywaniu. Ko-robot biurowy w cukierni mógłby na przykład opisywać torty dedykacjami, w urzędzie sortować pliki przypadkowo ułożonych dokumentów, w warsztacie elektronicznym działać jako &amp;quot;trzecia ręka&amp;quot; i na przykład przytrzymywać kable w miejscu lutowania. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Przykład podstawowej konstrukcji robota jednoramiennego i prostego działania przedstawiają poniższe filmy&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;tEbJV32GyYU&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;Gx5be7_J2xc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Roboty]]&lt;br /&gt;
[[Category:Projekty_Pi_Zero]]&lt;br /&gt;
[[Category:Silniki_krokowe]]&lt;br /&gt;
[[Category:Moduły_elektroniczne]]&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Ciekawe_linki&amp;diff=607</id>
		<title>Ciekawe linki</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Ciekawe_linki&amp;diff=607"/>
		<updated>2019-02-12T01:08:27Z</updated>

		<summary type="html">&lt;p&gt;Isj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Miejsce na różne zasoby, których chwilowo nie ma gdzie dodać, a mogą się przydać.&lt;br /&gt;
* '''lutowanie pełnego złącza do Maliny Zero''' &amp;amp;mdash; dopóki testujemy pojedyncze wyjścia wlutowanie pełnego łącza nie jest potrzebne, ale w przyszłości może się okazać konieczne; zależnie od przyszłego zastosowania będzie też wiadomo czy wlutować żeńską czy męską wersję (wtyczkę co prawda można potem wylutować i zamienić wersję, ale to nie jest zbyt wygodne więc lepiej mieć pewność)&lt;br /&gt;
&amp;lt;youtube&amp;gt;8N18lIL3Uwk&amp;lt;/youtube&amp;gt;&lt;br /&gt;
* '''wzory matematyczne w treści wiki''' &amp;amp;mdash; korzystając z tagu &amp;lt;pre&amp;gt;&amp;lt;math&amp;gt;...&amp;lt;/math&amp;gt;&amp;lt;/pre&amp;gt; można umieszczać w treści stron dobrze wyglądające wyrażenia matematyczne; jak wprowadzać równania wewnątrz tego tagu opisuje strona o [https://en.wikipedia.org/wiki/Help:Displaying_a_formula formułach matematycznych w wiki]; na przykład użycie &amp;lt;pre&amp;gt;&amp;lt;math&amp;gt;x=\frac{-b \pm \sqrt{b^2 - 4ac}}{2a}&amp;lt;/math&amp;gt;&amp;lt;/pre&amp;gt; daje taki efekt &amp;lt;math&amp;gt;x=\frac{-b \pm \sqrt{b^2 - 4ac}}{2a}&amp;lt;/math&amp;gt;&lt;br /&gt;
[[Category:Pi Zero]]&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Ciekawe_linki&amp;diff=606</id>
		<title>Ciekawe linki</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Ciekawe_linki&amp;diff=606"/>
		<updated>2019-02-12T01:06:17Z</updated>

		<summary type="html">&lt;p&gt;Isj: o tagu math&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Miejsce na różne zasoby, których chwilowo nie ma gdzie dodać, a mogą się przydać.&lt;br /&gt;
* '''lutowanie pełnego złącza do Maliny Zero''' &amp;amp;mdash; dopóki testujemy pojedyncze wyjścia wlutowanie pełnego łącza nie jest potrzebne, ale w przyszłości może się okazać konieczne; zależnie od przyszłego zastosowania będzie też wiadomo czy wlutować żeńską czy męską wersję (wtyczkę co prawda można potem wylutować i zamienić wersję, ale to nie jest zbyt wygodne więc lepiej mieć pewność)&lt;br /&gt;
&amp;lt;youtube&amp;gt;8N18lIL3Uwk&amp;lt;/youtube&amp;gt;&lt;br /&gt;
* '''wzory matematyczne w treści wiki''' &amp;amp;mdash; korzystając z tagu &amp;lt;pre&amp;gt;&amp;lt;math&amp;gt;...&amp;lt;/math&amp;gt;&amp;lt;/pre&amp;gt; można umieszczać w treści stron dobrze wyglądające wyrażenia matematyczne; jak wprowadzać równania wewnątrz tego tagu opisuje [https://en.wikipedia.org/wiki/MathML strona o MathML]; na przykład użycie &amp;lt;pre&amp;gt;&amp;lt;math&amp;gt;x=\frac{-b \pm \sqrt{b^2 - 4ac}}{2a}&amp;lt;/math&amp;gt;&amp;lt;/pre&amp;gt; daje taki efekt &amp;lt;math&amp;gt;x=\frac{-b \pm \sqrt{b^2 - 4ac}}{2a}&amp;lt;/math&amp;gt;&lt;br /&gt;
[[Category:Pi Zero]]&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
	<entry>
		<id>https://robo.city/wiki/index.php?title=Ciekawe_linki&amp;diff=605</id>
		<title>Ciekawe linki</title>
		<link rel="alternate" type="text/html" href="https://robo.city/wiki/index.php?title=Ciekawe_linki&amp;diff=605"/>
		<updated>2019-02-12T01:00:06Z</updated>

		<summary type="html">&lt;p&gt;Isj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Miejsce na różne zasoby, których chwilowo nie ma gdzie dodać, a mogą się przydać.&lt;br /&gt;
* '''lutowanie pełnego złącza do Maliny Zero''' -- dopóki testujemy pojedyncze wyjścia wlutowanie pełnego łącza nie jest potrzebne, ale w przyszłości może się okazać konieczne; zależnie od przyszłego zastosowania będzie też wiadomo czy wlutować żeńską czy męską wersję (wtyczkę co prawda można potem wylutować i zamienić wersję, ale to nie jest zbyt wygodne więc lepiej mieć pewność)&lt;br /&gt;
&amp;lt;youtube&amp;gt;8N18lIL3Uwk&amp;lt;/youtube&amp;gt;&lt;br /&gt;
* na wiki można korzystać z tagu &amp;lt;pre&amp;gt;&amp;lt;math&amp;gt;...&amp;lt;/math&amp;gt;&amp;lt;/pre&amp;gt; do umieszczenia dobrze wyglądających równań matematycznych; jak wprowadzać równania wewnątrz tego tagu opisuje [https://en.wikipedia.org/wiki/MathML strona o MathML]&lt;br /&gt;
[[Category:Pi Zero]]&lt;/div&gt;</summary>
		<author><name>Isj</name></author>
		
	</entry>
</feed>