KEMBAR78
Codes | PDF | Computer Engineering | Computer Programming
0% found this document useful (0 votes)
11 views6 pages

Codes

The document contains multiple Arduino code examples for controlling LEDs and displaying patterns. It includes a code for incrementing and decrementing numbers on a serial monitor, fading two LEDs using PWM, managing a 12-LED display with various patterns, and selecting patterns based on potentiometer voltage levels. Each section provides specific functions and delays to achieve the desired visual effects.

Uploaded by

Ning Minjeong
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views6 pages

Codes

The document contains multiple Arduino code examples for controlling LEDs and displaying patterns. It includes a code for incrementing and decrementing numbers on a serial monitor, fading two LEDs using PWM, managing a 12-LED display with various patterns, and selecting patterns based on potentiometer voltage levels. Each section provides specific functions and delays to achieve the desired visual effects.

Uploaded by

Ning Minjeong
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 6

Code 1: Serial Monitor Increment and Decrement

This uses a loop to display numbers from 1 to 10 and then from 10 to 1 on


the serial monitor with a delay of 0.5 seconds.
void setup() {
Serial.begin(9600);
}

void loop() {
// Increment from 1 to 10
for (int i = 1; i <= 10; i++) {
Serial.println(i);5
delay(500); // 0.5 second delay
}

// Decrement from 10 to 1
for (int i = 10; i >= 1; i--) {
Serial.println(i);
delay(500); // 0.5 second delay
}
}

Circuit and Code 2: Fading LEDs Using PWM


This fades two LEDs in opposite directions using PWM pins.
const int led1 = 9; // First LED connected to PWM pin 9
const int led2 = 10; // Second LED connected to PWM pin 10

void setup() {
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
}
void loop() {
// Fade in and out
for (int brightness = 0; brightness <= 255; brightness++) {
analogWrite(led1, brightness);
analogWrite(led2, 255 - brightness); // Opposite fade
delay(10); // Adjust for smoothness
}

for (int brightness = 255; brightness >= 0; brightness--) {


analogWrite(led1, brightness);
analogWrite(led2, 255 - brightness); // Opposite fade
delay(10); // Adjust for smoothness
}
}

Circuit and Code 3: 12 LED Display with Different Patterns


This handles a 12-LED display with various patterns. You’ll need to adjust
LED pins as per your setup.
const int leds[] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}; // LED pins
const int numLeds = 12;

void setup() {
for (int i = 0; i < numLeds; i++) {
pinMode(leds[i], OUTPUT);
}
}

void loop() {
pattern0();
pattern1();
pattern2();
pattern3();
pattern4();
pattern5();
}

void pattern0() { // Pattern 0: LED 1 to 12 sequentially


for (int i = 0; i < numLeds; i++) {
digitalWrite(leds[i], HIGH);
delay(100); // Adjust delay as needed
digitalWrite(leds[i], LOW);
}
}

void pattern1() { // Pattern 1: One by one and reverse


for (int i = 0; i < numLeds; i++) {
digitalWrite(leds[i], HIGH);
delay(100);
digitalWrite(leds[i], LOW);
}
for (int i = numLeds - 1; i >= 0; i--) {
digitalWrite(leds[i], HIGH);
delay(100);
digitalWrite(leds[i], LOW);
}
}

void pattern2() { // Pattern 2: Blink all LEDs at once


for (int i = 0; i < 3; i++) {
for (int j = 0; j < numLeds; j++) {
digitalWrite(leds[j], HIGH);
}
delay(300);
for (int j = 0; j < numLeds; j++) {
digitalWrite(leds[j], LOW);
}
delay(300);
}
}

void pattern3() { // Pattern 3: Alternate LEDs


for (int i = 0; i < numLeds; i += 2) {
digitalWrite(leds[i], HIGH);
}
delay(300);
for (int i = 1; i < numLeds; i += 2) {
digitalWrite(leds[i], HIGH);
}
delay(300);
for (int i = 0; i < numLeds; i++) {
digitalWrite(leds[i], LOW);
}
}

void pattern4() { // Pattern 4: One at a time


for (int i = 0; i < numLeds; i++) {
digitalWrite(leds[i], HIGH);
delay(300);
digitalWrite(leds[i], LOW);
}
}

void pattern5() { // Pattern 5: Meet at the center


int mid = numLeds / 2;
for (int i = 0; i < mid; i++) {
digitalWrite(leds[i], HIGH);
digitalWrite(leds[numLeds - 1 - i], HIGH);
delay(300);
digitalWrite(leds[i], LOW);
digitalWrite(leds[numLeds - 1 - i], LOW);
}
}

Circuit and Code 4: Potentiometer-Based Pattern Selection


This uses a potentiometer to select between the above patterns based on
voltage levels.
const int potPin = A0; // Potentiometer connected to analog pin A0

void loop() {
int potValue = analogRead(potPin);
float voltage = potValue * (5.0 / 1023.0);

if (voltage < 1.0) {


pattern0();
Serial.println("Potentiometer voltage is " + String(voltage) + ", Pattern 0 is
running.");
} else if (voltage < 2.0) {
pattern1();
Serial.println("Potentiometer voltage is " + String(voltage) + ", Pattern 1 is
running.");
} else if (voltage < 3.0) {
pattern2();
Serial.println("Potentiometer voltage is " + String(voltage) + ", Pattern 2 is
running.");
} else if (voltage < 4.0) {
pattern3();
Serial.println("Potentiometer voltage is " + String(voltage) + ", Pattern 3 is
running.");
} else if (voltage < 5.0) {
pattern4();
Serial.println("Potentiometer voltage is " + String(voltage) + ", Pattern 4 is
running.");
} else {
pattern5();
Serial.println("Potentiometer voltage is " + String(voltage) + ", Pattern 5 is
running.");
}
delay(500); // Adjust delay as needed
}

You might also like