User Tools

Site Tools


tecnologia:proyectos:atril

This is an old revision of the document!


PANELESP32
VCCVin
GNDGND
DINGPIO23
CSGPIO5
CLKGPIO18
#include <MD_Parola.h>
#include <MD_MAX72xx.h>
#include <WiFi.h>   
#include <HTTPClient.h>
#include <AsyncElegantOTA.h>


// Uncomment according to your hardware type
#define HARDWARE_TYPE MD_MAX72XX::FC16_HW
//#define HARDWARE_TYPE MD_MAX72XX::GENERIC_HW

// Defining size, and output pins
#define MAX_DEVICES 4
#define CS_PIN 5

const char* ssid     = "ESLAEKO_P.BAJA";
const char* password = NULL;

IPAddress ip(192,168,100,12);     
IPAddress gateway(192,168,100,1);   
IPAddress subnet(255,255,255,0); 
IPAddress dns(8,8,8,8);

AsyncWebServer server(80);

MD_Parola Display = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);
String my_ip;
String serverPath = "http://bateriaseko.lobo99.com/frases";
String payload ="";

int pinCoin = 15;   // pin de la Arduino donde conectamos la salida COIN del detector de monedas
int lectura = 0;   // variable para almacenar lo que leemos del pin COIN


void setup() {
  Display.begin();
  Display.setIntensity(0);
  Display.displayClear();
  Display.displayScroll("CONECTANDO WIFI", PA_CENTER, PA_SCROLL_LEFT, 25);

  Serial.begin(115200);
  delay(10);
  Serial.println('\n');
  
  WiFi.begin(ssid, password);
  WiFi.config(ip, gateway, subnet, dns);
  Serial.print("Connecting to ");
  Serial.print(ssid);

  while (WiFi.status() != WL_CONNECTED) {
    if (Display.displayAnimate()) {
    Display.displayReset();
  } 
  }

  Serial.println('\n');
  Serial.println("Connection established!");  
  Serial.print("IP address:\t");
  Serial.println(WiFi.localIP());

  server.on("/", HTTP_GET, [](AsyncWebServerRequest *request) {
    request->send(200, "text/plain", "V1.0 Prueba Panel Led");
  });
  
  
  AsyncElegantOTA.begin(&server);
  server.begin();
  Serial.println("HTTP server started");
  delay(1000);

  my_ip = WiFi.localIP().toString();
  Serial.println(my_ip);

  Display.displayClear();
  Display.displayScroll(my_ip.c_str(), PA_CENTER, PA_SCROLL_LEFT, 25);
  

  Serial.println(my_ip);

  for (int muestra_ip = 1; muestra_ip <= 2; muestra_ip++) {
    while (true) {  
      if (Display.displayAnimate()) {
        Display.displayReset();
      break;
      }  
    }
  }

  pinMode(pinCoin,INPUT);   // pinCoin es una entrada de información

}
void loop() {

  lectura = digitalRead(pinCoin);   // leemos el pinCoin
  Serial.println(lectura);          // escribimos la lectura en el puerto serie
  if (lectura==1)                   // si detecta moneda
    mensaje();                     // esperamos un segundo, para que no nos de muchos unos seguidos
  else                              // si no
    delay(50);                       // esperamos solo 50 milisegundos para que la siguiente lectura sea muy seguida
  
}


void mensaje(){
  
      HTTPClient http;
      
      // Your Domain name with URL path or IP address with path
      http.begin(serverPath.c_str());
      
      // Send HTTP GET request
      int httpResponseCode = http.GET();
      
      if (httpResponseCode>0) {
        Serial.print("HTTP Response code: ");
        Serial.println(httpResponseCode);
        String payload = http.getString();
        Serial.println(payload);
        //longitud frase
        Serial.println(payload.length());
        int largo = payload.length();
        String cadena = payload.substring(0,largo-1);

        //Frase sin caracter final
        Display.displayClear();
        Display.displayScroll(cadena.c_str(), PA_CENTER, PA_SCROLL_LEFT, 25);
        while (true) {  
        if (Display.displayAnimate()) {
          Display.displayReset();
          break;
          }  
        }


      }
      else {
        Serial.print("Error code: ");
        Serial.println(httpResponseCode);
      }
      // Free resources
      http.end();

}
tecnologia/proyectos/atril.1672286133.txt.gz · Last modified: by admin