Introduction: City With Glowing Light

About: I love designing, 3d printing, computing, programming, and engineering.

For this contest, I decided to make a city with a glowing light in the background. I was using Arduino Uno.

Supplies

Supplies:

1 – Box (include the scenery inside)

1 – Arduino Uno Board

6 – Jumper Cable

2 – 220 Ω Resistors

2 – 10 kΩ Resistors

1 – Pushbutton

1 – Red LED

1 – Blue LED

1 – Breadboard

1 – USB Arduino Connector

Step 1: Making City's Skyline Using Python Matplotlib:

I made the box and the city. For graphing the city's towering building, I used a Python module called Matplotlib. Here I embed the code below for Python Matplotlib:

----------------------------------------------------------------------------------

from matplotlib import pyplot as plt

# Create histogram (representing city's skyline):

my_dpi = 200

fig = plt.figure(figsize=[800*11/8.5/my_dpi, 800/my_dpi], dpi=my_dpi)

num_bins = [0,9,10,19,20,29,30,39,40,47.5,50,59,60,66,67,76]

n, bins, rects = plt.hist([], num_bins, ec='k')

heights = [10, 3, 7, 3, 12, 3, 30, 3, 13, 3, 13, 3, 25, 3, 20, 3, 15, 3, 18]

for r in range(len(rects)):

rects[r].set_height(heights[r])

rects[r].set_color([0.86, 0.86, 0.76, 1])

plt.ylim(1,31)

plt.axis('off')

fig.savefig('City Skyline.jpg', dpi=my_dpi)

fig.show()

I will explain generally the code above.

First, I imported the Python library Matplotlib. Then, I created histogram that is representing city's skyline. I changed the rectangles' widths (bins) and heights as I desired.

Step 2: Building the Circuit:

Here is the schematic of the electronic circuit.

I built the circuit using Arduino Uno. I used 2 LEDs, which are

red and blue, 4 resistors, which are 2 of 220 Ω Resistors and 2 of 10 kΩ Resistors. I plugged all of electronic components in the breadboard and connected all them to the Arduino Pins. By using USB, I plugged the Arduino Board into my computer. Arduino Uno circuit board is also programmable. Here I embed the code below for Arduino programming:

----------------------------------------------------------------------------------

int buttonPin = 12; // the number of the push button pin

int led1Pin = 9; // the number of the LED pin

int led2Pin = 8; // the number of the LED pin

boolean isLighting = false; // define a variable to save the state of LED

void setup() {

pinMode(buttonPin, INPUT); // set push button pin into input mode

pinMode(led1Pin, OUTPUT); // set LED pin into output mode

pinMode(led2Pin, OUTPUT); // set LED pin into output mode

}

void loop() {

if (digitalRead(buttonPin) == LOW) { // if the button is pressed

delay(10); // delay for a certain time to skip the bounce

if (digitalRead(buttonPin) == LOW) { // confirm again if the button is pressed

reverseLED(); // reverse LED

while (digitalRead(buttonPin) == LOW); // wait for releasing

delay(10); // delay for a certain time to skip bounce when the button is released

}

}

}

void reverseLED() {

if (isLighting) { // if LED is lighting,

digitalWrite(led1Pin, HIGH); // switch on LED

digitalWrite(led2Pin, LOW); // switch off LED

isLighting = false; // store the state of LED

}

else { // if LED is off,

digitalWrite(led1Pin, LOW); // switch off LED

digitalWrite(led2Pin, HIGH); // switch on LED

isLighting = true; // store the state of LED

}

}

----------------------------------------------------------------------------------

Step 3: Implementation:

I tried my electric circuits. When my Arduino connects to my computer, this meant that there is a flow of electricity from my computer to my Arduino and electronic components. First, both of the lights were off. When I pushed the button, the red LED light bulb turned on. When I pushed the button again, the red LED light bulb turned on, and the blue LED light bulb went off. Pushing the button again, the blue LED light bulb switched on, the red LED light bulb turned off, and so on.

I hope you will like this project. Please kindly vote for me.