I'll try those both!
gcjr:
consider the following. don't have your hardware. simulated on my laptop#include <stdio.h>
// -----------------------------------------------------------------------------
// arduino stubs
enum { LOW, HIGH };
enum { INPUT, INPUT_PULLUP, OUTPUT };
typedef unsigned char byte;
void digitalWrite (
byte pin,
int state )
{
printf ("%s: %2d, %d\n", func, pin, state);
}
void pinMode (
byte pin,
int cfg )
{
printf ("%s: %2d, %d\n", func, pin, cfg);
}
// -----------------------------------------------------------------------------
byte pinSegs [] = { 8, 7, 6, 5, 4, 3, 2 }; // g - a
#define N_SEQ sizeof(pinSegs)
byte segCodes [] = {
0x7e, // zero()
0x30, // one()
0x6d, // two()
0x79, // three()
0x33, // four()
0x5b, // five()
0x5f, // six()
0x70, // seven()
0x7f, // eight()
0x7b, // nine()
};
#define N_SEQ_CODE sizeof(segCodes)
// -----------------------------------------------------------------------------
void disp7seg (
int val )
{
if (sizeof(segCodes) <= val)
return;
printf ("\n%s: %d\n", func, val);
byte seg = segCodes [val];
for (unsigned n = 0; n < N_SEQ; n++, val >>= 1)
digitalWrite (pinSegs [n], val & 1 ? HIGH : LOW);
}
// -----------------------------------------------------------------------------
void setup (void)
{
printf ("%s:\n", func);
for (unsigned n = 0; n < N_SEQ; n++)
pinMode (pinSegs [n], OUTPUT);
for (unsigned n = 0; n <= 9; n++)
disp7seg (n);
}
// -----------------------------------------------------------------------------
void lop (void) { }
// -----------------------------------------------------------------------------
int
main (void)
{
setup ();
return 0;
}
outputsetup:
pinMode: 8, 2
pinMode: 7, 2
pinMode: 6, 2
pinMode: 5, 2
pinMode: 4, 2
pinMode: 3, 2
pinMode: 2, 2
disp7seg: 0
digitalWrite: 8, 0
digitalWrite: 7, 0
digitalWrite: 6, 0
digitalWrite: 5, 0
digitalWrite: 4, 0
digitalWrite: 3, 0
digitalWrite: 2, 0
disp7seg: 1
digitalWrite: 8, 1
digitalWrite: 7, 0
digitalWrite: 6, 0
digitalWrite: 5, 0
digitalWrite: 4, 0
digitalWrite: 3, 0
digitalWrite: 2, 0
disp7seg: 2
digitalWrite: 8, 0
digitalWrite: 7, 1
digitalWrite: 6, 0
digitalWrite: 5, 0
digitalWrite: 4, 0
digitalWrite: 3, 0
digitalWrite: 2, 0
disp7seg: 3
digitalWrite: 8, 1
digitalWrite: 7, 1
digitalWrite: 6, 0
digitalWrite: 5, 0
digitalWrite: 4, 0
digitalWrite: 3, 0
digitalWrite: 2, 0
disp7seg: 4
digitalWrite: 8, 0
digitalWrite: 7, 0
digitalWrite: 6, 1
digitalWrite: 5, 0
digitalWrite: 4, 0
digitalWrite: 3, 0
digitalWrite: 2, 0
disp7seg: 5
digitalWrite: 8, 1
digitalWrite: 7, 0
digitalWrite: 6, 1
digitalWrite: 5, 0
digitalWrite: 4, 0
digitalWrite: 3, 0
digitalWrite: 2, 0
disp7seg: 6
digitalWrite: 8, 0
digitalWrite: 7, 1
digitalWrite: 6, 1
digitalWrite: 5, 0
digitalWrite: 4, 0
digitalWrite: 3, 0
digitalWrite: 2, 0
disp7seg: 7
digitalWrite: 8, 1
digitalWrite: 7, 1
digitalWrite: 6, 1
digitalWrite: 5, 0
digitalWrite: 4, 0
digitalWrite: 3, 0
digitalWrite: 2, 0
disp7seg: 8
digitalWrite: 8, 0
digitalWrite: 7, 0
digitalWrite: 6, 0
digitalWrite: 5, 1
digitalWrite: 4, 0
digitalWrite: 3, 0
digitalWrite: 2, 0
disp7seg: 9
digitalWrite: 8, 1
digitalWrite: 7, 0
digitalWrite: 6, 0
digitalWrite: 5, 1
digitalWrite: 4, 0
digitalWrite: 3, 0
digitalWrite: 2, 0
u
I tried to implement yours and it said expected declaration before }' token.
ToddL1962:
Here is an alternative way to use arrays as well. gcjr's is just as valid also and, indeed, uses less memory.#include <ir_Lego_PF_BitStreamEncoder.h>
#include <boarddefs.h>
#include <IRremoteInt.h>
#include <IRremote.h>
int pinCount = 2; //number of pins in the array
//Define Sensor Pin
const int RECV_PIN = 22;
//Define LED Constants
const int bluePin = 26;
const int greenPin = 28;
const int redPin = 24;
//Define IR Reciever and Results Objects
IRrecv irrecv(RECV_PIN);
decode_results results;
//Button Definition
boolean Power = false;
boolean Play = false;
//Define Integer to Remember Toggle State
int togglestate = 0;
unsigned long time;
unsigned long time2;
int counter = 0;
int counterDir = 1;
bool mainCounter = false;
//Define Pins of 4 digit 7 segment Display
int SevensegPins[7] = {2,3,4,5,6,7,8};
byte SevensegDigits[10][7] =
{
{HIGH, HIGH, HIGH, HIGH, HIGH, HIGH, LOW}, // 0
{LOW, HIGH, HIGH, LOW, LOW, LOW, LOW}, // 1
{HIGH, HIGH, LOW, HIGH, HIGH, LOW, LOW}, // 2
{HIGH, HIGH, HIGH, HIGH, LOW, LOW, HIGH},// 3
{LOW, HIGH, HIGH, LOW, LOW, HIGH, HIGH},// 4
{HIGH, LOW, HIGH, HIGH, LOW, HIGH, HIGH},// 5
{HIGH, LOW, HIGH, HIGH, HIGH, HIGH, HIGH},// 6
{HIGH, HIGH, HIGH, LOW, LOW, LOW, LOW}, // 7
{HIGH, HIGH, HIGH, HIGH, HIGH, HIGH, HIGH},// 8
{HIGH, HIGH, HIGH, HIGH, LOW, HIGH, HIGH} // 9
};
//Define Digital Pins of Display
int d4 = 12;
int d3 = 11;
int d2 = 10;
int d1 = 9;
//Math
long n = 0; //n represents value displayed on display
long y = 60000; //y represents start time of count down
int x = 100;
int del = 5; //value is the degree of fine tuning the clock
int count = 0; //Set count=0. Here count is a count value that increases by 1 every 0.1 second, which means 1 second is counted when the value is 10
//Timer
int timer = 500;
int value;
void setup() {
Serial.begin(9600);
irrecv.enableIRIn();
//Set LEDs as Outputs
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
//Set LED Display Pins as Outputs
pinMode(d1, OUTPUT);
pinMode(d2, OUTPUT);
pinMode(d3, OUTPUT);
pinMode(d4, OUTPUT);
for (int i=0; i < 7; i++) pinMode(SevensegPins[i], OUTPUT);
time = millis();
}
void loop() {
time2 = millis();
if (mainCounter == true && time2 - time >= 100) {
counter += counterDir;
if (counter >= 60) counterDir = -1;
if (counter <= 0) {
counterDir = 1;
mainCounter = false;
}
Serial.print("counter = ");
Serial.println(counter);
time = time2;
}
if (irrecv.decode(&results)) {
int value = results.value;
Serial.println(value);
switch (value) {
case 0xFFA25D:
//Power ON/OFF
Power = !Power;
if (Power) {
digitalWrite(bluePin, 0xFF);
digitalWrite(redPin, 0x00);
digitalWrite(greenPin, 0x00);
digitalWrite(d1, LOW);
digitalWrite(d2, LOW);
digitalWrite(d3, LOW);
digitalWrite(d4, LOW);
}
if (!Power) {
digitalWrite(bluePin, LOW);
digitalWrite(redPin, LOW);
digitalWrite(greenPin, LOW);
digitalWrite(d1, HIGH);
digitalWrite(d2, HIGH);
digitalWrite(d3, HIGH);
digitalWrite(d4, HIGH);
}
delay(1500);
break;
}
switch (value) {
case 0xFF22DD:
//Play/Pause
Play = !Play;
if (Play) {
mainCounter = true;
digitalWrite(bluePin, 0x00);
digitalWrite(redPin, 0xFF);
digitalWrite(greenPin, 0x00);
clear7segDigit(0);//clear the 7-segment display screen
set7segDigit(0, (n / 1000)); // get the value of thousand
delay(del);//delay 5ms
clear7segDigit(1);//clear the 7-segment display screen
set7segDigit(1, (n % 1000) / 100); // get the value of hundred
delay(del);//delay 5ms
clear7segDigit(2);//clear the 7-segment display screen
set7segDigit(2, n % 100 / 10); //get the value of ten
delay(del);//delay 5ms
clear7segDigit(3);//clear the 7-segment display screen
set7segDigit(3, n % 10); //Get the value of single digit
delay(del);//delay 5ms
}
if (!Play) { //Pause
mainCounter = false;
digitalWrite(bluePin, 0xFF);
digitalWrite(redPin, 0x00);
digitalWrite(greenPin, 0x00);
}
delay(1500);
break;
}
irrecv.resume();
}
}
void select7segDigit (int digit)
{
//The 7-segment LED display is a common-cathode one. So also use digitalWrite to set d1 as high and the LED will go out
digitalWrite(d1, HIGH);
digitalWrite(d2, HIGH);
digitalWrite(d3, HIGH);
digitalWrite(d4, HIGH);
switch (digit)
{
case 0:
digitalWrite(d1, LOW);//Light d1 up
break;
case 1:
digitalWrite(d2, LOW); //Light d2 up
break;
case 2:
digitalWrite(d3, LOW); //Light d3 up
break;
default:
digitalWrite(d4, LOW); //Light d4 up
break;
}
}
void set7segDigit(int digit, int number) //clear the 7-segment display screen
{
select7segDigit(digit);
for (int i=0; i < 7; i++) digitalWrite(SevensegPins[i], SevensegDigits[number][i]);
}
void clear7segDigit(int digit) //clear the 7-segment display screen
{
select7segDigit(digit);
for (int i=0; i < 7; i++) digitalWrite(SevensegPins[i], LOW);
}
I tried yours and it compiled and uploaded smoothly, but it's still not showing numbers. It looks like it's trying but it has some quick movement on the LED for like a split second going across all 4 of the slots and then it returns to 0
akeller5:
I tried yours and it compiled and uploaded smoothly, but it's still not showing numbers. It looks like it's trying but it has some quick movement on the LED for like a split second going across all 4 of the slots and then it returns to 0
I think I left the test time of 100ms instead of 1000ms. Also I couldn't test completely since I don't have the hardware.
akeller5:
I tried to implement yours and it said expected declaration before }' token.
you do realize you need to port it to Arduino
gcjr:
you do realize you need to port it to Arduino
The port is connected to the Arduino? Unless that's not what you're referring to?
The LED isn't displaying any numbers other than 0. When I press play it shows 4 zeros across the display for a split second and then shows one steady 0.
can you post your "ported" code?
Unless I don't understand what you're referring to. I checked the port and said it was connected to my programming board. But here's the code, I'm using. It won't display numbers other than zero. I feel like it's something simple.
#include <ir_Lego_PF_BitStreamEncoder.h>
#include <boarddefs.h>
#include <IRremoteInt.h>
#include <IRremote.h>
int pinCount = 2; //number of pins in the array
//Define Sensor Pin
const int RECV_PIN = 22;
//Define LED Constants
const int bluePin = 26;
const int greenPin = 28;
const int redPin = 24;
//Define IR Reciever and Results Objects
IRrecv irrecv(RECV_PIN);
decode_results results;
//Button Definition
boolean Power = false;
boolean Play = false;
//Define Integer to Remember Toggle State
int togglestate = 0;
unsigned long time;
unsigned long time2;
int counter = 0;
int counterDir = 1;
bool mainCounter = false;
//Define Pins of 4 digit 7 segment Display
int SevensegPins[7] = {2,3,4,5,6,7,8};
byte SevensegDigits[10][7] =
{
{HIGH, HIGH, HIGH, HIGH, HIGH, HIGH, LOW}, // 0
{LOW, HIGH, HIGH, LOW, LOW, LOW, LOW}, // 1
{HIGH, HIGH, LOW, HIGH, HIGH, LOW, LOW}, // 2
{HIGH, HIGH, HIGH, HIGH, LOW, LOW, HIGH},// 3
{LOW, HIGH, HIGH, LOW, LOW, HIGH, HIGH},// 4
{HIGH, LOW, HIGH, HIGH, LOW, HIGH, HIGH},// 5
{HIGH, LOW, HIGH, HIGH, HIGH, HIGH, HIGH},// 6
{HIGH, HIGH, HIGH, LOW, LOW, LOW, LOW}, // 7
{HIGH, HIGH, HIGH, HIGH, HIGH, HIGH, HIGH},// 8
{HIGH, HIGH, HIGH, HIGH, LOW, HIGH, HIGH} // 9
};
//Define Digital Pins of Display
int d4 = 12;
int d3 = 11;
int d2 = 10;
int d1 = 9;
//Math
long n = 0; //n represents value displayed on display
long y = 60000; //y represents start time of count down
int x = 100;
int del = 5; //value is the degree of fine tuning the clock
int count = 0; //Set count=0. Here count is a count value that increases by 1 every 0.1 second, which means 1 second is counted when the value is 10
//Timer
int timer = 500;
int value;
void setup() {
Serial.begin(9600);
irrecv.enableIRIn();
//Set LEDs as Outputs
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
//Set LED Display Pins as Outputs
pinMode(d1, OUTPUT);
pinMode(d2, OUTPUT);
pinMode(d3, OUTPUT);
pinMode(d4, OUTPUT);
for (int i=0; i < 7; i++) pinMode(SevensegPins[i], OUTPUT);
time = millis();
}
void loop() {
time2 = millis();
if (mainCounter == true && time2 - time >= 1000) {
counter += counterDir;
if (counter >= 60) counterDir = -1;
if (counter <= 0) {
counterDir = 1;
mainCounter = false;
}
Serial.print("counter = ");
Serial.println(counter);
time = time2;
}
if (irrecv.decode(&results)) {
int value = results.value;
Serial.println(value);
switch (value) {
case 0xFFA25D:
//Power ON/OFF
Power = !Power;
if (Power) {
digitalWrite(bluePin, 0xFF);
digitalWrite(redPin, 0x00);
digitalWrite(greenPin, 0x00);
digitalWrite(d1, LOW);
digitalWrite(d2, LOW);
digitalWrite(d3, LOW);
digitalWrite(d4, LOW);
}
if (!Power) {
digitalWrite(bluePin, LOW);
digitalWrite(redPin, LOW);
digitalWrite(greenPin, LOW);
digitalWrite(d1, HIGH);
digitalWrite(d2, HIGH);
digitalWrite(d3, HIGH);
digitalWrite(d4, HIGH);
}
delay(1500);
break;
}
switch (value) {
case 0xFF22DD:
//Play/Pause
Play = !Play;
if (Play) {
mainCounter = true;
digitalWrite(bluePin, 0x00);
digitalWrite(redPin, 0xFF);
digitalWrite(greenPin, 0x00);
clear7segDigit(0);//clear the 7-segment display screen
set7segDigit(0, (n / 1000)); // get the value of thousand
delay(del);//delay 5ms
clear7segDigit(1);//clear the 7-segment display screen
set7segDigit(1, (n % 1000) / 100); // get the value of hundred
delay(del);//delay 5ms
clear7segDigit(2);//clear the 7-segment display screen
set7segDigit(2, n % 100 / 10); //get the value of ten
delay(del);//delay 5ms
clear7segDigit(3);//clear the 7-segment display screen
set7segDigit(3, n % 10); //Get the value of single digit
delay(del);//delay 5ms
}
if (!Play) { //Pause
mainCounter = false;
digitalWrite(bluePin, 0xFF);
digitalWrite(redPin, 0x00);
digitalWrite(greenPin, 0x00);
}
delay(1500);
break;
}
irrecv.resume();
}
}
void select7segDigit (int digit)
{
//The 7-segment LED display is a common-cathode one. So also use digitalWrite to set d1 as high and the LED will go out
digitalWrite(d1, HIGH);
digitalWrite(d2, HIGH);
digitalWrite(d3, HIGH);
digitalWrite(d4, HIGH);
switch (digit)
{
case 0:
digitalWrite(d1, LOW);//Light d1 up
break;
case 1:
digitalWrite(d2, LOW); //Light d2 up
break;
case 2:
digitalWrite(d3, LOW); //Light d3 up
break;
default:
digitalWrite(d4, LOW); //Light d4 up
break;
}
}
void set7segDigit(int digit, int number) //clear the 7-segment display screen
{
select7segDigit(digit);
for (int i=0; i < 7; i++) digitalWrite(SevensegPins[i], SevensegDigits[number][i]);
}
void clear7segDigit(int digit) //clear the 7-segment display screen
{
select7segDigit(digit);
for (int i=0; i < 7; i++) digitalWrite(SevensegPins[i], LOW);
}
/code]
akeller5:
I tried to implement yours and it said expected declaration before }' token.
i wrote and tested the code I posted using gcc on my laptop, not an arduino.
the code needs to be modified to run on an arduino with your hardware (e.g. "ported" to your hardware)
could you post the code that generated the error above? seems like a syntax error
That makes more sense
#include <stdio.h>
// -----------------------------------------------------------------------------
// arduino stubs
enum { LOW, HIGH };
enum { INPUT, INPUT_PULLUP, OUTPUT };
typedef unsigned char byte;
void digitalWrite (
byte pin,
int state )
{
printf ("%s: %2d, %d\n", __func__, pin, state);
}
void pinMode (
byte pin,
int cfg )
{
printf ("%s: %2d, %d\n", __func__, pin, cfg);
}
// -----------------------------------------------------------------------------
byte pinSegs [] = { 8, 7, 6, 5, 4, 3, 2 }; // g - a
#define N_SEQ sizeof(pinSegs)
byte segCodes [] = {
0x7e, // zero()
0x30, // one()
0x6d, // two()
0x79, // three()
0x33, // four()
0x5b, // five()
0x5f, // six()
0x70, // seven()
0x7f, // eight()
0x7b, // nine()
};
#define N_SEQ_CODE sizeof(segCodes)
// -----------------------------------------------------------------------------
void disp7seg (
int val )
{
if (sizeof(segCodes) <= val)
return;
printf ("\n%s: %d\n", __func__, val);
byte seg = segCodes [val];
for (unsigned n = 0; n < N_SEQ; n++, val >>= 1)
digitalWrite (pinSegs [n], val & 1 ? HIGH : LOW);
}
// -----------------------------------------------------------------------------
void setup (void)
{
printf ("%s:\n", __func__);
for (unsigned n = 0; n < N_SEQ; n++)
pinMode (pinSegs [n], OUTPUT);
for (unsigned n = 0; n <= 9; n++)
disp7seg (n);
}
// -----------------------------------------------------------------------------
void lop (void) { }
// -----------------------------------------------------------------------------
int
main (void)
{
setup ();
return 0;
}/code]
void lop (void) { }
// -----------------------------------------------------------------------------
int
main (void)
{
setup ();
return 0;
}
"lop" ?
i didn't expect you to cut & paste. i thought you would review the code and apply the relevant parts to your code. may not be worth your time.
i'm never fond of posting code for someone else's hardware I can't test on. the following runs on an arduino. you need to add a line to select a digit to display.
char s [80];
// -----------------------------------------------------------------------------
byte pinSegs [] = { 8, 7, 6, 5, 4, 3, 2 }; // g - a
#define N_SEQ sizeof(pinSegs)
byte segCodes [] = {
0x7e, // zero()
0x30, // one()
0x6d, // two()
0x79, // three()
0x33, // four()
0x5b, // five()
0x5f, // six()
0x70, // seven()
0x7f, // eight()
0x7b, // nine()
};
#define N_SEQ_CODE sizeof(segCodes)
// -----------------------------------------------------------------------------
void disp7seg (
unsigned val )
{
if (sizeof(segCodes) <= val)
return;
byte seg = segCodes [val];
sprintf (s, "%s: %d, 0x%02x -- ", __func__, val, seg);
Serial.print (s);
for (unsigned n = 0; n < N_SEQ; n++, seg >>= 1) {
byte bit = seg & 1 ? HIGH : LOW;
digitalWrite (pinSegs [n], bit);
sprintf (s, " (%d, %d)", pinSegs [n], bit);
Serial.print (s);
}
Serial.println ("");
}
// -----------------------------------------------------------------------------
void setup (void)
{
Serial.begin (115200);
Serial.println ("7seg");
for (unsigned n = 0; n < N_SEQ; n++)
pinMode (pinSegs [n], OUTPUT);
// need to set digit pin
for (unsigned n = 0; n <= 9; n++) {
disp7seg (n);
delay (2000);
}
}
// -----------------------------------------------------------------------------
void loop (void) { }
output
7seg
disp7seg: 0, 0x7e -- (8, 0) (7, 1) (6, 1) (5, 1) (4, 1) (3, 1) (2, 1)
disp7seg: 1, 0x30 -- (8, 0) (7, 0) (6, 0) (5, 0) (4, 1) (3, 1) (2, 0)
disp7seg: 2, 0x6d -- (8, 1) (7, 0) (6, 1) (5, 1) (4, 0) (3, 1) (2, 1)
disp7seg: 3, 0x79 -- (8, 1) (7, 0) (6, 0) (5, 1) (4, 1) (3, 1) (2, 1)
disp7seg: 4, 0x33 -- (8, 1) (7, 1) (6, 0) (5, 0) (4, 1) (3, 1) (2, 0)
disp7seg: 5, 0x5b -- (8, 1) (7, 1) (6, 0) (5, 1) (4, 1) (3, 0) (2, 1)
disp7seg: 6, 0x5f -- (8, 1) (7, 1) (6, 1) (5, 1) (4, 1) (3, 0) (2, 1)
disp7seg: 7, 0x70 -- (8, 0) (7, 0) (6, 0) (5, 0) (4, 1) (3, 1) (2, 1)
disp7seg: 8, 0x7f -- (8, 1) (7, 1) (6, 1) (5, 1) (4, 1) (3, 1) (2, 1)
disp7seg: 9, 0x7b -- (8, 1) (7, 1) (6, 0) (5, 1) (4, 1) (3, 1) (2, 1)
gcjr:
i didn't expect you to cut & paste. i thought you would review the code and apply the relevant parts to your code. may not be worth your time.i'm never fond of posting code for someone else's hardware I can't test on. the following runs on an arduino. you need to add a line to select a digit to display.
char s [80];
// -----------------------------------------------------------------------------
byte pinSegs [] = { 8, 7, 6, 5, 4, 3, 2 }; // g - a
#define N_SEQ sizeof(pinSegs)
byte segCodes [] = {
0x7e, // zero()
0x30, // one()
0x6d, // two()
0x79, // three()
0x33, // four()
0x5b, // five()
0x5f, // six()
0x70, // seven()
0x7f, // eight()
0x7b, // nine()
};
#define N_SEQ_CODE sizeof(segCodes)
// -----------------------------------------------------------------------------
void disp7seg (
unsigned val )
{
if (sizeof(segCodes) <= val)
return;
byte seg = segCodes [val];
sprintf (s, "%s: %d, 0x%02x -- ", func, val, seg);
Serial.print (s);
for (unsigned n = 0; n < N_SEQ; n++, seg >>= 1) {
byte bit = seg & 1 ? HIGH : LOW;
digitalWrite (pinSegs [n], bit);
sprintf (s, " (%d, %d)", pinSegs [n], bit);
Serial.print (s);
}
Serial.println ("");
}
// -----------------------------------------------------------------------------
void setup (void)
{
Serial.begin (115200);
Serial.println ("7seg");
for (unsigned n = 0; n < N_SEQ; n++)
pinMode (pinSegs [n], OUTPUT);
// need to set digit pin
for (unsigned n = 0; n <= 9; n++) {
disp7seg (n);
delay (2000);
}
}
// -----------------------------------------------------------------------------
void loop (void) { }
output7seg
disp7seg: 0, 0x7e -- (8, 0) (7, 1) (6, 1) (5, 1) (4, 1) (3, 1) (2, 1)
disp7seg: 1, 0x30 -- (8, 0) (7, 0) (6, 0) (5, 0) (4, 1) (3, 1) (2, 0)
disp7seg: 2, 0x6d -- (8, 1) (7, 0) (6, 1) (5, 1) (4, 0) (3, 1) (2, 1)
disp7seg: 3, 0x79 -- (8, 1) (7, 0) (6, 0) (5, 1) (4, 1) (3, 1) (2, 1)
disp7seg: 4, 0x33 -- (8, 1) (7, 1) (6, 0) (5, 0) (4, 1) (3, 1) (2, 0)
disp7seg: 5, 0x5b -- (8, 1) (7, 1) (6, 0) (5, 1) (4, 1) (3, 0) (2, 1)
disp7seg: 6, 0x5f -- (8, 1) (7, 1) (6, 1) (5, 1) (4, 1) (3, 0) (2, 1)
disp7seg: 7, 0x70 -- (8, 0) (7, 0) (6, 0) (5, 0) (4, 1) (3, 1) (2, 1)
disp7seg: 8, 0x7f -- (8, 1) (7, 1) (6, 1) (5, 1) (4, 1) (3, 1) (2, 1)
disp7seg: 9, 0x7b -- (8, 1) (7, 1) (6, 0) (5, 1) (4, 1) (3, 1) (2, 1)
I'm still trying to learn my way around the programming, but what kind of line should I add? a numeric line, boolean, string..?