#include <Wire.h>
//******************************************************************
#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <Keypad.h>
int PuntosX=0;
int PuntosO=0;
const byte FILAS = 4;
const byte COLUMNAS = 4;
char Teclas[FILAS][COLUMNAS] = {
{'1', '2', '3'},
{'4', '5', '6'},
{'7', '8', '9'}
};
byte FilasPin[FILAS] = {13,12,14,27};
byte ColumnasPin[COLUMNAS] = {26,25,33,32};
Keypad keypad = Keypad(makeKeymap(Teclas), FilasPin, ColumnasPin, FILAS, COLUMNAS);
// Tabla interna del juego
char posiciones[3][3] = {
{'1', '2', '3'},
{'4', '5', '6'},
{'7', '8', '9'}
};
// turnos 0 para O, 1 para X
int jugadorTurno;
int Actual;
int elegido=0;
//*****************************************************************************************************************************************
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels
// Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)
#define OLED_RESET -1 // Reset pin # (or -1 if sharing Arduino reset pin)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
int precPR1 = 5;
int precPR2 = 8;
int precPR3 = 10;
int precPR4 = 15;
int tiemPR1 = 10;
int tiemPR2 = 20;
int tiemPR3 = 30;
int tiemPR4 = 40;
int creditos = 0;
void setup() {
Serial.begin(115200);
// SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println(F("SSD1306 allocation failed"));
for(;;); // Don't proceed, loop forever
}
else Serial.println(F("Conexion exitosa!!"));
}
void loop() {
display.clearDisplay();
display.setCursor(0, 0);
display.setTextSize(1);
display.setTextColor(WHITE);
display.println(" ");
display.println(" Inserte monedas");
display.println(" para surtir cerveza");
display.println(" ");
display.print(" Creditos: $");
display.print(creditos);
display.display();
/*
display.clearDisplay();
display.setCursor(0, 0);
display.setTextSize(1);
display.setTextColor(WHITE);
display.println(" Costo del producto");
display.println(" es de: ");
display.print(" $");
display.print("125");
display.print(" por LITRO");
display.display();
delay(1500);
*/
/*
display.clearDisplay();
display.setCursor(0, 0);
display.setTextSize(1);
display.setTextColor(WHITE);
display.println(" MODO CONFIGURACION");
display.println("");
display.println(" Precio Tiempo(ms)");
display.print("P1= $");
display.print(precPR1);
display.print(" ");
display.print(tiemPR1*64);
display.setCursor(0, 32);
display.print("P2= $");
display.print(precPR2);
display.print(" ");
display.print(tiemPR2*64);
display.setCursor(0, 40);
display.print("P3= $");
display.print(precPR3);
display.print(" ");
display.print(tiemPR3*64);
display.setCursor(0, 48);
display.print("P4= $");
display.print(precPR4);
display.print(" ");
display.print(tiemPR4*64);
display.display(); */
/*
display.clearDisplay();
display.setCursor(0, 0);
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(0, 16);
display.println(" Precio del producto");
display.print(" es de $");
display.print(precPR1);
display.setCursor(0, 40);
display.println(" Por favor, inserte");
display.print(" $");
display.print(precPR1-creditos);
display.print(" creditos mas");
display.display();
delay(3000);
*/
/*
display.clearDisplay();
display.setCursor(0, 0);
display.setTextSize(1);
display.setTextColor(WHITE);
display.println(" Seleccione producto");
display.println("");
display.print(" Producto 1 = $");
display.print(precPR1);
display.setCursor(0, 24);
display.print(" Producto 2 = $");
display.print(precPR2);
display.setCursor(0, 32);
display.print(" Producto 3 = $");
display.print(precPR3);
display.setCursor(0, 40);
display.print(" Producto 4 = $");
display.print(precPR4);
display.setCursor(0, 56);
display.print(" Creditos = $");
display.print(creditos);
display.display();
*/
/*
display.clearDisplay();
display.setCursor(0, 0);
display.setTextSize(1);
display.setTextColor(WHITE);
display.println(" Dispensando producto");
display.println(" Espere... ");
display.display();
for (int i = 0; i < 31; i++) {
int des;
des+8;
display.fillRect(0, 32, ((i+1)*4), 16, WHITE);
display.display();
delay(50);
}
*/
}