RiceSheet Whale

by liselottebeijen in Circuits > Art

409 Views, 1 Favorites, 0 Comments

RiceSheet Whale

20210528_112445.jpg

Mijn naam is Liselotte Beijen en dit is een project voor de HKU.

Projectnaam: If this then that

Klas: 1B

Richting: Game Art

Inspiratie En Concept

Untitled-Artwork 1.jpg
Whale Protects Diver From Shark | The Dodo

---------

Inspiratie:

Voor dit project ben ik geïnspireerd geraakt door een filmpje van een walvis. Op 2.42 min is een korte scene waarbij de walvis onder water gaat en de reflectie van het water op de walvis weerkaatst. Hierdoor is het idee ontstaan om met de walvis en ledjes te werken.

---------

Concept:

Het concept is een soort interactieve lamp. Waarbij de walvis van kleur veranderd door middel van hand beweging. Deze worden gemeten door middel van een sensor (echo) die de afstand meet van de hand. De walvis veranderd van verschillende blauw, groen en paars tinten, maar wanneer je te dicht bij bent wordt deze rood, en speelt er een walvis geluid af.

Materiaal Experimentatie

20210524_124306.jpg
WhatsApp Image 2021-05-28 at 15.01.56 (1).jpeg
WhatsApp Image 2021-05-28 at 15.01.55 (3).jpeg
WhatsApp Image 2021-05-28 at 15.01.55 (2).jpeg
20210526_094551.jpg
WhatsApp Image 2021-05-28 at 15.38.36.jpeg
20210526_140925.jpg

---------

Ik moest ook gaan nadenken hoe ik mijn walvis wou gaan maken. Ik wil geen plastic gebruiken omdat ik dit dubbel op vindt in strijd met het afval/plastic wat in de zee beland. Ik heb overweegt om de volgende materialen te gebruiken:

- Bone clay (giet klei)

- Papier (Ook zelf maken)

- Worbla (is wel plastic)

- Nori (zeewier) vellen

- Rijst vellen

- 3D printer

Ik heb er voor gekozen om te experimenteren met de nori en rijstvellen. Deze zijn het meest toegankelijk en passen het beste bij mijn project.

Voor het prototype van de walvis heb ik een papercraft gebruikt, die moet je uitknippen en in elkaar vouwen en plakken. Zo had ik een idee hoe groot deze was. Vervolgens heb ik een ijzerdraad frame gemaakt. Deze was echter niet stabiel genoeg. (foto 1 & 2)

Hierna ben ik begonnen met het experimenteren van het materiaal. Direct zag ik dat de rijstvellen vrij transparant waren, waardoor je het ijzeren frame zou zien. Vervolgens ben ik met de nori vellen aan de slag gegaan, en heb ik een klein frame gemaakt om te kijken of dit zou werken. (foto 3 & 4) Ook heb ik de nori op papier geplakt, om te kijken welk effect dit gaf. Helaas liet de Nori vrijwel geen licht door, en heeft het uiteindelijk 2 dagen geduurd voordat deze helemaal droog was. De rijstvellen heb ik ook op papier geplakt, en in het begin werd dit ook zacht, maar na een halve dag is deze harder geworden, waardoor ik heb gekozen om de rijstvellen te gebruiken. (foto 5 & 6)

Ik heb uiteindelijk het papieren prototype gebruikt om te bedekken met de rijstvellen. (foto 7)

Voor de behuizing heb ik dezelfde gedaan; ik heb een doos met papier beplakt, en daarna met rijstvellen beplakt.

Arduino Leren Kennen

20210212_111951.jpg
20210212_112447.jpg
20210219_104155.jpg
20210212_122417.jpg
20210219_103214.jpg

---------

Voor dit project heb ik verschillende kleine oefeningen gedaan met de Arduino. Hier heb ik geprobeerd om op verschillende manieren een ledje aan he krijgen.

Wat Heb Ik Geleerd?

20210526_165815.jpg

---------

- Nori laat geen (bijna) geen licht door.

- Ik kan beter informatie/code opzoeken over de Arduino en dit toepassen in mijn project

- Ik heb geleerd om te coderen met Arduino

- trouble shooting, als iets niet werkt ga ik een rijtje af van wat er allemaal mis kan zijn. (bedrading checken, stroomtoevoer checken, Arduino port checken etc.)

Materialen

- Arduino Uno

- USB Cable

- 400 point breadboard

