Muchas gracias, como siempre aprendiendo mucho de ti. Me gustaría preguntarte, se podría ampliar la capacidad del ESP32 con otros 64Mb por ejemplo con un modulo de memoria y en memoria W25Q64 Flash?.. ya nos dirás si sabes y nos ilustraras SEGURO!!!! saludos
Buen día amigo excelente tutorial, tengo una duda como podría guardar los valores de una hora y minutos que se seleccionan por medio de una aplicación para encender un relay.
Hola amigo me encantan tus videos, tengo una pregunta yo se que este video no tiene que ver con el tema pero es posible usar el pin PD4, PD5 Y PD6 EN EL ATMEGA 2560 FUE QUE HICE UN IMPRESO Y LUEGO FUE QUE ME DI CUENTA QUE NO ESTÁN EEN EL AURDUINO COMO TAL GRACIAS POR TU RESPUESTA
Un saludo, excelente tutorial, hice un contador con pantalla LCD, y ahora quiero programar una memoria EEPROM, quisiera que me orientará al respecto gracias
saludos excelente tus videos, me gustaria un video de la comunicacion serie pero mas profundo y que toque temas de por ejemplo como cambiar los registros del arduino uno para usar velocidades en baud no estandar...
Hola, quiero saber si se puede eliminar el programa cargado en un atmega48p, encontré unos cuantos en unas placas y al querer cargar el bootloader Arduino me dice que no se puede por protección del copyright, cómo no se mucho de programación supongo que los programadores protegieron el código para que no pueda clonarse, lo que quiero es borrar la protección para poder cargar el bootloader del Arduino, y poder usar como un Arduino, gracias, saludos
Gran video!!! Hay algun forma de contactar por privado(telegram por ejemplo)? Tengo un asunto relacionado con una placa del año 1995. A ver si pudieras ayudarme. Mil gracias
Hola Amigo estoy tratando de hacer código que me guarde la SSID y el password del esp32 al inicial el código, es decir,en el Setup pero aunque lo que tengo está mal pues la password se convierte en la ssid y no sé qué esté haciendo mal, podría ayudarme a ver cual es mi error y si se puede agurdar en la EPORM para que esto funcione mucho mejor, dijo la parte de mi setup en respuesta a este comentario
void setup() { Serial.begin(115200); pinMode(Rele1, OUTPUT); pinMode(Rele2, OUTPUT); pinMode(Rele3, OUTPUT); pinMode(Rele4, OUTPUT); //digitalWrite(Rele1, 0); pinMode(Sirena, OUTPUT); // establecemos el pin movimSensor como interrupcion, asignamos la interrupcion en modo RISING pinMode(movimSensor, INPUT_PULLUP); attachInterrupt(digitalPinToInterrupt(movimSensor), detectaMovimiento, FALLING); pinMode(movimSensor2, INPUT_PULLUP); attachInterrupt(digitalPinToInterrupt(movimSensor2), detectaMovimiento2, FALLING); pinMode(movimSensor3, INPUT_PULLUP); attachInterrupt(digitalPinToInterrupt(movimSensor3), detectaMovimiento3, FALLING); pinMode(movimSensor4, INPUT_PULLUP); attachInterrupt(digitalPinToInterrupt(movimSensor4), detectaMovimiento4, FALLING); digitalWrite(Rele1, 0); digitalWrite(Rele2, 0); digitalWrite(Rele3, 0); digitalWrite(Rele4, 0); //--------------------------------------------------------------------------------- Wire.begin(); // inicializa bus I2C oled.begin(SSD1306_SWITCHCAPVCC, 0x3C); // inicializa pantalla con direccion 0x3C //--------------------------------------------------------------------------------- Serial.println("Digita cualquier tecla para comenzar con la configuración de su WiFi (tiene 45 segundos para todo esto)"); while(millis()0){ delay(2); pass = Serial.readString(); delay(2); Serial.println(pass); } while(pass != password && pass != PASSWORD1 && pass != "salir"){ timeOLED(); pass = ""; Serial.println("Favor de Digitar la contraseña de su WiFi"); while (Serial.available() == 0) { timeOLED(); pass = ""; } delay(2); timeOLED(); pass = Serial.readString(); delay(2); Serial.print("La Password que usted eligió fue: "); Serial.println(pass); //Serial.println("confirme"); delay(2); //Quitar PASSWORD1 = pass; int PASSWORD1_cont = PASSWORD1.length()+1; char ArrayP [PASSWORD1_cont]; PASSWORD1.toCharArray(ArrayP, PASSWORD1_cont); password = ArrayP; Serial.println(password); } } Serial.print("Repito, su contraseña es: "); Serial.println(password); Serial.println("Ahora vuela a digitar cualquier caracter y proceda a ingresar el nombre de la Red WiFi en los siguientes 30s"); //pass = ""; while(millis()0){ delay(2); voice = Serial.readString(); delay(2); Serial.println(voice); } while(voice != ssid && voice != SSID1 && voice != "salir"){ voice = ""; timeOLED(); Serial.println("Favor de Digitar la SSID de su WiFi"); //-- while (Serial.available() == 0) { timeOLED(); voice = ""; } delay(2); timeOLED(); voice = Serial.readString(); delay(2); Serial.print("La SSID que usted eligió fue: "); Serial.println(voice); delay(2); //Quitar //password = voice; //Serial.println(password); SSID1 = voice; int SSID1_cont = SSID1.length()+1; char ArrayS [SSID1_cont]; SSID1.toCharArray(ArrayS, SSID1_cont); ssid = ArrayS; Serial.println(ssid); } } Serial.print("Repito, su ssid es: "); Serial.println(ssid); voice = ""; //----------------------------------------------------------------------------------------------- WiFi.mode(WIFI_STA); // Connect to Wi-Fi WiFi.begin(ssid, password); client.setCACert(TELEGRAM_CERTIFICATE_ROOT); // Agregamos el certificado raiz para api.telegram.org digitalWrite(Rele1, 0); digitalWrite(Rele2, 0); digitalWrite(Rele3, 0); digitalWrite(Rele4, 0); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.println("Connecting to WiFi..."); delay(500); Serial.print("Conectando con... ("); Serial.print(ssid); Serial.print(","); Serial.print(password); Serial.print(") "); } Serial.println(""); Serial.println("WiFi connected"); Serial.print("IP address: "); Serial.println(WiFi.localIP()); bot.sendMessage(CHAT_ID, "Se ha Iniciado el Bot - Cargó este código o se había perdido la conexión a internet", ""); }
ปีที่แล้ว
@@einarpoisot9507 Seguramente no pusiste correctamente la dirección desde donde leer, si un string mide 40 letras, necesitas 40 bytes para almacenarlo ¿comprendes? si guardas el ssid en la dirección 0 y el password en la dirección 1 (un dato está sobreescribiendo el otro) necesitas guardar lo que mide cada cadena y leer no con una dirección fija, sino relativa a lo que miden los datos
Cuánta información y que bien explicado. Exhaustivo y ameno. Me quito el sombrero. Gracias por el gran trabajo! 👏🙌👏
Oye ELECTRONOOBS, me gustan mucho estos vídeos! Muchas gracias.
Saludos desde México.
Como siempre excelentes enseñanzas.
Muy prácticas y útiles.
Muchas gracias, como siempre aprendiendo mucho de ti. Me gustaría preguntarte, se podría ampliar la capacidad del ESP32 con otros 64Mb por ejemplo con un modulo de memoria y en memoria W25Q64 Flash?.. ya nos dirás si sabes y nos ilustraras SEGURO!!!! saludos
Gracias, justo lo que buscaba y super bien explicado.
Excelente siempre tuve curiosidad por conocer a profundidad el funcionamiento de estas memorias, gracias.
Buen día amigo excelente tutorial, tengo una duda como podría guardar los valores de una hora y minutos que se seleccionan por medio de una aplicación para encender un relay.
Hola amigo me encantan tus videos, tengo una pregunta yo se que este video no tiene que ver con el tema pero es posible usar el pin PD4, PD5 Y PD6 EN EL ATMEGA 2560 FUE QUE HICE UN IMPRESO Y LUEGO FUE QUE ME DI CUENTA QUE NO ESTÁN EEN EL AURDUINO COMO TAL GRACIAS POR TU RESPUESTA
Como siempre gracias muy bien explicado
Muchas gracias por la clase
Un saludo, excelente tutorial, hice un contador con pantalla LCD, y ahora quiero programar una memoria EEPROM, quisiera que me orientará al respecto gracias
saludos excelente tus videos, me gustaria un video de la comunicacion serie pero mas profundo y que toque temas de por ejemplo como cambiar los registros del arduino uno para usar velocidades en baud no estandar...
Parabéns pela didática!
gracias que buena explicacion
Hola ELECTRONOOBS, me gustaría que hicieras un video sobre SquareLine Studio para desarrollar interfaces gráficas para pantallas, saludos!
demasiado buen video
Super que buena explicación
¿Usando punteros?
Gracias amigo
7:13 cada ves que arranca guarda el 25 en la eeprom, o sea que si en el programa cambiamos el valor, cuando reconectamos vuelve a guardar 25
Buen video
Muy bueno gracias
Capo 😉
no se de donde lo habre sacado pero tengo el mismo chip ese que mencionaste eprom
Hola, quiero saber si se puede eliminar el programa cargado en un atmega48p, encontré unos cuantos en unas placas y al querer cargar el bootloader Arduino me dice que no se puede por protección del copyright, cómo no se mucho de programación supongo que los programadores protegieron el código para que no pueda clonarse, lo que quiero es borrar la protección para poder cargar el bootloader del Arduino, y poder usar como un Arduino, gracias, saludos
Great video, how to increase Vram memory? Its only about 4000kb on uno, i think..
Excelente video. Saludos
Good ✅✅✅✅✅✅✅✅✅✅✅✅
Gran video!!! Hay algun forma de contactar por privado(telegram por ejemplo)? Tengo un asunto relacionado con una placa del año 1995. A ver si pudieras ayudarme. Mil gracias
👏🏼👏🏼👏🏼👌🏼👌🏼👌🏼💪💪💪💪🇦🇷🇦🇷🇦🇷🇦🇷!!!muchaa cositas!!!puuuff
para los módulos EPS32 se utiliza de la misma forma?
ESP32 con Arduino? sí
@@alberto3028 gracias
Hola Amigo estoy tratando de hacer código que me guarde la SSID y el password del esp32 al inicial el código, es decir,en el Setup pero aunque lo que tengo está mal pues la password se convierte en la ssid y no sé qué esté haciendo mal, podría ayudarme a ver cual es mi error y si se puede agurdar en la EPORM para que esto funcione mucho mejor, dijo la parte de mi setup en respuesta a este comentario
void setup() {
Serial.begin(115200);
pinMode(Rele1, OUTPUT); pinMode(Rele2, OUTPUT); pinMode(Rele3, OUTPUT); pinMode(Rele4, OUTPUT); //digitalWrite(Rele1, 0);
pinMode(Sirena, OUTPUT); // establecemos el pin movimSensor como interrupcion, asignamos la interrupcion en modo RISING
pinMode(movimSensor, INPUT_PULLUP); attachInterrupt(digitalPinToInterrupt(movimSensor), detectaMovimiento, FALLING);
pinMode(movimSensor2, INPUT_PULLUP); attachInterrupt(digitalPinToInterrupt(movimSensor2), detectaMovimiento2, FALLING);
pinMode(movimSensor3, INPUT_PULLUP); attachInterrupt(digitalPinToInterrupt(movimSensor3), detectaMovimiento3, FALLING);
pinMode(movimSensor4, INPUT_PULLUP); attachInterrupt(digitalPinToInterrupt(movimSensor4), detectaMovimiento4, FALLING);
digitalWrite(Rele1, 0); digitalWrite(Rele2, 0); digitalWrite(Rele3, 0); digitalWrite(Rele4, 0);
//---------------------------------------------------------------------------------
Wire.begin(); // inicializa bus I2C
oled.begin(SSD1306_SWITCHCAPVCC, 0x3C); // inicializa pantalla con direccion 0x3C
//---------------------------------------------------------------------------------
Serial.println("Digita cualquier tecla para comenzar con la configuración de su WiFi (tiene 45 segundos para todo esto)");
while(millis()0){
delay(2);
pass = Serial.readString(); delay(2);
Serial.println(pass);
}
while(pass != password && pass != PASSWORD1 && pass != "salir"){
timeOLED(); pass = "";
Serial.println("Favor de Digitar la contraseña de su WiFi");
while (Serial.available() == 0) {
timeOLED(); pass = "";
} delay(2); timeOLED();
pass = Serial.readString(); delay(2);
Serial.print("La Password que usted eligió fue: "); Serial.println(pass); //Serial.println("confirme");
delay(2); //Quitar
PASSWORD1 = pass;
int PASSWORD1_cont = PASSWORD1.length()+1;
char ArrayP [PASSWORD1_cont];
PASSWORD1.toCharArray(ArrayP, PASSWORD1_cont);
password = ArrayP;
Serial.println(password);
}
} Serial.print("Repito, su contraseña es: "); Serial.println(password);
Serial.println("Ahora vuela a digitar cualquier caracter y proceda a ingresar el nombre de la Red WiFi en los siguientes 30s");
//pass = "";
while(millis()0){
delay(2);
voice = Serial.readString(); delay(2);
Serial.println(voice);
}
while(voice != ssid && voice != SSID1 && voice != "salir"){
voice = ""; timeOLED();
Serial.println("Favor de Digitar la SSID de su WiFi"); //--
while (Serial.available() == 0) {
timeOLED(); voice = "";
} delay(2); timeOLED();
voice = Serial.readString(); delay(2);
Serial.print("La SSID que usted eligió fue: "); Serial.println(voice);
delay(2); //Quitar //password = voice; //Serial.println(password);
SSID1 = voice;
int SSID1_cont = SSID1.length()+1;
char ArrayS [SSID1_cont];
SSID1.toCharArray(ArrayS, SSID1_cont);
ssid = ArrayS;
Serial.println(ssid);
}
} Serial.print("Repito, su ssid es: "); Serial.println(ssid); voice = "";
//-----------------------------------------------------------------------------------------------
WiFi.mode(WIFI_STA); // Connect to Wi-Fi
WiFi.begin(ssid, password);
client.setCACert(TELEGRAM_CERTIFICATE_ROOT); // Agregamos el certificado raiz para api.telegram.org
digitalWrite(Rele1, 0); digitalWrite(Rele2, 0); digitalWrite(Rele3, 0); digitalWrite(Rele4, 0);
while (WiFi.status() != WL_CONNECTED) {
delay(500); Serial.println("Connecting to WiFi..."); delay(500);
Serial.print("Conectando con... ("); Serial.print(ssid); Serial.print(","); Serial.print(password); Serial.print(")
");
} Serial.println(""); Serial.println("WiFi connected"); Serial.print("IP address: "); Serial.println(WiFi.localIP());
bot.sendMessage(CHAT_ID, "Se ha Iniciado el Bot - Cargó este código o se había perdido la conexión a internet", "");
}
@@einarpoisot9507 Seguramente no pusiste correctamente la dirección desde donde leer, si un string mide 40 letras, necesitas 40 bytes para almacenarlo ¿comprendes? si guardas el ssid en la dirección 0 y el password en la dirección 1 (un dato está sobreescribiendo el otro) necesitas guardar lo que mide cada cadena y leer no con una dirección fija, sino relativa a lo que miden los datos
Gracias por el aporte tan profecional... Esto no se ve en la red ..arduino profecional..
Lo que suelo hacer es crear un struct con los campos que necesito, así solo tengo que leer con get o put el objeto y no varias variables.
Cria um vídeo explicando como usar a eeprom externa ao ARDUÍNO.
Si usas la librería "sparkfun_external_eeprom" la funciones son similares con la diferencia que debes configurar algunas funciones
@@alejandrocaceres4379 gracias
*Biblioteca* ¿Librería?
Librería en ingles es book store, biblioteca es library, es un false friend