All posts by Tobias Balle-Petersen

Sådan opretter man en konto på Snap!

I Opfinderklubben bruger vi sproget Snap! når vi programmerer. Der er udviklet og drevet af det amerikanske universitet Berkeley. Snap! fungerer som det kendte sprog Scratch, men med en del udvidelser.

For at få mest muligt ud af undervisningen, er det vigtigt at man der hjemme  kan arbejde videre på de ting vi arbejder med når vi er sammen. Der er muligt at eksportere sit projekt som en xml-fil, og at tage projektet  med hjem på f.eks. et USB-stick, men det er noget besværligt. Derfor sker det i praksis ret sjældent.

Den nemmeste måde at kunne arbejde hjemme på sit projekt er, at man opretter en konto på Snap! Så kan man arbejde på sine ting fra alle computere inklusive Apple iPads.

Sådan opretter man en konto på Snap!

  1. Åben Snap! i en browser.
  2. Tryk på knappen med et sky-ikon og vælg punktet “Signup…”.
  3. Indtast oplysninger om den nye bruger. Som e-mail kan du vælge at bruge din egen, hvis dit barn ikke er bruger af e-mail.
  4. Du kan nu klikke på knappen med skyen, og logge ind med brugernavn og password.
  5. Du får tilsendt en email med et link som du skal klikke på for at bekræfte din nye konto. Hvis du ikke gør dette inden for tre dage, slettes kontoen inklusive indhold.

Sørg for at dit barn kender brugernavn og password til kontoen. Skriv det evt. ned på en seddel. Undlad at skrive andet på sedlen end brugernavn og password. På den måde, vil andre ikke kunne bruge den til noget (Fordi de ikke ved at det er til Snap!). Brug ikke det samme password som du/i bruger andre steder.

Programmér dit eget rumskib

Af og til, kan det føles lidt tørt at komme i gang med at programmere i tekst, hvis man kommer fra Snap! eller Scratch. En sjov måde at begynde på, er at programmere sit eget rumskib der kæmper mod andre rumskibe. Det kan man gøre på siden codegames.io.  Ved at kigge på nogle variable, kan man få at vide hvor fjenden er, end fart osv. Der er et simpelt sprog, med tilhørende dokumentation. Man kan vælge mellem et antal rumskibe at kæmpe mod, men desværre er der ikke mulighed for at kæmpe med andre brugeres rumskibe. Det virker som om den funktionalitet har været planlagt, men at det aldrig er blevet til noget.

Continue reading Programmér dit eget rumskib

Fantastiske sprites til spil

Hvis man laver spil, er Kenney en fantastisk ressource hvis man mangler grafik. Kenney stiller en mængde såkaldte spritesheets til rådighed. Et spritesheet er et antal stykker 2D grafik (sprites) med et fælles tema. Der er mange temaer på Kenney, alt fra møbler og rumskibe til elementer til platformspil. De forskellige spritesheets kan frit benyttes, selv kommercielt. Kenney stiller også samlinger af lydeffekter of 3D-modeller til rådighed.

Byg open source-robotten Otto

Robotten Otto er en open source-robot hvis krop man selv kan 3D-printe. De elektroniske dele er billige, og lette at skaffe. Robotten styres af en Arduino Nano-microprocessor, 4 servomotorer og en ultralyds-afstandsmåler. På den måde, kan robotten bevæge sig rundt, uden at støde ind i (større) ting.

Alle filerne til robotten, inklusive dokument der viser hvordan robotten samles,  kan hentes i projektets GitHub repository. De dele der skal 3D-printes er her. Hvis du ikke kan finde dokumentet der viser hvordan robotten bygges, kan du hente Opfinderklubbens kopi her: OttoDIY_InstructionsManual_V08. I dit Arduino-miljø, skal du installere biblioteketet Otto, som findes i GitHub her. Du kan også vælge Opfinderklubbens, muligvis forældede, version her: Otto.

Som alternativ til at programmere robotten som en Arduino, man man bruge det blokbaserede mblock, der kan downloades her. Der er en pdf i Otto’s GitHub der viser hvordan.

 

 

Sådan kører du eksempler fra Python Arcade

I Opfinderklubben, er vi gået i gang med at programmere spil i sproget Python, med spil-biblioteket Arcade.  På bibliotekets site, er der en side med eksempler, der introducerer diverse spil-koncepter.  En af de mange eksempler hedder sprite_collect_coins.py. For at køre det eksempel på din maskine med Arcade installeret, skal  bruge følgende kommando i terminalen (På Linux kan du starte terminalen med tast-kombinationen ctrl+alt+t):

python3 -m arcade.examples.sprite_collect_coins

Læg mærke til, at du skal udelade .py-endelsen fra navnet på eksemplet.

Prøv at køre de følgende eksempler:

  • sprite_collect_coins.py
  • snow.py
  • sprite_rooms.py
  • sprite_simple_platformer.py
  • sprite_move_scrolling.py
  • bouncing_balls.py
  • drawing_primitives.py
  • shape_list_demo_skylines.py
  • maze_depth_first.py

Du kan (på Linux) finde alle eksemplerne i mappen /usr/local/lib/python3.6/dist-packages/arcade/examples. Prøv at åbne dem i din tekst-editor (Vi bruger Geany). I mappen med eksempler, er der to filer som du kan bruge som udgangspunkt for dine egne spil: starting_template_simple.py og starting_template.py.

Lav dine egne LEGO-klodser med openSCAD

I Opfinderklubben laver vi 3D-modeller med openSCAD. I openSCAD beskriver man sine figurer ved at programmere i tekst. F.eks. laver man en cylinder med kommandoen cylinder, og man flytter figurer rundt i de tre dimensioner med  kommandoen translate. En oplagt ting at lave for at øve sig, er LEGO-klodser. Her følger et par billeder der viser dimensionerne på klodserne. Alle mål på LEGO-klodser er delelige med 1.6mm (The LEGO unit). Der er glimrende dokumentation af openSCAD. Jeg foretrækker, at tage udgangspunkt i deres cheat sheet.

Tegning A

På denne tegning, er alle mål angivet i LEGO units på 1.6mm. Hvis et mål er angivet som 5, er det altså 5 x 1.6mm = 8mm.

Tegning B

På denne tegning, er målene angivet i mm. Alle mål er delelige med 1.6mm (The LEGO unit).

En LEGO-klods i openSCAD

Her er et billede af en 4×4 LEGO-klods lavet i openSCAD. Dimensionerne er som på de to tegninger oven for.