Nokia 5110 X - Y
- Войдите на сайт для отправки комментариев
Вс, 30/08/2020 - 21:04

Добрый день
Есть программа, которая рисует две горизонтальные линии, как преобразовать строки # 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);
}
http://math-prosto.ru/?page=pages/function/function_y_kx_b.php