GROUP Shadowwall

The Idea

Our Programme Coordinator wanted a device which would be interactive with the students. We came up with the idea to make a ‘Shadowwall’. Basically its a large LED-panel divided up in smaller squares. In each square an infra-red sensor is mounted. When a sensor is activated, the square is lit up.

Specifications

One panel is:

  • 80x80cm
  • Divided up in 144 little squares with 4 LED’s each.
  • Modulair, you can connect multiple panels.

Functionalities

The panel has multiple built in functionalities, or so called ‘modes’. One of them is being able to draw, with a white reflective surface as a pencil, you can hover infront of a square and it lits up. And with 144 squares at your disposal it possible to draw. When you are bored and dont want to draw anymore there is the option to play a game, Whack-A-Mole. Activating the sensor whith the lit up square as fast as possible. When no one is around to play or to draw there is a rainbow mode, this mode fades across the colors of the rainbow resulting in a relaxing scene.

Shadowwall

Components

For this idea to work we needed the following components for 1 panel.

Hardware

  • 3 Arduino Mega’s
  • 576 Led’s
  • 144 IR-sensors
  • Raspberry Pi (3B)
  • 1 Arduino Uno, it controls the potentiometers so the user can choose the color.

If you want to make another panel, you only need the Mega’s, LED’s and IR-sensors. The Raspberry Pi is the main controller, it controlls the ledstrip.

Working of the panel

Every microcontroller is connected with eachother through I2C, with the Raspberry Pi as the master. When a sensor is activated the slave (Arduino Mega) sends the id of the activated sensor to the master, the master then calculates the LED’s which have to be lit up.

The user is able to control the panel through a little ‘control-box’, it lets the user choose the mode and the color.

GROUP Bank

About the project

In this project we built a simulation of a bank. Including the following features:

  • A Grapical User Interface.
  • An Arduino communication of serial with the GUI.
    • A keypad and a RFID-reader are connected to the Arduino
  • Money dispenser
  • Every member of the group is able to withdraw money from every ATM in the group.
  • A database with all the clients. (Group members)
  • An API communicating with the client and database.
  • Other groups were able to withdraw from our ATM.

PERSONAL Raytracer

Features

  • Multiple reflections
  • Phong shading
  • Multiple objects
    • Cube, consisting of rectangles
    • Sphere
    • Plane
  • Multiple lightsources
  • Json scenereader

Scenereader

Objects are added to the scene. The same goes for lights. It is also possible to adjust the camera position and the image size.

    "object":{
        "spheres":{
            "s1":{"radius": 1, "position":[-7, 4, -4], "color":[1, 0, 1], "surface":1},
            "s2":{"radius": 1, "position":[3, 4, 2], "color":[0, 1, 0], "surface":0},
            "s3":{"radius": 1, "position":[-3, 3, 2], "color":[0.2, 1, 1], "surface":1},
            "s4":{"radius": 1, "position":[-2, 3, 2], "color":[1, 0, 0], "surface":1}
        },
        "planes":{
            "p1":{
                "position":[0, 1, 0], "color":[0.7, 0.7, 0.7], "surface": 0
            }
        },
        "cubes":{
            "c1":{ 
                "size": 3, "position":[1, 0, 0], "color":[0.6, 0, 1], "surface": 0
            }
        }
    }
}

Raytracer

Optimizations

  • The shading on the cube doesn’t work very well with multiple lightsources.

  • Adding anti-aliasing, which would result in smoother images.
  • Implement multithreading, the image would be rendered much faster.