LED'S Blink Using Arduino Nano Beginners Project

 



Code:-

// 10 LED Pattern Display - Arduino Nano
// Uses pins 4-13

int ledPins[] = {4, 5, 6, 7, 8, 9, 10, 11, 12, 13};
int numLeds = 10;

void setup() {
  // Initialize all LED pins as outputs
  for (int i = 0; i < numLeds; i++) {
    pinMode(ledPins[i], OUTPUT);
  }
  
  // Quick startup test - all LEDs blink once
  allLedsOn();
  delay(500);
  allLedsOff();
  delay(500);
}

void loop() {
  // Pattern 1: Running Light (Left to Right)
  runningLight(100);
  
  // Pattern 2: Running Light (Right to Left)
  runningLightReverse(100);
  
  // Pattern 3: Center Out
  centerOut(150);
  
  // Pattern 4: Center In
  centerIn(150);
  
  // Pattern 5: Random Blink
  randomBlink(50, 200);
  
  // Pattern 6: Wave Pattern
  wavePattern(80);
  
  // Pattern 7: Binary Counter
  binaryCounter(250);
  
  // Pattern 8: Knight Rider (Back and forth)
  knightRider(60);
  
  // Pattern 9: Alternating Pairs
  alternatingPairs(120);
  
  // Pattern 10: Spiral/Fill Pattern
  spiralFill(100);
}

// Pattern 1 & 2: Running Light
void runningLight(int delayTime) {
  for (int i = 0; i < numLeds; i++) {
    allLedsOff();
    digitalWrite(ledPins[i], HIGH);
    delay(delayTime);
  }
}

void runningLightReverse(int delayTime) {
  for (int i = numLeds - 1; i >= 0; i--) {
    allLedsOff();
    digitalWrite(ledPins[i], HIGH);
    delay(delayTime);
  }
}

// Pattern 3 & 4: Center Out/In
void centerOut(int delayTime) {
  for (int i = 0; i < numLeds / 2; i++) {
    allLedsOff();
    digitalWrite(ledPins[4 + i], HIGH);
    digitalWrite(ledPins[5 - i], HIGH);
    delay(delayTime);
  }
  allLedsOff();
}

void centerIn(int delayTime) {
  for (int i = numLeds / 2 - 1; i >= 0; i--) {
    allLedsOff();
    digitalWrite(ledPins[4 + i], HIGH);
    digitalWrite(ledPins[5 - i], HIGH);
    delay(delayTime);
  }
  allLedsOff();
}

// Pattern 5: Random Blink
void randomBlink(int numBlinks, int delayTime) {
  for (int i = 0; i < numBlinks; i++) {
    int randomLed = random(0, numLeds);
    allLedsOff();
    digitalWrite(ledPins[randomLed], HIGH);
    delay(delayTime);
  }
  allLedsOff();
}

// Pattern 6: Wave Pattern
void wavePattern(int delayTime) {
  for (int wave = 0; wave < 3; wave++) {
    for (int i = 0; i < numLeds; i++) {
      allLedsOff();
      for (int j = 0; j <= i; j++) {
        digitalWrite(ledPins[j], HIGH);
      }
      delay(delayTime);
    }
    allLedsOff();
  }
}

// Pattern 7: Binary Counter
void binaryCounter(int delayTime) {
  for (int counter = 0; counter < 1024; counter++) {
    for (int i = 0; i < numLeds; i++) {
      digitalWrite(ledPins[i], (counter >> i) & 1);
    }
    delay(delayTime);
  }
}

// Pattern 8: Knight Rider
void knightRider(int delayTime) {
  for (int i = 0; i < 5; i++) {
    // Forward
    for (int pos = 0; pos < numLeds; pos++) {
      allLedsOff();
      digitalWrite(ledPins[pos], HIGH);
      delay(delayTime);
    }
    // Backward
    for (int pos = numLeds - 2; pos >= 0; pos--) {
      allLedsOff();
      digitalWrite(ledPins[pos], HIGH);
      delay(delayTime);
    }
  }
  allLedsOff();
}

// Pattern 9: Alternating Pairs
void alternatingPairs(int delayTime) {
  for (int i = 0; i < 8; i++) {
    allLedsOff();
    // Turn on even positions
    for (int j = 0; j < numLeds; j += 2) {
      digitalWrite(ledPins[j], HIGH);
    }
    delay(delayTime);
    
    allLedsOff();
    // Turn on odd positions
    for (int j = 1; j < numLeds; j += 2) {
      digitalWrite(ledPins[j], HIGH);
    }
    delay(delayTime);
  }
}

// Pattern 10: Spiral Fill
void spiralFill(int delayTime) {
  int pattern[10][10] = {
    {1,0,0,0,0,0,0,0,0,0},
    {1,1,0,0,0,0,0,0,0,0},
    {1,1,1,0,0,0,0,0,0,0},
    {1,1,1,1,0,0,0,0,0,0},
    {1,1,1,1,1,1,0,0,0,0},
    {1,1,1,1,1,1,1,0,0,0},
    {1,1,1,1,1,1,1,1,0,0},
    {1,1,1,1,1,1,1,1,1,0},
    {1,1,1,1,1,1,1,1,1,1},
    {0,0,0,0,0,0,0,0,0,0}
  };
  
  for (int frame = 0; frame < 10; frame++) {
    allLedsOff();
    for (int i = 0; i < numLeds; i++) {
      if (pattern[frame][i]) {
        digitalWrite(ledPins[i], HIGH);
      }
    }
    delay(delayTime);
  }
  allLedsOff();
}

// Helper Functions
void allLedsOn() {
  for (int i = 0; i < numLeds; i++) {
    digitalWrite(ledPins[i], HIGH);
  }
}

void allLedsOff() {
  for (int i = 0; i < numLeds; i++) {
    digitalWrite(ledPins[i], LOW);
  }
}


My YouTube Channel 👇 



Thankyou For Watching...

Comments

Popular posts from this blog

EMO Robot Using Arduino Nano

Obstacle Avoiding Robot Car Arduino Project

RC Bluetooth Car

4 Best Science Projects For School Without Using Arduino

SENSOR TUTORIAL

ARDUINO TUTORIAL

BASIC SERVO MOTOR TEST

RAIN ALARM PROJECT

AUTOMATIC TOLL GATE PROJECT

Drone Tech | How To Make Mini Drone For Science Exhibition It Can Fly || Remote Control Drone