#12 ARRAYS en ARDUINO. sizeof ()

Поділитися
Вставка
  • Опубліковано 23 жов 2024

КОМЕНТАРІ • 60

  • @MakingRoboticsColombia
    @MakingRoboticsColombia Рік тому +1

    💥​Muy buen video, un gran saludo.

  • @alguien0619
    @alguien0619 2 роки тому

    Gracias amigo tu video me ayudo mucho, me ayudo a resolver un problema que estaba arrastrando hace semanas en mi proyecto y tambien simplifico mi codigo.

    • @Electroduino
      @Electroduino  2 роки тому +1

      Gracias, un placer haber sido de ayuda.

  • @Patricio_Faundez_Arancibia
    @Patricio_Faundez_Arancibia 3 роки тому +1

    Gracias compañero muy buen video, tienes razón acabo de minimizar todo el código de un ascensor.
    Es una herramienta muy poderosa.

    • @Electroduino
      @Electroduino  3 роки тому +1

      De nada Patricio, me alegro que le saques provecho.

  • @andresmindiola5027
    @andresmindiola5027 4 роки тому

    Wooo que video te felicito, eres el único que habla de arrays pero lo explica de forma didáctica que cualquiera pueda entender. Los demás solo van directo al código y nadie lo explica

  • @marpal8279
    @marpal8279 5 років тому

    Hola ingeniero, no fue sino hasta ahora que encontre su canal y lo felicito y agradezco lo que comparte sin ningun interes. Yo por mi parte me suscribo a su canal,pues me me gusta su didactica. Adelante amigo.

  • @diegocantudo
    @diegocantudo 5 років тому +1

    Muchas gracias por el perfecto video que nos ha presentado.
    Muy fácil de entender para mi, que soy un novato en éstas líderes.
    Ahora viene el pero...
    Basado en su talante abierto, quisiera rogarle un ejemplo
    de la función map con datos de un array.
    Por ejemplo, cambios paulatinos de colores RGBW, donde desde
    un color definido por las cuatro cifras, pase de modo suave a
    otro color definido de la misma forma.
    Gracias por todo y un saludo.

  • @vladimirlopez2895
    @vladimirlopez2895 4 роки тому +1

    muy bien explicado muy profesional tu vídeo

  • @pablobochaloconte
    @pablobochaloconte 5 років тому

    Gracias por sus tutorialesme son de mucha ayuda para comenzar a comprender el lenguaje de arduino! Saludos

  • @fernandobarroso2366
    @fernandobarroso2366 4 роки тому

    Permítame una sugerencia . Creo que merece la pena que dedique un video al tema de usa la memoria e programa . Ahora ha todo el mundo le interesa .

    • @Electroduino
      @Electroduino  4 роки тому

      Mira el vídeo ua-cam.com/video/QfKLmRKOvtA/v-deo.html
      Si usas CONST, esa variable se almacena en la memoria de programa

  • @WALTERCARRIONTORRESValiCT
    @WALTERCARRIONTORRESValiCT 4 роки тому

    Muy buen aporte, muchas gracias
    Me queda para mi programacion n x m manejar una matriz, el aporte es bueno para iniciar... mil gracias

  • @fxt00
    @fxt00 3 роки тому

    Hola Ingeniero.
    Es una maravilla su metodología!!
    Abra una manera en que comparta sus presentaciones?!
    Son mucho mas potentes que los quick char o cheat sheet que hay...

    • @fxt00
      @fxt00 3 роки тому

      Un saludo desde Argentina

    • @Electroduino
      @Electroduino  3 роки тому

      Hola Randy, las tienes en la página de electroduino junto a simulaciones de la programación, código fuente. Etc. En electroduino.ddns.net. Saludos.

    • @fxt00
      @fxt00 3 роки тому

      Excelente profesor!!! Muchas gracias y buen día

  • @anraur
    @anraur 4 роки тому

    Hola electroduino. Tengo una duda, porque usas char de variable de los LED?
    Yo tenía entendido que las char almacenan caracteres como letras signos o cosas parecidas. Porque no has usado la función byte?
    Magnífica explicación por cierto.

    • @Electroduino
      @Electroduino  4 роки тому

      El tipo de variable char al igual que el tipo byte almacena un número entero de 8 bits sin signo, es decir desde 0 a 255, antiguamente no existía byte. El nombre Char viene porque el número entero almacenado se puede interpretar, al sacar su valor por pantalla o por el puerto serie, con el carácter que representa ese número en la tabla ASCII (que supongo que byte lo hará igual). Si te resulta más cómodo byte puedes usarlo igualmente, son complementarios. Espero que te ayude.

    • @anraur
      @anraur 4 роки тому

      @@Electroduino Me ha quedado clarísimo, gracias por la aclaración.

  • @imperiosheriff
    @imperiosheriff 3 роки тому

    muchas gracias.. una pregunta, porque en este ejemplo debemos poner el for en el setup tambien?

    • @Electroduino
      @Electroduino  3 роки тому

      Es una forma de aprovechar que ya que están todos los pines en un Array poder configurarlos en una sola línea, sin tener que escribir un pinMode por cada led o pin. En este caso solo hay 4 leds, pero imagina una instalación de navidad con miles de bombillitas... pues en una linea de código estaría resuelto.

    • @imperiosheriff
      @imperiosheriff 3 роки тому

      @@Electroduinook entendido, gracias

  • @RayPrueba
    @RayPrueba 5 років тому

    Gracias, buscaba una manera de saber la longitud de los arrays. Muchisimas gracias.

  • @fernandobarroso2366
    @fernandobarroso2366 4 роки тому

    Usted dice que el array esta en la memoria ram. No se pueden hacer en la memoria de programa?
    Por ejemplo tengo varios textos que voy a mostrar en un LCD en funciona de una variable.
    Los texto son fijos, podrían estar en la memoria de programa NO?

  • @amoMiFlia
    @amoMiFlia 3 роки тому

    Muy buena tu explicación pero una duda si necesito tener un dato en de la matrizz definida según la medida por un sensor ultrasonico como podría ser... Te agradezcoa guía ejemplo: distancia 299 CMS corresponde a ala posición 299 suponiendo q la matriz definida tiene 400 valores de 0 a 400

    • @Electroduino
      @Electroduino  3 роки тому

      Hola,
      Primero define el array (ejemplo distancia) como integer, porque veo que usas valores que superan al 255 y con un total de 400 posiciones como tu me indicas.
      int distancia[400];
      luego asigna el valor que te da el sensor a la posición del array. Podría ser algo así:
      distancia[sensor]=sensor;
      No se exactamente si es eso lo que buscas.

  • @georgebigouch330
    @georgebigouch330 4 роки тому

    Hola Electroduino, te agradeceria nos indiques si es posible tabajar con Arrays con mas de una dimension, saludos

    • @Electroduino
      @Electroduino  4 роки тому +1

      Hola George,
      Puedes generar más dimensiones, por ejemplo un array de dos dimensiones de 3x2 sería:
      int tamano[3][2]={{20, 10}, {5, 2}, {0, 1}};
      También puedes dejar la primera dimensión sin escalar para que se ajuste de forma automática:
      int tamano[ ][2]={{20, 10}, {5, 2}, {0, 1}, {4, 1}, {3, 1}};
      La forma de acceder sería a=tamano[2][0]; (a valdría 0)
      La forma de almacenar sería tamano[2][0]=3;
      Espero que te ayude.

    • @georgebigouch330
      @georgebigouch330 4 роки тому

      @@Electroduino Gracias Electroduino lo pondre en practica

  • @fernandobarroso2366
    @fernandobarroso2366 4 роки тому

    Como es ingeniero creo que podría entender mi duda. He trabajado en ensamblador con micros de Atmel de la familia del 51 , Hay instrucciones para leer memoria de programa (flash). Movc se llama . Esto me permite por ejemplo leer mensajes fijos. "Hola Profesor", o tener una lista de mensajes que no tengo por que ocupar la RAM, que es mas escasa. Se puede hacer esto en arduino?

    • @Electroduino
      @Electroduino  4 роки тому

      Hola Fernando, mira esta página www.arduino.cc/reference/en/language/variables/utilities/progmem/

    • @fernandobarroso2366
      @fernandobarroso2366 4 роки тому

      @@Electroduino Muchas gracias. El único que me ha sabido contestar. Los informáticos putos no miran estas cosas.

  • @karredpool5470
    @karredpool5470 5 років тому

    hola jose.
    me podria explicar, si no le importa, el sentido del bucle for en la funcion setup.
    No la declaracion de los pines de salida, que si co capto, es el bucle que no lo entiendo, como se leeria. gracias..

    • @Electroduino
      @Electroduino  5 років тому +1

      Hola, En el Hardware se han definido cuatro pines para los leds, y esos pines se han incluido en un array llamado LEDS[ ], en la función SETUP, se podrían definir los pines de los leds como salidas con cuatro instrucciones pinMode, una para cada pin, o simplificar y crear un bucle FOR que recorra todas las posiciones del ARRAY (que contiene los números de los 4 pines como ya te he comentado) y le aplica la instrucción pinMode para hacerlos de salida.

    • @karredpool5470
      @karredpool5470 5 років тому

      @@Electroduino
      hola, ok bien entendido , vale se puede crear un FOR en SETUP para simplificar las salidas , perfecto, gracias y un saludo.

  • @davidmora2105
    @davidmora2105 4 роки тому

    Hola estimado, gracias por su video, pero no entendí muy bien el tema del array, le explico, quiero hacer un array con tiempos, ej: tengo un temporizador, que me permita elegir un tiempo través de un pulsador o botón , entre (00:00 , 15, 30, 45, y 60 minutos) como hago el array que me muestre el tiempo que quiero ( ojo, estoy usando un display 4 dígitos 7 segmentos , el modulo TM1637... desde ya agradezco su respuesta... saludos...

    • @Electroduino
      @Electroduino  4 роки тому

      Hola David, tendrías que hacer un 1er array que contengan todos los leds que se tienen que encender y apagar para los 10 dígitos del 0 al 9, y otro 2º array de 4 celdas para controlar los 4 números de minutos y segundos. Una vez tengas eso hecho hacer una rutina que esté enviando el array 2º con los dígitos correspondientes utilizando el array 1º. En esta direccion aficionelectronica.wordpress.com/2016/03/27/display-de-4-digitos-tm1637/ tienes las librerias del módulo TM1637 que hacen lo que te expliqué y dos ejemplos de código por si quieres darle un vistazo. Un saludo.

  • @josuemiguelfloresalvarez7419
    @josuemiguelfloresalvarez7419 4 роки тому

    buenas ,me ha servido para entender los array , pero tengo un problema e aplicado esto para el serial especificamente con el bluetooth por ejemplo e puesto en el inicio
    char accion[6]; y int indice=0; en el void loop accion[indice]=serial.read y que indice vaya aumentando cada ves hay un pulso en el celular y la condicion si if ( accion [0]=='a' ){que ejecute la condicion} pero esto al pulsar el a en el celular no se ejecuta esa condicion , pero si lo pongo normal como accion=serial.read sin array ,entonces si se ejecuta como puedo solucionar este problema ya que deseo utilizar los array.

    • @Electroduino
      @Electroduino  4 роки тому

      Lo que se me ocurre, es que el primer carácter que recibes por el serial no sea 'a', sino ruido al iniciar arduino, y por tanto la comparación no sea cierta para el primer carácter del array. Prueba vaciar el buffer serial al inicializar arduino. Si pones if (accion[indice]=='a') { } antes de incrementar indice ¿te funciona?. Esto validaría mi teoría.

  • @fernandobarroso2366
    @fernandobarroso2366 4 роки тому

    Hola , podría aclararme la duda de como poder hacer una tabla, en la memoria de programa

    • @Electroduino
      @Electroduino  4 роки тому

      Usa PROGMEM

    • @fernandobarroso2366
      @fernandobarroso2366 4 роки тому

      @@Electroduino Muchas gracias por contestar. Ahora reviso que es PROGMEM Le sigo con mucho interés en su canal porque estoy empezando y explica como los ángeles.

  • @juansebastiangonzalezpena3038
    @juansebastiangonzalezpena3038 5 років тому

    buenas nesesito su contacto estoy realizando un codigo que lleva vectores pero me falta organizar la idea agradezco si se pone en contacto con migo

    • @Electroduino
      @Electroduino  5 років тому

      Hola Juan, en la pestaña de 'Mas información' del canal pone una dirección de correo.

  • @MegaClaudj
    @MegaClaudj 4 роки тому +1

    7:52 el valor de 3 paso a ser 5 y deberia haber quedado en 3

    • @Electroduino
      @Electroduino  4 роки тому

      Efectivamente Claudio, hay una errata en la transparencia, al evaluar el segundo 3 del array original como en el primero, tendría que ser 3 en el array resultante y no 5. Muchas gracias.

    • @MegaClaudj
      @MegaClaudj 4 роки тому +1

      @@Electroduino no puedo creer que yo haya corregido algo de acá... 47 años me esta costando horrores aprender pero gracias, son de mucha ayuda!, molestaría mucho enviarles un problema que estoy teniendo?

    • @Electroduino
      @Electroduino  4 роки тому

      Comenta para ver si puedo ayudarte.

    • @MegaClaudj
      @MegaClaudj 4 роки тому

      ​@@Electroduino
      Realice una app android en inventor la cual tiene 34 botones , 32 activan o desactivan 16 reles por medio de mensajes bluetooth (el cual funicona bien ) , pero ademas quiero tener la opcion de que los reles entren en alguna secuencia estipiulada que ya tambien tengo programada en arduino por medio de millis (el cual tambien funciona perfecto) ,(lo intente con delays pero luego aprendi que no funiconaria ), el tema es que al mezclar ambos sketch no logro que funcione¡ quiero con uno de esos dos botones enviar un mensaje extra para que el programa de secuencia comience a actuar y otro para que salga de ese bucle , he intentado mediante if , if else y subrutinas, pero al enviar el mensaje bt , al parecer no entra en esa secuencia pero los demas botones se desactivan (como que si entro en dicha secuencia) , estoy desorientado , me gustaria que viera el proyecto si pudiera mandarlo a algun mail.

    • @Electroduino
      @Electroduino  4 роки тому +1

      Hola Claudio, veo que es una duda de un proyecto personal, intento no comprometerme a ese nivel, sino a dudas conceptuales. Lo siento. Si te puede ayudar: comprueba la rutina de recepción de los mensajes Bt, debe de haber una palabra o código para cada relé, tanto para activarlo como para desactivarlo, sustituye el contenido del código del botón que quieres que haga la secuencia programada para los relés, por el llamamiento a esa función (ej. SecuenciaReleOn(1), y el de paro de la secuencia por el llamamiento a dicha función (ej. SecuenciaReleOff(1). Mediante variables puedes testear si el relé (1) está en modo secuencia o no y cuando evalúes con Millis actúas en consecuencia dependiendo del valor de las variables. Espero que te ayude en algo, un saludo.

  • @mabaru
    @mabaru 5 років тому

    He calcado incluido foto del programa y comparado con la descarga del código de programa que ofreces y nada, mensaje de error, revisado una y otra vez. Asi no hay quien aprenda

    • @Electroduino
      @Electroduino  5 років тому

      Hola Mabaru, Antes de nada muchas gracias por tu aportación al canal. He probado el código del archivo que adjunto con el vídeo en youtube y funciona correctamente. No se que puedes haber escrito mal. Dime el mensaje del error y si te pone el número de línea para ver si te puedo ayudar. Un saludo y muchas gracias.

    • @mabaru
      @mabaru 5 років тому

      Hola ingeniero, antes que nada tengo que decir con que intento programar.
      Utilizo una raspberry pi 2b y la aplicación de arduino que viene pre instalada, que es la versión 2:1.0.5+dfsg2.4
      Bueno... puntualizado esto escribo el mensaje que aparece en la parte inferior de la pantalla:
      Error Compilando
      ----------------------------------------------------------------------------------------------------------------------------------------------------------
      sketch-dec08d.ino: In function `void setup ( )' :
      skech-dec08d.ino: 19:38: error: `LEDS' cannot be used as a function
      He intentado a ver como podía copiar el mensaje directamente desde arduino o incluso con una foto desde el móvil pero o no he sabido o es que no se puede.
      Espero su respuesta y gracias.

    • @Electroduino
      @Electroduino  5 років тому

      Hola Mabaru, LEDS no es una función, es un array, y por tanto no son paréntesis lo que engloba a una variable por ejemplo LEDS[f] sino corchetes. Comprueba si es ese el error en la línea "for (f=0; f

    • @mabaru
      @mabaru 5 років тому

      Nada, ni copiando y pegando tu programa descargado. Y eso que he intentado actualizar el arduino en la raspberry pi, pero me dice que ya tengo la última versión, será para el modelo 2B de raspberry.
      En definitiva, que no es que me rinda, pero es una cuestión de prioridades y hay otras cosas a las que dedicarse, además esto del pin-pon o coche fantástico, ya lo tengo en otro programa, también con arrays, y me funciona.
      Espero tu próximo vídeo, a ver si es de lo que me gusta 😉, SALUDOS

    • @passion_maker3238
      @passion_maker3238 5 років тому

      y por q culpas al maestro