/* -----------------------------------------------------------------
------------------------- Codigo MultiHardWare ---------------------
----------------------------------------------------------------- */
#if defined(ESP8266)
#include <ESP8266WiFi.h>
#include <ESP8266WiFiMulti.h>
ESP8266WiFiMulti wifiMulti;
#pragma message "Codigo para ESP8266!"
#elif defined(ESP32)
#include <WiFi.h>
#include <WiFiMulti.h>
WiFiMulti wifiMulti;
#pragma message "Codigo para ESP32!"
#elif defined(ARDUINO)
#pragma message "Codigo para Arduino basado AVR (UNO, MEGA, etc)!"
#else
#pragma message "No es ni ESP32 o ES8266 o AVR, que es?"
#endif
/* -----------------------------------------------------------------
-------------------------- Librerias y Objetos ---------------------
----------------------------------------------------------------- */
template<class T> inline Print &operator <<(Print &obj, T arg) {
obj.print(arg);
return obj;
}
#include "mylib.h" // incluir una libreria antes instalada o escrita
/* -----------------------------------------------------------------
---------------- Declaracion de Variables y constantes -------------
----------------------------------------------------------------- */
// definir pines para el ultrasonido y los dos leds
#define PIN_TRIG 4
#define PIN_ECHO 5
#define PIN_L1 18
#define PIN_L2 19
float distancia; // definir distancia como variable flotante
/* -----------------------------------------------------------------
------------------------- Configuracion Arduino --------------------
----------------------------------------------------------------- */
void setup() {
Serial.begin(9600); // inicar puerto serial
// definir echo como entrada y trig, asi como ambos leds, como salidas
pinMode(PIN_TRIG, OUTPUT);
pinMode(PIN_ECHO, INPUT);
pinMode(PIN_L1, OUTPUT);
pinMode(PIN_L2, OUTPUT);
}
/* -----------------------------------------------------------------
---------------------------- Codigo Principal ----------------------
----------------------------------------------------------------- */
void loop() {
distancia = getDistancia(PIN_TRIG, PIN_ECHO); // llamar la funcion para optener la distancia
Serial << "distancia: " << distancia << "cm" << "\n"; // imprimir los valores leidos
if(Serial.available()){
int value; // definir la variable value
value = Serial.parseInt(); // leer valores digitados en la consola
binLed(value, PIN_L1, PIN_L2); // dependiendo del valor se procedera con la configuracion descrita en la libreria
}
delay(1000); // tiempo de espera o paralelo
}
/* -----------------------------------------------------------------
-------------------------------- Funciones -------------------------
----------------------------------------------------------------- */