Juegos Robótica

Cursos de programación con robótica educativa

  • Newsletter
  • ¿Dudas? Así es la plataforma de cursos
  • Iniciar sesión

Reto #11: Radar de velocidad con Arduino y mBlock.

En esto reto hay que hacer un radar de velocidad que pueda registrar la velocidad de coches de juguete.

Se trata de un reto de nivel iniciación.

Reto #11: Radar de velocidad con Arduino y mBlock.

El reto lanzado en el twitter de Juegos Robótica era el siguiente:

reto radar arduino

Este reto se puede resolver básicamente de dos maneras, y aunque ninguna de ellas funcione exactamente como un radar de velocidad real, nos devolverán la velocidad de un objeto que se acerque a nuestro radar.

La mayoría de radares funcionan a través de micro ondas que varían su frecuencia al rebotar en un vehículo según la velocidad a la que vaya, pudiendo calcular por tanto la velocidad real.

funcionamiento radar velocidad

Una forma sería utilizar dos detecciones (ultrasónicos, infrarrojos, capacitivos, fotocélulas) separadas una distancia concreta por las que pasará el coche. Cronometrando el tiempo que pasa entre una detección y otra, y siendo conocida la distancia, podemos calcular la velocidad. Así funcionan algunos radares de tramo y de bandas.

radar de tramo

La otra manera de resolver el reto del radar con Arduino sería medir cuanta distancia recorre el coche en un tiempo determinado. Esta es la opción que he elegido yo y que podéis ver en el vídeo.

Mediante un sensor de ultrasonidos tomaremos dos medidas de distancia en un intervalo de tiempo concreto, en mi caso una décima de segundo. Restando las distancias podemos saber la distancia recorrida en esa décima de segundo y por lo tanto calcular la velocidad.

Finalmente se muestra la medida en un display de cristal líquido mediante comunicación I2C.

El circuito básico utilizado es el siguiente, aunque se podría utilizar otro tipo de pantalla o un sensor de ultrasonidos de 3 pines en vez de 4 con trigger y echo. No olvides alimentar tus componentes aunque no aparezca en el esquema con 5v y conectar a masa.

Podéis ver el vídeo de la resolución en una placa Arduino Uno programada a través de mBlock (Scratch) por bloques.


Si queréis ser vosotros los que lancéis el reto con Lego Mindstorms EV3, mBot o Arduino no tenéis más que poneros en contacto o dejar un comentario.

La semana que viene tendremos nuevo reto, estad atent@s!

 


