#include "SevSeg.h"
SevSeg sevseg; //Instantiate a seven segment controller object
static int random_int = 0;
unsigned long previousMillis = 0;
const long interval = 50;
const long interval2 = 20;
const int tiltSensor = 14;
const int buzzer = 15;
const int d = 20; // <----------- DADO??
void setup() {
byte numDigits = 4;
byte digitPins[] = {2, 3, 4, 5};
byte segmentPins[] = {6, 7, 8, 9, 10, 11, 12, 13};
bool resistorsOnSegments = false; // 'false' means resistors are on digit pins
byte hardwareConfig = COMMON_ANODE; // See README.md for options
bool updateWithDelays = false; // Default 'false' is Recommended
bool leadingZeros = false; // Use 'true' if you'd like to keep the leading zeros
bool disableDecPoint = false; // Use 'true' if your decimal point doesn't exist or isn't connected
sevseg.begin(hardwareConfig, numDigits, digitPins, segmentPins, resistorsOnSegments,
updateWithDelays, leadingZeros, disableDecPoint);
sevseg.setBrightness(100);
pinMode(tiltSensor, INPUT_PULLUP);
}
void loop() {
int tilted = digitalRead(tiltSensor);
if (tilted == LOW) {
random_int = random(1, d);
for (int i = 1; i < d; i++) {
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval2) {
previousMillis = currentMillis;
sevseg.setNumber(i);
}
sevseg.refreshDisplay();
tone(buzzer, 500, 50);
}
} else {
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval) {
previousMillis = currentMillis;
sevseg.setNumber(random_int);
}
sevseg.refreshDisplay();
}
}
/// END ///