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
Post a Comment