Comments

  1. Jose says

    06/06/2017 at 18:42

    Muy buenas Dani.

    En primer lugar, felicitarte por los excelentes vídeos que estás realizando.

    Estoy intentando realizar esta actividad, pero tengo problemas con la subida a Arduino. El error que tengo es el siguiente:
    C:\Program Files\mBlock\Arduino\hardware\tools\avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10605 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR -IC:\Program Files\mBlock\Arduino\hardware\arduino\avr\cores\arduino -IC:\Program Files\mBlock\Arduino\hardware\arduino\avr\variants\standard -IC:\Program Files\mBlock\Arduino\hardware\arduino\avr\libraries\Wire -IC:\Program Files\mBlock\Arduino\hardware\arduino\avr\libraries\SoftwareSerial C:\Users\xxx~1\AppData\Local\Temp\build4291019640307635474.tmp\project_RadarMBOTPoliceconArduino5_2.cpp -o C:\Users\Jxxx~1\AppData\Local\Temp\build4291019640307635474.tmp\project_RadarMBOTPoliceconArduino5_2.cpp.o
    project_RadarMBOTPoliceconArduino5_2.ino:5:31: fatal error: LiquidCrystal_I2C.h: No such file or directory
    compilation terminated.
    Error de compilaci髇

    Supongo que será un problema de librería de “LiquidCrystal_I2C”, ya que en la ventana donde tenemos todos los bloques de código, en Robots, a ti te aparece “LCD with I2C interface” y a mi LCD1602IIC.

    Espero tu respuesta.

    Gracias de antemano

    Responder
    • Dani says

      06/06/2017 at 19:09

      Hola José,
      En mBlock entra en “extensiones” y una vez dentro pulsa “administrar extensiones” En la casilla “buscar” pon “I2C”o “LCD2 e intenta buscar la extensión “LCD with I2C interface”. Luego le das a “añadir extensión” y ya la deberías tener disponible.
      En principio perfectamente te debería servir otra librería, pero si que parece que el problema está en la librería. Inténtalo y me dices.
      Saludos!

      Dani S.

      Responder
  2. Jose says

    07/06/2017 at 13:19

    Muy buenas de nuevo,

    No he conseguido arreglarlo. Si que he importado la librería pero sigue dando el mismo fallo a la hora de compilar. He probado hacerlo con el MBOT pero no me calcula bien la velocidad. Si te paso una captura del código me podrías ayudar? Si quieres te lo dejo en los comentarios de la página de Facebook.

    Saludos

    Responder
    • Dani says

      07/06/2017 at 14:00

      Hola Jose!
      Te envío un correo para estar en contacto y que me puedas enviar el código para probarlo.
      Saludos!

      Dani S.

      Responder
      • JULIO says

        29/01/2019 at 23:11

        buenas me puede ayudar porfa

        Responder
        • Dani says

          30/01/2019 at 07:24

          Dime cómo puedo ayudarte y lo intento.

          Responder
      • Mario says

        20/05/2019 at 03:25

        Hola Danni, tengo el mismo problema que JULIO says, hay manera de que puedas apoyar?

        Responder
        • Dani says

          20/05/2019 at 07:43

          Hola Mario,
          No veo cuál era el problema de Julio, pero con este reto hay personas que tienen problema con la librería de Arduino para manejar el display.
          Podéis intentar reinstalar la librería directamente en el IDE de Arduino en vez de que venga dada por la extensión de mBlock o se puede utilizar otra extensión, o mostrar la velocidad de otra manera, pero el objeto del reto era entender cómo poder medir velocidad tomando distancias a lo largo del tiempo.
          Ojalá pudiera dedicar más tiempo a vuestra dudas, pero intento aclarar las preguntas concretas que se plantean. Para ayudaros a configurar correctamente librerías en Arduino necesitaría más tiempo, y ese tipo de soporte está únicamente disponible para alumnos de la plataforma.
          Saludos

          Responder
  3. Jose Peralta says

    01/10/2017 at 19:47

    Hola
    Me sale este mensaje al momento de subir los comando
    ‘POSITIVE’ was not declared in this scope

    Responder
    • Dani says

      01/10/2017 at 21:26

      Hola José,
      Te está apareciendo un problema con la librería. ¿Tenías instalada anteriormente la librería “LiquidCrystal”o “LiquidCrystal_I2C”? Si tenías previamente la segunda instalada puede que esté entrando a utilizar esa en vez de “LiquidCrystal”, y la variable “positive” no la reconoce. Si es así prueba a desinstalar la librería.
      También te aconsejo la lectura del tutorial de tmancebo sobre la instalación de librerías para usar LCD con mBlock en http://www.makeblock.es/foro/topic/407/lcd-con-arduino-y-mblock

      Responder
  4. José Luis says

    03/12/2017 at 21:00

    Hola Dani! Soy José Luis, ya había contactado contigo. Decirte que he descargado una librería “IRremote” para controlar un sensor infrarrojo VS1838 B que si uso el IDE de Arduino me lo reconoce perfectamente pero el mBlock me dá problemas ya al compilarlo. Quizás esté usando mal los bloques de la librería, no lo sé. Si quieres luego por correo te envío foto de lo que he hecho.
    Lo pensaba usar para leer los códigos HEXA que llegan al sensor desde un mando a distancia y que el programa ponga a “1” o “0” algunas salidas digitales. Cualquier ayuda es bienvenida!!

    Responder
    • Dani says

      03/12/2017 at 21:43

      Hola José Luis,

      Puede que el problema esté en la forma de usar los bloques, pero efectivamente sería mejor ver la captura y el programa. Estoy atento al correo.

      Saludos!

      Dani S.

      Responder
  5. Daniel Gutfrajnd says

    19/12/2017 at 05:39

    Hola, me interesa mucho este proyecto (reto # 11), lo quiero aplicar para medir la velocidad de una pelota de fútbol.
    Me podrían mandar el esquema de cómo armar el circuito y cómo conectarlo ?
    Por favor es para un proyecto de la escuela
    Gracias.
    Daniel.

    Responder
    • Dani says

      19/12/2017 at 06:35

      Hola Daniel,

      He añadido un esquema a la entrada, tan sólo ten en cuenta que debes alimentar los componentes con 5v y conectar a masa (GND) ya que no aparece en el esquema.

      Respecto al proyecto no tengo claro que vayas a ser capaz de medir la velocidad de una pelota a gran velocidad. El paso de la pelota cerca del sensor tendría que ser muy preciso y aún así debido a la gran velocidad no tengo claro que diese tiempo a tomar las dos mediciones necesarias para hacerlo según el vídeo.

      Saludos,

      Dani S.

      Responder
  6. Enrique says

    07/03/2019 at 00:07

    Hola, lo que pasa es que me sale el mismo error sobre que la libreria de “LiquidCrystal”, sin embargo ya descargue la extension “LCD with I2C interface” y sigue sin cargarme el programa a Arduino, no se cual sea la solución que usted pueda dar.

    Responder
    • Dani says

      07/03/2019 at 06:26

      La instalación de librerías a veces dan mucha guerra en Arduino, y a esto se añade que la instalación se hace a través de una extensión de mBlock.
      Una solución es intentar instalar la librería manualmente a través del IDE de Arduino independientemente de mblock, y luego ya compilar el programa con mblock.
      Saludos

      Responder
  7. Carlos Medina says

    24/03/2019 at 04:14

    Hola Dani, en verdad necesito tu ayuda! estoy programando en Arduino y me sale: stray ´\342´ in program, que debería hacer?, espero tu pronta respuesta, gracias.

    Responder
    • Dani says

      24/03/2019 at 11:10

      Hola Carlos,
      No puedo ayudarte con algo tan concreto, pero este tipo de errores suelen venir por errores de sintáxis o por la copia de caracteres especiales de fuentes diferentes en un “copia y pega”. Lamento no poder ser de más ayuda.
      Saludos

      Responder
  8. Carlos Medina says

    24/03/2019 at 04:22

    Hola Dani, estoy programando en arduino y me sale el problema: stray´\342´ in program; podrías ayudarme? espero tu pronta respuesta

    Responder
    • Dani says

      24/03/2019 at 11:10

      Hola Carlos,
      No puedo ayudarte con algo tan concreto, pero este tipo de errores suelen venir por errores de sintáxis o por la copia de caracteres especiales de fuentes diferentes en un “copia y pega”. Lamento no poder ser de más ayuda.
      Saludos

      Responder
  9. Guido Luzco says

    16/04/2019 at 02:36

    Buenas. me encotrado este post y me parece muy interesante. Lo que necesito es si no tenes el diagrama de Conexion para armar todo. gracias muy bueno

    Responder
    • Dani says

      16/04/2019 at 16:54

      Hola Guido,

      En la imagen de arriba tienes el diagrama de conexión. Simplemente hay que conectar LCD y sensor de ultrasonidos.

      Saludos

      Responder
  10. Guido says

    17/04/2019 at 19:27

    Gracias no me percate. Entonces no usas solo.los pines de Arduino para conectar el LCD. Y tampoco transistores o resistencias

    Responder
    • Dani says

      17/04/2019 at 22:35

      Para este proyecto no hace falta nada más, tanto el LCD como el sensor de ultrasonidos ya están adaptados.

      Responder
  11. Andres Santos says

    01/05/2019 at 19:23

    Buenas tardes me pasa lo mismo que jose says , no me deja subir el programa a arduino y eso que hiso lo mismo que el vídeo espero me puedas colaborar muchas gracias.

    Responder
    • Dani says

      01/05/2019 at 19:47

      Hola Andrés,

      Lo que os suele pasar a muchos con este proyecto es que la librería del LCD no se os queda correctamente instalada en Arduino. Independientemente de la programación que vemos en el vídeo si no tenéis bien instalada la librería en Arduino os va a dar un error de compilación.
      Le puedes dar a “Editar con el IDE de Arduino” y lo puedes intentar compilar, pero si el error que da es que no encuentra la librería del LCD el problema está claro y tenéis que intentar resolverlo independientemente de la programación, no hay una respuesta general cuando hay un problema de instalación de librerías.

      Saludos,

      Responder
  12. Giovanni Rangel says

    23/05/2019 at 04:18

    Hola Dani.
    Buenas tardes. Quería saber si se puede implementar que en determinada velocidad esta mande una señal que accione un servomotor no se si sea viable poder implementar eso;¿crees que puedas ayudarme con eso? por favor, espero pronta respuesta de antemano gracias.

    Responder
    • Dani says

      23/05/2019 at 12:39

      Hola,
      Sería perfectamente posible. Podríamos indicar la velocidad por medio de un servo en una esfera similar a los velocímetros de los coches.
      El reto 25 te puede servir de ayuda ya que trata precisamente ese tema.
      Sería una muy buena opción para todas las personas que tienen problema con la librería para el display LCD. Quizá lo incluya como reto futuro.
      Saludos

      Responder
  13. Jeancarlo Vásquez Gallardo says

    22/06/2019 at 17:31

    Buenos días, el proyecto es super interesante, pero mi duda va por como puedo elegir el tipo de placa arduino para este reto, con que nombre la puedo buscar o conseguir
    Gracias de antemano

    Responder
    • Dani says

      23/06/2019 at 10:57

      Hola Jeancarlo,
      Lo puedes hacer con una placa Arduino UNO o con cualquier clon de ella, y también con otras placas Arduino como por ejemplo la Arduino Nano, pero si quieres hacerlo por bloques tal y como se muestra en el vídeo con mBlock te recomiendo la Arduino UNO.
      Saludos

      Responder
  14. santiago torres says

    12/07/2019 at 15:47

    hola que acsorios necesito para el proyecto

    Responder
    • Dani says

      16/07/2019 at 10:39

      Hola Santiago,
      Para este proyecto se necesita una placa Arduino UNO, un sensor de ultrasonidos y una pantala LCD de 16×2 caracteres.
      Saludos

      Responder
  15. Alfred Delsoin says

    18/07/2019 at 13:22

    Genial justo esto es lo que me faltaba para terminar mi trabajo, al fiiiiin T.T GRACIAS!

    Responder
    • Dani says

      18/07/2019 at 17:11

      Me alegra que le hayas podido sacar provecho, saludos.

      Responder
  16. Ezequiel says

    01/11/2019 at 13:41

    Me podés pasar el circuito???

    Responder
    • Dani says

      01/11/2019 at 16:03

      Hola Ezequiel,
      Tienes el circuito en el artículo del reto, pero te dejo enlace directo: https://juegosrobotica.es/wp-content/uploads/radar-velocidad-arduino.jpg
      Saludos

      Responder
  17. ezequiel says

    02/11/2019 at 15:55

    no tenes un codigo para un display de 16×2, porque ese no nos sirve.

    Responder
    • Dani says

      02/11/2019 at 18:14

      Precisamente está hecho con un display 16×2…

      Responder
  18. daniela correa says

    05/11/2019 at 17:04

    tengo un error y no se cual es podrias ayudarme, gracias
    Files\mBlock\Arduino\hardware\arduino\avr\variants\standard -IC:\Program Files\mBlock\Arduino\hardware\arduino\avr\libraries\Wire -IC:\Program Files\mBlock\Arduino\hardware\arduino\avr\libraries\SoftwareSerial -IC:\Program Files\mBlock\Arduino\portable\sketchbook\libraries\LiquidCrystal_I2C-1.1.2 C:\Users\Usuario\AppData\Local\Temp\build8348563954025710442.tmp\project_dd210_2.cpp -o C:\Users\Usuario\AppData\Local\Temp\build8348563954025710442.tmp\project_dd210_2.cpp.o
    project_dd210_2.ino:12:57: error: ‘POSITIVE’ was not declared in this scope
    ‘POSITIVE’ was not declared in this scope

    Responder
    • Dani says

      11/11/2019 at 21:57

      Hola Daniela,
      Ya te respondí por correo. Parece que tienes instalada la estensión/librería errónea. Revísalo porque ese error ya se ha reportado por utilizar otra librería para el LCD.

      Responder
  19. Ezequiel says

    13/11/2019 at 14:08

    Si o si necesito usar Mbloc??

    Responder
    • Dani says

      13/11/2019 at 21:22

      Si lo quieres hacer igual que nosotros puedes utilizar mBlock, pero se podrían utilizar otros entornos de programación por bloques o el IDE de Arduino.

      Responder
      • DANIEL E. says

        31/03/2022 at 00:10

        HOLA DANI COMO PUEDO CONSEGUIR EL CÓDIGO ? ya te pregunte en YT pero creo que andas muy ocupado y mejor te escribí por aquí. SALUDOS

        Responder
        • Dani says

          31/03/2022 at 08:21

          Hola Daniel,

          Te respondí también por YouTube. Las soluciones paso a paso con la programación de los retos solo se ofrecen a alumnos de nuestra plataforma. Dale un vistazo por si puede ser de ayuda: https://juegosrobotica.es/plataforma-cursos/

          Saludos y gracias por contactar.

          Responder
  20. Ezequiel says

    13/11/2019 at 14:09

    El display tiene conectado ese módulo de 4 pines???

    Responder
    • Dani says

      13/11/2019 at 21:22

      Efectivamente. Ese modulo que comentas es el que incluyen los displays que incorporan comunicación I2C.

      Responder
  21. nancy says

    20/11/2019 at 21:57

    //ASI ANADA GENTE FIJENSE QUE CORREGI ALGUNAS COSAS.ESPERO LES SIRVA–NANCY—-
    ANA#include
    #include
    #include
    #include
    double angle_rad = PI/180.0;
    double angle_deg = 180.0/PI;
    double DIST1;
    double DIST2;
    double VEL;
    LiquidCrystal_I2C lcd(0x27,16,2);
    float getDistance(int trig,int echo){
    pinMode(trig,OUTPUT);
    digitalWrite(trig,LOW);
    delayMicroseconds(2);
    digitalWrite(trig,HIGH);
    delayMicroseconds(10);
    digitalWrite(trig,LOW);
    pinMode(echo, INPUT);
    return pulseIn(echo,HIGH,30000)/58.0;
    }

    void setup(){
    // Inicializar el LCD
    lcd.init();

    //Encender la luz de fondo.
    lcd.backlight();
    lcd.begin(16, 2);

    }

    void loop(){

    lcd.clear();
    lcd.setCursor( (4) – 1, (1) – 1 );
    lcd.print( “RADAR ” );
    lcd.setCursor( (4) – 1, (2) – 1 );
    lcd.print( “DE VELOCIDAD” );
    DIST1 = 0;
    DIST2 = 0;
    VEL = 0;
    while(!((getDistance(8,9)) < (60)))
    {
    _loop();
    }
    DIST1 = getDistance(8,9);
    _delay(0.1);
    DIST2 = getDistance(8,9);
    _delay(0.1);
    VEL = ((DIST1) – (DIST2)) / (0.1);
    _delay(0.5);
    lcd.clear();
    lcd.setCursor( (2) – 1, (1) – 1 );
    lcd.print( "SU VELOCIDAD" );
    lcd.setCursor( (2) – 1, (2) – 1 );
    if (VEL <0){
    VEL = VEL*(-1);
    }
    lcd.print( VEL);
    lcd.setCursor( (8) – 1, (2) – 1 );
    lcd.print( "CM/SEG" );
    _delay(3);
    lcd.clear();
    lcd.setCursor( (2) – 1, (1) – 1 );
    lcd.print( "SU VELOCIDAD" );
    lcd.setCursor( (2) – 1, (2) – 1 );
    lcd.print( VEL * 0.036 );
    lcd.setCursor( (8) – 1, (2) – 1 );
    lcd.print( "KM/H" );
    _delay(3);
    _loop();
    }

    void _delay(float seconds){
    long endTime = millis() + seconds * 1000;
    while(millis() < endTime)_loop();
    }

    void _loop(){

    }

    Responder
    • Dani says

      21/11/2019 at 00:58

      Gracias Nancy, seguro le es de gran ayuda a mucha gente.

      Responder
    • Antonio Pinilla says

      28/11/2019 at 13:56

      Por si sirve de ayuda, hice un proyecto de arduino con mBlock donde necesitaba usar el LCD I2C, donde funcionó todo correctamente y al abrir el código en Arduino (IDE) me daba error. Al final se solucionó cambiando la librería de LCD, entrando en la carpeta donde está instalado el programa (tanto mBlock como Arduino) y pegando la librería nueva. (NewLiquidCrystal). Os dejo el link de descarga:
      https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads/

      (Si copiamos toda la carpeta descomprimida da error, solo hay que pegar en la carpeta librerías la última carpeta que contenga los códigos. Para encontrar la carpeta destino (donde se pega lo que hemos descargado) hacer clic con botón derecho encima del icono de mBlock y en “abrir ubicación del archivo”, buscar carpeta libraries, sacamos la antigua carpeta liquidcrystal y pegamos NewLiquidCrystal.

      Con esto no he vuelto a tener ningún problema con la LCD, ni en mblock ni en IDE de Arduino.

      Saludos
      Antonio

      Responder
    • LUIS VIERA says

      05/07/2020 at 18:23

      en los campos include que va?

      Responder
      • Dani says

        06/07/2020 at 06:13

        Se incluyen las librerías Arduino.h, Wire.h, SoftwareSerial.h y LiquidCrystral_I2C.h, pero no todas son necesarias aunque mBlock las inclya al transformar desde bloques.

        Responder
    • luis viera says

      23/10/2020 at 23:58

      porque me da error en esta línea ” VEL = ((DIST1) – (DIST2)) / (0.1);” esto me dice” exit status 1
      stray ‘\342’ in program”

      Responder
      • Dani says

        24/10/2020 at 00:04

        Es probable que sea por copiar y pegar el código desde la web. Hazlo tecleando línea a línea porque te está cogiendo algún carácter unicode. Si no es eso no sé qué puede ser.

        Responder
    • Erik pech says

      09/11/2020 at 04:19

      una pregunta el void _loop(){ } va bacio ?

      Responder
    • Erik pech says

      09/11/2020 at 04:51

      una preunta mas que funcion tiene el while? while(!((getDistance(8,9)) < (60)))
      {
      _loop();
      }

      lo que pasa que cuando lo dejeo en el codigo no me muestra nada en la pantalla serial

      Responder
  22. Alejandro says

    01/02/2020 at 23:47

    Hola soy nuevo en arduino y no entiendo mucho del tema pero alguien me podria pasar el codigo que funcione porfavor , me salen muchos errores k no se resolver.
    Gracias.

    Responder
    • Dani says

      02/02/2020 at 10:41

      Hola Alejandro,
      Accede a la plataforma de cursos para aprender con seguridad la programación de Arduino por bloques. Con la opción con soporte tendrás nuestro seguimiento para acompañarte en tu aprendizaje sorteando estos problemas.
      Saludos

      Responder
      • Alejandro says

        08/02/2020 at 00:03

        solo quiero aprobar fisica con el codigo me vale , gracias

        Responder
        • Dani says

          08/02/2020 at 10:15

          Crea tu propio código y demuestra a tu profesor que entiendes que la velocidad es una relación del espacio recorrido en un tiempo determinado, luego lo expresas en unidades internacionales y ya lo tienes.
          Si a parte de física quieres aprender a programar, que te será más útil que la física seguramente, puedes apuntarte a la plataforma.
          En los comentarios tienes también código de otros usuarios que te puede servir.
          Saludos y mucha suerte.

          Responder
  23. camilo ayany palma calero says

    10/07/2020 at 23:37

    este radar para medir velocidades con este sensor se tiene un limite de velocidades es decir si ouede medir lanzamientos de pelotas de basesbol o cosas asi

    Responder
    • Dani says

      11/07/2020 at 11:35

      No creo que pueda servir para algo así, sobre todo por la dificultad de captar la pelota con el sensor de ultrasonidos.

      Responder

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Libro | Contacto | Blog | EMPLEO | Sobre mi | Política de privacidad

Juegos Robótica© 2023 ·

Acceso Alumn@s

¿Has olvidado tu contraseña?

¿Te interesa la programación creativa y la robótica educativa?

Suscríbete al boletín de correo

¿Cuál es tu perfil? *

Aviso legal

Comprueba tu bandeja de entrada o de spam ahora para confirmar tu suscripción.