Žáci si vymodelují pomoci TinkerCAD Code Block parametrizovatelný stojan na dobíjecí články různých rozměrů (AAA, AA, "buřty" C a D) do (nejen) školních přístrojů, návrh pak vytisknou.
The focus of the target group
Cílovou skupinou jsou studenti střední školy či žáci vyšších tříd ZŠ.
Necessary knowledge and skills
měření posuvným měřítkem, základy práce CSG v TinkerCAD, znalosti stereometrie a základních 3D objektů, chápání pravoúhlého souřadného systému os XYZ, základy práce s 3D tiskárnou, základy blokového programování - třeba Scratche nebo MBlock.
Project objectives
Studenti v projektu propojí programovací postupy, které nabízí TinkerCAD Code Blocks, s modelování metodou CSG (Constructive Solid Geometry), kdy se výsledný 3D objekt tvoří průnikem, sjednocením či rozdílem základních 3D objektů. Cílem projektu pak bude výrobek s praktickou využitelností ve škole či domácnosti, který bude možno díky větší trysce vytisknout v rozumném čase.
Projekt je koncipován jako průvodce řešením, ale je možno i “otrocky” a bez pochopení pouze bezchybně přepsat kód do TinkerCAD, nastavit si rozměry a vyexportovat si vlastní stojánek.
V příloze je stl soubor, je dobré jej brát pouze jako cvičný pro zkusmé slicování, autoři neručí za jeho přesné rozměry.
Required equipment
posuvné měřítko, různé typy článků, 3D tiskárna, volitelně trysky větších průměrů a nástroje pro jejich výměnu
3D modeling
Project time schedule
Dvě vyučovací hodiny jsou věnovány modelování, dvě vyučovací hodiny jsou věnovány přípravě tiskárny a samotnému tisku.
V teoretické části studenti pracuji jednotlivě i spolupracují, v praktické jsou rozdělení do skupin - cca po 4 lidech tak, aby vždy byl ve skupině někdo manuálně zručnější a někdo s analytickým myšlením.
Je ale na učiteli, jak si rozvrhne celý projekt ve výuce.
Workflow
první část - modelování (2 vyučovací hodiny)
- seznámení s problematikou a cílem projektu
- návrhy řešení - analýza
- samostatná práce
- finalizace kódu
podrobněji
- Učitel vysvětlí cíl hodiny, nechá kolovat jim připravený výtisk a diskutuje se studenty jak úkol analyzovat, tedy rozdělit do elementárních kroků, ze kterých se syntetizuje řešení.
- Společně se třídou nalezne řešení, kdy výsledek je složen z několika posunutých řad a každá řada z několika posunutých jednotek. Každá jednotka je složena ze tří válců. Od prvního (typ “těleso”) se odečte druhý menšího průměru ale stejné výšky (typ “díra”, tedy bude tvořit dutinu). Je posunutý v kladném směru osy Z, čímž vznikne dno. Třetí válec - taky “díra” - také stejné výšky, ale menšího průměru, je opět odečten a vytvoří tak díru ve dnu. Není jej třeba nijak posouvat. Vše se seskupí. Učitel ukáže studentům předem připravenu a vytištěnu základní jednotku a/nebo postup její modelace demonstruje pomoci animace (soubor animace_1.gif). Může stejně ukázat i animaci modelování celého stojanu (soubor animace_2.gif).
- Studenti (každý samostatně) vymodelují základní jednotku - rozměry volí libovolné. Je třeba myslet na to, že válec je zde ve skutečnosti víceboký hranol, počet boků=stěn nastavíme na maximum tj. 64. Výsledek pak může v kódu vypadat takto:
- Studentům je vysvětlen pojem proměnná a ukázáno, jak se deklaruje. Zavedou si proměnné průměr (článku), výška (stojanu), tloušťka (stěny a dna) a díra (do dna). Nastaví si je tak, aby vznikl stejný objekt, jako před chvíli. Ten objekt si pojmenují jednotka. Po uvědomění si vztahu mezi poloměrem a průměrem a poloměry jednotlivých válců (kdy pro výpočty použijeme matematické operace - zde dělení a sčítání), je pak výsledek kódu takový:
- S takovým objektem se dá už pracovat - třeba vytvořit řadu. A to jako nový objekt. Učitel s žáky znovu probere, jak řada vznikne. Použijeme blok opakovat .. krát, který přidá v každém opakování kopii objektu jednotka. Každá takto opakovaně vytvořená jednotka se automaticky umístí do počátku souřadné soustavy a my ji tedy potřebujeme vždy vhodně posunout (třeba nyní v ose X ) o posun_v_ose_x. První o 0*posun, druhou o 1*posun, třetí o 2*posun a tak dále až po n-tou jednotku, která bude posunuta o (n-1)*posun. Zavedeme tedy i proměnnou počítadlo, nastavíme jeho velikost na 0 a pak ji budeme v každém opakování zvětšovat o 1. Zde je vhodné vytvořit už pracovní skupiny, neb ne všichni studenti tento postup napoprvé pochopí. Učitel načrtne na tabuli strukturu bloku opakování (co obsahuje uvnitř) a pak už vše může nechat na skupinkách - studenti se dopracují pokusem a omylem ke správnému postupu i nastavení (resp. výpočtu) posunu tak, aby se jednotlivé jednotky překrývaly, ale nezasahovaly do sebe víc, než o tloušťku stěny. Zde je vhodné, aby učitel se studenty probral, proč tomu tak s ohledem na tisk má být . Ještě před přesným výpočtem posunu a bez proměnné počet_jednotek_v_řadě by mohla tato část kódu vypadat třeba takto:
- Zde je možno skončit s části programování s tím, že stojánek by měl jen jednu řadu. Pokud učiteli zbývá čas a/nebo chtějí-li studenti v projektu pokračovat (třeba samostatně či ve skupinkách doma), pak lze pořešit i kopírování celých řad ve směru osy Y. Postup je skoro stejný, bude se tvořit nový objekt stojan coby v ose Y posouvané kopie objektu řada. Nepotřebujeme novou proměnnou počítadlo - jen proměnnou musíme vynulovat, nepotřebujeme novou proměnnou posun_v_ose_y (vždyť je stejný jako v ose X), stačí když posun_v_ose_x přejmenujeme na posun_v_osach_xy a použijeme tuto proměnnou i zde. Potřebujeme ale novou proměnnou počet_řad…a dále už je to opravdu jednoduché
- Nakonec by bylo dobré kód “zcivilizovat” - učitel vysvětlí studentům, že obsah je jedna věc, a forma druhá, neprávem zanedbávaná. A tedy proměnné, kterými se parametrizuje celý návrh, by měly být hned v úvodu kódu - proto tam přemístíme počet_jednotek_v_řadě i počet_řad. Výsledný screenshot okna programu i s kódem je v souboru kod.png.
druhá část - tisk (2 vyučovací hodiny)
- teorie - vlastnosti tisku s ohledem na průměr tisku
- tisk prototypu
- finální tisk
- náměty k přemýšlení
podrobněji
- Skupinky si vyzkoušejí, že jim program funguje, učitel do skupinek rozdá různé typy bateriových článků, posuvná měřítka a nechá studenty změřit a zadat pro konkrétní článek do programu hodnoty proměnných. Pak např. jedna ze skupinek vyexportuje stojan jen pro jeden článek, naslicuje a vytiskne jej s největší výškou vrstvy pro tisk standardní 0,4mm tryskou.
- Mezitím učitel vysvětlí souvislost mezi průměrem trysky, šířkou perimetru a maximální výškou vrstvy a jak s tím vším souvisí doba tisku. Vhodné je to demonstrovat v PRUSA Sliceru, kde si učitel nakonfiguruje kromě 0,4mm i 0,6mm a 0,8mm trysky. Tyto trysky je dobré mít s předstihem koupeny stejně jako klíče k jejich výměně.
- Prototyp se vytiskl a s velkou pravděpodobností do něj článek nepůjde zasunout. Učitel vysvětlí, jak se zde projevuje učivo z fyziky o teplotní roztažnosti materiálů. Bude třeba tedy k naměřenému průměru článku cca 1mm přidat - říká se tomu vůle.
- Studenti s pomoci učitele nebo jen sám učitel vymění trysku (nejlépe 0,8 ale stačí i 0,6mm) a zkalibrují pro novou trysku první vrstvu. Nelze zapomenout změnit trysku i v menu tiskárny. Studenti vytisknou prototyp pro novou trysku, zkontrolují jej s ohledem na vůli, vygenerují si finální stojany…a tisknou. Project complete….
- Učitel během tisku motivuje studenty s větším zájmem o programování k modifikaci kódu při použití řídící struktury for-next (zde počet s “i” od..do..). Zároveň je možno popustit uzdu fantazii a společně přemýšlet, kde jinde se dá takový stojánek jiných rozměrů použít a jak jej případně modifikovat, aby byly jednotky uspořádány jinak - do kruhu, do spirály a pod. Projekt se velmi jednoduše dá realizovat i v jiných programech, např. OpenSCAD.
Authors
studenti druhého ročníku školy pod vedením učitele Michala Hlosty
Tags
The author marked this model as their own original creation.