Hello everyone.
I just started learning Arduino using the Starter Kit 6 days ago.
I'm currently at Project 05 "Mood Cue."
For those not familiar with this project, it's basically a Potentiometer moving a servo motor 180 degrees.
Yes this project has no LEDs in it, but I decided to "upgrade" this project by adding 5 LEDs and let them light up as the angle from the Potentiometer increases.
I added the LEDs to test my understanding, and I'm glad to say that the added program code worked!
However, it seems that the LEDs don't receive enough power for them to light up at full brightness.
In the circuit, I have :
-Servo Motor
-100uF Capacitor x2
-LED x5
-220ohm resistor x5
-Potentiometer.
I powered it using USB.
So how do I add more power?
Thanks in advance!
Code
#include <Servo.h>
Servo myServo;
int const potPin = A0;
int potVal;
int angle;
void setup() {
myServo.attach(9);
Serial.begin(9600);
for(int pinNumber = 2; pinNumber<7; pinNumber++){
pinMode(pinNumber, OUTPUT);
digitalWrite(pinNumber, LOW);
}
}
void loop() {
potVal = analogRead(potPin);
Serial.print("potVAL: ");
Serial.print(potVal);
angle = map(potVal, 0, 1023, 0, 179);
Serial.print(", angle: ");
Serial.println(angle);
myServo.write(angle);
delay(1);
if(angle < 30){
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
}else if(angle >= 30 && angle < 60){
digitalWrite(2, HIGH);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
}else if(angle >= 60 && angle < 90){
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
}else if(angle >= 90 && angle < 120){
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
}else if(angle >= 120 && angle < 150){
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, LOW);
}else if(angle >= 150 && angle < 180){
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
}
}