-
-
Save yarogniew/1dbb76bd578bf8482f9872050a280ee7 to your computer and use it in GitHub Desktop.
PlatformIO
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <Arduino.h> | |
#include <TM1637Display.h> | |
// Module connection pins (Digital Pins) | |
#define CLK 2 | |
#define DIO 3 | |
// The amount of time (in milliseconds) between tests | |
#define TEST_DELAY 1000 | |
const uint8_t SEG_DONE[] = { | |
SEG_B | SEG_C | SEG_D | SEG_E | SEG_G, // d | |
SEG_A | SEG_B | SEG_C | SEG_D | SEG_E | SEG_F, // O | |
SEG_C | SEG_E | SEG_G, // n | |
SEG_A | SEG_D | SEG_E | SEG_F | SEG_G // E | |
}; | |
const uint8_t SEG_CHUJ[] = { | |
SEG_G | SEG_D | SEG_E, // c | |
SEG_F | SEG_C | SEG_E | SEG_G, // h | |
SEG_E | SEG_D | SEG_C, // u | |
SEG_B | SEG_C | SEG_D // j | |
}; | |
const uint8_t SEG_DUPA[] = { | |
SEG_G | SEG_D | SEG_E | SEG_C | SEG_B, // d | |
SEG_E | SEG_D | SEG_C, // u | |
SEG_F | SEG_E | SEG_A | SEG_B | SEG_G, // p | |
SEG_E | SEG_F | SEG_A | SEG_B | SEG_C | SEG_G // A | |
}; | |
const uint8_t SEG_7SEG[] = { | |
SEG_A | SEG_B | SEG_C, // 7 | |
SEG_A | SEG_C | SEG_D | SEG_F | SEG_G, // S | |
SEG_A | SEG_D | SEG_E | SEG_F | SEG_G, // E | |
SEG_A | SEG_C | SEG_D | SEG_E | SEG_F // G | |
}; | |
// const uint8_t SEG_?[] = { | |
// SEG_A | SEG_B | SEG_C | SEG_D | SEG_E | SEG_F | SEG_G, | |
// SEG_A | SEG_B | SEG_C | SEG_D | SEG_E | SEG_F | SEG_G, | |
// SEG_A | SEG_B | SEG_C | SEG_D | SEG_E | SEG_F | SEG_G, | |
// SEG_A | SEG_B | SEG_C | SEG_D | SEG_E | SEG_F | SEG_G | |
// }; | |
TM1637Display display(CLK, DIO); | |
void setup() | |
{ | |
} | |
void loop() | |
{ | |
int k; | |
uint8_t data[] = { 0xff, 0xff, 0xff, 0xff }; | |
uint8_t blank[] = { 0x00, 0x00, 0x00, 0x00 }; | |
display.setBrightness(0x0f); | |
// All segments on | |
display.setSegments(data); | |
delay(TEST_DELAY); | |
// Selectively set different digits | |
data[0] = display.encodeDigit(0); | |
data[1] = display.encodeDigit(1); | |
data[2] = display.encodeDigit(2); | |
data[3] = display.encodeDigit(3); | |
display.setSegments(data); | |
delay(TEST_DELAY); | |
for(k = 3; k >= 0; k--) { | |
display.setSegments(data, 1, k); | |
delay(TEST_DELAY); | |
} | |
display.clear(); | |
display.setSegments(data+2, 2, 2); | |
delay(TEST_DELAY); | |
display.clear(); | |
display.setSegments(data+2, 2, 1); | |
delay(TEST_DELAY); | |
display.clear(); | |
display.setSegments(data+1, 3, 1); | |
delay(TEST_DELAY); | |
// Show decimal numbers with/without leading zeros | |
display.showNumberDec(0, false); // Expect: ___0 | |
delay(TEST_DELAY); | |
display.showNumberDec(0, true); // Expect: 0000 | |
delay(TEST_DELAY); | |
display.showNumberDec(1, false); // Expect: ___1 | |
delay(TEST_DELAY); | |
display.showNumberDec(1, true); // Expect: 0001 | |
delay(TEST_DELAY); | |
display.showNumberDec(301, false); // Expect: _301 | |
delay(TEST_DELAY); | |
display.showNumberDec(301, true); // Expect: 0301 | |
delay(TEST_DELAY); | |
display.clear(); | |
display.showNumberDec(14, false, 2, 1); // Expect: _14_ | |
delay(TEST_DELAY); | |
display.clear(); | |
display.showNumberDec(4, true, 2, 2); // Expect: 04__ | |
delay(TEST_DELAY); | |
display.showNumberDec(-1, false); // Expect: __-1 | |
delay(TEST_DELAY); | |
display.showNumberDec(-12); // Expect: _-12 | |
delay(TEST_DELAY); | |
display.showNumberDec(-999); // Expect: -999 | |
delay(TEST_DELAY); | |
display.clear(); | |
display.showNumberDec(-5, false, 3, 0); // Expect: _-5_ | |
delay(TEST_DELAY); | |
display.showNumberHexEx(0xf1af); // Expect: f1Af | |
delay(TEST_DELAY); | |
display.showNumberHexEx(0x2c); // Expect: __2C | |
delay(TEST_DELAY); | |
display.showNumberHexEx(0xd1, 0, true); // Expect: 00d1 | |
delay(TEST_DELAY); | |
display.clear(); | |
display.showNumberHexEx(0xd1, 0, true, 2); // Expect: d1__ | |
delay(TEST_DELAY); | |
// Run through all the dots | |
for(k=0; k <= 4; k++) { | |
display.showNumberDecEx(0, (0x80 >> k), true); | |
delay(TEST_DELAY); | |
} | |
// Brightness Test | |
for(k = 0; k < 4; k++) | |
data[k] = 0xff; | |
for(k = 0; k < 7; k++) { | |
display.setBrightness(k); | |
display.setSegments(data); | |
delay(TEST_DELAY); | |
} | |
// On/Off test | |
for(k = 0; k < 4; k++) { | |
display.setBrightness(7, false); // Turn off | |
display.setSegments(data); | |
delay(TEST_DELAY); | |
display.setBrightness(7, true); // Turn on | |
display.setSegments(data); | |
delay(TEST_DELAY); | |
} | |
// Done! | |
// display.setBrightness(0); | |
while(1){ | |
// display.setSegments(SEG_DUPA); | |
// delay(2000); | |
// display.setSegments(SEG_CHUJ); | |
// delay(2000);} | |
display.setSegments(SEG_7SEG); | |
delay(2000);} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment