From 00c3119d058c19434c7986226258d89816ec445c Mon Sep 17 00:00:00 2001 From: Alexander Davis Date: Fri, 24 Dec 2021 22:56:48 +0000 Subject: [PATCH] Display Code for 7 segment display added. Boot sequence turned into function for test button --- BitBox/BitBox.ino | 216 ++++++++++++++++++++++++++++++++-------------- 1 file changed, 149 insertions(+), 67 deletions(-) diff --git a/BitBox/BitBox.ino b/BitBox/BitBox.ino index e68630c..e8beda5 100644 --- a/BitBox/BitBox.ino +++ b/BitBox/BitBox.ino @@ -8,155 +8,237 @@ https://github.com/AlexanderEDavis/BitBox */ -#include -#include -#include "src/mechatronics_lib.h" +// TM1637 - Version: Latest +//#include -#include +// Include the library +#include -float denary = 0; -float value = 0; +// Define the connections pins +#define CLK 11 +#define DIO 10 -void _delay(float seconds) { - long endTime = millis() + seconds * 1000; - while(millis() < endTime) _loop(); -} +// Create a display object of type TM1637Display +TM1637Display display = TM1637Display(CLK, DIO); + +// Create an array that turns all segments ON +const uint8_t allON[] = {0xff, 0xff, 0xff, 0xff}; + +// Create an array that turns all segments OFF +const uint8_t allOFF[] = {0x00, 0x00, 0x00, 0x00}; + +// Create an array that sets individual segments per digit to display the word "rdy" +const uint8_t rdy[] = { + false, + SEG_E | SEG_G, // r + SEG_B | SEG_C | SEG_D | SEG_E | SEG_G, // d + SEG_B | SEG_C | SEG_D | SEG_F | SEG_G, // y +}; + +// Defines the flags and variables used +int denary = 0; +int oldDenary = 0; +bool bit0 = false; +bool bit1 = false; +bool bit2 = false; +bool bit3 = false; +bool bit4 = false; +bool bit5 = false; +bool bit6 = false; +bool bit7 = false; +bool bit8 = false; void setup() { - pinMode(1,INPUT); - pinMode(2,INPUT); - pinMode(3,INPUT); - pinMode(4,INPUT); - pinMode(5,INPUT); - pinMode(6,INPUT); - pinMode(7,INPUT); - pinMode(8,INPUT); - pinMode(9,INPUT); + pinMode(1, INPUT); + pinMode(2, INPUT); + pinMode(3, INPUT); + pinMode(4, INPUT); + pinMode(5, INPUT); + pinMode(6, INPUT); + pinMode(7, INPUT); + pinMode(8, INPUT); + pinMode(9, INPUT); denary = 0; - value = 1; - while(!(value == 256.000000)){ - // To be defined - value += value * 2; +} +void boot() { + // Set the brightness to 5 (0=dimmest 7=brightest) + display.setBrightness(7); + + // Set all segments ON + display.setSegments(allON); + + delay(2000); + display.clear(); + + // Set bitFlags 0-8 + int i; + for (i = 0; i < 9; i++) { + if (i == 0) { + bit0 = false; + } + if (i == 1) { + bit1 = false; + } + if (i == 2) { + bit2 = false; + } + if (i == 3) { + bit3 = false; + } + if (i == 4) { + bit4 = false; + } + if (i == 5) { + bit5 = false; + } + if (i == 6) { + bit6 = false; + } + if (i == 7) { + bit7 = false; + } + if (i == 8) { + bit8 = false; + } + display.showNumberDec(i); + delay(5); } - while(1) { - if((digitalRead(1)) && (/)){ - denary += -1; - // To be defined - }else{ - if(digitalRead(1)){ - denary += 1; - // To be defined + delay(2000); + display.clear(); - } + // Prints rdy + display.setSegments(rdy); + delay(2000); + display.showNumberDec(0); +} +/* + void updateDisplay() { + display.showNumberDec(denary); + }*/ + +void loop() { + // calls startup script + boot(); + while (1) { + if ((digitalRead(1)) && (bit0 == false)) { + denary += 1; + bit0 = true; + } + /*if ((digitalRead(1) == LOW) && (bit0 == true)) { + denary += -1; + bit0 == false; + + } else { + if ((digitalRead(1) == HIGH) && (bit0 == false)) { + denary += 1; + bit0 == true; } - if((digitalRead(2)) && (/)){ + + } + if((digitalRead(2) == HIGH) && (bit1 == true)){ denary += -2; - // To be defined + bit1 == false; }else{ - if(digitalRead(2)){ + if(digitalRead(2) == HIGH){ denary += 2; - // To be defined + bit1 == true; } } - if((digitalRead(3)) && (/)){ + if((digitalRead(3)) && (bit2 == true)){ denary += -4; - // To be defined + bit2 == false; }else{ if(digitalRead(3)){ denary += 4; - // To be defined + bit2 == true; } } - if((digitalRead(4)) && (/)){ + if((digitalRead(4)) && (bit3 == true)){ denary += -8; - // To be defined + bit3 == false; }else{ if(digitalRead(4)){ denary += 8; - // To be defined + bit3 == true; } } - if((digitalRead(5)) && (/)){ + if((digitalRead(5)) && (bit4 == true)){ denary += -16; - // To be defined + bit4 == false; }else{ if(digitalRead(5)){ denary += 16; - // To be defined + bit4 == true; } } - if((digitalRead(6)) && (/)){ + if((digitalRead(6)) && (bit5 == true)){ denary += -32; - // To be defined + bit5 == false; }else{ if(digitalRead(6)){ denary += 32; - // To be defined + bit5 == true; } } - if((digitalRead(7)) && (/)){ + if((digitalRead(7)) && (bit6 == true)){ denary += -64; - // To be defined + bit6 == false; }else{ if(digitalRead(7)){ denary += 64; - // To be defined + bit6 == true; } } - if((digitalRead(8)) && (/)){ + if((digitalRead(8)) && (bit7 == true)){ denary += -128; - // To be defined + bit7 == false; }else{ if(digitalRead(8)){ denary += 128; - // To be defined + bit7 == true; } } - if((digitalRead(9)) && (/)){ + if((digitalRead(9)) && (bit8 == true)){ denary += -256; - // To be defined + bit8 == false; }else{ if(digitalRead(9)){ denary += 256; - // To be defined + bit8 == true; } - } + }*/ + // Updates display if number chnaged + if (oldDenary == denary) { + oldDenary = denary; + display.showNumberDec(denary); + } - _loop(); } - -} - -void _loop() { -} - -void loop() { - _loop(); }