Presentation slides used during the outreach program with Si Ling Secondary School. Look through the slides to get a better idea of what are covering during the lesson itself and what to expect from the lesson. The LED Cube can be programmed with simple instructions from Arduino, easily understood because its syntax is similar to that of English. Join us for an amazing class on electronics and we are sure it will change your mind about electronics engineering after which. Find out more, drop us an email at ong_siok_bie@ite.edu.sg
Proudly presented by ITE College West EC Department
3. Making of
VIDEO
FOR MORE VIDEOS: VISIT WWW.INSTRUCTABLES.COM
4. PARTS USED
RESISTORS
(limit current flow in the circuit)
LEDs
(Light Emitting Diode)
TRANSISTORS
(serves as a switch)
5. 0V 5V
220 220
+ +
LED ( LED light up)
OFF
- -
C C
22 K 22 K
B OFF B Transistor
0V 5V
ON
E E
transistor
When the transistor is OFF, When the transistor is ON,
LED turns OFF LED turns ON
6. LED 1 LED 2 LED 3 LED 4 LED 5 LED 6 LED 7 LED 8 LED 9
5V 5V 5V
220 220 220 220 220 220 220 220 220
+
ON ON ON
-
Level 1 C
22 K
B Common Cathode ( negative terminal)
5V Transistor
E
ON
9. Apply 5V (logic high) at terminal LED1
Apply 3.3V (logic high) at terminal Level 1 (LVL 1)
Connect a jumper wire between two GND terminal
5V
3.3V
10. The Arduino board is a small micro-controller
board, which is a small circuit that contains a
whole computer on a small chip (Atmega 328),
the heart of the board.
Built in LED
connected to
pin13
Atmega 328
11. The Arduino board consists of the following I/O ports:
14 digital IO pins (pins 0–13/ logic ‘High’- 5V, ‘Low’– 0V)
6 analogue In pins (pins 0–5)
6 analogue Out pins (pins 3, 5, 6, 9, 10, and 11)
12. Arduino software is free, Open source
programming plateform.
Source code for Arduino is called a sketch.
15. Verify
Upload to I/O board
Core
program
Your sketch goes here
16. Arduino expects two functions to exist
—one called setup() and one called loop().
setup() {
pinMode (13, Output) - assign pin 13 as Output
}
loop() contains the core of your program.
digitalWrite (13, High) - turn on the built in LED connected to pin13
delay (1000) - wait for a secoond
digitalWrite (13, LOW) - turn off the LED
delay (1000) - wait for a second.
18. const int LED1 = 1; // connect LED 1 to pin 1
const int L1= 10; // connect Level 1 to pin 10
void setup()
{ pinMode (LED1, OUTPUT); // declare LED1 as an OUTPUT
pinMode (L1, OUTPUT); // declare Level 1 as an OUTPUT
}
void loop()
{
digitalWrite (L1, HIGH); // turn on Level 1 transistor
digitalWrite (LED1, HIGH); // turn on LED1
delay (200); // delay for 200ms
digitalWrite (LED1, LOW); // turn off LED1
delay(100); // delay for 100ms
}
19. const int LED1 = 1; // connect LED 1 to pin 1
const int LED2 = 2; // connect LED 2 to pin 2
const int LED3 = 3; // connect LED 1 to pin 3
const int L1= 10; // connect Level 1 to pin 10
void setup()
{ pinMode (LED1, OUTPUT); // declare LED1 as an OUTPUT
pinMode (LED2, OUTPUT); // declare LED2 as an OUTPUT
pinMode (LED3, OUTPUT); // declare LED3 as an OUTPUT
pinMode (L1, OUTPUT); // declare Level 1 as an OUTPUT
}
void loop()
{
digitalWrite (L1, HIGH); // turn on Level 1 transistor
digitalWrite (LED1, HIGH); // turn on LED1
delay (200); // delay for 200ms
digitalWrite (LED1, LOW); // turn off LED1
delay(100); // delay for 100ms
-----------
----------
To be continued
}
20. The for statement lets us do things over and over again, for a
specified number of repetitions.
The integer i is used to set the number of times that the loop will
execute, running all the code inside the code block.
In the for loop, as long as i is less than 10, it will continue looping,
and each time the for loop is passed, i is incremented by 1.
21. Example:
int i ; // declare i as an integer
for(i = 0; i<5; i++) { Execute Print
print(i); function when i
is 0 to 4
}
Or
for (int i=0; i<5; i++) {
Print(i);
}
22. void loop()
{ Specify 3 loops that
for (int i = 0; i < 3; i ++) core program will
{ execute
digitalWrite ( L1, HIGH );
digitalWrite ( LED1, HIGH );
delay (200);
digitalWrite ( LED1, LOW) ; Core program:
delay (100);
digitalWrite (LED2, HIGH ); LED 1, 2, 3 will turn
delay (200); ON & OFF in
digitalWrite ( LED2, LOW ); sequence
delay (100);
digitalWrite ( LED3, HIGH );
delay (200);
digitalWrite ( LED3, LOW );
delay (100);
}
Turn off all LEDs for
digitalWrite ( L1, LOW);
1 sec
delay (1000 ) ;
}
23. An array contains one or more variables in a list.
The array shown below is an array that holds three integer
values: 1,2,3
24. Number of
variables
int LevelPin [3] = { 10, 11, 12 };
Type of array
Name of List of variables
content
the array
i.e LevelPin [0] = 10
LevelPin [1] = 11
LevelPin [2] = 12
25. Another great use of the for loop is to go through an array
and look at each item in the array:
for ( int level=0; level <3; level++)
{ pinMode (LevelPin[level], OUTPUT ); }
Each time the loop executes, level will be incremented using
the next integer in the Array[ ]
pinMode (LevelPin[0], OUTPUT );
pinMode (LevelPin[1], OUTPUT );
pinMode (LevelPin[2], OUTPUT );
Next, how do we turn on LED 2 ? And how to turn on LED at level 2 ?
It contains everything needed to support the microcontroller ; simply connect it to a computer via USB cable or external supply ( 7– 12V). Digital input pins sense the presence and absence of voltage on a pin( High – 5V, LOW - 0V). Analog input pins measure a range of voltages on a pin.
Change delay time from 1000 ms to 100 ms, observe the difference.