const byte botoes[] = {13, 27, 26, 25, 33, 32, 35, 34, 18};
struct Groups {
struct GroupA {
enum : byte
{
zero = 0,
one,
two,
three,
four,
five,
six,
seven,
eight
};
};
struct GroupB {
unsigned int zero = 0,
one = 1,
two = 2,
three = 3,
four = 4,
five = 5,
six = 6,
seven = 7,
eight = 8;
};
struct GroupC {
static const unsigned int zero,
one,
two,
three,
four = 4,
five,
six,
seven,
eight;
};
struct GroupD {
static unsigned int zero,
one,
two,
three,
four,
five,
six,
seven,
eight;
};
};
unsigned int Groups::GroupD::four = 4;
Groups::GroupB grupoB;
//' Protótipos de função
void ChecarBotoes();
void setup()
{
//# setup botões //
for (byte i = 0; i < 9; i++)
{
pinMode(botoes[i], INPUT_PULLDOWN);
}
Serial.begin(9600);
byte valueA = Groups::GroupA::one; // Access GroupA's `one`
grupoB.one = 99;
byte valueB = grupoB.one; // Access GroupB's `two`
Serial.print("Group A One: ");
Serial.println(valueA); // Prints 1
Serial.print("Group B Two: ");
Serial.println(valueB); // Prints 2
switch (grupoB.one)
{
//* curly braces needed in a ´switch´ statement if a variable is created in it
case 1:
Serial.println(1);
break;
case 99:
{
int r = 3, g = 4;
Serial.println(g);
Serial.println(float(r) / Groups::GroupD::four);
break;
}
default:
Serial.println("Erro: Dia inválido");
break;
}
}
void loop()
{
ChecarBotoes();
}
void ChecarBotoes()
{
for (byte i = 0; i < 9; i++)
{
if (digitalRead(botoes[i]) == HIGH)
{
Serial.println("Botão " + String(i) + " pressionado");
delay(50);
}
}
}