# Bloques de sensores Los bloques de esta categoría permiten acceder a los datos medidos por los sensores Arduino. Para poder ser utilizados se debe conectar a la placa el sensor correspondiente. En esta sección sólo se describen los bloques y cómo usarlos en Arduino en la Escuela. Para saber más respecto los sensores y cómo conectarlos dirigirse a la sección [Sensores](../arduino/modules/sensors.md). ## Distancia BLOCK:ultrasonic@config: Este bloque describe la distancia medida por un sensor ultrasónico (o sonar). El resultado es una fracción, correspondiente a la distancia en centímetros. Si se usa en modo configurado se debe configurar el sonar utilizando un [bloque de configuración de sonar](blocks:ultrasonic_setup). Si se usa en modo ligero se debe indicar en qué pines de la placa están conectados los pines ECHO y TRIGGER del sensor, como se muestra a continuación. BLOCK:ultrasonic: (blocks:ultrasonic_setup)= ## Configuración de Sonar BLOCK:ultrasonic_setup: Este bloque configura un sensor ultrasónico (o sonar) para que pueda ser accedido desde la placa Arduino. Se debe indicar en qué pines de la placa están conectados los pines ECHO y TRIGGER del sensor ## Iluminación BLOCK:io_analog_sensor@ldr: Este bloque indica si un sensor LDR está detectando luz o no. El resultado es un valor de verdad. Se debe indicar en qué pin de la placa está conectado el pin DO del sensor. Desde el menú desplegable se puede modificar para que, en lugar de sólo indicar si está oscuro o no, pase a medir la intensidad lumínica. BLOCK:io_analog_sensor@ldr_analog: En este caso, el resultado pasa a ser un número entero entre 0 y 1023 y el pin del sensor que se debe indicar en qué pin de la placa está conectado es AO. ## Movimiento BLOCK:io_analog_sensor@pir: Este bloque indica si un sensor de movimiento (PIR) está captando movimiento o no. El resultado es un valor de verdad. Se debe indicar en qué pin de la placa está conectado el pin central del sensor. ## Obstáculo BLOCK:io_analog_sensor@ir: Este bloque indica si un sensor infrarrojo está detectando obtáculos o no. El resultado es un valor de verdad. Se debe indicar en qué pin de la placa está conectado el pin S del sensor. ## Código IR BLOCK:io_ir_hex: Este bloque describe el código hexadecimal recibido por un sensor infrarrojo. El resultado puede ser un número o un texto. Si no se recibe ningún código el resultado es 0. Se debe indicar en qué pin de la placa está conectado el pin S del sensor. ## Sonido BLOCK:io_analog_sensor@sound: Este bloque indica si un micrófono comparador está detectando un cambio sonoro. El resultado es un valor de verdad. Se debe indicar en qué pin de la placa está conectado el pin DO del sensor. Desde el menú desplegable se puede modificar para que, en lugar de sólo indicar si hay un cambio sonoro, pase a medir la intensidad sonora. BLOCK:io_analog_sensor@sound_analog: En este caso, el resultado pasa a ser un número entero entre 0 y 1023 y el pin del sensor que se debe indicar en qué pin de la placa está conectado es AO. ## Humedad del Suelo BLOCK:io_analog_sensor@soil: Este bloque indica si un sensor de humedad del suelo detecta que el suelo está humedo o seco. El resultado es un valor de verdad. Se debe indicar en qué pin de la placa está conectado el pin DO del sensor. Desde el menú desplegable se puede modificar para que, en lugar de sólo indicar si el suelo está húmedo o seco, pase a medir el nivel de humedad. BLOCK:io_analog_sensor@soil_analog: En este caso, el resultado pasa a ser un número entero entre 0 y 1023 y el pin del sensor que se debe indicar en qué pin de la placa está conectado es AO. ## Nivel de Agua BLOCK:io_analog_sensor@water: Este bloque describe qué tan sumergido en agua está un sensor de nivel. El resultado es un número entero entre 0 y 1023. Se debe indicar en qué pin de la placa está conectado el pin S del sensor. ## Lluvia BLOCK:io_analog_sensor@rain: Este bloque indica si un sensor de lluvia detecta que está lloviendo o no. El resultado es un valor de verdad. Se debe indicar en qué pin de la placa está conectado el pin DO del sensor. Desde el menú desplegable se puede modificar para que, en lugar de sólo indicar si está lloviendo o no, pase a medir la intensidad de la lluvia. BLOCK:io_analog_sensor@rain_analog: En este caso, el resultado pasa a ser un número entero entre 0 y 1023 y el pin del sensor que se debe indicar en qué pin de la placa está conectado es AO. ## Calidad del Aire BLOCK:io_analog_sensor@air: Este bloque describe la calidad del aire medida por un sensor de calidad de aire. El resultado es un número entero entre 0 y 1023. Se debe indicar en qué pin de la placa está conectado el pin AO del sensor. ## Concentración de Gases en el Aire BLOCK:io_analog_sensor@air_alcohol: Este bloque describe la concentración de un gas en el aire medida por un sensor de compuestos químicos. El mismo bloque permite determinar la concentración de alcohol, humo y monóxido de carbono. El resultado es un número entero entre 0 y 1023. Se debe indicar en qué pin de la placa está conectado el pin AO del sensor. ## Radiación UV BLOCK:io_analog_sensor@uv: Este bloque describe el nivel de radiación UV medida por un sensor UV. El resultado es un número entero entre 0 y 1023. Se debe indicar en qué pin de la placa está conectado el pin AO del sensor. ## Temperatura BLOCK:io_i2c_sensor@temp: Este bloque describe la temperatura medida por un sensor de condiciones atmosféricas. Funciona con los módulos DHT-11, GY-BME/P280, GY-521 ITG/MPU y LM35. El resultado es una fracción. Para el módulo DHT-11 se debe indicar en qué pin de la placa está conectado el pin S (o OUT) del sensor. Para el módulo LM35 se debe indicar en qué pin de la placa está conectado el pin 1 del sensor. ## Humedad BLOCK:io_i2c_sensor@hum: Este bloque describe el porcentaje de humedad medido por un sensor de condiciones atmosféricas. Funciona con los módulos DHT-11 y GY-BME/P280. El resultado es una fracción. Para el módulo DHT-11 se debe indicar en qué pin de la placa está conectado el pin S (o OUT) del sensor. ## Presión Atmosférica BLOCK:io_i2c_sensor@pres: Este bloque describe la presión atmosférica de humedad medido por un sensor de condiciones atmosféricas. Funciona con el módulos GY-BME/P280. El resultado es una fracción. ## Velocidad BLOCK:speed: Este bloque describe la velocidad de un motor medida por un velocímetro encoder. El resultado es un número entero. Se deben indicar en qué pin de la placa está conectado el pin DO del sensor y durante cuánto tiempo medir. ## Ángulo de Inclinación BLOCK:io_i2c_sensor@accel: Este bloque describe el ángulo de inclinación percibido por un acelerómetro sobre alguno de los 3 ejes. Funciona con los módulos GY-521 ITG/MPU y GY-291 ADXL345. El resultado es un número entero. ## Nivel de Inclinación BLOCK:io_i2c_sensor@gyro: Este bloque describe el nivel de inclinación percibido por un giróscopo sobre alguno de los 3 ejes. Funciona con el módulos GY-521 ITG/MPU. El resultado es un número entero. ## Interruptor Táctil Presionado BLOCK:io_touch: Este bloque indica si un interruptor táctil está siendo presionado o no. El resultado es un valor de verdad. Se debe indicar en qué pin de la placa está conectado el pin DO del sensor. ## Posición de Joystick BLOCK:joystick_axis@config: Este bloque describe la posición de un joystick sobre uno de los 2 ejes. El resultado es un número entero entre 0 y 1023. Si se usa en modo configurado se debe configurar el joystick utilizando un [bloque de configuración de joystick](blocks:joystick_setup). Si se usa en modo ligero se debe indicar en qué pin de la placa está conectado el pin VRx (para medir sobre el eje X) o el pin VRy (para medir sobre el eje Y) del joystick, como se muestra a continuación. BLOCK:joystick_axis: ## Interruptor de Joystick Presionado BLOCK:joystick_push@config: Este bloque indica si un interruptor de joystick está siendo presionado o no. El resultado es un valor de verdad. Si se usa en modo configurado se debe configurar el joystick utilizando un [bloque de configuración de joystick](blocks:joystick_setup). Si se usa en modo ligero se debe indicar en qué pin de la placa está conectado el pin SW del joystick, como se muestra a continuación. BLOCK:joystick_push: (blocks:joystick_setup)= ## Configuración de Joystick BLOCK:joystick_setup: Este bloque configura un joystick para que pueda ser accedido desde la placa Arduino. Se debe indicar en qué pines de la placa están conectados los pines VRx, VRy y SW del joystick. ## Tecla de Teclado Presionada BLOCK:keypad: Este bloque describe la tecla que está siendo presionada en un teclado 4x4. El resultado es un texto. Si no se está presionando ninguna tecla el resultado es un texto vacío. Para poder usar este bloque se debe configurar el teclado utilizando un [bloque de configuración para teclado](blocks:keypad_setup). (blocks:keypad_setup)= ## Configuración de Teclado BLOCK:keypad_setup: Este bloque configura un teclado 4x4 para que pueda ser accedido desde la placa Arduino. Se debe indicar en qué pines de la placa están conectados los pines 1 a 8 del teclado. ## Identificador de Tarjeta BLOCK:rfid@config: Este bloque describe el identificador de la tarjeta que está siendo detectada por un lector de tarjetas rfid. El resultado es un texto. Si no se está detectando ninguna tarjeta el resultado es un texto vacío. Si se usa en modo configurado se debe configurar el lector utilizando un [bloque de configuración de lector RFID](blocks:rfid_setup). Si se usa en modo ligero se debe indicar en qué pin de la placa está conectado el pin SDA del lector, como se muestra a continuación. BLOCK:rfid: (blocks:rfid_setup)= ## Configuración de Lector RFID BLOCK:rfid_setup: Este bloque configura un lector de tarjetas RFID para que pueda ser accedido desde la placa Arduino. Se debe indicar en qué pin de la placa está conectado el pin SDA del lector. ## Fecha y Hora BLOCK:clock_get: Este bloque describe la fecha y/o la hora registradas en un reloj. Para poder usar este bloque se debe configurar el reloj utilizando un [bloque de configuración para reloj](blocks:clock_setup). ## Puesta en Hora de Reloj BLOCK:clock_set: Este bloque pone en hora un reloj. Se debe indicar cuál es la fecha y/o la hora que se desea registrar en el reloj. Si bien es un comando se encuentra en la sección de sensores porque se requiere para configurar un sensor. Para poder usar este bloque se debe configurar el reloj utilizando un [bloque de configuración para reloj](blocks:clock_setup). (blocks:clock_setup)= ## Configuración de Reloj BLOCK:clock_setup: Este bloque configura un reloj para que pueda ser accedido desde la placa Arduino. Se debe indicar en qué pines de la placa están conectados los pines CLK, DAT y RST del reloj.