Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Servo.h>
- Servo firstServo;
- int pot1Pin = A0;
- int pos = 0;
- int angle = 0;
- int pot1value = 0; // This is the 10bit positive
- int led[] = {10,11,2,13};
- void setup(){
- firstServo.attach(9);
- pinMode(pot1Pin, INPUT);
- for(int i=0; i < 4; i++){
- pinMode(led[i], OUTPUT);
- }
- Serial.begin(9600);
- }
- void loop(){
- pot1value = analogRead(A0);
- pos = potToServo(pot1value);
- angle = potToDegrees(pot1value);
- firstServo.write(pos);
- Serial.println(angle);
- Serial.println(pot1value);
- if(angle >= 0 && angle < 15){
- digitalWrite(led[0], HIGH);
- digitalWrite(led[1], LOW);
- digitalWrite(led[2], LOW);
- digitalWrite(led[3], LOW);
- }
- if(angle >= 15 && angle < 30){
- digitalWrite(led[0], LOW);
- digitalWrite(led[1], HIGH);
- digitalWrite(led[2], LOW);
- digitalWrite(led[3], LOW);
- }
- if(angle >= 30 && angle < 45){
- digitalWrite(led[0], LOW);
- digitalWrite(led[1], LOW);
- digitalWrite(led[2], HIGH);
- digitalWrite(led[3], LOW);
- }
- if(angle >= 45 && angle < 60){
- digitalWrite(led[0], LOW);
- digitalWrite(led[1], LOW);
- digitalWrite(led[2], LOW);
- digitalWrite(led[3], HIGH);
- }
- }
- int potToServo(int potvalue){
- potvalue = round(potvalue * 0.24926686);
- return potvalue;
- }
- int potToDegrees(int potvalue){
- int output = 0;
- output = round(potvalue * 0.058651026);
- return output;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement