Practical Assesment 2 Q - Nabil
Practical Assesment 2 Q - Nabil
PRACTICAL ASSESSMENT 2
DFV20153
CODE & COURSE MICROCONTROLLER AND SHEET NO A2 (1)
EMBEDDED SYSTEM
CLASS SHIBUYA
Page 1 of 3
DPP C2(e)-1
Page 2 of 3
DPP C2(e)-1
D. Submission
Rename the project in TinkerCAD as “Practical Assessment 2”
Copy the programming code in word.
Illustrate a functional flow chart for the programming, simplify each
blinking pattern as 1 block pattern only.
Programming code and block diagram must be submitted through
Microsoft Teams Assignment.
Page 3 of 3
DPP C2(e)-1
Appendix
ATMEL ATmega 2560 100-pins layout:
Page 4 of 3
DPP C2(e)-1
Page 5 of 3
DPP C2(e)-1
Page 6 of 3
DPP C2(e)-1
Page 7 of 3
DPP C2(e)-1
int LEDarray[]={7,8,9,10,11,12,13};
int i=0,flag=0,LEDtotal=7;
int SW01,SW02,SW03;
void setup() {
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);
pinMode(11,OUTPUT);
pinMode(12,OUTPUT);
pinMode(13,OUTPUT);
pinMode(2,INPUT_PULLUP);
pinMode(3,INPUT_PULLUP);
pinMode(4,INPUT_PULLUP);
}
void loop(){
SW01=digitalRead(2);
SW02=digitalRead(3);
SW03=digitalRead(4);
if(SW01==LOW){
flag=flag+1;
delay(1000);
}
else if(SW02==LOW){
flag=flag-1;
}
else if(SW03==LOW){
flag=0;
}
if(flag==+1)
{
for(i=0;i<LEDtotal;i++){
digitalWrite(LEDarray[i], HIGH);
delay(500);
digitalWrite(LEDarray[i], LOW);
delay(300);
}
}
else if(flag==-1){
for(i=LEDtotal-1;i>=0;i--){
digitalWrite(LEDarray[i], HIGH);
delay(500);
digitalWrite(LEDarray[i], LOW);
delay(300);
}
}
else if(flag==2){
for(i=LEDtotal-1;i>=0;i--){
digitalWrite(LEDarray[i], HIGH);
delay(500);
}
}
Page 8 of 3
DPP C2(e)-1
else if(flag==3){
for(i=LEDtotal-1;i>=0;i--){
digitalWrite(LEDarray[i], LOW);
delay(500);
}
}
else{
digitalWrite(7,LOW);
digitalWrite(8,LOW);
digitalWrite(9,LOW);
digitalWrite(10,LOW);
digitalWrite(11,LOW);
digitalWrite(12,LOW);
digitalWrite(13,HIGH);
}
}
Page 9 of 3
DPP C2(e)-1
Start
LEDarray={7,8,9,10,11,12,13}
i=0,flag=0,LEDtotal=7
SW01,SW02,SW03
yes
flag=flag+1;
SW01==LOW
delay(1000);
no
yes
flag=flag-1
SW02==LOW
no
yes
flag=0
SW03==LOW
no
flag==+1
Page 10 of
3
DPP C2(e)-1
no
flag== -1
digitalWrite(LEDarray[i], HIGH);
delay(500);
i=LEDtotal-1;i>=0;i--
digitalWrite(LEDarray[i], LOW);
delay(300);
no
flag==2
digitalWrite(LEDarray[i], HIGH);
delay(500);
i=LEDtotal-1;i>=0;i--
no
flag==3
digitalWrite(LEDarray[i], LOW);
i=LEDtotal-1;i>=0;i-- delay(500);
no
else
Page 11 of
3
DPP C2(e)-1
digitalWrite(7,LOW);
digitalWrite(8,LOW);
digitalWrite(9,LOW);
digitalWrite(10,LOW);
digitalWrite(11,LOW);
digitalWrite(12,LOW);
digitalWrite(13,HIGH);
Page 12 of
3