Obsah:
- Zásoby
- Krok 1: Nastavení robota
- Krok 2: Nastavení joysticku
- Krok 3: Kontrola hodnot joysticku
- Krok 4: Nastavení proměnných X a Y
- Krok 5: Převod X a Y na hodnoty pro levý a pravý motor
- Krok 6: Odeslání hodnot jako rozhlasových zpráv
- Krok 7: Příjem zpráv na vašem robotu
- Krok 8: Použití příchozích zpráv k ovládání motorů robota
- Krok 9: Používání tlačítek - přijímání dalších zpráv
- Krok 10: Odesílání dalších zpráv pomocí tlačítek ovladače
- Krok 11: Další kroky
Video: Programování Micro: Bit Robot & Joystick: Bit Controller s MicroPython: 11 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:21
Na Robocampu 2019, našem letním robotickém táboře, mladí lidé ve věku 10-13 let pájí, programují a staví „antweight robot“na bázi micro: bit na bázi BBC a také programují micro: bit, který se používá jako dálkové ovládání.
Pokud jste právě na Robocampu, přejděte ke kroku 3, protože první dva kroky jsme provedli ve skupině
Toto je podrobný průvodce k získání mikro: bitového robota, který komunikuje pomocí ovladače joystick: bit.
Aby vše fungovalo, nezabere to nejrychlejší cestu, ale zkouší věci po malých částech, abyste mohli kód testovat za pochodu, dát mu vlastní razítko a pochopit, proč děláme věci, které děláme !
Pro tuto aktivitu používáme vlastního robota, ale bude fungovat s jakýmkoli robotem s podobným ovladačem motoru, jako je L9110s.
Soubory návrhů pro našeho robota najdete zde:
Tato příručka je napsána pro začátečníky, ale pokud jste nikdy předtím nepoužívali micro: bit s MicroPythonem, doporučujeme nejprve vyzkoušet jednodušší program, jako je náš odznak s názvem Instructable: https://www.instructables.com/id/Felt -Microbit-Nam…
Zásoby
2x BBC micro: bit
Robot, který pracuje s BBC micro: bitem (viz vysvětlení výše)
joystick: bitový ovladač (ten náš máme od Cool Components)
Krok 1: Nastavení robota
Máte několik možností pro psaní kódu MicroPython pro váš micro: bit:
- Mu, který si můžete stáhnout a nainstalovat zde:
- Online editor, který najdete zde:
Tyto pokyny předpokládají, že používáte Mu
Otevřete Mu a zapojte micro: bit do počítače. Mu by měl rozpoznat, že používáte mikro: bit, a vybrat mikro: bit „Režim“, ale pokud tomu tak není, změňte to ručně.
Získejte kopii testovacího kódu motoru robota odtud:
Pokud nejste na Github zvyklí, může to být neintuitivní! Dva snadné způsoby, jak tento kód získat, jsou:
- Uložte surový soubor do počítače a poté jej načtěte do Mu:
- Zkopírujte a vložte celý daný kód do nového souboru v Mu.
Nyní klikněte na tlačítko 'Flash' na liště nástrojů Mu a odešlete svůj nový kód na micro: bit.
To nebude fungovat, pokud není zapojen micro: bit
Na zadní straně mikro: bitu začne blikat žluté světlo. Po dokončení byl váš kód přenesen.
NASTAVENÍ SMĚRŮ MOTORU
Tento program zapne motory v různých směrech, když stisknete tlačítko 'A' na mikro: bitu.
Co chcete, aby se stalo:
- Když se zobrazí 'A', levý motor vpřed
- Když se zobrazí 'B', levý motor dozadu
- Když se zobrazí 'C', pravý motor vpřed
- Když se zobrazí 'D', pravý motor dozadu
Pravděpodobně tomu tak nebude, protože záleží na tom, jak jste svého robota zapojili!
V horní části kódu najdete seznam proměnných, které určují, který pin na mikro: bitu ovládá, kterým směrem motoru.
Pokud používáte některého z našich robotů (souborů), prohoďte názvy proměnných, aby se robot pohyboval správnými směry:
Pokud používáte vlastního robota, zkontrolujte před úpravou kódu, ke kterým kolíkům je připojen ovladač motoru.
TESTOVÁNÍ DISKU
Nyní zkontrolujte, jak váš robot jezdí, nahrazením testovacího kódu v hlavní smyčce nějakým vlastním kódem.
Robotu řeknete, aby řídil, zavoláním funkce drive (). To vyžaduje dva argumenty - hodnotu pro levý motor a hodnotu pro pravé motory mezi 0 (vypnuto) a 1023 (maximální rychlost).
Voláním pohonu (500, 500) například řeknete oběma motorům, aby se zapnuly, ve směru dopředu, přibližně poloviční rychlostí.
Vyzkoušejte několik možností, abyste získali představu o tom, jak přímo jede a jak dobře zatáčí.
Nápověda: testy motoru byly jak ve smyčce True, tak v příkazu if - motory se neotáčejí, dokud nestisknete tlačítko A na mikro: bitu, a neustále kontroluje, zda jste stiskli tlačítko A.
Tip: motory se nevypnou, dokud jim to neřeknete! Vždy budou pokračovat v posledním pokynu.
VOLITELNÉ: ZLEPŠENÍ JÍZDY V PŘÍMÉ LINE
Pokud váš robot nepojede po přímce, jeden z vašich motorů se může otáčet rychleji než druhý.
Po kontrole, zda nic fyzicky nebrání tomu, aby se kolo volně otáčelo, můžete upravit kód ve funkci pohonu a snížit tak otáčky rychlejšího motoru.
Přejděte nahoru, abyste našli definici funkce pohonu, a podívejte se na dva nejlepší pokyny:
def pohon (L, R):
# Níže je úprava, která má opravit nesoulad otáček motoru L = int (L*1) R = int (R*1)
Tyto dva řádky aktuálně nabývají hodnoty L a R, vynásobte je 1 a poté se ujistěte, že jsou stále celá čísla (int).
Pokud je váš levý motor například rychlejší, změňte *1 na jeho řádku na *0,9 a zjistěte, zda to věci zlepšuje.
Nedokážete to udělat dokonalým, ale můžete pokračovat v úpravách, dokud to nepůjde rovněji.
NASTAVENÍ RÁDIA
Nyní nastavte rádio přidáním následujících řádků do horní části kódu:
importovat rádio
radio.config (kanál = 7, skupina = 0, fronta = 1) radio.on ()
To umožní vašemu robotu přijímat pokyny z jiného mikro: bitu, ale v tuto chvíli bude přijímat pokyny z jakéhokoli jiného mikro: bitu.
Důvodem je, že kanál 7 a skupina 0 jsou výchozí kanály.
Změňte tato čísla výběrem kanálu mezi 0-82 a skupiny mezi 0-255. Nyní bude váš micro: bit přijímat pokyny pouze od ostatních se stejnými konfiguračními informacemi.
queue = 1 znamená, že mikro: bit uchová vždy jen jednu příchozí zprávu - to poskytuje o něco rychlejší dobu odezvy než výchozí, což je 3.
Nyní musíte upravit kód své hlavní smyčky, abyste místo spouštění pokynů při stisknutí tlačítka čekali na příchozí rozhlasovou zprávu a odpovídajícím způsobem reagovali.
Vyzkoušejte následující kód jako test (nic neudělá, dokud nenastavíte joystick v kroku 2):
zatímco pravda:
message = radio.receive () if message == 'forward': drive (500, 500)
Krok 2: Nastavení joysticku
Odpojte robot: micro: bit a místo toho zapojte micro: bit svého joysticku
Získejte kopii kódu pro nastavení joysticku zde:
Nastavte rádio pomocí stejné konfigurace (číslo kanálu a skupiny) jako u robota - umožní vám to mezi sebou komunikovat.
Na konci programu spusťte hlavní smyčku:
zatímco pravda:
if button_a.was_pressed (): radio.send ('forward')
Tento kód ještě nepoužívá joystick: bit. K odeslání zprávy používá tlačítko A na mikro: bitu.
Ujistěte se, že váš robot i řídicí jednotka micro: bits mají energii, a poté stisknutím tlačítka odešlete zprávu.
Pokud je zpráva úspěšně přijata a váš robot se pohybuje … dobře! Dokončili jste pokyny k nastavení.
TIPY PRO ODSTRAŇOVÁNÍ PROBLÉMŮ
Pokud se vám na ovladači zobrazí chybová zpráva micro: bit … ladění kódu ovladače
Pokud se na vašem robotu zobrazí chybová zpráva micro: bit … vaše rádiová zpráva byla úspěšně odeslána! Robot to však nedokáže pochopit, proto zkontrolujte, zda se shodují zprávy, které jste poslali, a zprávy, které jste robotovi řekli.
Pokud se vůbec nic nestane
- Ujistěte se, že jste do každého micro: bitu vložili správný kód - je snadné omylem bliknout nesprávný!
- Zajistěte, aby se čísla vašeho kanálu a skupiny shodovala na každém mikro: bitu
Krok 3: Kontrola hodnot joysticku
Dalších několik kroků je pomocí kódu ovladače
Než budete moci používat joystick na ovladači, musíte vědět, jaké hodnoty získáte, když stisknete páčku.
Nahraďte hlavní smyčku následujícím kódem: Replace your main loop with the following code:
zatímco pravda:
joystick = joystick_push () tisk (joystick) spánek (500)
Vložte tento kód na svůj micro: bit a poté klikněte na tlačítko REPL na liště nástrojů Mu. Tím se ve spodní části editoru otevře terminál, který vám poskytne odkaz na micro: bit v reálném čase.
To nebude fungovat, pokud není zapojen micro: bit
Když je REPL otevřený, stiskněte tlačítko reset na zadní straně vašeho micro: bitu.
Měli byste vidět, jak některé hodnoty přivedou na obrazovku „vytištěné“:
Stiskněte páčku joysticku a uvidíte, co se stane s čísly.
Poznamenejte si hodnoty uvedené, když je joystick ve střední poloze - v mém případě (518, 523).
Opětovným kliknutím na tlačítko REPL na liště nástrojů Mu jej zavřete - nový kód nebudete moci blikat na micro: bit, když je otevřený.
Krok 4: Nastavení proměnných X a Y
Chcete změnit hodnoty dané funkcí joysticku, aby:
- uprostřed je nula
- nahoru je pozitivní
- dolů je negativní.
To odpovídá pokynům, které robot potřebuje - kladné číslo pro jízdu vpřed a záporné číslo pro jízdu vzad.
Podívejte se na čísla, která jste dostali v posledním kroku. První číslo je x a druhé číslo je y.
Upravte definici joystick_push (), která je již v programu, a odečtěte své hodnoty od originálu:
def joystick_push ():
x = pin0.read_analog () - 518 y = pin1.read_analog () - 523 návrat x, y
Použijte svá vlastní čísla, mohou se lišit od mých
Nahrajte svůj nový kód, otevřete REPL, stiskněte resetovací tlačítko micro: bit a zkontrolujte své hodnoty.
Dostáváte (0, 0)?
Krok 5: Převod X a Y na hodnoty pro levý a pravý motor
V tuto chvíli nebude tento joystick příliš užitečný k řízení robota. Při úplném posunutí vpřed získáte hodnotu, jako je (0, 500).
Pokud byste robotovi dali tato čísla, zapnul by pravý motor, ale ne levý, což se vám stát nechce!
Tento diagram ukazuje, co se stane s hodnotami x a y, když pohybujete joystickem, a co chceme, aby robot dělal, když pohybujete joystickem.
K smíchání hodnot x a y musíte použít nějakou matematiku, abyste získali něco užitečnějšího.
n
MATHY
Začněme tím, že joystick zatlačíme úplně dopředu.
Příklad hodnot, které můžete získat, je:
x = 0
y = 500
Abyste byli robotovi užiteční, chcete získat hodnoty jako tyto:
vlevo = 500
vpravo = 500
Zkusme přidat x a y různými způsoby, abychom zjistili, jaká čísla dostaneme:
x + y = 0 + 500 = 500
x - y = 0 - 500 = -500 y + x = 500 + 0 = 500 y - x = 500 - 0 = 500
Nyní se podívejme, co se stane, když joystick zatlačíme úplně doprava.
Příklad hodnot, které můžete získat, je:
x = 500
y = 0
Aby robot zabočil doprava, chcete, aby levý motor jel dopředu a pravý motor dozadu:
vlevo = 500
vpravo = -500
Vyzkoušejte náš vzorec znovu:
x + y = 500 + 0 = 500
x - y = 500 - 0 = 500 y + x = 0 + 500 = 500 y - x = 0 - 500 = -500
Porovnejte dvě sady vzorců a zjistěte, která možnost vám poskytne správnou levou hodnotu a která možnost vám poskytne správnou správnou hodnotu.
Zkuste to s některými hodnotami, které získáte z vlastního joysticku, abyste se ujistili, že vámi zvolený vzorec funguje po celou dobu.
n
ROZŠÍŘENÍ FUNKCE JOYSTICK
Rozbalte a upravte funkci joysticku a vytvořte dvě nové proměnné vlevo a vpravo a vraťte tyto hodnoty místo xay:
def joystick_push ():
x = pin0.read_analog () - 518 y = pin1.read_analog () - 523 vlevo = vpravo = návrat vlevo, vpravo
Nahrajte nový kód, otevřete REPL, stiskněte resetovací tlačítko micro: bit a zkontrolujte své hodnoty.
Dostáváte hodnoty, které očekáváte?
Pokud potřebujete další pomoc, podívejte se na náš ukázkový kód zde:
Krok 6: Odeslání hodnot jako rozhlasových zpráv
Nyní máte připraveny nějaké hodnoty, které můžete odeslat svému robotovi.
Upravte svou hlavní smyčku tak, aby zkontrolovala hodnoty joysticku, ale místo aby je vytiskla, připraví je k odeslání jako rozhlasové zprávy.
zatímco pravda:
joystick = joystick_push () message = str (joystick [0]) + "" + str (joystick [1])
To ještě ve skutečnosti zprávu neodesílá!
Co se děje v tomto novém řádku kódu?
- joystick [0] znamená první bit informací, které vycházejí z funkce joysticku (vlevo)
- joystick [1] je další bit informací (vpravo)
- str () převádí obě tato čísla do řetězcového formátu (místo čísel text) - je to nutné k odeslání informací přes rádio.
Budete zvyklí na to, že + znamená sčítání - může sčítat čísla dohromady a spojovat řetězce, což znamená, že spojí dva bity informací dohromady.
Příklad:
150 + 100 = 250
str (150) + str (100) = 150100
Zřetězení tedy spojí vaše levé a pravé hodnoty dohromady.
Chcete -li vynutit oddělení mezi dvěma bity informací (aby robot věděl, že jsou to dva bity informací), spojte mezi nimi řetězec navíc pomocí „“. Řečové značky kolem mezery znamenají, že se již jedná o řetězec.
Nakonec rozšířte svůj kód a odešlete tuto nově vytvořenou zprávu přes rádio:
radio.send (zpráva)
spát (10)
Spánek zpomaluje odesílání zpráv, takže přijímací micro: bit není přetížen příliš mnoha informacemi!
Než přejdete k dalšímu kroku, zašifrujte tento kód na micro: bit a ladění případných chyb
Krok 7: Příjem zpráv na vašem robotu
Vraťte se ke kódu robota od začátku - nezapomeňte odpojit mikroprocesor ovladače, abyste na něj omylem nezapojili kód robota
Přejděte dolů do hlavní smyčky - odeberte testovací kód a místo toho přidejte tento:
zatímco pravda:
message = radio.receive () print (message) sleep (100)
Tím nastavíte proměnnou rovnou příchozí zprávě a vytisknete zprávu na REPL - abyste zkontrolovali, že zprávy přicházejí podle očekávání.
Blikejte novým kódem připojeným k REPL a poté stiskněte joystick.
Měli byste dostat něco takového:
TIPY PRO ODSTRAŇOVÁNÍ PROBLÉMŮ
Pokud se vám na ovladači zobrazí chybová zpráva micro: bit … ladění kódu ovladače
Pokud se na vašem robotu zobrazí chybová zpráva micro: bit … vaše rádiová zpráva byla úspěšně odeslána! Robot to však nemůže pochopit, proto zkontrolujte, zda se shodují zprávy, které jste poslali, a zprávy, které jste robotovi řekli.
Pokud se vůbec nic nestane
- Ujistěte se, že jste na každý micro: bit vložili správný kód - je snadné omylem bliknout nesprávný!
- Zajistěte, aby se čísla vašeho kanálu a skupiny shodovala na každém mikro: bitu
Krok 8: Použití příchozích zpráv k ovládání motorů robota
Nyní dostáváte přes rádio dvě čísla jako řetězec.
Tuto zprávu musíte rozdělit na dva řetězce, poté je znovu převést na čísla a předat je do funkce pohonu. Hodně se děje najednou!
Než to provedete, musíte zkontrolovat, zda je zpráva, kterou přijímáte, ve správném formátu.
Pokud nejsou odesílány žádné zprávy, obdržíte místo toho „Žádný“. Pokud to zkusíte rozdělit, zobrazí se chybová zpráva.
zatímco pravda:
message = radio.receive () pokud zpráva není None: message = message.split () drive (int (message [0]), int (message [1]))
Co se tady děje?
- Nový kód se spustí, pokud je zpráva cokoli jiného než 'Žádný'.
- message.split () zkontroluje, zda je ve zprávě mezera (kterou jsme přidali v posledním kroku), a použije ji k rozdělení zprávy na dvě části.
- int (zpráva [0]), int (zpráva [1]) dělá opak toho, co jsme dělali v předchozím kroku - získá každou informaci samostatně a převede ji na celé číslo (celé číslo).
- int (zpráva [0]) se používá jako hodnota pro levý motor ve funkci pohonu a int (zpráva [1]) se používá jako hodnota pro pravý motor.
Zkontrolujte, zda funguje - otáčejí se motory při stisknutí joysticku?
Pokud ne - čas na nějaké ladění!
Pokud ano, fantastické! Máte fungujícího robota na dálkové ovládání!
Věnujte nějaký čas procvičování se svým robotem, než přejdete k dalšímu kroku. Jezdí tak, jak očekáváte?
Následující kroky vám ukážou, jak pomocí tlačítek na joysticku přidat robotovi další funkce
Pokud chcete zatím vidět naši verzi tohoto kódu:
- Robot:
- Ovladač:
Krok 9: Používání tlačítek - přijímání dalších zpráv
V tuto chvíli se váš kód pokusí rozdělit jakoukoli zprávu, která není Žádná. To znamená, že pokud obdrží například „ahoj“, zobrazí se chybová zpráva.
Aby váš micro: bit mohl interpretovat jiné zprávy, bude muset nejprve zkontrolovat každou očekávanou zprávu a poté ji rozdělit, pouze pokud jí nebylo řečeno, aby s ní dělal něco jiného.
Rozbalte svůj kód takto:
pokud zpráva není Žádná:
if message == 'hello': display.show (Image. HAPPY) elif message == 'duck': display.show (Image. DUCK) else: message = message.split () drive (int (message [0]), int (zpráva [1]))
Nejprve zkontroluje, zda obdržel zprávu „ahoj“. Pokud ano, zobrazí šťastný obrázek, pak se vraťte zpět na začátek smyčky a zkontrolujte další zprávu.
Pokud zpráva není ahoj, příště zkontroluje, zda je zpráva „kachna“.
Pokud zpráva není „ahoj“NEBO „kachna“, provede poslední věc v seznamu, kterou je rozdělení zprávy a zapnutí motorů. Nebude se pokoušet rozdělit zprávu, pokud obdržela „ahoj“nebo „kachna“, což znamená, že z žádné z těchto dvou zpráv neobdržíte chybovou zprávu.
Znaménko dvojité rovnosti je důležité - znamená „rovná se“ve srovnání s jediným znaménkem rovnosti, které něco nastavuje (takže zpráva = „ahoj“znamená, že proměnnou nastavujeme na „ahoj“, zpráva == „ahoj“znamená, že se ptáme, zda se zpráva rovná 'ahoj').
Vyzkoušejte to prozatím jen se dvěma možnostmi, abyste to otestovali - později můžete přidat tolik dalších zpráv, kolik chcete.
Odkaz na pracovní kód:
Krok 10: Odesílání dalších zpráv pomocí tlačítek ovladače
Odpojte robot: micro: bit a místo toho zapojte micro: bit svého joysticku
Vraťte se zpět ke kódu svého ovladače, který chcete upravit.
Podobně jako u kódu robota chceme, aby ovladač před odesláním hodnot joysticku zkontroloval, zda se pokoušíte odeslat další zprávy.
V horní části smyčky stále chceme, aby zkontroloval aktuální hodnoty joysticku, ale také chceme, aby zkontrolovalo, zda je aktuálně stisknuto tlačítko:
zatímco pravda:
joystick = joystick_push () button = button_press ()
button_press () vrací hodnotu A, B, C, D, E nebo F podle toho, které tlačítko právě stisknete (pokud není stisknuto nic, vrátí None).
Nyní můžeme provést příkaz if-elif-else, jako jsme to udělali pro kód robota-pomocí dvou tlačítek a odeslání hodnoty joysticku, pokud není stisknuto žádné tlačítko.
if button == 'A':
radio.send ('ahoj') sleep (500) elif button == 'B': radio.send ('duck') sleep (500) else: message = str (joystick [0]) + "" + str (joystick [1]) radio.send (zpráva) spánek (10)
Po stisknutí tlačítka odešlete jednu ze zpráv, o kterých jste v předchozím kroku řekli, že si má robot dávat pozor.
Zpráva bude odeslána při každém stisknutí tlačítka a počítače jsou mnohem rychlejší než lidé! Může tedy poslat zprávu mnohokrát, než se vám podaří sundat prst z tlačítka.
Spánek po odeslání zprávy ji zpomalí, takže tlačítko nebude tak rychle znovu kontrolovat - zkuste sem zadat několik čísel, abyste pro vás získali perfektní čas - příliš pomalu a nebude reagovat ani on rychle a váš robot bude přijímat tolik zpráv s tlačítky, že by mohl přestat reagovat na joystick!
Funguje to?
Pokud se vám zobrazují chybové zprávy, dobře si promyslete, co jste právě změnili a co se děje.
Pokud se vám při stisknutí tlačítka na ovladači zobrazí chyba robota - víte, že se zpráva zobrazuje, ale robota je matoucí. Zkontrolujte, že zpráva, kterou jste odeslali, a zpráva, které jste řekli robotovi, aby ji vyhledal, jsou stejné.
Odkaz na pracovní kód:
Krok 11: Další kroky
Nyní máte znalosti, které potřebujete pro práci s motory vašeho robota a s joystickem: bitovým ovladačem
Využijte tyto znalosti ke zlepšení těchto dvou programů a jejich přizpůsobení. Několik nápadů níže!
Na ovladači máte šest tlačítek! Co chcete, aby dělali?
- Co takhle naprogramovat taneční rutinu, kterou má váš robot dělat na povel? Napište algoritmus příkazů drive (), oddělený příkazy sleep ()!
- Chcete změnit směr, kterým se robot pohybuje, aby mohl snadno řídit vzhůru nohama? Zamyslete se nad hodnotami x a y joysticku. Co představují a jak byste s nimi mohli manipulovat?
- Má váš robot (nebo byste mohli přidat!) Další funkce, jako jsou LED diody, reproduktor nebo senzory?
Nápady na vylepšení kódu
- Mohli byste svému robotu pomoci vyrovnat se s neznámými zprávami pomocí kódu try/kromě kódu?
- Matematika použitá k výpočtu levé a pravé hodnoty z joysticku nám neposkytuje celý rozsah hodnot (pohon robota může přijmout číslo až 1023). Můžete tento kód upravit, abyste získali lepší dosah?
- Existují i jiné způsoby míchání hodnot joysticku - můžete přijít s lepším způsobem, jak to udělat?
Doporučuje:
Z80-MBC2 Programování Atmega32a: 6 kroků
Z80-MBC2 Programování Atmega32a: Než budete moci z80-MBC2 používat, po jeho sestavení musíte Atmeg32 naprogramovat. Tyto pokyny vám ukážou, jak použít levné arduino mini jako programátora k nahrání kódu
Vytvořte SNADNOU zrcadlovou kostku Infinity - ŽÁDNÝ 3D tisk a BEZ programování: 15 kroků (s obrázky)
Vytvořte SNADNOU zrcadlovou kostku Infinity | ŽÁDNÝ 3D tisk a ŽÁDNÉ programování: Každý má rád dobrou kostku nekonečna, ale vypadá to, že by bylo těžké ji vyrobit. Mým cílem tohoto Instructable je ukázat vám krok za krokem, jak si jej vytvořit. Nejen to, ale podle pokynů, které vám dávám, si budete moci vyrobit jeden
Souběžné programování Attiny85 nebo dýně s vícebarevnými očima: 7 kroků
Souběžné programování Attiny85 nebo dýně s vícebarevnými očima: Tento projekt ukazuje, jak pomocí čipu Attiny85 ovládat dvě 10mm tříbarevné LED diody se společnou anodou (vícebarevné oči Pumpkin Halloween Glitter). Cílem projektu je seznámit čtenáře s uměním souběžného programování a s využitím Adama D
Zajímavé pokyny pro programování programování pro návrháře-ovládání barev: 10 kroků
Zajímavé pokyny pro programování programování pro návrháře-ovládání barev: V předchozích kapitolách jsme si řekli více o tom, jak použít kód k tvarování namísto bodů znalostí o barvě. V této kapitole prozkoumáme tento aspekt znalostí hlouběji
Space Invaders in Micropython na Micro: bit: 5 kroků
Space Invaders in Micropython on Micro: bit: V našich předchozích článcích jsme prozkoumali tvorbu her na GameGo, přenosné retro herní konzoli vyvinuté TinkerGen education. Hry, které jsme vytvořili, připomínaly staré hry Nintendo. V dnešním článku se vrátíme o krok zpět, abychom