Untitled
unknown
plain_text
a year ago
3.5 kB
8
Indexable
#include <Arduino.h>
int ledpin = 25;
int POT = 26;
int FAN = 27;
int menu = 0;
int speed;
int x;
int display;
int vlt;
int cur;
int pwr;
int rpm;
void setup() {
Serial.begin(115200);
pinMode(POT, INPUT);
pinMode(FAN, OUTPUT);
pinMode(ledpin, OUTPUT);
delay(800);
digitalWrite(ledpin, HIGH);
Serial.println("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
Serial.println();
Serial.print("Initializing");
delay(500);
Serial.print(".");
delay(500);
Serial.print(".");
delay(500);
Serial.print(".");
delay(500);
Serial.print(".");
delay(500);
Serial.print(".");
delay(500);
Serial.println("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
digitalWrite(ledpin, LOW);
Serial.println("Press '0' to stop");
Serial.println("Press '1' to potentiometer mode");
Serial.println("Press '2' to computer mode");
}
void loop() {
if (Serial.available() > 0) {
menu = Serial.read();
if (menu == '1') {
digitalWrite(ledpin, LOW);
x = analogRead(POT);
speed = map(x, 0, 4096, 0, 255);
analogWrite(FAN, speed);
display = (speed * 100) / 255;
vlt = map(display, 0, 100, 0, 12);
cur = map(display, 0, 100, 0, 22);
pwr = map(display, 0, 100, 0, 150);
rpm = map(display, 0, 100, 0, 13000);
Serial.println("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
Serial.print("Percentage of fan speed (%) :");
Serial.print(display);
Serial.println();
Serial.print("Voltage (V):");
Serial.print(vlt);
Serial.println();
Serial.print("Current (mA) :");
Serial.print(cur);
Serial.println();
Serial.print("Power (mW) :");
Serial.print(pwr);
Serial.println();
Serial.print("Speed (rpm) :");
Serial.print(rpm);
Serial.println();
Serial.println("----------");
Serial.println("Press '1' again to read new values");
Serial.println("----------");
delay(400);
}
else if (menu == '0') {
digitalWrite(ledpin, HIGH);
Serial.println("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
Serial.println("----------");
Serial.println("Stopped!");
Serial.println("----------");
analogWrite(FAN, 0);
}
else if (menu == '2') {
digitalWrite(ledpin, LOW);
Serial.println("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
Serial.println("Enter fan speed (0 to 255):");
while (Serial.available() == 0) {}
speed = Serial.parseInt();
speed = constrain(speed, 0, 255);
analogWrite(FAN, speed);
display = (speed * 100) / 255;
vlt = map(display, 0, 100, 0, 12);
cur = map(display, 0, 100, 0, 22);
pwr = map(display, 0, 100, 0, 150);
rpm = map(display, 0, 100, 0, 13000);
Serial.print("Fan speed set to: ");
Serial.print(speed);
Serial.println();
Serial.print("Percentage of fan speed (%) :");
Serial.print(display);
Serial.println();
Serial.print("Voltage (V):");
Serial.print(vlt);
Serial.println();
Serial.print("Current (mA) :");
Serial.print(cur);
Serial.println();
Serial.print("Power (mW) :");
Serial.print(pwr);
Serial.println();
Serial.print("Speed (rpm) :");
Serial.print(rpm);
Serial.println();
Serial.println("----------");
Serial.println("Press '2' again to set a new speed");
Serial.println("----------");
}
}
}
Editor is loading...
Leave a Comment