Terug

Creative Coding Les 1

Creative Coding – Doel van het vak

Het doel van Creative Coding is om een arduino aan te sturen en uit te lezen met je eigen computer mbv het programma Max.
De benodigde Arduino kennis heb je al gekregen in de afgelopen twee jaar. Wij gaan er vanuit dat je deze kennis nog (steeds) paraat hebt.
De focus zal dus vooral liggen op het Max gedeelte.

We hebben voor Max gekozen als Creative Coding taal omdat Max het mogelijk maakt om snel te experimenteren met hardware (Arduino), audio en video. Een groot voordeel van Max is dat de code ook gelijk de interface is van je programma. Er is dus niet zoiets als front end en back end. Je code, de patch, is tevens je interface.

Max is ontstaan als tool om audio mee te maken, maar dit is inmiddels uitgebreid tot wat het nu is. Max wordt inmiddels dan ook niet alleen meer gebruikt door muzikanten. Maar ook door kunstenaars, interactie ontwerpers, interactieve installatie onwikkelaars en onderzoekers.
Zo kwam ik onlangs de onderstaande Max patch tegen in de YouTube docu Age of AI. Daar werd Max gebruikt door onderzoekers die middels A.I. mensen met een prothese weer muziek willen laten maken:

Max is dus een visuele programmeertaal waarbij de code, “een patch” wordt genoemd. Deze patch bestaat uit verschillende objecten die middels kabeltjes (lijntjes/touwtjes/spaghetti sliertjes) met elkaar verbonden zijn.
Ieder object kun je zien als een klein fabriekje. Je stopt er aan de bovenkant iets in, en het komt er (door de fabriek bewerkt) aan de onderkant weer uit.
Door de kabeltjes die de objecten met elkaar verbinden “lopen” berichtjes, messages genoemd.
Een simpel fabriekje is bijv. “[+ 3]”. Als je er aan de bovenkant de message “4” in stopt, komt er aan de onderkant de message “7” uit (4 + 3 =7).
Er zijn ook complexere objecten die meerder inputs nodig hebben en ook meerdere outputs geven. Er zijn honderden objecten met allemaal hele specifieke functies. Hoe meer objecten je kent, hoe efficienter je kunt programmeren. Immers hoe groter je woordenschat, hoe efficienter je je verstaanbaar kunt maken.

Creative Coding – de basis van Max

Jullie zijn al bekend met Max. Toch is het niet verkeerd om weer heel even het geheugen op te frissen. In de onderstaande video wordt de basis van Max nog een keer uitgelegd:


Ophalen Arduino kennis

Zoals gezegd gaan wij er vanuit dat de benodigde Arduino kennis bij jullie aanwezig is. Mocht deze toch zijn weggezakt kun je deze kennis via de onderstaande bekende CMD.camp links opfrissen:

Het is voor de komende les echt belangrijk dat jullie de bovenstaande Arduino kennis weer eigen maken. Dus het uploaden van code naar je Arduino, het aansluiten van een lampje, motor, servo, schakelaar, lichtsensor, enz. enz. mag voor deze les geen probleem meer zijn. Dit is iets wat je écht zelf zal moeten doen. Dit moet je oefenen, door te herhalen. Dit moet je oefenen, door te herhalen. Dit moet je oefenen, door te herhalen.
En als je denkt dat je het beheerst ga je het iemand (ouders, broer, zus, vriend, vriendin en/of huisgenoot) uitleggen die het nog niet begrijpt. Daar leer je nog het meest van.

Huiswerk

Wij gaan er vanuit dat jullie bij aanvang van het eerste werkcollege alle aangeleerde Arduino kennis paraat hebben, het Ardino kitje compleet hebben en Max geinstalleerd hebben (eventueel voorzien van een licentie). Zo niet dan is dit alvast huiswerk!

  1. Opdracht:
    Sluit een drukknop (= schakelaar), een potmeter en twee ledjes aan op je Arduino (Op CMD.camp vind de benodigde aansluitschema’s.
    Schrijf in de Arduino omgeving de code die er voor zorgt dat:
    -1. Één ledje aan gaat zodra je op de drukknop drukt.
    -2. De lichtsterkte (intensiteit) van het andere ledje aan te passen is met de potmeter. Dus als de potmeter helemaal naar links gedraaid is, staat het lampje uit. Als de potmeter helemaal naar recht gedraaid is, brandt het lampje op z’n felst.

    Als het niet lukt om deze opdracht zelfstandig uit te voeren betekent dit dat je jouw Arduino kennis nog niet paraat hebt, en zul je dus moeten gaan oefenen. Opbouwen, programmeren, en weer afbreken, om het weer op te bouwen, te programmeren en af te breken, enz. enz.
    Net zo lang tot dat je het begrijpt. En als je denkt dat je het begrijpt ga je het aan iemand anders uitleggen (ouders, broer, zus, vriend, vriendin en/of huisgenoot). Veel plezier!!