Tabla de contenido:

¿Puedo usar TinyLiDAR en Scratch ?: 3 pasos
¿Puedo usar TinyLiDAR en Scratch ?: 3 pasos

Video: ¿Puedo usar TinyLiDAR en Scratch ?: 3 pasos

Video: ¿Puedo usar TinyLiDAR en Scratch ?: 3 pasos
Video: Technical Presentation of tinyLiDAR's Command Terminal Sketch 2024, Septiembre
Anonim
¿Puedo usar TinyLiDAR en… Scratch?
¿Puedo usar TinyLiDAR en… Scratch?

Recibimos solicitudes de vez en cuando para preguntarnos si tinyLiDAR funcionará en su plataforma informática en particular. Aunque tinyLiDAR fue diseñado como un sensor LiDAR fácil de usar para Arduino UNO, no hay nada que impida que se use en otras plataformas como Raspberry Pi (como se muestra en el instructable anterior aquí). Es decir, si la plataforma tiene un bus I2C y puede admitir la función de extensión de reloj de la especificación I2C. Entonces, ¿qué pasa si su placa ni siquiera es compatible con I2C? - no importa que el reloj estire las cosas … Bueno, ese sería un escenario desafiante, pero en realidad existe para el lenguaje de programación visual ultra popular llamado "Scratch".

Búscalo en Google si no has oído hablar de él antes, pero en pocas palabras, es un excelente primer idioma para que cualquiera se meta en el ámbito de la programación. Scratch fue creado por el MIT Media Lab y existe desde hace más de 16 años. Es el idioma goto para enseñar a los niños a programar en todo el mundo. Cualquiera puede comenzar a usarlo de forma gratuita, ya que normalmente se ejecuta en su escritorio en un navegador web. Compruébalo aquí si quieres.

TL; versión DR

¡SÍ! Con una nueva función llamada "Modo de emulación ultrasónica" en la versión 1.3.9 de tinyLiDAR f / w

Paso 1: ¿Qué rasca?

Hay muchos sabores de Scratch en la naturaleza ahora. Los entusiastas de la robótica tienden a usar las versiones enfocadas en GPIO como ScratchGPIO u otras versiones modificadas como ScratchX que se pueden hacer para admitir cualquier 'hardware experimental'. Todos estos son excelentes para usuarios avanzados, pero las versiones principales que se instalan de forma predeterminada en el pi serán nuestro enfoque para este instructable, ya que tienen opciones de hardware bastante limitadas.

Raspbian Stretch Desktop de pi viene con dos versiones de Scratch preinstaladas. A saber, "Scratch" y "Scratch 2". Usaremos el primero también conocido como "Scratch 1.4 (NuScratch)" y lo usaremos "sin conexión" para que podamos usar la función del servidor GPIO.

Puede descargar la imagen de escritorio oficial de pi aquí.

Por alguna razón, los creadores de Scratch decidieron admitir solo algunos de los sensores más comúnmente disponibles de grandes compañías como Lego, etc. Sin embargo, es interesante que también decidieron agregar soporte para el HC-SR04. Este es, por supuesto, el omnipresente sensor de distancia ultrasónico que simplemente emite un ancho de pulso único que es proporcional a la distancia medida.

La precisión de la medición puede variar un poco dependiendo de la temperatura del aire, la humedad y el material objetivo, como se menciona aquí, aquí y aquí. Pero, en general, casi cualquier plataforma puede medir la salida de ancho de pulso de este dispositivo.

Paso 2: nueva función

Nueva caracteristica
Nueva caracteristica

La emisión de pulsos precisos a escala de microsegundos no es un problema para nosotros en tinyLiDAR, ya que tenemos temporizadores de hardware de alta resolución de repuesto dentro del micro de 32 bits integrado. tinyLiDAR también siempre calibra automáticamente la temperatura a medida que se enciende, por lo que no es necesario realizar más ajustes para el entorno operativo.

¡Vamos a hacerlo

Bien, pudimos, así que agregamos una nueva característica a tinyLiDAR (a partir del firmware 1.3.9) llamada "Modo de emulación ultrasónica". Puede acceder a él usando el comando "u" desde la Terminal GUI de tinyLiDAR actualizada.

Su uso cambiará la configuración en la memoria no volátil, por lo que hará que tinyLiDAR se vea como un sensor ultrasónico genérico incluso después de que lo apague. Puede volver a cambiarlo al modo I2C normal presionando el botón de reinicio y emitiendo el comando "az". Más detalles se encuentran en el manual de usuario.

Para hacer la vida aún más simple, estamos haciendo que el sensor tinyLiDAR esté disponible preestablecido para este nuevo modo de emulación ultrasónica desde nuestro sitio web. Simplemente solicite la versión "-u".

Mira mamá, sin soldar

No se necesita soldadura ni placa de pruebas, ya que los cables "Grove a hembra de 4 pines" incluidos se conectarán directamente a los pines del cabezal Raspberry pi. El pin de disparo es el cable amarillo y el pin de eco es el cable blanco. El negro y el rojo son para el poder, por supuesto. Consulte la imagen principal de arriba para obtener más detalles.

Por cierto, fuimos un paso más allá e hicimos que el pin amarillo se comportara como el sensor PING))) que usa un solo cable para las señales de disparo y eco.

Debido a esto, ahora puede tomar medidas con tinyLiDAR utilizando el boceto ultrasónico "PING" predeterminado que se envía con cada IDE de Arduino sin ningún cambio de código. También puede probarlo sin demora.

Por supuesto, puede establecer parámetros como alta precisión, larga distancia, etc. de sus mediciones LiDAR antes de seleccionar el comando "u" y luego tomará esas medidas cada vez que vea caer el pin de disparo como se muestra en el diagrama anterior.

¡Peligro, Will Robinson

Tenga en cuenta que el sensor ultrasónico SR04 necesita algunas resistencias para evitar que el suministro de + 5v dañe su pi. Pero dado que tinyLiDAR se ejecuta de forma nativa desde + 3.3v, no hay necesidad de que ninguna resistencia se conecte con el pi:)

Paso 3: Codificarlo

Codificándolo
Codificándolo
Codificándolo
Codificándolo

Entonces, ¿cuál es exactamente el código que necesitamos para que tinyLiDAR funcione en Scratch?

¡Me alegro de que lo hayas preguntado!

Es solo cuestión de arrastrar algunos bloques de transmisión simples como se muestra en las imágenes de arriba.

Para habilitar los pines GPIO podemos emitir el "broadcast gpioserveron" Luego para configurar el pin disparador emitimos el "broadcast config16out" A continuación, podemos configurar el pin de eco mediante "broadcast config26in" y luego iniciar las medidas mediante "broadcast ultrasictrigger16echo26". Esto hará que las mediciones se tomen continuamente a una cadencia de aproximadamente 140 ms. Puede leer los datos medidos utilizando el bloque de detección "valor del sensor de distancia ultrasónico".

Bueno, eso es todo por ahora, gracias por leer y asegúrese de ver el pequeño y divertido programa de demostración de Scratch (compartido aquí) que hicimos llamado "tinyLiDAR_catch_me" y… ¡Scratch On!;)

Recomendado: