Well, we can fix that :)
The trick is very simple. However it graphs it sideways, but hey, it's quick and easy.
The basic idea to graphing really quickly is this
print a basic letter, which can be a unit for the graph such as a lowercase L, l;
however, we want to print this letter repeatedly to emulate a graph.
Pseudocode:
//Gather Sensor Data;
// scale values down to a reasonable size
for(int i = 0; i < (The value you want to graph); i++) {
//print the letter you chose, such as "l";
// but print it all on the same line;
}
// now go to the next line in the Serial Monitor;
Here is some sample code to read and graph the input from AnalogPin A0;
void setup() {
Serial.begin(9600);
}
void loop() {
// Analog Sensor Connected to analog pin 0
int SensorVal = analogRead(A0);
SensorVal = map(SensorVal, 0, 1023, 0, 100);
for(int i = 0; i < SensorVal; i++) {
Serial.print("l");
}
Serial.println();
delay(50);
}



































Visit Our Store »
Go Pro Today »




Here's an enhancement your graph above to print the number to be graphed as well... and to get the format of the number consistent.
Uses Arduino syntax
#include <stdlib.h>
float z = 0;
float y = 0;
float x = 0;
static char dtostrfbuffer[15]; // needed by graph: print float
void loop() {
.....
z = graph(y) // the number you want to graph at a suitable rate such as 1 - 10 Hz}
...
}
int graph (float z) // draw a text-based vertical graph to monitor
{
int i = 0;
int k = 0;
int maxWidth = 80;
k = int(z);
if (k > maxWidth) k = maxWidth; // width of the graph "column"
// dtostrf(FLOAT,WIDTH,PRECSISION,BUFFER);
// gist.github.com/2343665
// www.nongnu.org/avr-libc/user-manual/group__avr__stdlib.html#g6c140bdd3b9bd740a1490137317caa44
dtostrf(z,8, 2, dtostrfbuffer); // -nnnnnn.nn Use this for a consistent float format
Serial.print(dtostrfbuffer);
Serial.print(" |");
for (i=0; i<maxWidth; i++) {
if (i<=k) Serial.print("-");
else Serial.print(" ");
}
Serial.print("|\n");
return k;
}
OUTPUT looks like: (needs monospaced font)
46.51 |----------------------------------------------- |
47.32 |------------------------------------------------ |
45.81 |---------------------------------------------- |
42.00 |------------------------------------------- |
41.92 |------------------------------------------ |
39.60 |---------------------------------------- |
35.07 |------------------------------------ |
32.36 |--------------------------------- |
29.51 |------------------------------ |
28.58 |----------------------------- |
23.59 |------------------------ |
22.59 |----------------------- |
19.63 |-------------------- |
14.75 |--------------- |
13.98 |-------------- |
9.38 |---------- |
6.96 |------- |
4.78 |----- |
2.87 |--- |
3.24 |---- |
-0.08 |- |
0.94 |- |
-1.70 | |
0.01 |- |
0.09 |- |
-1.47 | |
1.31 |-- |
2.44 |--- |
1.89 |-- |
3.65 |---- |
5.68 |------ |
9.96 |---------- |
12.46 |------------- |
15.14 |---------------- |
15.96 |---------------- |
20.88 |--------------------- |
very handy and easy to use
big thanks ;)