Introduction: The Acrophobia Project

Hi guys, so this was a quite interesting project. In school, our class had to do a project called 'If This, Then That', in which we had to use an Arduino to make anything. We could literally choose anything to make, as long as we used an Arduino. It was also okay if your project failed, so I started an experiment.

I have had a fear of heights for as long as I can remember. It's not as bad as it was when I was younger, but I still do not like to look down when standing on top of a building. That's why I made 'acrophobia glasses', but the thing is, I don't know if it works. See, I basically used the principles of an infinite mirror, but instead of buying an RGB led strip, I bought an RGBW led strip and I don't know how to connect it to the Arduino.

If you want to do this little experiment yourself, let me show you how.

Warning! Please do not use this when you're epileptic. I can not stress this enough.

Step 1: Step 1: Get the Materials

So guys here's what you're going to need:

- Arduino Uno.

- A breadboard.

- A set of breadboard jumper wires.

- An RGB(W) led strip ( I recommend an RGB strip if you are just as inexperienced as me. They're are a lot of tutorials on how to connect one to an Arduino).

- Two Diving Masks (I can definitely recommend these because they are fairly easy to pull apart: ).

- Mirror Window Film.

- A cardboard cutter.

- Ducktape.

- Masking tape.

- Double sided tape

- Paint and a paintbrush.

- A spray bottle (you need it to fill it with water and spray it on the glass).

Step 2: Step 2: Modify the Glass

1. Take your diving masks and separate all of the items for each other

2. Get the glass from your diving masks and cut out some of the Mirror Window Film.

3. Spray your glass and film with water and place it carefully on top of each other.

4. Grab a hard piece of plastic and try to get out all of the bubbles of air.

5. Cut off the excess film.

Step 3: Step 3: Put Everything Back Into Place

1. Place your mirror glass in both your diving masks (make sure that only one has a plastic band).

2. Make sure everything is secure.

3. Place the Led strip with double sided tape ( it doesn't matter if the led strip is a little bit too long, we can hide it in a future step).

Step 4: Step 4: Finishing Touch

1. Use duck tape to connect the diving masks ( make sure the wires are on the outside).

2. Place masking tape on the places you want to paint.


Step 5: Step 5: Coding

Ah yes, the fun part. so this is my rainbow code, but if you want to experiment more by seeing if certain colors have more effect or anything else you'd like to try out, feel free to do so.

Note: I've used to see if it actually and it does so don't worry.

I've used ArduinoIDE and the neopixel library:

#define PIN 6

#define NUM_LEDS 24

Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LEDS, PIN, NEO_GRB + NEO_KHZ800);

void setup() {



void loop() {



void rainbowCycle(int SpeedDelay) {

byte *c;

uint16_t i, j;

for(j=0; j<256*5; j++) {

for(i=0; i< NUM_LEDS; i++) {

c=Wheel(((i * 256 / NUM_LEDS) + j) & 255);

setPixel(i, *c, *(c+1), *(c+2), *(c+3));






byte * Wheel(byte WheelPos) {

static byte c[4];

if(WheelPos < 85) {

c[0]=WheelPos * 3;

c[1]=255 - WheelPos * 3;



} else if(WheelPos < 170) {

WheelPos -= 85;

c[0]=255 - WheelPos * 3;


c[2]=WheelPos * 3;


} else {

WheelPos -= 170;


c[1]=WheelPos * 3;

c[2]=255 - WheelPos * 3;



return c;


void showStrip() {




void setPixel(int Pixel, byte red, byte green, byte blue, byte white) {


strip.setPixelColor(Pixel, strip.Color(red, green, blue, white));



void setAll(byte red, byte green, byte blue, byte white) {

for(int i = 0; i < NUM_LEDS; i++ ) {

setPixel(i, red, green, blue, white);




Step 6: That's It!

Hope you liked the instructable!

- Brechje