int red;
int green;
int blue;
void setup() {
// put your setup code here, to run once:
pinMode(5,OUTPUT);
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
Serial.begin(9600);
Serial.println("Hey! Please type in any Hexadecimal number");
}
void loop() {
// put your main code here, to run repeatedly:
if(Serial.available()!=0){
convertHexDec(); }
}
void convertHexDec(){
String textInput = Serial.readString();
textInput.trim();
int goHigher = 0;
Serial.print(textInput);
Serial.print(" to Decimal: (");
for(int i=0;i<3;i++){
int currentInt = 0;
char current = textInput.charAt(0+goHigher);
switch(current){
case '0': currentInt = currentInt + (0 * 16); break;
case '1': currentInt = currentInt + (1 * 16); break;
case '2': currentInt = currentInt + (2 * 16); break;
case '3': currentInt = currentInt + (3 * 16); break;
case '4': currentInt = currentInt + (4 * 16); break;
case '5': currentInt = currentInt + (5 * 16); break;
case '6': currentInt = currentInt + (6 * 16); break;
case '7': currentInt = currentInt + (7 * 16); break;
case '8': currentInt = currentInt + (8 * 16); break;
case '9': currentInt = currentInt + (9 * 16); break;
case 'A': currentInt = currentInt + (10 * 16); break;
case 'a': currentInt = currentInt + (10 * 16); break;
case 'B': currentInt = currentInt + (11 * 16); break;
case 'b': currentInt = currentInt + (11 * 16); break;
case 'C': currentInt = currentInt + (12 * 16); break;
case 'c': currentInt = currentInt + (12 * 16); break;
case 'D': currentInt = currentInt + (13 * 16); break;
case 'd': currentInt = currentInt + (13 * 16); break;
case 'E': currentInt = currentInt + (14 * 16); break;
case 'e': currentInt = currentInt + (14 * 16); break;
case 'F': currentInt = currentInt + (15 * 16); break;
case 'f': currentInt = currentInt + (15 * 16); break; }
current = textInput.charAt(1+goHigher);
switch(current){
case '0': currentInt = currentInt + 0; break;
case '1': currentInt = currentInt + 1; break;
case '2': currentInt = currentInt + 2; break;
case '3': currentInt = currentInt + 3; break;
case '4': currentInt = currentInt + 4; break;
case '5': currentInt = currentInt + 5; break;
case '6': currentInt = currentInt + 6; break;
case '7': currentInt = currentInt + 7; break;
case '8': currentInt = currentInt + 8; break;
case '9': currentInt = currentInt + 9; break;
case 'A': currentInt = currentInt + 10; break;
case 'a': currentInt = currentInt + 10; break;
case 'B': currentInt = currentInt + 11; break;
case 'b': currentInt = currentInt + 11; break;
case 'C': currentInt = currentInt + 12; break;
case 'c': currentInt = currentInt + 12; break;
case 'D': currentInt = currentInt + 13; break;
case 'd': currentInt = currentInt + 13; break;
case 'E': currentInt = currentInt + 14; break;
case 'e': currentInt = currentInt + 14; break;
case 'F': currentInt = currentInt + 15; break;
case 'f': currentInt = currentInt + 15; break; }
if(goHigher==0){red=currentInt;Serial.print(red);Serial.print("/");}
else if(goHigher==2){green=currentInt;Serial.print(green);Serial.print("/");}
else if(goHigher==4){blue=currentInt;Serial.print(blue);Serial.print(")");}
goHigher = goHigher + 2; }
analogWrite(3,red);
analogWrite(5,green);
analogWrite(6,blue);
Serial.println("");
Serial.end();
Serial.begin(9600);
}