Advertisement
Guest User

Untitled

a guest
May 24th, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.97 KB | None | 0 0
  1. #include <SPI.h>
  2. #include <TFT.h>
  3.  
  4. #define cs 10
  5. #define dc 9
  6. #define rst 8
  7. #define sd_cs 7
  8.  
  9. TFT TFTscreen=TFT(cs, dc, rst);
  10.  
  11. float temp;
  12. float oldTemp=0;
  13. #define pinTemp 1
  14. char sensorPrintout[5];
  15.  
  16. #define Y 75 // alteza barra temperatura
  17.  
  18.  
  19. void setup() {
  20.   pinMode(A1,INPUT);
  21.   TFTscreen.begin();
  22.   TFTscreen.background(0,0,0);
  23.   TFTscreen.stroke(0,0,255);
  24.   TFTscreen.setTextSize(2);
  25.   TFTscreen.text("temperatura", 15, 0); // verificare posizione
  26.   TFTscreen.text("ambiente", 30, 20);
  27.   for(int i=10;i<110;i++){
  28.     linea(i,Y);
  29.     delay(20);
  30.   }
  31.   Serial.begin(9600);
  32. }
  33.  
  34. void loop() {
  35.   delay(2000);
  36.   temp=(analogRead(pinTemp)-155)*330/1023;
  37.   Serial.print(temp);
  38.   Serial.print("     ");
  39.  
  40.   temperature(temp);
  41.   cursoreTemp(temp,oldTemp);
  42.   oldTemp=temp;
  43. }
  44.  
  45.  
  46. void temperature(float t) {
  47.   //cancello vecchia temperatura
  48.   TFTscreen.stroke(0,0,0);
  49.   TFTscreen.setTextSize(3);
  50.   TFTscreen.text(sensorPrintout,40,40);
  51.  
  52.   int deg=int(t); //temperature in celsius
  53.   Serial.println(deg);
  54.   //scrivo temperatura
  55.   String temp = String(deg);
  56.   temp.toCharArray(sensorPrintout,4);
  57.  
  58.  
  59.   TFTscreen.stroke(220,135,245);
  60.   TFTscreen.setTextSize(3);
  61.   TFTscreen.text(sensorPrintout,40,40);
  62.  
  63.  
  64. }
  65.  
  66. void cursoreTemp (float t, float oT){
  67.   linea(map(oT,20,30,10,110)-1,Y);
  68.   linea(map(oT,20,30,10,110),Y);
  69.   linea(map(oT,20,30,10,110)+1,Y);
  70.   TFTscreen.stroke(0,0,0);
  71.   for(int i=10;i<110;i++){
  72.     TFTscreen.line(i,Y-11,i,Y);
  73.     TFTscreen.line(i,Y+30,i,Y+41);
  74.   }
  75.   TFTscreen.stroke(255,255,255);
  76.   TFTscreen.line(map(t,20,30,10,110),Y-11,map(t,20,30,10,110),Y+41);
  77.   TFTscreen.line(map(t,20,30,10,110)-1,Y-11,map(t,20,30,10,110)-1,Y+41);
  78.   TFTscreen.line(map(t,20,30,10,110)+1,Y-11,map(t,20,30,10,110)+1,Y+41);
  79. }
  80.  
  81. void linea(int x, int y){
  82.   if(x<60){
  83.     TFTscreen.stroke(0,map(x,10,59,0,255),map(x,10,59,255,0));
  84.   }
  85.   if(x>=60){
  86.     TFTscreen.stroke(map(x,60,110,0,255),map(x,60,110,255,0),0);
  87.   }
  88.   TFTscreen.line(x,y,x,y+30);
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement