Excelente muchas gracias, crees que funcione también con el software serial o colo con funciona con los puertos UART nativos que existen en cada microcontrolador?
Muchas gracias, me sirviò mucho la info que compartiste. Tengo cuna consulta. Necesitarìa que, en vez de imprimir el string, al llegar al caracter "salto de linea /n". Copiarlo a otro string y que se copien "i" strings mediante un bucle que incrmente los strings en la medida que se copian. Serà posible algo asì?
Mi problema es el siguiente. Tengo una pantalla nextion y envío datos desde ella, es decir un dato=1,2 o 3, entonces con estos datos indico que encienda mi proceso pero no se repite en el loop, como puedo lograr mantener el dato o si existe alguna forma de que se siga repitiendo el loop
Excelente. De los mejores tutoriales en YT. Hasta ahora no conocia el comando .reserve Funciona con todo tipo de variables?, Es decir, con arrays sin declaracion de cantidad de elementos, por ejemplo?
@@jadsa Muchas gracias. Siendo nuevo en este tema, me cuesta encontrar tutoriales buenos, los tuyos son la excepcion. Me tomo el atrevimiento de comentarte mi interes: Personalmente no veo mayor utilidad en el manejo de texto en arduino. para eso esta la laptop, salvo algun uso de display LCD o display de leds. Pero si, arduino es mucho mas que un juguete para escribir "Hola mundo", Con las suficientes precauciones, se puede convertir en un excelente y potente PLC, mucho mas versatil y programable que la mayoria. De hecho, estoy desarrollando una aplicacion para controlar una secadora industrial de ropa, con timer, control de motor, valvula de gas, sensor de temperatura, display de 7 segmentos 4 digitos y algunos comandos de botonera. La referencia de lenguaje de arduino, realmente es demasiado escueta y he decubierto sentencias como DDRx y PORTx desde otros lados, de muchisima utilidad, pero que arduino no menciona. No es mi intencion estudiar todo C++, pero si me interesa el potencial de arduino, particularmente el mega, del cual hay muy pocos tutoriales. Da la impresion de que mayormente los tutos estan dirigidos a jugar con el arduino1, o robots de juguete con versiones mas chicas, pero realmente pocos para explorar el fantastico potencial que encierra Realmente muy agradecido por tus tutoriales Saludos desde Argentina
Como incremento el tamaño del buffer? . Supongamos que desconozco la cantidad de bytes que va a llegar por el puerto serie y los 64 byte de Arduino no son suficientes. Como lo incremento a más? O como puedo almacenar los bytes que llegan en otra memoria.
hola muy buen video Pero tengo una pregunta yo estoy haciendo un programa en el cual tengo una comunicación serial con simulink y de ahi recibo unos valores y debo operar el valor presente - el valor pasado y eso dividirlo en el periodo de muestreo, pero no se como almacenar esos dos valores para operarlos
No se si la idea es esta. Parece que quieres 'integrar' una señal capturada por un sensor analogico. Defines dos variables, una "ValorActual" y otra "ValorAnterior". LA primera vez ambas toman el primer valor que venga del canal serie y tendras un incremento de valor igual a cero al ser iguales, divides por el tiempo de muestreo, seguramente será fijo del Sample&hold del ADC y tendras el primer valor igual a cero. [Cuidado no vayas a dividir por un tiempo de muestreo igual a cero dando un error de resultado] Luego tienes que pasar el contenido de "ValorActual" a la variable "ValorAnterior" y entrar en bucle, loop, para repetir la captura del nuevo valor del canal serie y meterlo en la variable "ValorActual", repetir la diferencia para el calculo del incremento y dividir otra vez por el tiempo transcurrido para el nuevo muestreo del ADC, siguiendo el bucle. Dentro del bucle tendrás que manejar los resultados consecutivos de la division (normalizar, filtrar, limitar) y supongo que o bien los envias por un canal serie o los metes en un string o fichero en la mem SD, registro de una tabla de la base de datos con mysql para graficar... Saludos.
Flush() does not work anymore for clearing the buffer, it does something else now. The only way you can clear the buffer is reading all the bytes. In a loop you can use serial.available > 0 and serial.read until the buffer gets empty.
Excelente, como todos sus videos, muy buen dato. Saludos desde Bogota
La segunda parte del video , lo que nesecitaba. Gracias por compatir.
Excelente muchas gracias, crees que funcione también con el software serial o colo con funciona con los puertos UART nativos que existen en cada microcontrolador?
Hola, no funciona con software serial. Solo puertos nativos. Saludos.
Muchas gracias, me sirviò mucho la info que compartiste.
Tengo cuna consulta.
Necesitarìa que, en vez de imprimir el string, al llegar al caracter "salto de linea /n". Copiarlo a otro string y que se copien "i" strings mediante un bucle que incrmente los strings en la medida que se copian.
Serà posible algo asì?
Se puede, busca string manipulation con arduino para que tengas varias funciones de ayuda.
@@jadsa muchas gracias
hola buenos dias, tengo una duda, cuando se lee el dato del buffer este se borra?
Si
@@jadsa existe alguna forma de que se mantenga el dato?
Mi problema es el siguiente.
Tengo una pantalla nextion y envío datos desde ella, es decir un dato=1,2 o 3, entonces con estos datos indico que encienda mi proceso pero no se repite en el loop, como puedo lograr mantener el dato o si existe alguna forma de que se siga repitiendo el loop
Excelente. De los mejores tutoriales en YT. Hasta ahora no conocia el comando .reserve Funciona con todo tipo de variables?, Es decir, con arrays sin declaracion de cantidad de elementos, por ejemplo?
Solamente es para el tipo de dato String
@@jadsa Muchas gracias. Siendo nuevo en este tema, me cuesta encontrar tutoriales buenos, los tuyos son la excepcion.
Me tomo el atrevimiento de comentarte mi interes: Personalmente no veo mayor utilidad en el manejo de texto en arduino. para eso esta la laptop, salvo algun uso de display LCD o display de leds.
Pero si, arduino es mucho mas que un juguete para escribir "Hola mundo", Con las suficientes precauciones, se puede convertir en un excelente y potente PLC, mucho mas versatil y programable que la mayoria. De hecho, estoy desarrollando una aplicacion para controlar una secadora industrial de ropa, con timer, control de motor, valvula de gas, sensor de temperatura, display de 7 segmentos 4 digitos y algunos comandos de botonera.
La referencia de lenguaje de arduino, realmente es demasiado escueta y he decubierto sentencias como DDRx y PORTx desde otros lados, de muchisima utilidad, pero que arduino no menciona.
No es mi intencion estudiar todo C++, pero si me interesa el potencial de arduino, particularmente el mega, del cual hay muy pocos tutoriales. Da la impresion de que mayormente los tutos estan dirigidos a jugar con el arduino1, o robots de juguete con versiones mas chicas, pero realmente pocos para explorar el fantastico potencial que encierra
Realmente muy agradecido por tus tutoriales
Saludos desde Argentina
Como incremento el tamaño del buffer? . Supongamos que desconozco la cantidad de bytes que va a llegar por el puerto serie y los 64 byte de Arduino no son suficientes. Como lo incremento a más? O como puedo almacenar los bytes que llegan en otra memoria.
Muy bueno!!!! Me pregunto si en arduino mega los puertos van del 0 al 3 o del 1 al 4
Gracias!!
Hola, el puerto serial por defecto no tiene número, los demás son el 1, 2, 3.
@@jadsa Muchas gracias
Bien explicado.
No se donde usaria este tip.
Para tus comunicaciones seriales con otros microcontroladores, la pc e incluso algún dispositivo móvil.
@@jadsa gracias por responder JHIMMY.
Saludos desde Argentina.
Super.
Excelente men 👍
hola muy buen video
Pero tengo una pregunta
yo estoy haciendo un programa en el cual tengo una comunicación serial con simulink y de ahi recibo unos valores y debo operar el valor presente - el valor pasado y eso dividirlo en el periodo de muestreo, pero no se como almacenar esos dos valores para operarlos
Hola, podrías mostrar tu código para poder entender mejor tu pregunta?
No se si la idea es esta. Parece que quieres 'integrar' una señal capturada por un sensor analogico. Defines dos variables, una "ValorActual" y otra "ValorAnterior". LA primera vez ambas toman el primer valor que venga del canal serie y tendras un incremento de valor igual a cero al ser iguales, divides por el tiempo de muestreo, seguramente será fijo del Sample&hold del ADC y tendras el primer valor igual a cero. [Cuidado no vayas a dividir por un tiempo de muestreo igual a cero dando un error de resultado]
Luego tienes que pasar el contenido de "ValorActual" a la variable "ValorAnterior" y entrar en bucle, loop, para repetir la captura del nuevo valor del canal serie y meterlo en la variable "ValorActual", repetir la diferencia para el calculo del incremento y dividir otra vez por el tiempo transcurrido para el nuevo muestreo del ADC, siguiendo el bucle.
Dentro del bucle tendrás que manejar los resultados consecutivos de la division (normalizar, filtrar, limitar) y supongo que o bien los envias por un canal serie o los metes en un string o fichero en la mem SD, registro de una tabla de la base de datos con mysql para graficar...
Saludos.
Como limpar o buffer? Serial.flush() não funciona. How to clear the buffer? Serial.flush() don't work.
Flush() does not work anymore for clearing the buffer, it does something else now. The only way you can clear the buffer is reading all the bytes. In a loop you can use serial.available > 0 and serial.read until the buffer gets empty.
Gracias por tu trabajo. ¿Cómo funciona SerialEvent() con puertos creados con la librería SoftwareSerial ?
Hola, no funciona con software serial.