Escuela 4.0 SMART AGRICULTURE KIT PARA MICROBIT para CRIE El kit de agricultura inteligente micro:bit tiene una buena selección de IoT:bit, sensor de temperatura DS18B20, sensor de humedad del suelo, sensor de nivel de agua, sensor PIR, servos, etc. Podríamos usarlo para crear temas como el repelente inteligente de insectos máquina, el invernadero ecológico, el dispositivo de monitoreo del nivel de agua del estanque de peces y más, de los cuales podemos aprender la agricultura moderna y programar y explorar más posibilidades para aplicar la tecnología de la información en la agricultura. Escuela 4.0 STEAM Escuela 4.0 STEAM El programa de cooperación territorial Código Escuela 4.0 y las actuaciones que incluye, se enmarcan dentro del Plan de Digitalización y de Competencias Digitales del Sistema Educativo (#DigEDu). Este plan recoge las iniciativas impulsadas por el Ministerio de Educación, Formación Profesional y Deportes dirigidas a mejorar las competencias digitales en el ámbito educativo, la dotación de medios tecnológicos y su integración efectiva y eficaz en los procesos de enseñanza y aprendizaje. El objetivo principal del Programa Código Escuela 4.0 es incluir los lenguajes de programación y la robótica educativa para el desarrollo del pensamiento computacional y de la competencia digital del alumnado, dando así respuesta a las nuevas demandas educativas de una sociedad cambiante y crecientemente digitalizada. Es necesario que el alumnado, como parte del proceso de desarrollo de su competencia digital, tenga la oportunidad de iniciarse en la programación informática, mediante el uso de lenguajes de programación adaptados a su nivel madurativo. Implica una nueva alfabetización que le permita aproximarse y comprender la lógica interna del funcionamiento del medio digital en el que vive, habilidad imprescindible para la ciudadanía en los próximos años. El programa Escuela 4.0 quiere dar acceso al pensamiento computacional y sus dimensiones (descomposición, patrones, algoritmos y abstracción), a lenguajes de programación adaptados y a dispositivos robóticos amigables para el alumnado de todas las edades y accesibles para el profesorado no especialista. También quiere facilitar la integración en las aulas desde las primeras etapas educativas, potenciando el conocimiento y el interés por las disciplinas STEAM de manera gradual y experiencial entre todo el alumnado, contribuyendo así a la disminución de la brecha de género en el ámbito digital. Para más información:  https://escuela40aragon.es/   Pensamiento computacional y currículo Definiciones de Pensamiento computacional:  El pensamiento computacional se basa en cuatro pilares básicos: descomposición de un problema en pasos sencillos, reconocimiento de patrones, abstracción y diseño de algoritmos. Este tipo de pensamiento es básico para llevar a cabo un programa informático y generalizable a otro tipo de situaciones.  Haz clic en las zonas activas de la presentación para acceder a toda la información. Currículo En la siguiente presentación puedes ver cuando se cita el pensamiento computacional en el currículo de nuestra Comunidad Autónoma para la etapa de Primaria (2º y 3er ciclo), según la Orden ECD/1112/2022, de 18 de julio, por la que se aprueban el currículo y las características de la evaluación de la Educación Primaria y se autoriza su aplicación en los centros docentes de la Comunidad Autónoma de Aragón (Orden publicada en el BOA el 27 de julio de 2022).   Haz clic en las zonas activas de la presentación para acceder a toda la información. Introducción ¿Qué es Smart Agriculture Kit para micro:bit ? Es un kit que por menos de 100€ tenemos muchas posibilidades : Sensores y actuadores pensados en una domótica en un entorno de agricultura Detectores de presencia Detectores ambientales de temperatura y humedad Detectores de suelo  Detectores sumergibles de temperatura y nivel de agua Actuadores: Servo y luces Además de los propios sensores y actuadores de la micro:bit Visualización y registro de los datos  Pantalla OLED ESP32 que permite conexión a Internet, por lo tanto visualización de datos utilizando las técnicas más modernas de IoT Instrucciones de seguridad (extraido de la Wiki de Elecfreaks) Antes de utilizar el Kit de Agricultura Inteligente, lea atentamente las siguientes precauciones. Los usuarios deben seguir estrictamente todas las precauciones y asegurarse de que el Kit de Agricultura Inteligente esté correctamente ensamblado y en buen estado de funcionamiento. Por favor, siga estos principios de funcionamiento: -El Kit de Agricultura Inteligente es un dispositivo electrónico. No derrame agua ni otros líquidos sobre el Kit de Agricultura Inteligente -No modifique ni dañe la estructura de sus componentes electrónicos de ninguna manera. -No doble, toque ni presione los pasadores de la fila de pasadores. -No coloque el kit de agricultura inteligente en un lugar donde pueda caerse. -Después de cada uso del Kit de Agricultura Inteligente, guarde los componentes electrónicos correspondientes en una caja seca y ordenada. Fuente Robotopia.es Se suministran los elementos por separado Fuente Robotopia.es Opcionalmente se puede conseguir una maqueta de cartón, para ambientar educativamente todo el conjunto, las instrucciones las tienes aquí (no hagas caso de las conexiones) Fuente Robotopia.es Conexiones La maqueta es fácil de montar, pero las conexiones requieren destreza. Las conexiones a la placa micro:bit que proponemos son las siguientes: Elemento Conexión Observación Termómetro sumergible DS18B20 P1 Analógico Sensor de nivel de agua P2 Analógico Led Neopixel P14 Datos Sensor humedad del suelo P4 Analógico Servo P9 Pulsos digitales Sensor movimiento PIR P3 Analógico Sensor distancia ultrasonidos P13 Pulsos digitales Sensor DHT11 P15 Datos digitales El Pin3 es compartido con la matriz de leds con la columna vertical. Como el sensor PIR es pull up (ver sensores) cuando no detecta es un 1, por lo tanto se enciende la columna vertical de la matriz de leds de la micro:bit cuando no detecta movimiento. Ojo, el fabricante propone otra configuración que no estamos de acuerdo pues hay que respetar que algunos sensores son analógicos por lo tanto tienen que estar en los pines analógicos de la micro:bit que son P1, P2, P3, P4 y P10. Las conexiones hay que respetar la polaridad: El cable negro a masa, también marcado como G Ground El rojo el del medio que es la alimentación V Voltios El amarillo los datos, también marcado como S salida La polaridad también se tiene que respetar en los diferentes elementos, pero es dificil equivocarse pues tiene una pestaña que impide su conexión al revés : Los diferentes elementos se pueden unir a la maqueta de cartón con bridas, tornillos o alambres forrados: Sensores Esta sección es una visión rápida de las posibles entradas de los robots.  NO LEAS TODOS SINO LOS QUE TIENE TU ROBOT Un poco de teoría... Cualquier sistema de control podríamos decir que funciona de una manera similar a un ser humano, salvando las distancias. Nosotros recibimos la información del mundo exterior gracias a nuestros sentidos (oído, olfato, gusto, vista y tacto), nuestro cerebro procesa esa información y a través de nuestros músculos o de nuestra voz realizamos diferentes acciones. Pues lo mismo sucede con los sistemas de control, reciben información del exterior gracias a los diferentes SENSORES, procesan esa información en sus PLACAS CONTROLADORAS (sus cerebros) tales como Arduino y dan una respuesta utilizando sus diferentes ACTUADORES. Un sensor es un objeto capaz de detectar magnitudes físicas o químicas y transformarlas en variables eléctricas. Los sensores o periféricos de entrada nos permiten obtener información del mundo real para utilizarla desde el programa de Arduino. En la actualidad la cantidad de sensores disponibles es tan extensa como las variables que queramos medir, desde sensores de temperatura, humedad, luminosidad,... hasta acelerómetros, giroscopios, GPS,... pasando por detectores de gases, de pulsos cardiacos, sensores de efecto HALL,... Tipos de sensores DIGITAL: un sensor digital sólo tiene dos estados: activado/desactivado, ON/OFF, 1/0, Alto/Bajo, ... En este caso  conectaremos el sensor a una de las entradas digitales de Arduino para leer el estado. Ejemplo: un pulsador es un tipo de sensor sencillo que sólo nos da dos estados, “pulsado o no pulsado”. Conectado a la placa Arduino debe generar 0v en reposo y 5v al pulsarlo. De esta forma desde el programa de Arduino podremos leer el estado del botón. ANALÓGICO: el sensor nos puede dar un rango de valores, normalmente se traduce en un valor de tensión o de  corriente variable en función de la señal captada al sensor. En este caso conectaremos el sensor a una de las entradas analógicas de Arduino (A0,..., A5). El rango de entrada será una tensión entre 0v (GND) y 5v. Ejemplo: Una fotorresistencia es un componente electrónico cuya resistencia disminuye con el aumento de intensidad de luz incidente. Su valor varía entre 0 y 5 v. la cantidad de valores que pueden leer las entradas analógicas de Ardunio son de 10 bits es decir 1024 valores. De tal modo que 0 = 0 v. y 1023 = 5V. DATOS: el sensor ofrece su información a través de una interfaz de comunicación. La forma de comunicación puede ser por sistemas estándar como I2C o SPI o algunos sensores usan su propio protocolo para codificar la información y debemos realizar desde el software la decodificación correcta para interpretar los datos del sensor (normalmente los desarrolladores de este tipo de sensores ofrecen una librería software para Arduino que hace todo el trabajo). Ejemplo: el sensor DHT11. Por un solo pin envía los datos de temperatura y humedad. Sensores modulares. En  la  actualidad  existen  infinidad  de  sensores  que  los  fabricantes  presentan  en  forma modular.  Esto  hace  que  su  conexión  y  utilización  sea  mucho  más  sencilla  que  la  tradicional, olvidándonos de resistencias, polaridades, cableados,… para su correcto funcionamiento. Sensor pulsador Es un sensor digital, que presenta dos estados; cuando se presiona el botón,  emite  una  señal  de  bajo (0V), cuando suelta el botón, emite una señal de bajo alto (5V). Datasheet Un ejemplo de uso en el robot mClon   Otra manera más "barata" de sustituir este módulo pulsador es poner un pulsador normal y una resistencia (±10k), al pulsar se produce una entrada en el Arduino, hay dos configuraciones, que al pulsar se emita un 0 lógico (configuración Pull up) o que al pulsar emita un 1 lógico (configuración Pull down) ¿Por qué hay que poner una resistencia? Lo "normal" es que al pulsar se emita un '1' configuración Pull down, pero hay pulsadores que funcionan Pull up y los llaman lógica invertida, por eso en la programación por bloques podemos encontrar esto: Sensor Táctil Capacitivo.  Este  pequeño  sensor  puede  "sentir"  a  las  personas  y  el  tacto  y  la retroalimentación de metales a un nivel de voltaje alto / bajo. Incluso aislado por alguna tela y papel, todavía puede sentir el tacto. Su sensibilidad disminuye a medida que la  capa de aislamiento se hace más gruesa. En nuestra opinión lo preferimos frente al Sensor pulsador pues es muy económico, duradero y fiable. Un ejemplo de uso en Disparo láser en Arduino con ArduinoBlocks Apertura de puerta en Domotica con Arduino Potenciómetro y joystick Un potenciómetro es una resistencia variable, es decir, cambia de valor mecánicamente, lo tenemos en multitud de dispositivos. El joystick es internamente dos potenciómetros con un pulsador integrado en un solo mando. Este sensor es analógico, su salida puede ser cualquier valor entre Vcc y GND (si está en divisor de tensión como en la placa Edubásica no llega a esos valores extremos), por lo tanto hay que conectarlo a una entrada analógica de Arduino y como cualquier entrada analógica, proporcionará valores entre 0 y 1023. Ejemplos de uso: Arduino con código: Mapeo del potenciómetro Arduino con código: Regular la luz con potenciómetro Arduinoblocks en el aula En Arduino con Echidna, con joystick Domótica con Arduino con joystick  Sensor Fotocélula LDR.  El  uso  de  fotocélulas  es  muy  común  en  nuestras  vidas,  las  encontramos  en  el  encendido automático de  farolas, apertura de  puertas,…  La  fotocélula  es un  semiconductor. Es  ampliamente utilizado  en  campos  de  interruptores  de  control  automático  como cámaras,  luces  solares  de  jardín,  lámparas  de césped,  detectores  de  dinero,  relojes  de cuarzo, tazas de música, cajas de regalo, mini luces  nocturnas,  interruptores  de  control  de luz y sonido, etc.   Es un sensor analógico dando valores entre 0 y 5V y como entrada analógica de un Arduino se traduce en un rango de 0 a 1023 valores.  Un ejemplos de uso : el interruptor crepuscular del curso Arduino con ArduinoBlocks Medir la luz en Rover con Arduino Medir la oscuridad en Arduino con mBlock Hinchar un balón en Arduino con mBlock Una manera más económica de montar este sensor es utilizar una resistencia y un LDR: El LDR cuando más oscuridad, más resistencia En una configuración PULL DOWN, cuanto más luz, la resistencia del LDR baja, por lo tanto más tensión en A6 Los módulos LDR que se venden suelen esta configuración Pull down, es decir, cuanto más luz,  más tensión: La instrucción con Arduinoblocks ya cuenta con esta configuración Pull downUp de que cuando más luz, más valor tiene la entrada analógica. Hay módulos LDR ya montados,  que tienen componentes activos es decir, llevan circuitos electrónicos, transistores que amplifican etc... y dan la salida digital con un potenciómetro para definir el rango de luz que cambia de estado lógico. Puedes ver en la figura que tiene una salida digital D0. O hay algunos que tienen 4 pines como en la figura que ofrecen las dos cosas: salida analógica A0 y digital D0. Nosotros aconsejamos el divisor de tensión por tres razones: más barato, no implica gran circuitería y es visible su funcionamiento frente a estos encapsulados. Sensor de Ultrasonidos. Es un sensor digital de distancias por ultrasonidos capaz de detectar objetos y calcular la distancia a la que se encuentra en un rango de 2 a 350 cm. Su uso es tan sencillo como enviar el pulso de arranque y medir la anchura del pulso de retorno. No es un sensor preciso, con una ligera inclinación de la superficie ya da lecturas erróneas pero es muy barato El más común es el HC-SR04 que tiene 4 pines de conexión:  VCC   Trig (Disparo del ultrasonido)   Echo (Recepción del ultrasonido) y  GND aunque en algunos modelos como el de Elecfreaks tiene 3 pines. Integra Trig y Echo en uno sólo. La distancia se calcula con esta fórmula: Distancia en cm = {(Tiempo en segundos entre Trig y el Echo) * (V.Sonido 34000 en cm/s)} / 2 Si programas en código, tienes que utilizar la fórmula anterior, previamente tienes que programar el cálculo del tiempo entre una emisión de un pulso en Trg y la respuesta en Echo. Si utilizas la programación en bloques, no es necesario, seguro que hay un bloque que lo hace todo por ti 😍 Ejemplos de uso: Alarma en Domótica con Arduino Piano invisible en Arduino con ArduinoBlocks,  Sensor parking en Arduino con ArduinoBlocks Piano invisible en Arduino con mBlock Sensor parking en Arduino con mBlock Sensor de distancia de ultrasonidos con Picobricks Sensor DHT11 (Temperatura y Humedad). Este sensor de temperatura y humedad DHT11 nos permite determinar las zonas de confort para un rango de temperaturas entre 0ºC y 50ºC con un error de ± 2ºC y un rango de humedad entre 20 y 90 % ± 5% . Una salida digital para dos variables cómo lo hace? Tiene dentro un pequeño microprocesador que lanza por el bit de datos 40 bits en serie, los 16 primeros son la humedad (en BCD) y los 16 restantes es la temperatura (en BCD) los 8 restantes son de comprobación Checksum (en binario) como la letra del DNI. Por ejemplo 0100 0111 0000 0011 0001 1001 0000 0000 0001 1000  es 0100 0111 0000 0011 = 47.03% de humedad y 0001 1001 0000 0000 = 19.00ºC y la comprobación es la suma de 4+7+0+3+1+9+0+0=24=11000 Ejemplos de uso: Medir H y T con Blink en Rover con Arduino Estación meteorológica Arduino con Arduinoblocks Arduinoblocks en el aula SMART HOME con Micro:bit No es un sensor con gran sensibilidad, pero para propósitos educativos cumple sus funciones. Por dentro tiene una resistencia NTC que decrementa su resistencia si aumenta la temperatura. Hay otros que van al revés, los PTC. Tanto los NTC como los PTC se llaman thermistores. Para la humedad, mide la capacidad de un condensador que es sensible a la humedad, o sea, un sensor capacitivo. Tenemos dos opciones comerciales: Encapsulado que lo tienes preparado para conectar la alimentación y leer por el pin de datos, o sin encapsular, que hay que colocar una resistencia de aproximadamente 10k entre Vcc y Data Ejemplo de uso de un DHT11 sin encapsular: Fuente Luis LLamas CC-BY-NC-SA https://www.luisllamas.es/arduino-dht11-dht22/ Si queremos mejorar la sensibilidad, podemos utilizar el DHT22 que es igual pero de color blanco y más caro. Si lo que queremos es sólo la temperatura es mejor utilizar el LM35D que tiene un rango de temperaturas desde 0ºC a 100ºC con una sensibilidad de 2mV/ºC Es un sensor bastante mediocre, si necesitas una precisión el doble, te recomendamos el DHT22 que funciona exáctamente igual pero es de color blanco y más caro ⁓3€. Ver https://www.luisllamas.es/arduino-dht11-dht22/ Sensor IR Es un sensor para distancias cortas hasta 2cm y no da la distancia, simplemente si hay o no hay obstáculo, pero son muy baratos, unos 0.30€. Aquí tienes un ejemplo de evita obstáculos en un rover marciano con Raspberry Para saber más te recomendamos esta página de Luis Llamas IR Sensor Module for Arduino Projects | 3D Model by Veer AI on Sketchfab Sensor llama Este sensor de llama se puede utilizar para detectar fuego u otras luces cuya longitud de onda se encuentra entre 760 nm ~ 1100nm. Un ejemplo de su uso: Alarma por fuego en Domótica con Arduino Sensor de Gas (MQ2). Detecta gases inflamables : GLP, I-butano, propano, metano, alcohol, hidrógeno, humo... con más sensibilidad en algunos que en otros. Siempre detecta el conjunto. Son usados en electrónica de consumo y mercados industriales. Sensibilidad Tiene alta sensibilidad y se puede ajustar girando el potenciómetro. Tiempo de respuesta: Internamente posee un calentador para aumentar su temperatura y que estos gases reaccionen con la resistencia interna que tiene, por lo tanto tardan algo en responder la primera vez que se conectan, incluso horas en algunos modelos. Una vez calentados son rápidos en la respuesta. Tipo de salida: Analógico pero si tiene 4 pines como el de la figura, incorpora un pin digital. Ejemplos de uso: Smart Home Microbit Smart Home ESP32 Sensor de humedad de suelo. Un higrómetro de suelo FC-28 es un sensor que mide la humedad del suelo. Son ampliamente empleados en sistemas automáticos de riego para detectar cuando es necesario activar el sistema de bombeo. El FC-28 es un sensor sencillo que mide la humedad del suelo por la variación de su conductividad. No tiene la precisión suficiente para realizar una medición absoluta de la humedad del suelo, pero tampoco es necesario para controlar un sistema de riego.  Los valores obtenidos van desde 0 sumergido en agua, a 1023 en el aire (o en un suelo muy seco). Un suelo ligeramente húmero daría valores típicos de 600-700. Un suelo seco tendrá valores de 800-1023. Luis Llamas CC-NC-BY-SA https://www.luisllamas.es/arduino-humedad-suelo-fc-28/ Se puede utilizar este sensor para hacer un dispositivo de riego automático, puede detectar si las plantas “tienen sed” y evitar que se marchiten.   La corriente de trabajo del sensor es menor de 20mA. El voltaje de salida es de 0V (en el aire) a 2,3V (totalmente sumergido en agua). Smart Agriculture Kit micro:bit Sensor de humedad. Este sensor analógico está diseñado para identificar y detectar la presencia de agua y su cantidad. Puede servir para detectar el nivel de agua, para disparar una alarma en caso de una fuga de agua, también para hacer un limpiapalabrisas automático.... puedes ver un ejemplo de uso en : Curso de Domótica con Arduino Smart Agriculture Kit micro:bit Mide el volumen de agua caída a través de una serie de rastros de cables paralelos expuestos. Sensor de efecto Hall. Este es un sensor de inducción magnética. Detecta los materiales magnéticos dentro de un rango de detección de hasta 3 cm. El  rango de detección y la fuerza del campo magnético son proporcionales. La salida es digital. Sensor Hall.                              Edwin Helber Hall De Desconocido - Popular Science Monthly Volume 64, Dominio público Edwin Helbert Hall descubrió en 1879 que en presencia de un campo magnético, un conductor que conduzca una corriente se le producía un campo eléctrico porque las cargas eléctricas se desviaban de su trayectoria principal, nuestro sensor simplemente mide ese campo eléctrico: De Luis Llamas CC-BY-NC El sensor tiene un led de color rojo que indica que hay una lectura de campo magnético. Un ejemplo de uso lo puedes ver aquí: medir rocas magnéticas con el Rover con Arduino Sensor inclinación Este sensor funciona al hacerle vibrar, emitiendo una señal digital de todo o nada. El módulo del sensor viene provisto de un potenciómetro para poder regularlo. Sensor de golpe Es un sensor digital que al ser golpeado este sensor envía una señal momentánea. Sensor de pulso cardíaco. Este módulo utiliza un LED infrarrojo (IR) ultrabrillante y un fototransistor para detectar el pulso en el dedo. Principio de funcionamiento: Se debe colocar el dedo entre el LED infrarrojo ultrabrillante (parte superior) mientras que el fototransistor, que queda en el otro lado, recoge la cantidad de luz transmitida. La resistencia del fototransistor variará levemente a medida que la sangre pase a través de su dedo. Sensor de Alcohol. Este sensor de gas analógico MQ-3 es adecuado para detectar alcohol. Se puede usar en un analizador de aliento. También tiene una alta sensibilidad al alcohol y baja sensibilidad a la bencina (éter de petróleo). La sensibilidad se puede ajustar con el potenciómetro. Sensor de CO2 Hay sensores que utilizan el protocolo I2C, este protocolo permite conexiones serie y pueden compartir el mismo cable pues cada elemento tiene una dirección diferente. Esto lo veremos en el Display LCD. Se identifican por los pinen SDA y SCL Resistencia Flex Es una resistencia que cuanto más se dobla más resistencia ofrece, desde 25k hasta 125k Para utilizar esta resistencia haremos un DIVISOR DE TENSIÓN que consistirá en poner dos resistencias en serie y repartirá la tensión total entre 0V y 5V en las dos resistencias, el punto medio será un punto que tendrá una tensión variable en función de las dos resistencias, como la es variable, esa tensión es variable y ya tenemos la entrada analógica: Es decir: La resistencia entre masa GND del ARDUINO (cable negro) y un punto en la placa protoboard ese punto medio conectarlo a una entrada analógica, por ejemplo A0 (cable amarillo) Una resistencia de valor parecida a la Flex de decenas de K entre ese punto y +5V (cable rojo en la foto) Este sensor tiene posibilidades para usarlo en "ropa inteligente". Sensor de movimiento  Los sensores infrarrojos pasivos (PIR) son dispositivos para la detección de movimiento. Son baratos, pequeños, de baja potencia, y fáciles de usar. Por esta razón son frecuentemente usados en juguetes, aplicaciones domóticas o sistemas de seguridad.  Los sensores PIR se basan en la medición de la radiación infrarroja. Todos los cuerpos (vivos o no) emiten una cierta cantidad de energía infrarroja, mayor cuanto mayor es su temperatura. Los dispositivos PIR disponen de un sensor piro eléctrico capaz de captar esta radiación y convertirla en una señal eléctrica. En realidad cada sensor está dividido en dos campos y se dispone de un circuito eléctrico que compensa ambas mediciones. Si ambos campos reciben la misma cantidad de infrarrojos la señal eléctrica resultante es nula. Por el contrario, si los dos campos realizan una medición diferente, se genera una señal eléctrica. De esta forma, si un objeto atraviesa uno de los campos se genera una señal eléctrica diferencial, que es captada por el sensor, y se emite una señal digital. El otro elemento restante para que todo funcione es la óptica del sensor. Básicamente es una cúpula de plástico formada por lentes de fresnel, que divide el espacio en zonas, y enfoca la radiación infrarroja a cada uno de los campos del PIR. De esta manera, cada uno de los sensores capta un promedio de la radiación infrarroja del entorno. Cuando un objeto entra en el rango del sensor, alguna de las zonas marcadas por la óptica recibirá una cantidad distinta de radiación, que será captado por uno de los campos del sensor PIR, disparando la alarma. Luis Llamas CC-BY-NC-SA https://www.luisllamas.es/detector-de-movimiento-con-arduino-y-sensor-pir/ Puedes ver ejemplos de uso en robótica en :  Smart Home para Microbit Smart Agriculture Kit para Microbit Más sensibles son los sensores de microondas. Son un radar que por efecto Doppler pueden captar cualquier objeto en movimiento dentro de un alcance de 5-7 metros en cualquier dirección e independiente de su temperatura. Es un buen sensor para alarmas, activación de luz por presencia..... Para saber más ver la página de Luis Llamas Su conexión es muy sencilla, es un detector digital que hay que alimentarlo como el resto de sensores.  Curiosamente, la gran ventaja técnica de los de microondas es un gran inconveniente para usarlo en el aula, con cualquier movimiento se dispara, luego para clase es mejor el sensor PIR  Esta página esta adaptada de este enlace. José Andrés Echevarría @cantabRobots CC-BY-NC-SA. Actuadores Esta página es un repaso rápido de las posibles salidas de los robots NO LEAS TODOS SÓLO LOS QUE TIENE TU ROBOT ¿Qué es un actuador? Un actuador es el nombre genérico que empleamos para cualquier dispositivo capaz de realizar acciones en el mundo físico y que podremos controlar desde un autómata o procesador como Arduino. En particular, usamos el nombre actuador para los dispositivos que son capaces de generar movimiento.   Luis LLamas CC-BY-NC-SA ACTUADORES                                                                                                    Motores baja potencia Con el Arduino podemos usar motores de corriente continua de juguete como en la figura, aptos para poner un ventilador. Ejemplo de uso Smart Home para microbit Motores con algo de potencia Si quieres usar un motor para mover unas ruedas, ya pide más corriente, no se puede conectar directamente al la placa (Arduino, esp32 etc..). El de la figura es típico en robótica y lleva reductores dentro para bajar la velocidad : Necesita una alimentación extra, como el LM298N y las pilas., o el B6612FNG o una shield específica. CC-BY-NC Luis Llamas Ejemplos de uso lo puedes ver en  Curso mClon con nanoArduino con el  B6612FNG  Curso Rover con Arduino con la shield L293D ESP-12E para el NODE MCU que internamente tiene el LM298N Curso Arduino con código con LM298N y también con un transistor Los motores pueden (y deben) de estar conectados a salidas PWM de tal manera que se pueda regular la potencia y por lo tanto la velocidad. Servos Un servo convencional es un motor donde fijamos el ángulo desde 0º a 180º, pero si queremos una rotación, existen servos rotatorios que simplemente tienen su velocidad de rotación controlada Ejemplos de uso de servos: Curso Arduino con código Curso brazo robótico del mClon con nanoArduino Apertura de barrera por ultrasonidos en curso Arduino con ArduinoBlocks Tractor entrando en el corral Arduino con EchidnaShield Apertura de puerta Domótica con Arduino Servo con PicoBrick Apertura ventana y puerta en Smarth Home para microbit Smart Agriculture Kit para micro:bit Relés Un relé es un interruptor activado por un electroimán, lo que permite independizar los circuitos. En el dibujo se ve que el circuito rojo de 220V esta separado del verde, de sólo 1.5V. Pero es el circuito verde que al funcionar, hace que el electroimán mueva el interruptor del relé y encienda la bombilla. El objetivo es que he podido encender una bombilla de 220V sin tocar los 220V peligrosos. En el circuito verde, el interruptor puede ser un Arduino. Experiméntalo en este simulador. Un ejemplo con Arduino en Luis LLamas Un ejemplo de uso en Picobricks Electroimán El electroimán no se puede conectar directamente, utilizaremos una etapa de potencia, por ejemplo el transistor el IRF520N que amplifique la señal del Arduino, pues las salidas de Arduino no tienen potencia para mover el electroimán. Para dar esa potencia utilizaremos otra fuente externa, unas pilas: Las conexiones son : SIG del IRF520N a una salida digital por ejemplo D13 VCC del IRF5020N al 5V del ARDUINO Los dos GND del IRF520N a GND del ARDUINO V+ y V- del IRF5020N al solenoide, da igual qué cable pues no tiene polaridad. VIN del IRF520N al VIN del ARDUINO (son los voltios de la pilas) Motor paso a paso Igual que el electroimán, necesitamos un controlador que nos de la potencia necesaria para mover el motor, el ULN2003 Imagen BY-NC-SA de Luis Llamas También igual que el electroimán, necesitamos una potencia extra con las pilas: Conexión : Cuatro pines digitales del ARDUINO al IN1,IN2,IN3,IN4 del ULN2003 por ejemplo D10,D11,D12,D13 El conector blanco del ULN2003 al motor paso a paso El (+) del ULN2003 al Vin del ARDUINO El (-) del ULN2003 al GND del ARDUINO La configuración más sencilla es la rotación simple en sentido horario (llamada fase1) : Imagen BY-NC-SA de Luis Llamas Es decir: Paso IN1=D10 IN2=D11 IN3=D12 IN4=D13 Paso 1 ON OFF OFF OFF Paso 2 OFF ON OFF OFF Paso 3 OFF OFF ON OFF Paso 4 OFF OFF OFF ON Si has entendido este ejemplo serás capaz de realizar las configuraciones que desees. OTRAS SALIDAS                                                                                               No son actuadores pues no representan movimiento pero son también salidas del Arduino como los actuadores, luego lo vemos en esta página Buzzer activo Reproduce un tono de una frecuencia determinada por el fabricante cuando recibe un '1' digital. Su conexión es muy simple: GND a GND y VCC a 5V (ojo que están a los dos extremos, marcados en rojo y en negro) OUT o también señalado como I/O a un pin digital, por ejemplo D13 Ejemplos de uso: Domótica con Arduino: Apertura puerta con mBlock Domótica con Arduino Apertura puerta con código Buzzer pasivo La diferencia de un buzzer activo con el pasivo es que el pasivo hay que mandar la onda que se tiene que reproducir, como Arduino no puede reproducir onda puras (senoidales analógicas), se le envía ondas cuadradas con la frecuencia que se pretende reproducir. Como se puede ver en la figura, no tiene elementos auxiliares para reproducir un tono, es simplemente un altavoz. Ejemplos de uso Timbre Arduino con Echidna Arduino blocks en el aula LEDS Y OTROS ELEMENTOS VISUALIZADORES                                              Led normal Un diodo es la unión de dos semiconductores P-N que sólo permite la corriente en un sentido. Un diodo LED es un diodo, que al pasar esta corriente emite una luz. Hay de 3mm y de 5mm de grosor, transparentes, traslúcidos y de colores (realmente son traslúcidos tintados) Tenemos pues que respetar su polaridad para que funcione: Fuente Luis LLamas CC-BY-NC Encender LED con Arduino Si alimentamos el LED con una tensión inferior a su tensión de polarización directa Vd ±1,4V-3,8V el led no luce. si alimentamos con una tensión superior, la corriente que circula se dispara por lo que se rompe. Conclusión: Hay que poner una resistencia limitante. Para calcularla te recomiendo la página de Luis Llamas  Encender LED con Arduino Aquí puedes ver un ejemplo de semáforo en el curso Arduino con código Se puede conectar directamente pues las salidas de Arduino tienen una limitación interna de 20mA como en este ejemplo https://www.youtube.com/watch?v=EFFSLvIF9rY Los LEDS igual que los motores pueden se encendidos o todo o nada con salidas digitales 0 y 1 o salidas PWM de esta manera conseguimos luminosidades medias, en esta práctica con el potenciómetro se regula la intensidad de la luz de un LED Led RGB Se trata de un encapsulado que integra 3 leds de los tres colores básicos. Cada color básico se puede regular desde 0 a 255 de intensidad, luego tenemos 16 millones de tonalidades diferentes. Un ejemplo de su uso lo puedes ver en Domótica con Arduino, interruptor crepuscular Intermitente RGB en Arduino con ArduinoBlocks Existen LEDS RGB que se comunican unos a otros, (ver este ejemplo en el curso mClon) como las tiras de leds RGB que cambian de color todos simultáneamente. Neopixel La cinta LED RGB se basa en el chip controlador WS2812B de Neopixel con el cual podemos tener el control de cada pixel y de cada color, ya sea rojo, verde y azul a través de un solo cable de datos. Los WS2811, WS2812 y WS2812B son LED que disponen de lógica integrada, por lo que es posible variar el color de cada LED de forma individual (a diferencia de las tiras RGB convencionales en las que todos los LED cambian de color de forma simultánea). Están basados en el LED 5050, llamado así porque tiene un tamaño de 5.0 x 5.0 mm. Es un LED de bajo consumo y alto brillo, que incorpora en un único encapsulado los 3 colores RGB. La genial novedad del WS2812B (y resto de familia) es añadir un integrado dentro de cada LED, que permite acceder a cada pixel de forma individual. Por este motivo este tipo de LED se denominan “individual addressable”. Esto abre la puerta a un sinfín de aplicaciones y combinaciones, que van desde dotar de iluminaciones distintas zonas con una única tira, animaciones complejas, o incluso generar pantallas enteras de alta luminosidad....  A los LED WS2812B también se les denomina NeoPixel Luis Llamas CC-BY-NS-SA https://www.luisllamas.es/arduino-led-rgb-ws2812b/  Smart Home para Microbit con 4 leds RGB Neopixel Smart Home para ESP32 Smart Agriculture Kit micro:bit Láser El diodo láser es un elemento motivador, barato y fácil de usar con el Arduino pues se activa digitalmente, si enviamos un 1 emite un rayo láser. Un ejemplo de uso lo puedes ver en la Alarma por láser en Domótica con Arduino Si quieres saber más de este componente, te recomendamos esta página de Luis Llamas. Si tienes que comprar uno, es importante que no sea superior a 5mW, pues puede dañar permanentemente la retina del ojo [+info]. El modelo que proponemos es de 1mW, no obstante, EVITA SIEMPRE QUE EL LÁSER APUNTE A LOS OJOS especialmente con niños. Display LCD Si queremos visualizar datos de forma independiente del ordenador, existen matrices de led que puedes ver en los cursos de mBot o mClon pero lo mejor es una pantalla Liquid Crystal Display y la mejor forma de conectar esta interfaz es en serie utilizando el protocolo I2C.  Ejemplo de uso : en Arduino con código Arduinoblocks en el aula Smart Home para Microbit CC-BY-SA Luis Llamas No confundas Display LCD con matriz de LEDs , o una OLED Aclarando conceptos: Protocolo I2C                                                                                       Es un protocolo de emitir los datos con sólo dos cables SDA (los datos) y SCL (reloj) y además pueden compartir varios dispositivos SLAVE) para ello la placa Arduino ESP32, microbit... (MASTER) tiene que saber qué dirección tiene cada dispositivo IMPORTANTE: Fuente Luis Llamas ArduinoI2C CC-BY-SA Aclarando conceptos: Lógica invertida                                                                                    Igual que vimos en sensores, con las configuraciones Pull up y Pull down, las salidas de cualquier actuador PUEDEN SER LÓGICA INVERTIDA, mira en este NodeMCU (básicamente es un Arduino con wifi, aquí está conectado con el servidor Blynk) como funciona al revés, cuando apretamos, por lo tanto enviamos un uno a la salida, se apaga la salida !! Objetivos y contenidos Objetivos Capacidad de desarrollar retos STEAM con un amplio nivel educativo: primaria hasta secundaria Retos STEAM de nivel principiante con manejo de sensores y actuadores con lenguaje de bloques. Retos STEAM de nivel medio medio/avanzado en las comunicaciones Bluetooth. Retos STEAM de nivel medio/avanzado con proyectos IoT (Internet de las cosas) Contenidos ¿Qué es Smart Acriculture para micro:bit? Introducción sobre lenguajes, actuadores y sensores Jugando sólo con la placa micro:bit con lenguaje por bloques Makecode Jugando con la maqueta y lenguaje por bloques Makecode Jugando con Bluetooth Jugando con IoT Programas básicos con Smart Agriculture Kit OLED Un OLED (Organic light-emitting diode) es un tipo de LED en el que la capa emisiva es está formada por un compuesto orgánico que emite luz en respuesta a la electricidad... ...Las pantallas OLED tienen la ventaja de tener un consumo muy bajo, en torno a 20mA, dado que solo se enciende el pixel necesario y no requieren de backlight. Esto es especialmente interesante en aplicaciones que funcionan con baterías. Además, tienen una mejor visibilidad en ambientes luminosos, como bajo el sol. Aunque el pequeño tamaño de estas pantallas OLED de 0.96” pueden ser un problema para su correcta visualización. Luis Llamas CC-BY-NC-SA https://www.luisllamas.es/conectar-arduino-a-una-pantalla-oled-de-0-96/ La pantalla OLED nos permitirá visualizar variables y mensajes muy fácilmente : Para tener las instrucciones OLED instalaremos la extensión de ELECFREAKS  E instala estas instrucciones En este programa visualiza el nivel de luz (el sensor esta integrado en la placa microbit) en el OLED: Inicializa la pantalla OLED como 128x64 pixeles limpia de anteriores mensajes Enseña la frase (con salto de línea) Enseña frase sin salto de línea Enseña número con salto de línea El resultado: https://makecode.microbit.org/S69148-73800-11713-89082 DHT11 La lectura de este sensor que es doble, lleva un protocolo que lo hemos visto en el apartado de sensores por lo que utilizaremos alguna función definida de alguna extensión. La extensión recomendada es la que instala el fabricante ELECFREAKS en la extensión Environment  La instrucción esta un poco escondida Para ver su funcionamiento, vamos a visualizar su valor en la pantalla OLED : https://makecode.microbit.org/S31229-07212-54331-00904 El resultado  RETO que el OLED indique la ZONA DE CONFORT en el que te encuentras: Fuente Federico Coca https://fgcoca.github.io/Guia-de-trabajo-para-microbit/conceptos/dhtxx/   Sonda sumergible DS18B20 El sensor DS18B20 es un sensor barato y, sin embargo, bastante avanzado. Dispone de un rango amplio de medición de -55ºC a +125ºC y una precisión superior a ±0.5°C en el rango –10°C de +85°C. Una de las ventajas del DS18B20 es que se comercializa tanto en un integrado TO-92 como en forma de sonda impermeable, lo que permite realizar mediciones de temperatura en líquidos y gases. Luis LLamas CC-BY-NC-SA https://www.luisllamas.es/temperatura-liquidos-arduino-ds18b20/ Esto nos permite hacer mediciones en agua incluso hirviendo. Recomendamos usar una extensión específica para esta sonda, buscar como DS TEMP Esto nos instala estas dos instrucciones: El siguiente programa: Prepara OLED Esta rutina permite visualizar por el OLED si hay algún error Grabamos en la variable TEMPERATURA el valor que lee la sonda en el P1 Visualizamos el valor https://makecode.microbit.org/S42317-53460-45843-40235 Aquí podemos ver que marca cerca de 90ºC en una infusión: Servo Nos da mucho juego y permite muchos proyectos. El fabricante sólo proporciona uno 😢 ¡¡¡ que sólo cuesta 2€ !! Para utilizarlo no hace falta ninguna extensión en pines tenemos las instrucciones correspondientes Vamos a hacer un programa para que veas que sólo puede girar de 0º a 180º Creamos una variable angulo y al principio le asignamos el valor de 0 por lo tanto obligamos que empiece con ese valor Fijamos el ángulo del servo que esta en el pin P9 al valor de la variable ángulo dentro del bucle para siempre. Una pausa breve de ms que podemos bajar si queremos que vaya más rápido si la variable ángulo supera los 180 que vuelva a "resetearse" a 0 la variable ángulo se va incrementando de 10 en 10 con otra pausa. Estos valores se pueden cambiar para conseguir la velocidad deseada https://makecode.microbit.org/S99415-22198-23132-97526 RETO: Crear un programa que alimente automáticamente a los animales, mediante una programación semanal, es decir dado una fecha, que se active el servo que abrirá la compuerta del silo durante un tiempo determinado. Solución RETO: Crear un programa que proteja las plantas de la luz directa, es decir si la luz es mayor que un cierto valor, se acive el servo que pondrá una sombra a la planta. Solución Sensor de agua Este tipo de sensores detectan la presencia de lluvia por la variación de conductividad del sensor al entrar en contacto con el agua. Luis Llamas CC-BY-NC-SA https://www.luisllamas.es/arduino-lluvia/ Este sensor no tiene protocolo de datos como los otros sensores, se puede leer en bruto el valor de P2 : Inicializamos el OLED Grabamos en una variable nueva AGUA el valor del pin analógico P2 Visualizamos la lectura https://makecode.microbit.org/S42209-00876-15805-47351 RECOMENDADO :Pero los valores que muestran van del 0 al 1024, y mapearlos es dificil pues no es un sensor lineal, una opción es utilizar la función que tiene la extensión IoT, y te da los valores en tanto por cien %.  En este ejemplo se muestra tanto el valor del suelo como el del nivel del agua: https://makecode.microbit.org/S64895-39903-08613-08722 Aquí vemos el resultado Humedad del suelo Un higrómetro de suelo FC-28 es un sensor que mide la humedad del suelo. Son ampliamente empleados en sistemas automáticos de riego para detectar cuando es necesario activar el sistema de bombeo. El FC-28 es un sensor sencillo que mide la humedad del suelo por la variación de su conductividad. No tiene la precisión suficiente para realizar una medición absoluta de la humedad del suelo, pero tampoco es necesario para controlar un sistema de riego.  Los valores obtenidos van desde 0 sumergido en agua, a 1023 en el aire (o en un suelo muy seco). Un suelo ligeramente húmero daría valores típicos de 600-700. Un suelo seco tendrá valores de 800-1023. Luis Llamas CC-NC-BY-SA https://www.luisllamas.es/arduino-humedad-suelo-fc-28/ Te proponemos este sencillo programa para poder calibrar y medir las humedades del suelo : Inicializamos el OLED Grabamos en una variable la lectura del pin P4 Visualizamos en el OLED la lectura Este sensor no tiene protocolo de datos como los otros sensores, puedes usar directamente la lectura del pin 4 : https://makecode.microbit.org/S85526-52667-76006-02288 RECOMENDADO : Pero los valores que muestran van del 0 al 1024, y mapearlos es difícil pues no es un sensor lineal, una opción es utilizar la función que tiene la extensión IoT, y te da los valores en tanto por cien %. En este ejemplo se muestra tanto el valor del suelo como el del nivel del agua: https://makecode.microbit.org/S64895-39903-08613-08722 https://makecode.microbit.org/S64895-39903-08613-08722 RETO: Este sensor junto con el servo pide a gritos un proyecto de riego automático: ¿Te atreves? Led Neopixel Los leds Neopixels son "chulos" cuando hay muchos, pues los datos van pasando de un led a otro y tiene mucho juego pero en este caso el fabricante sólo ha puesto uno 😢 Los WS2811, WS2812 y WS2812B son LED que disponen de lógica integrada, por lo que es posible variar el color de cada LED de forma individual (a diferencia de las tiras RGB convencionales en las que todos los LED cambian de color de forma simultánea). Están basados en el LED 5050, llamado así porque tiene un tamaño de 5.0 x 5.0 mm. Es un LED de bajo consumo y alto brillo, que incorpora en un único encapsulado los 3 colores RGB. La genial novedad del WS2812B (y resto de familia) es añadir un integrado dentro de cada LED, que permite acceder a cada pixel de forma individual. Por este motivo este tipo de LED se denominan “individual addressable”. Esto abre la puerta a un sinfín de aplicaciones y combinaciones, que van desde dotar de iluminaciones distintas zonas con una única tira, animaciones complejas, o incluso generar pantallas enteras de alta luminosidad....  A los LED WS2812B también se les denomina NeoPixel Luis Llamas CC-BY-NS-SA https://www.luisllamas.es/arduino-led-rgb-ws2812b/ Para utilizar este elemento tenemos que descargarnos la Extensión Neopixel y tendremos las instrucciones adecuadas. Vamos a hacer UNA LUZ CREPUSCULAR PARA LA GRANJA es decir que cuando sea de noche se encienda la luz Inicializamos el led neopixel en el pin P14 con 1 led y formato GRB (se refiere al orden de envío de las instrucciones, primero el green, luego red y luego blue, hay otro formato que es más común el RGB) Si la luz ambiental (detectado por el sensor integrado en la placa micro:bit) es menor que 50 (un valor arbitrario para detectar si es de noche o es de día) Apaga la luz si es de día Enciende la luz si es de noche https://makecode.microbit.org/S47979-61604-21560-37629 Sensor de movimiento PIR Los sensores infrarrojos pasivos (PIR) son dispositivos para la detección de movimiento. Son baratos, pequeños, de baja potencia, y fáciles de usar. Por esta razón son frecuentemente usados en juguetes, aplicaciones domóticas o sistemas de seguridad.  Los sensores PIR se basan en la medición de la radiación infrarroja. Todos los cuerpos (vivos o no) emiten una cierta cantidad de energía infrarroja, mayor cuanto mayor es su temperatura. Los dispositivos PIR disponen de un sensor piro eléctrico capaz de captar esta radiación y convertirla en una señal eléctrica. En realidad cada sensor está dividido en dos campos y se dispone de un circuito eléctrico que compensa ambas mediciones. Si ambos campos reciben la misma cantidad de infrarrojos la señal eléctrica resultante es nula. Por el contrario, si los dos campos realizan una medición diferente, se genera una señal eléctrica. De esta forma, si un objeto atraviesa uno de los campos se genera una señal eléctrica diferencial, que es captada por el sensor, y se emite una señal digital. El otro elemento restante para que todo funcione es la óptica del sensor. Básicamente es una cúpula de plástico formada por lentes de fresnel, que divide el espacio en zonas, y enfoca la radiación infrarroja a cada uno de los campos del PIR. De esta manera, cada uno de los sensores capta un promedio de la radiación infrarroja del entorno. Cuando un objeto entra en el rango del sensor, alguna de las zonas marcadas por la óptica recibirá una cantidad distinta de radiación, que será captado por uno de los campos del sensor PIR, disparando la alarma. Luis Llamas CC-BY-NC-SA https://www.luisllamas.es/detector-de-movimiento-con-arduino-y-sensor-pir/ Este sensor no tiene protocolo de datos como los otros sensores, se puede leer en bruto el valor de P2 : Vamos a hacer una alarma sencilla: Inicializamos el OLED Si la lectura del sensor es mayor que 100 (valor arbitrario) es que hay "alguien" Si hay alguien lo visualizo por el OLED sale la palabra INTRUSO y reproduce un tono de alarma Si no hay nadie sale el valor por el OLED sale que no hay nadie una breve pausa para no saturar la placa PROPUESTA: Ajusta el valor arbitrario del paso 2 para que detecte personas pero no animales https://makecode.microbit.org/S47327-01515-95700-67184 Sensor distancia de ultrasonidos Hardware Es un sensor digital de distancias por ultrasonidos capaz de detectar objetos y calcular la distancia a la que se encuentra en un rango de 2 a 350 cm. Su uso es tan sencillo como enviar el pulso de arranque y medir la anchura del pulso de retorno. No es un sensor preciso, con una ligera inclinación de la superficie ya da lecturas erróneas pero es muy barato El más común es el HC-SR04 que tiene 4 pines de conexión:  VCC   Trig (Disparo del ultrasonido)   Echo (Recepción del ultrasonido) y  GND aunque en algunos modelos como el de Elecfreaks tiene 3 pines. Integra Trig y Echo en uno sólo. La distancia se calcula con esta fórmula: Distancia en cm = {(Tiempo en segundos entre Trig y el Echo) * (V.Sonido 34000 en cm/s)} / 2 Si programas en código, tienes que utilizar la fórmula anterior, previamente tienes que programar el cálculo del tiempo entre una emisión de un pulso en Trg y la respuesta en Echo. Si utilizas la programación en bloques, no es necesario, seguro que hay un bloque que lo hace todo por ti 😍 Software La extensión recomendada es la que instala el fabricante ELECFREAKS en la extensión Environment  Y en una sección que pone Octopus Vamos a hacer un programa que visualice las mediciones: Preparamos la OLED En una variable nueva DISTANCIA recoge la medida del sensor que está conectado en el pin P13 visualiza la DISTANCIA en el OLED https://makecode.microbit.org/S66928-56344-60970-73771 En la foto me he colocado a aproximadamente 11cm de los "ojos" Bluetooth BLUETOOTH extensión en Makecode En Makecode instalaremos la siguiente extensión Entramos en Extensiones Buscamos Bluetooth y elegimos la esta : Nos dirá que es incompatible con la radio, y hay que eliminar la radio y poner Bluetotth, aceptamos : Por si acaso... En Makecode, si vamos a la rueda dentada - Project settings  Hay que tener que cualquiera se puede conectar via Bluetooth Ahora con la granja Una vez visto cómo podemos controlar la micro:bit usando Bluetooth, vamos a hacer lo mismo con la granja Empezamos instalando la Extensión Bluetooth que hemos visto en las páginas anteriores También pondremos la Extensión Iot-environment kit de Elecfreak para poder usar la OLED, DHT11 etc.. de la granja tal y como lo hemos trabajado en el capítulo Programas básicos con Smart Agriculture Kit En el bucle Al inicial, inicializamos la OLED, y también inicializamos el Bluetooth pero aquí el nombre de dispositivo que lo visualice por la OLED que es más cómodo, y así sabemos a qué microbit tenemos que conectarnos si estamos en una clase con muchos: Añadimos el bucle "Al conectar Bluetooth" y "Al desconectar Bluetooth" que también lo hemos visto en las páginas anteriores, pero esta vez le decimos que los mensajes lo visualice por la OLED Vamos a jugar ahora que si detecta agua en el sensor de nivel de agua, que mande un mensaje de inundación : Vamos a jugar más y si aprieto el botón A de la micro:bit que salga un mensaje y además que nos diga la temperatura y la humedad de la granja: No podemos abandonar el reto sin poner comunicación en el otro sentido, es decir de la APP a la granja: Vamos a hacer que si se envía desde la APP #abre# pues que el servo se ponga a 0º y se envía desde la APP #cierra# pues que el servo se mueva a 180º. El servo podría estar unido a una puerta, ventana, a un silo de alimentación.... El proyecto https://makecode.microbit.org/S87280-53966-04815-61300   Y el resultado : IoT micro:bit ¿Qué es IoT? IoT significa Internet of Things, o Internet de las Cosas. Es la idea de que objetos cotidianos pueden conectarse a internet, recoger información y comunicarse entre sí o con nosotros. Imagina que cada objeto de la clase pudiera hablar y escuchar: El termómetro de la pared le avisa a la calefacción: “Hace frío”. La calefacción responde: “Entendido, me enciendo”. Eso es el IoT: objetos con sentidos (sensores), voz (conexión a internet) y a veces manos (pueden hacer algo, como encender una luz). Los tres ingredientes básicos para trabajar el IoT: Sensores: son como los sentidos del objeto. Detectan temperatura, luz, movimiento, humedad, etc. Conexión: es como su voz. Envía la información por wifi u otras redes. Acción o respuesta: es lo que hace el objeto con esa información (encender una luz, mandar un aviso al móvil, regar una planta...). Ejemplos  para tu alumnado puede ser:  Un reloj inteligente que cuenta los pasos que das. Un altavoz inteligente al que le dices “pon música”.  Un semáforo que cambia según el tráfico. Un sistema de riego que se activa solo cuando la tierra está seca. Una bombilla que se enciende desde el móvil. ¿Cómo lo podemos utilizar con nuestro alumnado? Como herramienta de aprendizaje: Medir la temperatura del aula durante una semana y hacer gráficas (matemáticas y ciencias). Cuidar un huerto escolar con sensores de humedad. Como tema para conversar: ¿Qué pasa con nuestros datos cuando los objetos “escuchan”? ¿Es bueno que todo esté conectado? ¿Quién puede ver la información que recogen? Una actividad sencilla  desenchufada para probar antes de pasar a nuestra microbit: “El objeto inteligente inventado”:  Pide a tu alumnado que dibuje un objeto del aula (la mochila, la papelera, la pizarra) y le “añadan” un sensor, una conexión y una acción. Por ejemplo: una papelera que avisa cuando está llena. Y después ya podemos pasar a la tecnología!! Conexión Wifi Hardware Para poder utilizar las características IoT necesitamos conectar nuestra Micro:bit a Internet, pero la placa micro:bit no tiene Wifi.  Para tener wifi  necesitamos  la placa IoT:bit. ESP8266 Wifi Module ( en la imagen de arriba) y podemos ver : El pin de recepción lo tiene en el Pin 8 El pin de transmisión lo hace por el Pin 12   Debemos insertar la placa microbit en  la IoT:bit:     OJO TENEMOS QUE ALIMENTAR LA PLACA pues el ESP32 no se puede alimentar a través de micro:bit.  SOFTWARE Para conectarlo a Internet usaremos una extensión en Makecode IoT environment: Y se nos instalan nuevas instrucciones, nos vamos a fijar en las verdes ESP8266 : Y las utilizamos para poner en el bucle inicio : Establecemos que el ESP32 tiene los pines de recepción y transmisión por los números definidos anteriormente Ponemos el nombre de nuestra wifi y su contraseña (a veces los routers "capan" estas conexiones, por lo que recomendamos usar la conexión compartida, zona wifi o broadcast del móvil) Si no hay conexión (pues no es instantáneo) entramos en un bucle con una cara triste Si se sale del bucle anterior, es que estamos conectados y mostramos cara sonriente Y de paso preparamos la OLED que es muy útil para visualizar variables Definimos OLED 128x64 pixeles Ponemos la OLED en blanco Definimos la ESP32 con los pines de transmisión y recepcción en P8 y P12 Ponemos la clave de la Wifi Mientras no este conectado muestra cara triste Sale del bucle, luego esta conectado, muestra cara contenta Mensaje en la OLED que esta preparado SMARTIO SPACE ¿Qué es SMARTIOT?  https://www.smartiot.space/ SmartIoT es una plataforma online de ELECFREAKS diseñada para crear  proyectos de Internet de las Cosas (IoT) de forma sencilla y educativa.Permite conectar placas como micro:bit a Internet para enviar datos de sensores, visualizar información en tiempo real y controlar dispositivos desde una página web. Es una plataforma educativa de datos IoT gratuita que convierte las aulas en laboratorios inteligentes, con visualización de datos de sensores en tiempo real y paneles interactivos. Con SmartIoT, el alumnado puede desarrollar proyectos como estaciones meteorológicas, sistemas de riego inteligente o control de luces, sin necesidad de configurar servidores complejos. La plataforma está orientada a la educación STEAM y facilita el aprendizaje de programación, electrónica e IoT mediante herramientas visuales y fáciles de usar.   Diferencia entre Makecode y Smart Iot MakeCode es donde se programa (los bloques). Smart IoT es una plataforma educativa online donde se ven y gestionan los datos. Se usan juntos: programas en MakeCode y envías los datos a Smart IoT. Sin ella, el kit funciona, pero los datos se quedan en la pantalla OLED o en la micro:bit. Beneficios de añadir Smart IoT 1. Datos en tiempo real desde cualquier dispositivo Los alumnos ven la humedad del suelo o la temperatura en gráficas de línea en el ordenador o el móvil, sin mirar la pantallita de la micro:bit. La página del producto menciona gráficas de línea en tiempo real, monitorización de dispositivos, gestión de alumnos por clase y herramientas de análisis interactivas.  2. Historial de datos Solo con MakeCode, los valores aparecen y desaparecen. Con una plataforma se guardan, y los niños pueden comparar el lunes con el viernes, o la planta con riego automático con la de riego manual. Es muy útil para matemáticas (gráficas, medias) y ciencias. 3. Monitorizar a distancia La planta puede estar en el patio o en el aula mientras tú ves los datos desde otro sitio, incluso un fin de semana. Esto es IoT de verdad: datos que viajan por internet, no solo entre dos placas. 4. Gestión de clase Incluye gestión de alumnos y clases, así que cada grupo puede tener su propio dispositivo y sus datos. Es práctico para trabajar por equipos. Vamos a ver uno ejemplo. Vamos a hacerlo con el sensor de luz pero podemos hacerlo con cualquier tipo de sensor  con la humedad, con el nivel de agua, con la distancia, con la temperatura, humedad, sonda, presencia..... Crear cuenta Creamos una cuenta, esto implica que los alumnos tienen que tener un email  o que los alumnos utilicen la cuenta del profesor. Crear un dispositivo y sus campos Una vez logueados, creamos un dispositivo nuevo  Rellenamos con el nombre que queramos poner al dispositivo y ponemos tantos campos como queramos, según las variables que queramos visualizar o controlar. Instrucciones en Makecode Para conectarlo a Internet iremos a la extensión Iot que ya teníamos instalada de antes y buscaremos SmartIoT: Visualización de la cantidad de luz Bucle INICIO Ponemos las típicas instrucciones de Inicio Definimos OLED 128x64 pixeles Ponemos la OLED en blanco Definimos la ESP32 con los pines de transmisión y recepcción en P8 y P12 Ponemos la clave de la Wifi Mientras no este conectado muestra cara triste Sale del bucle, luego esta conectado, muestra cara contenta Mensaje en la OLED que esta preparado Bucle por siempre.. Ponemos estas instrucciones  El TOKEN que puedes ver en la ilustración de más adelante dónde está Comprobamos que estamos conectados Creamos una variable nueva LUZ y le asignamos la lectura del sensor LUZ Determinamos que en SmartIoT el dato1 es la variable LUZ Lo subimos a SmartIoT Enseñamos también la variable LUZ en el OLED Un check para visualizar que se ha subido una pausa para no saturar al servidor Una aspa en el caso de que no estemos conectados Resultado en SMARTIOT Entramos en la web logueados y vemos que muestra una gráfica según la luz que incide a la placa: También puedes ver dónde esta el TOKEN EXPERIMENTA Ahora cambia LUZ POR CUALQUIER OTRO SENSOR Y MIRA LOS CAMBIOS EN SMARTIOT Retos con Smart Agriculture Kit Reto 1 Humedad del suelo y nivel del agua Enunciado Mostrar en la pantalla OLED la temperatura y la humedad del aire, el nivel de humedad del suelo y el nivel del depósito de agua Solución Para la humedad y temperatura del aire vamos a Octopus y cogemos las funciones correspondientes. Para la humedad del suelo y el nivel del agua también vimos que en esa extensión, hay funciones que te da los valores en tanto por cien %.  https://makecode.microbit.org/S64895-39903-08613-08722 Reto2 Riego automático Enunciado RIEGO AUTOMÁTICO realizar un programa que detecte la humedad del suelo, y cuando llegue a cierto margen de "sequía", por ejemplo el 30% de humedad que active el servo para regar. El servo vuelve a su posición cuando el detecto de humedad vuelve a recuperar la humedad desesada. Mecanismo de riego Solución 1 cutre con una pajita Venga, ya lo sé, es chapucero, pero funciona 👿👿👿:  RIEGO AUTOMÁTICO este vídeo es una propuesta de hacerlo realidad, con una simple pajita y algo de maña: Solución 2 Con palitos, hacer una acequia casera Esta solución es la que idearon en el CRIET CALAMOCHA: Solución 3 Más profesional Si se quiere hacer más "profesional" el servo que active un interruptor de la motobomba, una sencilla cuesta 1€ y con unos tubos de 0.60€ apañao:  Fuente Adaptado de ElecFreaks https://wiki.elecfreaks.com/en/microbit/wisdom-life/microbit-smart-home-kit/smart_home_case_05/?highlight=water PROGRAMA Vamos a utilizar el programa anterior y crear una función de la visualización de datos de la humedad y del agua con todo ese código para que "no moleste" Vamos a crear una condición, si la humedad del suelo es menor del 30% pues que mueva arriba y abajo el servo : https://makecode.microbit.org/S58732-03354-26551-26627 Reto 3 Alarma depósito vacío Enunciado En este caso vamos a añadir al programa anterior que suene una alarma si el depósito se queda vacío. La alarma puede consistir en parpadeo rojo del led neopixel y alternancia de tono agudo y grave Solución Llevamos el riego automático a una función Añadimos una función de lógica si el depósito esta bajo al 10% que haga la alarma, en caso contrario que el led este verde Recuerda que hay que usar la extensión NEOPIXEL inicializar el strip neopixel al pin 14 y solo un led https://makecode.microbit.org/S17469-80061-38311-73745 Solución mejor ¿Tiene que regar si no hay agua en el depósito? ¿Puedes crear una función Alarma para "limpiar el código" ? Como puedes ver ahora la función RIEGOAUTOMATICO esta dentro de la condición de que el depósito esta lleno Y hemos creado una función ALARMA para que le código quede más "limpio" Reto 4 Intruso Estamos hartos que los jabalíes vengan a estropearnos la cosecha, vamos a asustarlos si se acercan Enunciado Si se acerca un objeto a menos de 20 cm a nuestra cosecha, que suene la alarma Solución Añadimos una variable DISTANCIA y lo ponemos en la función de vissualizar y el resto de programa es MUY SENCILLO PUES APROVECHAMOS LA FUNCIÓN ALARMA AQUÍ PODEMOS APROVECHAR PARA ENFATIZAR EL VALOR DE REUTILIZAR CÓDIGO https://makecode.microbit.org/S51550-75797-73915-29343 Reto 5 Mejorando intrusos Enunciado El sensor de ultrasonidos es un pesado, da falsas alarmas, añade el sensor PIR para quitarlas. Solución 1 ver, https://wiki.elecfreaks.com/en/microbit/wisdom-life/microbit-smart-agriculture-kit/microbit-Smart-Agriculture-Kit-case-04/ https://makecode.microbit.org/S25361-76721-60771-88083 Solución 2 Aquí se utiliza la función AND  pero en la función VER ya definimos PIR con su valor y lo visualizamos https://makecode.microbit.org/S46838-99630-55860-40869 Reto 6 : Envío por Internet la humedad del suelo Enunciado Queremos visualizar remotamente la humedad del suelo Solución En Smart.io https://www.smartiot.space/   creamos nuestro device y en Field 1 le vamos a decir SUELO tal y como vimos en https://libros.catedu.es/books/smart-agriculture-kit-microbit/page/que-es-smartiot Ponemos un componente, por ejemplo el medidor de aguja y el visualizador de gráfica En el programa, primero al inicio que se conecte a una Wifi Y luego una función que simplemente conecta con el tópico 1 y que si conecta que envíe el Data 1 la variable SUELO que recoge la humedad del suelo El resultado es muy bueno: RETO: PON MÁS CAMPOS A TU DEVICE !!! distancia, humedad, temperatura, ... https://makecode.microbit.org/S30944-15750-08422-29951 Reto 7 Regar a distancia Enunciado Como controlamos a distancia la humedad, podemos decir si regar o no. Hacer un pulsador que por Internet se active el riego Solución Es muy fácil, en Smart IoT añadimos un interruptor Y en el programa añadimos esta instrucción, super fácil Pero para que no se contradiga con el riego automático, hay que cambiar la función de riego automático a este bloque: https://makecode.microbit.org/S90110-41926-70439-69394 Muro Pon aquí ejemplos tuyos o de los demás https://padlet.com/CATEDU/smart-agriculture-kit-para-micro-bit-l5lbmbamv9txumnd Made with Créditos Autores: Javier Quintana Peiró CATEDU 2026 Cualquier observación o detección de error en soporte.catedu.es Los contenidos se distribuyen bajo licencia Creative Commons tipo BY-NC-SA excepto en los párrafos que se indique lo contrario.