Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // include the library code:
- #include <LiquidCrystal.h>
- // initialize the library with the numbers of the interface pins
- LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
- byte incoming[5];
- byte index = 0;
- void setup() {
- Serial.begin(9600);
- lcd.begin(16, 2);
- pinMode(6 , OUTPUT);
- pinMode(9 , OUTPUT);
- pinMode(10 , OUTPUT);
- }
- void loop() {
- // Wait for byte
- if (Serial.available() > 0) {
- // If not last byte
- if (index !=4) {
- incoming[index] = Serial.read();
- index++;
- led();
- } else {
- // Last byte, check if FF
- byte last = Serial.read();
- if (last == 0xFF) {
- // Write to screen
- render();
- } // Else do nothing
- index = 0; // Reset index
- }
- }
- }
- void led(){
- if (incoming[1] <= 60){
- analogWrite(6, 0);
- analogWrite(9, 125);
- analogWrite(10, 0);
- }else if(incoming[1] > 60 && incoming[1] <80){
- analogWrite(6, 125);
- analogWrite(9, 125);
- analogWrite(10, 0);
- }else if(incoming[1] >= 80 && incoming[1] <85){
- analogWrite(6, 255);
- analogWrite(9, 0);
- analogWrite(10, 0);
- }else if(incoming[1] >= 85){
- analogWrite(6, 255);
- analogWrite(9, 0);
- analogWrite(10, 0);
- delay(150);
- analogWrite(6, 0);
- delay(150);
- analogWrite(6, 255);
- }
- }
- void render(){
- lcd.clear();
- lcd.home();
- lcd.print("CPU:");
- lcd.print(incoming[0], DEC);
- lcd.print("C");
- lcd.setCursor(9,0);
- lcd.print("Max:");
- lcd.print(incoming[1], DEC);
- lcd.print("C");
- lcd.setCursor(0, 1);
- lcd.print("GPU:");
- lcd.print(incoming[2], DEC);
- lcd.print("C");
- lcd.setCursor(9,1);
- lcd.print("RAM:");
- lcd.print(incoming[3], DEC);
- lcd.print("%");
- }
- void standby(){
- lcd.autoscroll();
- lcd.setCursor(16, 0);
- lcd.print("W");
- delay(500);
- lcd.print("a");
- delay(500);
- lcd.print("i");
- delay(500);
- lcd.print("t");
- delay(500);
- lcd.print("i");
- delay(500);
- lcd.print("n");
- delay(500);
- lcd.print("g");
- delay(500);
- lcd.print(" ");
- delay(500);
- lcd.print("f");
- delay(500);
- lcd.print("o");
- delay(500);
- lcd.print("r");
- delay(500);
- lcd.print(" ");
- delay(500);
- lcd.print("i");
- delay(500);
- lcd.print("n");
- delay(500);
- lcd.print("p");
- delay(500);
- lcd.print("u");
- delay(500);
- lcd.print("t");
- delay(500);
- lcd.print("~");
- lcd.noAutoscroll();
- delay(500);
- lcd.clear();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement