Interactive Graffiti Wall

by AlexanderMAM in Craft > Cardboard

175 Views, 2 Favorites, 0 Comments

Interactive Graffiti Wall

IMG_20210528_121737__01.jpg

I made an Interactive Graffiti Wall:

CONCEPT:

It resembles a character spraying my tag "SOUL" onto a wall and while he's doing that, he gets caught by a police car. Once the police car gets him, he immediately stops spraying and the lightbar of the police car starts too flicker. The police car also has a siren which can be activated by a pushing a button on the board.

HOW IT WORKS:

The arm of the character moves by using a Servomotor, which constantly moves at an angle of 0 - 30 degrees.

The police car can be moved manually and when he reaches a certain point, his lightbar starts to flicker. The carton of the police car holds a magnet and when it reaches that exact point, the magnet touches a HAL-sensor, which causes the LED-lights to flicker.

The motherboard also holds a pushbutton and when you push the button the buzzer on the board will make a noise which resembles a siren. (In the video I replaced the buzzer with a LED, because my buzzer was broken).

Supplies

- Arduino Uno and motherboard

- 2 LEDS

- A servomotor

- A button and a buzzer

- A HAL-sensor (and a magnet)

Photos and Videos From the Board.

IMG_20210528_112035.jpg
IMG_20210528_112042.jpg
IMG_20210528_112043.jpg
IMG_20210528_112050.jpg

Detailphotos and Videos

IMG_20210528_112748.jpg
IMG_20210528_112751.jpg

Disclaimer: the buzzer was replaced by a LED, because the buzzer was broken.

Arduino Sketch

#include

Servo servo;

const int servoPin = 6;

const int hallPin = 2;

int hallReading;

int buttonPin = 5;

void setup() {

// put your setup code here, to run once:

Serial.begin(9600);

pinMode(hallPin, INPUT);

pinMode(12, OUTPUT); //Left Red

pinMode(10, OUTPUT); //Right Red

pinMode(buttonPin, INPUT); //indrukknop

servo.attach(servoPin);

}

void loop() {

//hallReading = digitalRead(hallPin);

//Serial.println(hallReading);

Serial.print(digitalRead(buttonPin));

if (digitalRead(hallPin) == 0) { //als magneet detecteerd > rood en blauw led aan

redAndBlue();

}

if (digitalRead(buttonPin) == 1) {

sirene();

}

if (digitalRead(hallPin) == 1) {

servo.write (0);

delay(1000);

servo.write (30);

delay(1000);

}

}

void sirene (){

//on and off buzzer

Serial.print("Buzz, Buzz");

digitalWrite(4, HIGH);

delay(100);

digitalWrite(4, LOW);

delay(100);

}

void redAndBlue () {

//2 leds on and off lights

digitalWrite(12, HIGH);

delay(100);

digitalWrite(12, LOW);

delay(100);

//alternate

digitalWrite(10, HIGH);

delay(100);

digitalWrite(10, LOW);

delay(100);

}

Arduino TINKERCAD Simulation

Graff Wall.png