- Jumper wires

- HC-SR04 Ultrasonic distance sensor

- WS2813 Digitale 5050 RGB LED Strip - 90 LEDs 1m

Hoe Zit Mijn Arduino in Elkaar? + Code

Screenshot 2021-05-28 at 17.10.44.png

---------

De code die ik gebruik voor mijn project. De "//" geven een uitleg aan

// De library voor de led verlichting
#include // De library voor de Sensor #include

// Hier geef ik aan welke aansluitingen ik gebruik op de Arduino en waarvoor ze zijn

int echopin = 5;

int triggerpin = 6;

NewPing sonar(echopin,triggerpin);

// Via deze pin zijn de led lichtjes verbonden met de Arduino

int LEDPIN = 3;

// Hoeveel lichtjes er worden aan gestuurd

int NUMPIXELS = 51; //onderste getal +1

// Vanuit de library vertellen we hoeveel ledjes, en welke pin gebruikt wordt om de informatie te verzenden Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, LEDPIN, NEO_GRB + NEO_KHZ800);

// Delay voor een halve seconde

int delayval = 500;

void setup() {

// Hiermee wordt de NeoPixel-bibliotheek geïnitialiseerd.

pixels.begin();

pinMode(LEDPIN,OUTPUT); }

void loop() {

// Hier geef ik de code voor de sendor aan

int distance = sonar.ping_cm ();

// hier geef ik aan, als de sensor iets ziet binnen 10 sec, dan worden de ledjes rood

if(distance < 10 ) {

pixels.setPixelColor(0, pixels.Color(255,0,0)); // pixels.setPixelColor(1, pixels.Color(255,0,0)); // pixels.setPixelColor(2, pixels.Color(255,0,0)); // pixels.setPixelColor(3, pixels.Color(255,0,0)); // pixels.setPixelColor(4, pixels.Color(255,0,0)); // pixels.setPixelColor(5, pixels.Color(255,0,0)); // pixels.setPixelColor(6, pixels.Color(255,0,0)); // pixels.setPixelColor(7, pixels.Color(255,0,0)); // pixels.setPixelColor(8, pixels.Color(255,0,0)); // pixels.setPixelColor(9, pixels.Color(255,0,0)); // pixels.setPixelColor(10, pixels.Color(255,0,0)); // pixels.setPixelColor(11, pixels.Color(255,0,0)); // pixels.setPixelColor(12, pixels.Color(255,0,0)); // pixels.setPixelColor(13, pixels.Color(255,0,0)); // pixels.setPixelColor(14, pixels.Color(255,0,0)); // pixels.setPixelColor(15, pixels.Color(255,0,0)); // pixels.setPixelColor(16, pixels.Color(255,0,0)); // pixels.setPixelColor(17, pixels.Color(255,0,0)); // pixels.setPixelColor(18, pixels.Color(255,0,0)); // pixels.setPixelColor(19, pixels.Color(255,0,0)); // pixels.setPixelColor(20, pixels.Color(255,0,0)); // pixels.setPixelColor(21, pixels.Color(255,0,0)); // pixels.setPixelColor(22, pixels.Color(255,0,0)); // pixels.setPixelColor(23, pixels.Color(255,0,0)); // pixels.setPixelColor(24, pixels.Color(255,0,0)); // pixels.setPixelColor(25, pixels.Color(255,0,0)); // pixels.setPixelColor(26, pixels.Color(255,0,0)); // pixels.setPixelColor(27, pixels.Color(255,0,0)); // pixels.setPixelColor(28, pixels.Color(255,0,0)); // pixels.setPixelColor(29, pixels.Color(255,0,0)); // pixels.setPixelColor(30, pixels.Color(255,0,0)); // pixels.setPixelColor(31, pixels.Color(255,0,0)); // pixels.setPixelColor(32, pixels.Color(255,0,0)); // pixels.setPixelColor(33, pixels.Color(255,0,0)); // pixels.setPixelColor(34, pixels.Color(255,0,0)); // pixels.setPixelColor(35, pixels.Color(255,0,0)); // pixels.setPixelColor(36, pixels.Color(255,0,0)); // pixels.setPixelColor(37, pixels.Color(255,0,0)); // pixels.setPixelColor(38, pixels.Color(255,0,0)); // pixels.setPixelColor(39, pixels.Color(255,0,0)); // pixels.setPixelColor(40, pixels.Color(255,0,0)); // pixels.setPixelColor(41, pixels.Color(255,0,0)); // pixels.setPixelColor(42, pixels.Color(255,0,0)); // pixels.setPixelColor(43, pixels.Color(255,0,0)); // pixels.setPixelColor(44, pixels.Color(255,0,0)); // pixels.setPixelColor(45, pixels.Color(255,0,0)); // pixels.setPixelColor(46, pixels.Color(255,0,0)); // pixels.setPixelColor(47, pixels.Color(255,0,0)); // pixels.setPixelColor(48, pixels.Color(255,0,0)); // pixels.setPixelColor(49, pixels.Color(255,0,0)); // pixels.setPixelColor(50, pixels.Color(255,0,0)); //

pixels.show();

} else {

// en anders blijven ze blauw

pixels.setPixelColor(0, pixels.Color(0,0,255)); // pixels.setPixelColor(1, pixels.Color(0,0,255)); // pixels.setPixelColor(2, pixels.Color(0,0,255)); // pixels.setPixelColor(3, pixels.Color(0,0,255)); // pixels.setPixelColor(4, pixels.Color(0,0,255)); // pixels.setPixelColor(5, pixels.Color(0,0,255)); // pixels.setPixelColor(6, pixels.Color(0,0,255)); // pixels.setPixelColor(7, pixels.Color(0,50,255)); // pixels.setPixelColor(8, pixels.Color(0,0,255)); // pixels.setPixelColor(9, pixels.Color(0,0,255)); // pixels.setPixelColor(10, pixels.Color(0,0,255)); // pixels.setPixelColor(11, pixels.Color(0,0,255)); // pixels.setPixelColor(12, pixels.Color(0,0,255)); // pixels.setPixelColor(13, pixels.Color(0,0,255)); // pixels.setPixelColor(14, pixels.Color(0,0,255)); // pixels.setPixelColor(15, pixels.Color(0,0,255)); // pixels.setPixelColor(16, pixels.Color(0,0,255)); // pixels.setPixelColor(17, pixels.Color(0,0,255)); // pixels.setPixelColor(18, pixels.Color(0,0,255)); // pixels.setPixelColor(19, pixels.Color(0,0,255)); // pixels.setPixelColor(20, pixels.Color(0,0,255)); // pixels.setPixelColor(21, pixels.Color(0,0,255)); // pixels.setPixelColor(22, pixels.Color(0,0,255)); // pixels.setPixelColor(23, pixels.Color(0,0,255)); // pixels.setPixelColor(24, pixels.Color(0,0,255)); // pixels.setPixelColor(25, pixels.Color(0,0,255)); // pixels.setPixelColor(26, pixels.Color(0,0,255)); // pixels.setPixelColor(27, pixels.Color(0,0,255)); // pixels.setPixelColor(28, pixels.Color(0,0,255)); // pixels.setPixelColor(29, pixels.Color(0,0,255)); // pixels.setPixelColor(30, pixels.Color(0,0,255)); // pixels.setPixelColor(31, pixels.Color(0,0,255)); // pixels.setPixelColor(32, pixels.Color(0,0,255)); // pixels.setPixelColor(33, pixels.Color(0,0,255)); // pixels.setPixelColor(34, pixels.Color(0,0,255)); // pixels.setPixelColor(35, pixels.Color(0,0,255)); // pixels.setPixelColor(36, pixels.Color(0,0,255)); // pixels.setPixelColor(37, pixels.Color(0,0,255)); // pixels.setPixelColor(38, pixels.Color(0,0,255)); // pixels.setPixelColor(39, pixels.Color(0,0,255)); // pixels.setPixelColor(40, pixels.Color(0,0,255)); // pixels.setPixelColor(41, pixels.Color(0,0,255)); // pixels.setPixelColor(42, pixels.Color(0,0,255)); // pixels.setPixelColor(43, pixels.Color(0,0,255)); // pixels.setPixelColor(44, pixels.Color(0,0,255)); // pixels.setPixelColor(45, pixels.Color(0,0,255)); // pixels.setPixelColor(46, pixels.Color(0,0,255)); // pixels.setPixelColor(47, pixels.Color(0,0,255)); // pixels.setPixelColor(48, pixels.Color(0,0,255)); // pixels.setPixelColor(49, pixels.Color(0,0,255)); // pixels.setPixelColor(50, pixels.Color(0,0,255)); //

// Dit laat de ledjes branden

pixels.show(); } }