Nokia 5110 X - Y

gena321
Offline
Зарегистрирован: 19.01.2019
Добрый день
Есть программа, которая рисует две горизонтальные линии, как преобразовать строки # 63 - 80, чтобы получить график X-Y, как  на картинке?
 
#include <LCD5110_Graph.h>

//LCD5110 myGLCD(8,9,10,12,11);
LCD5110 myGLCD(PA4, PA3, PA2, PA0, PA1);

extern unsigned char SmallFont[];
extern unsigned char TinyFont[];

int LDRpin = PA6;
int LDRpin2 = PA7;
int volt;
char lightString [4];
char lightString2 [4];

String str;
String str2;

int lightIntensity = 0;
int lightIntensity2 = 0;

void setup()
{

  myGLCD.InitLCD();
  myGLCD.setFont(SmallFont);
  randomSeed(analogRead(PB6));
  randomSeed(analogRead(PB7));
}

void loop()
{

  myGLCD.clrScr();
  myGLCD.update();

  lightIntensity = analogRead(LDRpin);
  lightIntensity2 = analogRead(LDRpin2);

  lightIntensity = map(lightIntensity, 0, 4095, 0, 100);
  lightIntensity2 = map(lightIntensity2, 0, 4095, 0, 100);

  str = String(lightIntensity) + "%";
  str2 = String(lightIntensity2) + "%";

  //str.toCharArray(lightString, 4); 
   str.toCharArray(lightString, 6); 
  str2.toCharArray(lightString2, 4); 

  
  // high line
  myGLCD.print(lightString2, 2, 17);
  printBar();
  fillBar2(lightIntensity2);

  //low line
  myGLCD.print(lightString, 2, 32); 
  printBar();
  fillBar(lightIntensity);
  myGLCD.update();
  delay(100);
}

void printBar()
{
  myGLCD.update();
 }

void fillBar(int percent) // X 
{
  percent = map(percent, 0, 100, 2, 81);
   myGLCD.drawLine(2, 44, percent, 44);
 //   myGLCD.drawLine(2, 44, percent, volt);
 
}
void fillBar2(int volt) // Y ?
{
  volt = map(volt, 0, 100, 2, 81);
 //myGLCD.drawLine(2, 40, 40,volt);
   myGLCD.drawLine(2, 40, volt, 40);
}

 

 

sadman41
Онлайн
Зарегистрирован: 19.10.2016