#include <ezButton.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
// Buttons
ezButton button1(2); // create ezButton object that attach to pin GIOP22
ezButton button2(4); // create ezButton object that attach to pin GIOP22
ezButton button3(5); // create ezButton object that attach to pin GIOP22
// Variaveis
int paes, estado = 0;
String tipo , acompanhamento, algoMais, saideira;
#define LED_AZUL 12
#define LED_AMARELO 13
#define LED_VERDE 14
// Fim das variaveis
// ------------------ Projeto desenvolvido por Luís Estareli ------------------
void setup() {
pinMode(LED_AZUL, OUTPUT);
pinMode(LED_VERDE, OUTPUT);
pinMode(LED_AMARELO, OUTPUT);
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println(F("SSD1306 allocation failed"));
for(;;);
}
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(10, 10);
display.println("Padaria D'Cria");
display.display();
Serial.begin(9600);
delay(2000);
}
void loop() {
button1.loop(); // MUST call the loop() function first
button2.loop();
button3.loop();
switch (estado) {
case 0: pergunta1(); break;
case 1: pergunta2(); break;
case 2: pergunta3(); break;
case 3: pergunta4(); break;
case 4: pergunta5(); break;
case 5: operacao(); break;
}
}
void pergunta1() {
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(10, 10);
display.println("Padaria D'Cria");
display.setCursor(10, 30);
display.println("Quantos Pães?");
display.setCursor(50, 50);
display.println(paes);
display.display();
if (button1.isReleased()) {
paes += 1;
}
if (button2.isReleased()) {
paes -= 1;
}
if (button3.isReleased()) {
estado = 1;
}
display.clearDisplay();
}
void pergunta2() {
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(10, 10);
display.println("Padaria D'Cria");
display.setCursor(0, 30);
display.println("Tipo de Pão? Green - Pão Francês, Red - Pão de Forma, Blue - Pão Doce");
display.setCursor(50, 50);
display.display();
if (button1.isReleased()) { // verde
tipo = "Pão Francês";
estado = 2;
}
if (button2.isReleased()) { // vermelho
tipo = "Pão de Forma";
estado = 2;
}
if (button3.isReleased()) { // azul
tipo = "Pão Doce";
estado = 2;
}
}
void pergunta3() {
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(10, 10);
display.println("Padaria D'Cria");
display.setCursor(0, 30);
display.println("Acompanha ? Green - Refrigerante, Red - Salgados, Blue - Doces");
display.setCursor(50, 50);
display.display();
if (button1.isReleased()) { // verde
acompanhamento = "Refrigerante";
estado = 3;
}
if (button2.isReleased()) { // vermelho
acompanhamento = "Salgados";
estado = 3;
}
if (button3.isReleased()) { // azul
acompanhamento = "Doces";
estado = 3;
}
}
void pergunta4() {
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(10, 10);
display.println("Padaria D'Cria");
display.setCursor(0, 30);
display.println("Algo mais? Green - Café , Red - Coca-Cola , Blue - Agua");
display.setCursor(50, 50);
display.display();
if (button1.isReleased()) { // verde
algoMais = "Café";
estado = 4;
}
if (button2.isReleased()) { // vermelho
algoMais = "Coca-Cola";
estado = 4;
}
if (button3.isReleased()) { // azul
algoMais = "Água";
estado = 4;
}
}
void pergunta5() {
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(10, 10);
display.println("Padaria D'Cria");
display.setCursor(0, 30);
display.println("Saideira? Green - Doces , Red - Pão de Queijo");
display.setCursor(50, 50);
display.display();
if (button1.isReleased()) { // verde
saideira = "Doces";
estado = 5;
}
if (button2.isReleased()) { // vermelho
saideira = "Pão de Queijo";
estado = 5;
}
}
void operacao() {
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(10, 10);
display.println("Padaria D'Cria");
display.setCursor(0, 30);
String frase = "Pegando ";
String frase2 = frase + String(paes) + " paes....";
display.println(frase2);
display.setCursor(50, 50);
display.display();
analogWrite(LED_AMARELO, HIGH);
delay(5000);
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(10, 10);
display.println("Padaria D'Cria");
display.setCursor(0, 30);
String frase3 = "Escolhendo tipo de Pão " + String(tipo) + "...";
display.println(frase3);
display.setCursor(50, 50);
display.display();
analogWrite(LED_AMARELO, LOW);
analogWrite(LED_AZUL, HIGH);
delay(5000);
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(10, 10);
display.println("Padaria D'Cria");
display.setCursor(0, 30);
String frase4 = "Pegando Acompanhamento" + String(acompanhamento) + "...";
display.println(frase4);
display.setCursor(50, 50);
display.display();
analogWrite(LED_AMARELO, LOW);
analogWrite(LED_AZUL, LOW);
analogWrite(LED_VERDE, HIGH);
delay(5000);
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(10, 10);
display.println("Padaria D'Cria");
display.setCursor(0, 30);
display.println("Seu pão está pronto!");
display.setCursor(50, 50);
display.display();
analogWrite(LED_VERDE, LOW);
estado = 6;
}