#define D0_LED_PIN 2
#define D1_LED_PIN 4
#define D2_LED_PIN 5
#define D3_LED_PIN 18
#define D4_LED_PIN 19
#define D5_LED_PIN 21
#define D6_LED_PIN 22
#define D7_LED_PIN 23
#define NR_ECHIPA 7
unsigned char ledPin[8]= {D0_LED_PIN,
D1_LED_PIN,
D2_LED_PIN,
D3_LED_PIN,
D4_LED_PIN,
D5_LED_PIN,
D6_LED_PIN,
D7_LED_PIN};
void setup() {
// put your setup code here, to run once:
/*pinMode(D0_LED_PIN, OUTPUT);
pinMode(D1_LED_PIN, OUTPUT);
pinMode(D2_LED_PIN, OUTPUT);
pinMode(D3_LED_PIN, OUTPUT);
pinMode(D4_LED_PIN, OUTPUT);
pinMode(D5_LED_PIN, OUTPUT);
pinMode(D6_LED_PIN, OUTPUT);
pinMode(D7_LED_PIN, OUTPUT);*/
for(int i=0;i<8;i++) pinMode(ledPin[i], OUTPUT);
Serial.begin(115200);
}
/*void WriteLedBar (unsigned char code){
unsigned char d0 = code & 0x01;
unsigned char d1 = (code & 0x02) >> 1;
unsigned char d2 = (code & 0x04) >> 2;
unsigned char d3 = (code & 0x08) >> 3;
unsigned char d4 = (code & 0x10) >> 4;
unsigned char d5 = (code & 0x20) >> 5;
unsigned char d6 = (code & 0x40) >> 6;
unsigned char d7 = (code & 0x80) >> 7;
digitalWrite(D0_LED_PIN, d0);
digitalWrite(D1_LED_PIN, d1);
digitalWrite(D2_LED_PIN, d2);
digitalWrite(D3_LED_PIN, d3);
digitalWrite(D4_LED_PIN, d4);
digitalWrite(D5_LED_PIN, d5);
digitalWrite(D6_LED_PIN, d6);
digitalWrite(D7_LED_PIN, d7);
}*/
void WriteLedBar2 (unsigned char code){
unsigned char mask=0x01;
unsigned char shift=0x00;
unsigned char ledState;
for(int i=0;i<8;i++){
ledState = (code & mask) >> shift;
digitalWrite(ledPin[i], ledState);
mask = mask << 1;
shift++;
}
}
void loop() {
// put your main code here, to run repeatedly:
unsigned char bargraph;
bargraph = 2*NR_ECHIPA + 1;
Serial.print("Afiseaza cod membru echipa:");
Serial.println(bargraph);
WriteLedBar2(bargraph);
delay(3000); // wait 3 seconds
bargraph = 0x80;
/*
while(1){
WriteLedBar2(bargraph);
Serial.print("Afiseaza cod:");
Serial.println(bargraph);
delay(1000); // wait 1 second
bargraph = bargraph >> 1;
if(bargraph == 0) bargraph = 0x80;
}
*/
//
while(1){
do{
WriteLedBar2(bargraph);
Serial.print("Afiseaza cod1:");
Serial.println(bargraph);
delay(1000); // wait 1 second
bargraph = bargraph >> 1;
}while(bargraph != 0x01);
do{
WriteLedBar2(bargraph);
Serial.print("Afiseaza cod2:");
Serial.println(bargraph);
delay(1000); // wait 1 second
bargraph = bargraph << 1;
}while(bargraph != 0x80);
}
//
}