Trabajando con los sensores

La información general sobre los sensores de Grove, así como la información detallada sobre la conexión de los sensores se puede encontrar aquí.

¿Qué conexiones están disponibles para
los dos sensores de Grove?

Hay dos conectores Grove en del Calliope mini, pero no son idénticos.
Ambas conexiones son seriales, lo que significa que la información individual se transmite en bits uno tras otro.
La principal diferencia es que el conector A0 es sólo digital, mientras que el conector A1 también puede usarse para transmitir señales analógicas. A continuación explicaremos con más detalle la diferencia entre lo analógico y lo digital.

(images:dateien/sensoren/a0_a1_grafik_mini.svg class: angeschnitten)

interfaz (Bus)I²C
conexionesGND, +3v3, C18 (SDA), C19 (SCL)
señal de salidadigital
interfaz (Bus)UART
conexionesGND, +3v3, C16 RX, C17 TX
señal de salidadigital/analog
¿qué sensor a qué conector?

Antes de conectar un actuador o un sensor, debe determinarse si produce valores digitales o analógicos. Las hojas de datos del sensor indican qué interfaz y qué voltaje de funcionamiento requiere el sensor respectivo. El Calliope mini suministra regularmente un voltaje máximo de 3,3 V, lo que significa que los sensores de 5 V de Grove, por ejemplo, no pueden funcionar.

Para más información sobre las conexiones y la hoja de datos, consulte aquí Technische Details zum Calliope mini

En lugar de nombrar los pines A0 y A1, el pin debe ser leído directamente, por ejemplo en MakeCode. La siguiente tabla muestra que A0 sólo puede ser leído y escrito digitalmente, mientras que A1 puede ser leído y escrito tanto analógico como digital.

leerescribir
A1: C16 (RX)digital/analogdigital/analog
A1: C17 (TX)digital/analogdigital/analog
A0: C18 (SDA)digitaldigital

Digital

Una señal digital es una señal graduada y contable. A menudo es perdedor y en muchos casos debe ser interpretado si no describe un estado binario.

Analógico

Una señal analógica no tiene valores fijos, sino un curso continuo y sin escalas. En teoría, puede asumir una cantidad infinita de información. Sin embargo, el convertidor analógico-digital suele mostrar valores en el rango de 0 a 1023.

¿Cómo se programan los sensores y actuadores?

Makecode

Leer/escribir sensores/actuadores analógicos y digitales

En general, los sensores/actuadores digitales y analógicos pueden ser dirigidos seleccionando Pins en la pestaña. Con el bloque valores digitales/analógicos de Pin se pueden leer los datos del sensor. Para los actuadores los valores pueden ser enviados con el bloque escribir el valor digital/analógico del Pin a 0.
Debido a que la mayoría de los sensores generan datos de forma permanente, la lectura debería tener lugar en el bloque permanente de lo básico. Allí los datos pueden ser almacenados, por ejemplo, en una variable que siempre se sobrescribe. También es posible analizar los datos registrándolos en una lista a lo largo del tiempo.

Leyendo los valores usando paquetes

Para algunos sensores más complejos, los datos del sensor no pueden ser leídos tan fácilmente. Por lo tanto, hay paquetes que nos facilitan la programación del sensor y la salida directa de una salida convertida en una unidad como centímetros para la distancia, PPM para la concentración de CO2 o RGBW para el color.
Se pueden añadir seleccionando + extensiones en la parte inferior de los componentes e introduciendo por ejemplo "Grove" en la barra de búsqueda de la parte superior. Después se pueden encontrar los nuevos bloques bajo la pestaña con el nombre del paquete añadido. En el caso del paquete Grove, se puede utilizar entonces el reconocimiento de gestos, sensores ultrasónicos, etc.

Ir directamente al editor

Open Roberta

Configuración del robot

Para poder operar más sensores y actuadores externos, éstos deben ser configurados primero en el Laboratorio Abierto de Roberta.
Para ello, la pestaña Configuración de Robots debe ser seleccionada en la esquina superior izquierda, que está al lado de ROGRAMA NEPOprog. Allí se puede ver Calliope mini y todos los sensores configurados hasta ahora, así como los sensores internos (por ejemplo, el sensor giroscópico o el micrófono). Los actuadores son de color naranja y los sensores son de color verde. Si está interesado en añadir un sensor digital, por ejemplo, seleccione el botón Sensores y luego Sensor digital, entonces asigne un nombre abreviado y el pin sobre el cual el sensor está conectado. Aquí también puedes simplemente dirigirte a las dos conexiones de Grove directamente a través de A0 y A1.
Después, se puede volver a llamar al programa y se puede seleccionar el bloque Sensores bajo la pestaña gib valor analógico Pin x. Hay un menú desplegable donde puedes elegir entre el tiempo de pulso y el analógico digital. Dado que ahora se ha configurado un sensor digital, sólo se puede encontrar la abreviatura en "Pin" si se va a leer un valor digital.
Aquí, también, el sensor genera datos permanentemente y debe ser colocado en el repetición infinitamente frecuente bucle. Ahora una variable puede ser sobrescrita o los datos del sensor pueden ser recogidos en una lista a lo largo del tiempo.

Ir directamente al editor

leer los valores de los sensores a través del monitor de serie

Si se va a probar la funcionalidad de un sensor, puede ser útil leer primero los datos a través de un puerto serie antes de que se muestren, por ejemplo, a través de la matriz de LED. Esto requiere un monitor en serie como el Conector Abierto de Roberta, que se puede descargar aquí. Una guía de instalación más detallada está disponible para su descarga aquí zum Abruf bereit.
Una vez que la descarga haya sido completada e iniciada, debería detectar automáticamente la miniatura de Calliope conectada.

Makecode

Entre los bloques "avanzados" se encuentran los bloques para la comunicación en serie bajo Serie. Para mostrar los datos del sensor, seleccione el bloque Salir línea serial (") y use los datos del sensor como entrada.

Open Roberta Lab

Para que los datos del sensor se muestren en el monitor, se selecciona el bloque Mostrar en el monitor en serie, que se encuentra en los componentes avanzados Acción > Mostrar.
Si los datos del sensor se usan como entrada para este bloque y este bloque está en un bucle repetición infinita , los datos actuales pueden ser leídos permanentemente.

Si todavía no se pueden leer los datos en el monitor de serie, puede ser porque el sensor está transmitiendo los datos con una tasa de baudios diferente. Esto se puede ajustar en el conector. En muchos casos es 9600 o 115200.

velocidad en baudios ...

... es una medida para la velocidad de transmisión de los símbolos. 1 Baudio = 1 símbolo por segundo. Piénsalo así, si estás hablando con una persona y esa persona sólo puede entenderte si no hablas demasiado rápido o demasiado lento.