Lab 6
Lab 6
Exc 1:
// C++ code
// toggle 2 LEDS
void setup()
{
pinMode(0, OUTPUT);
}
void loop()
{
digitalWrite(0, HIGH);
digitalWrite(1, LOW);
delay(2000); // Wait for 2000 millisecond(s)
digitalWrite(1, HIGH);
digitalWrite(0, LOW);
delay(2000); // Wait for 2000 millisecond(s)
}
Exc 2:
// toggle 8 LEDS
void setup(){
pinMode(1, OUTPUT);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
Lab 6 1
pinMode(8, OUTPUT);
}
void loop(){
Exc 3
int pinled[] = {0, 1, 2, 3, 4, 5, 6};
int led0[] = {0, -1};
int led1[] = {0, 1, 2, 4, 5, -1};
int led2[] = {1, 6, -1};
int led3[] = {1, 4, -1};
int led4[] = {2, 4, 5, -1};
int led5[] = {3, 4, -1};
int led6[] = {3, -1};
int led7[] = {0, 1, 4, 5, -1};
int led8[] = {-1};
int led9[] = {4, -1};
int* led[10] = {led0, led1, led2, led3, led4, led5, led6, led7,
void setup() {
Lab 6 2
for (int i = 0; i < 7; i++) {
pinMode(pinled[i], OUTPUT);
}
}
void clear() {
for (int i = 0; i < 7; i++) {
digitalWrite(pinled[i], LOW);
}
}
void displayNumber(int i) {
clear();
int* segment = led[i];
while (*segment != -1) {
digitalWrite(pinled[*segment], HIGH);
segment++;
}
}
void loop() {
for (int i = 0; i < 10; i++) {
displayNumber(i);
delay(1000);
}
}
Exc 4:
int pinled[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13};
int led0[] = {0, -1};
int led1[] = {0, 1, 2, 4, 5, -1};
int led2[] = {1, 6, -1};
Lab 6 3
int led3[] = {1, 4, -1};
int led4[] = {2, 4, 5, -1};
int led5[] = {3, 4, -1};
int led6[] = {3, -1};
int led7[] = {0, 1, 4, 5, -1};
int led8[] = {-1};
int led9[] = {4, -1};
int* led[10] = {led0, led1, led2, led3, led4, led5, led6, led7,
void setup() {
for (int i = 0; i < 14; i++) {
pinMode(pinled[i], OUTPUT);
}
}
void loop() {
bool stop = false;
for (int i=0; i<10 && !stop;i++) {
displayNumber(i, 0);
for (int j = 0; j < 10; j++) {
Lab 6 4
if (i==2&&j==1) {
stop = true;
break;
}
displayNumber(j, 1);
delay(1000);
}
}
}
Exc 5:
void setup(){
for (int i = 0; i < 14; i++) {
pinMode(i, OUTPUT);
}
}
void loop(){
digitalWrite(8, HIGH);
digitalWrite(10, LOW);
delay(5000);
digitalWrite(9, HIGH);
digitalWrite(8, LOW);
delay(2000);
digitalWrite(10, HIGH);
digitalWrite(9, LOW);
delay(3000);
}
Lab 6 5
Exc 6:
void setup(){
for (int i = 0; i < 14; i++) {
pinMode(i, OUTPUT);
}
}
void TL(int red[], int lred, int yellow[], int lyellow, int gree
for (int i=0; i<lred; i++) {
digitalWrite(red[i], HIGH);
}
for (int i=0; i<lgreen; i++) {
digitalWrite(green[i], LOW);
}
delay(5000);
for (int i=0; i<lyellow; i++) {
digitalWrite(yellow[i], HIGH);
}
for (int i=0; i<lred; i++) {
digitalWrite(red[i], LOW);
}
delay(2000);
for (int i=0; i<lgreen; i++) {
digitalWrite(green[i], HIGH);
}
for (int i=0; i<lyellow; i++) {
digitalWrite(yellow[i], LOW);
}
delay(3000);
}
void loop(){
int red[] = {8, 11};
int yellow[] = {9, 12};
int green[] = {10, 13};
Lab 6 6
TL(red, 2, yellow, 2, green, 2);
}
Exc 7:
int pinled[] = {0, 1, 2, 3, 4, 5, 6};
int led0[] = {0, -1};
int led1[] = {0, 1, 2, 4, 5, -1};
int led2[] = {1, 6, -1};
int led3[] = {1, 4, -1};
int led4[] = {2, 4, 5, -1};
int led5[] = {3, 4, -1};
int led6[] = {3, -1};
int led7[] = {0, 1, 4, 5, -1};
int led8[] = {-1};
int led9[] = {4, -1};
int* led[10] = {led0, led1, led2, led3, led4, led5, led6, led7,
void setup() {
for (int i = 0; i < 14; i++) {
pinMode(i, OUTPUT);
}
}
void clear() {
for (int i = 0; i < 7; i++) {
digitalWrite(pinled[i], LOW);
}
}
void displayNumber(int i) {
clear();
int* segment = led[i];
Lab 6 7
while (*segment != -1) {
digitalWrite(pinled[*segment], HIGH);
segment++;
}
}
void countdown(int n) {
for (int i=n; i>0;i--) {
displayNumber(i);
delay(1000);
}
}
void TL(int red[], int lred, int yellow[], int lyellow, int gree
for (int i=0; i<lred; i++) {
digitalWrite(red[i], HIGH);
}
for (int i=0; i<lgreen; i++) {
digitalWrite(green[i], LOW);
}
countdown(5);
for (int i=0; i<lyellow; i++) {
digitalWrite(yellow[i], HIGH);
}
for (int i=0; i<lred; i++) {
digitalWrite(red[i], LOW);
}
countdown(2);
for (int i=0; i<lgreen; i++) {
digitalWrite(green[i], HIGH);
}
for (int i=0; i<lyellow; i++) {
digitalWrite(yellow[i], LOW);
}
countdown(3);
}
Lab 6 8
void loop(){
int red[] = {8, 11};
int yellow[] = {9, 12};
int green[] = {10, 13};
TL(red, 2, yellow, 2, green, 2);
}
Exc 8
int second = 0;
int minute = 0;
int hour = 0;
void setup()
{
for(int i = 0; i < 12; i++){
pinMode(i, OUTPUT);
}
}
Lab 6 9
void loop()
{
Exc 9
void loop()
{
for(second = 0; second < 60; second++){
int ind = second/5;
if (ind==0) {
ind = 12;
}
clearClock();
displayOnClock(ind);
delay(1000);
}
}
Exc 10
int second = 0;
int minute = 0;
int hour = 0;
void setup() {
Lab 6 10
for (int i = 0; i < 12; i++) {
pinMode(i, OUTPUT); // Initialize all 12 pins as OUTPUT
}
}
Lab 6 11
}
}
void loop() {
for (second = 0; second < 60; second++) {
clearClock(); // Clear the LEDs at the start of each second
if (minute == 60) {
minute = 0; // Reset minutes
hour++; // Increment hours
if (hour == 24) {
hour = 0; // Reset hours after 24 hours
}
}
}
Lab 6 12
}
}
Lab 6 13