# Retos con Smart Agriculture Kit

# Reto 1 Humedad del suelo y nivel del agua

##### <span style="color: rgb(22, 145, 121);">**Enunciado**</span>

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

##### <span style="color: rgb(22, 145, 121);">**Solución**</span>

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 %. [![2026-09-29 16&#95;52&#95;27-Greenshot image editor.png](https://libros.catedu.es/uploads/images/gallery/2026-09/scaled-1680-/2026-09-29-16-52-27-greenshot-image-editor.png)](https://libros.catedu.es/uploads/images/gallery/2026-09/2026-09-29-16-52-27-greenshot-image-editor.png)

[https://makecode.microbit.org/S64895-39903-08613-08722](https://makecode.microbit.org/S64895-39903-08613-08722)

<div id="bkmrk--4" style="position: relative; height: 0; padding-bottom: 70%; overflow: hidden;"><iframe frameborder="0" sandbox="allow-popups allow-forms allow-scripts allow-same-origin" src="https://makecode.microbit.org/#pub:S64895-39903-08613-08722" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;"></iframe>

</div>[![2026-09-29 19&#95;25&#95;20-WhatsApp.png](https://libros.catedu.es/uploads/images/gallery/2026-09/scaled-1680-/2026-09-29-19-25-20-whatsapp.png)](https://libros.catedu.es/uploads/images/gallery/2026-09/2026-09-29-19-25-20-whatsapp.png)

# Reto2 Riego automático

##### <span style="color: rgb(22, 145, 121);">**Enunciado**</span>

**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.

### <span style="color: rgb(22, 145, 121);">**Mecanismo de riego**</span>

##### <span style="color: rgb(22, 145, 121);">**Solución 1 cutre con una pajita**</span>

<span style="color: rgb(0, 0, 0);">Venga, ya lo sé, es chapucero, pero funciona 👿👿👿:</span>

- - <span style="color: rgb(0, 0, 0);"> **RIEGO AUTOMÁTICO** este vídeo es una propuesta de hacerlo realidad, con una simple pajita y algo de maña:  
        [![2026-03-05 20&#95;35&#95;34-Presentación1 - PowerPoint.png](https://libros.catedu.es/uploads/images/gallery/2026-03/scaled-1680-/2026-03-05-20-35-34-presentacion1-powerpoint.png)](https://libros.catedu.es/uploads/images/gallery/2026-03/2026-03-05-20-35-34-presentacion1-powerpoint.png)  
          
        </span>
    - <iframe allowfullscreen="allowfullscreen" height="314" src="https://www.youtube.com/embed/xm27jGEysfI" width="560"></iframe>

##### <span style="color: rgb(22, 145, 121);">**Solución 2 Con palitos, hacer una acequia casera**</span>

Esta solución es la que idearon en el CRIET CALAMOCHA:

[![WhatsApp Image 2026-10-08 at 11.17.52.jpeg](https://libros.catedu.es/uploads/images/gallery/2026-10/scaled-1680-/whatsapp-image-2026-10-08-at-11-17-52.jpeg)](https://libros.catedu.es/uploads/images/gallery/2026-10/whatsapp-image-2026-10-08-at-11-17-52.jpeg)

<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" frameborder="0" height="576" src="https://www.youtube.com/embed/HltqlpiKfBk" title="8 de octubre de 2026" width="315"></iframe>

##### <span style="color: rgb(22, 145, 121);">**Solución 3 Más profesional**</span>

Si se quiere hacer más "profesional" el servo que active un interruptor de la motobomba, una sencilla [cuesta 1€](https://www.turibot.es/peque%C3%B1a-bomba-de-agua-dc-3-6-v-120lh) y con unos[ tubos de 0.60€ ](https://www.turibot.es/tubo-para-pequena-bomba-de-agua)apañao:

[![2026-09-30 15&#95;07&#95;22-Microsoft PowerPoint - &#91;Presentación1&#93;.png](https://libros.catedu.es/uploads/images/gallery/2026-09/scaled-1680-/2026-09-30-15-07-22-microsoft-powerpoint-presentacion1.png)](https://libros.catedu.es/uploads/images/gallery/2026-09/2026-09-30-15-07-22-microsoft-powerpoint-presentacion1.png)Fuente Adaptado de ElecFreaks [https://wiki.elecfreaks.com/en/microbit/wisdom-life/microbit-smart-home-kit/smart\_home\_case\_05/?highlight=water](https://wiki.elecfreaks.com/en/microbit/wisdom-life/microbit-smart-home-kit/smart_home_case_05/?highlight=water)

##### <span style="color: rgb(22, 145, 121);">**PROGRAMA**</span>

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 :

[![2026-09-29 17&#95;21&#95;11-Greenshot.png](https://libros.catedu.es/uploads/images/gallery/2026-09/scaled-1680-/2026-09-29-17-21-11-greenshot.png)](https://libros.catedu.es/uploads/images/gallery/2026-09/2026-09-29-17-21-11-greenshot.png)

[https://makecode.microbit.org/S58732-03354-26551-26627](https://makecode.microbit.org/S58732-03354-26551-26627)

<div id="bkmrk--3" style="position: relative; height: 0; padding-bottom: 70%; overflow: hidden;"><iframe frameborder="0" sandbox="allow-popups allow-forms allow-scripts allow-same-origin" src="https://makecode.microbit.org/#pub:S58732-03354-26551-26627" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;"></iframe>

</div>

# Reto 3 Alarma depósito vacío

##### <span style="color: rgb(22, 145, 121);">**Enunciado**</span>

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

##### <span style="color: rgb(22, 145, 121);">**Solución**</span>

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

<p class="callout warning">Recuerda que hay que usar la extensión NEOPIXEL inicializar el strip neopixel al pin 14 y solo un led</p>

[![alarmadeposito.png](https://libros.catedu.es/uploads/images/gallery/2026-09/scaled-1680-/alarmadeposito.png)](https://libros.catedu.es/uploads/images/gallery/2026-09/alarmadeposito.png)

[https://makecode.microbit.org/S17469-80061-38311-73745](https://makecode.microbit.org/S17469-80061-38311-73745)

<div id="bkmrk--1" style="position: relative; height: 0; padding-bottom: 70%; overflow: hidden;"><iframe frameborder="0" sandbox="allow-popups allow-forms allow-scripts allow-same-origin" src="https://makecode.microbit.org/#pub:S17469-80061-38311-73745" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;"></iframe>

</div><iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" frameborder="0" height="815" src="https://www.youtube.com/embed/tBbUkjym3sU" title="29 de septiembre de 2026" width="458"></iframe>

##### <span style="color: rgb(22, 145, 121);">**Solución mejor**</span>

- **¿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"

[![RETO3-2.png](https://libros.catedu.es/uploads/images/gallery/2026-09/scaled-1680-/reto3-2.png)](https://libros.catedu.es/uploads/images/gallery/2026-09/reto3-2.png)

# 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

[![prog-animal.png](https://libros.catedu.es/uploads/images/gallery/2026-09/scaled-1680-/prog-animal.png)](https://libros.catedu.es/uploads/images/gallery/2026-09/prog-animal.png)

y el resto de programa es MUY SENCILLO PUES APROVECHAMOS LA FUNCIÓN ALARMA

[![PROGRAMAANIMAL.png](https://libros.catedu.es/uploads/images/gallery/2026-09/scaled-1680-/programaanimal.png)](https://libros.catedu.es/uploads/images/gallery/2026-09/programaanimal.png)

<p class="callout success">AQUÍ PODEMOS APROVECHAR PARA ENFATIZAR EL VALOR DE REUTILIZAR CÓDIGO</p>

[https://makecode.microbit.org/S51550-75797-73915-29343](https://makecode.microbit.org/S51550-75797-73915-29343)

<div id="bkmrk--2" style="position: relative; height: 0; padding-bottom: 70%; overflow: hidden;"><iframe frameborder="0" sandbox="allow-popups allow-forms allow-scripts allow-same-origin" src="https://makecode.microbit.org/#pub:S51550-75797-73915-29343" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;"></iframe>

</div><div id="bkmrk--3" style="position: relative; height: 0; padding-bottom: 70%; overflow: hidden;"><iframe allowfullscreen="allowfullscreen" height="314" src="https://www.youtube.com/embed/ONQbYVmu7W4" width="560"></iframe>

</div>

# Reto 5 Mejorando intrusos

##### <span style="color: rgb(22, 145, 121);">**Enunciado**</span>

El sensor de ultrasonidos es un pesado, da falsas alarmas, añade el sensor PIR para quitarlas.

<span style="color: rgb(22, 145, 121);">**Solución 1**</span>

<span style="color: rgb(22, 145, 121);"><span style="color: rgb(0, 0, 0);">ver, </span></span>[<span style="color: rgb(0, 0, 0);">https://wiki.elecfreaks.com/en/microbit/wisdom-life/microbit-smart-agriculture-kit/microbit-Smart-Agriculture-Kit-case-04/</span>](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](https://makecode.microbit.org/S25361-76721-60771-88083)

<div id="bkmrk-" style="position: relative; height: 0; padding-bottom: 70%; overflow: hidden;"><iframe frameborder="0" sandbox="allow-popups allow-forms allow-scripts allow-same-origin" src="https://makecode.microbit.org/#pub:S25361-76721-60771-88083" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;"></iframe>

</div><iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" frameborder="0" height="815" src="https://www.youtube.com/embed/Gzih24NDcDM" title="30 de septiembre de 2026" width="458"></iframe>

<span style="color: rgb(22, 145, 121);">**Solución 2**</span>

Aquí se utiliza la función AND

[![2026-09-29 20&#95;21&#95;56-Greenshot.png](https://libros.catedu.es/uploads/images/gallery/2026-09/scaled-1680-/2026-09-29-20-21-56-greenshot.png)](https://libros.catedu.es/uploads/images/gallery/2026-09/2026-09-29-20-21-56-greenshot.png)

pero en la función VER ya definimos PIR con su valor y lo visualizamos

[![2026-09-29 20&#95;22&#95;41-Greenshot.png](https://libros.catedu.es/uploads/images/gallery/2026-09/scaled-1680-/2026-09-29-20-22-41-greenshot.png)](https://libros.catedu.es/uploads/images/gallery/2026-09/2026-09-29-20-22-41-greenshot.png)

[https://makecode.microbit.org/S46838-99630-55860-40869](https://makecode.microbit.org/S46838-99630-55860-40869)

<div id="bkmrk--5" style="position: relative; height: 0; padding-bottom: 70%; overflow: hidden;"><iframe frameborder="0" sandbox="allow-popups allow-forms allow-scripts allow-same-origin" src="https://makecode.microbit.org/#pub:S46838-99630-55860-40869" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;"></iframe>

</div>

# Reto 6 : Envío por Internet la humedad del suelo

##### <span style="color: rgb(22, 145, 121);">**Enunciado**</span>

Queremos visualizar remotamente la humedad del suelo

##### **<span style="color: rgb(22, 145, 121);">Solución</span>**

En Smart.io [https://www.smartiot.space/ ](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](https://libros.catedu.es/books/escuela-40-smart-agriculture-kit-para-microbit-para-crie/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

[![2026-09-29 20&#95;58&#95;17-Greenshot.png](https://libros.catedu.es/uploads/images/gallery/2026-09/scaled-1680-/2026-09-29-20-58-17-greenshot.png)](https://libros.catedu.es/uploads/images/gallery/2026-09/2026-09-29-20-58-17-greenshot.png)

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

[![2026-09-29 20&#95;56&#95;24-Greenshot.png](https://libros.catedu.es/uploads/images/gallery/2026-09/scaled-1680-/2026-09-29-20-56-24-greenshot.png)](https://libros.catedu.es/uploads/images/gallery/2026-09/2026-09-29-20-56-24-greenshot.png)

El resultado es muy bueno:

[![2026-09-29 21&#95;00&#95;08-Greenshot.png](https://libros.catedu.es/uploads/images/gallery/2026-09/scaled-1680-/2026-09-29-21-00-08-greenshot.png)](https://libros.catedu.es/uploads/images/gallery/2026-09/2026-09-29-21-00-08-greenshot.png)

[![2026-09-29 21&#95;00&#95;26-WhatsApp.png](https://libros.catedu.es/uploads/images/gallery/2026-09/scaled-1680-/2026-09-29-21-00-26-whatsapp.png)](https://libros.catedu.es/uploads/images/gallery/2026-09/2026-09-29-21-00-26-whatsapp.png)

<p class="callout success">**RETO**: PON MÁS CAMPOS A TU DEVICE !!!  
distancia, humedad, temperatura, ...  
[![2026-09-30 20&#95;24&#95;06-Bandeja de entrada - jjquintana@educa.aragon.es - Mozilla Thunderbird.png](https://libros.catedu.es/uploads/images/gallery/2026-09/scaled-1680-/2026-09-30-20-24-06-bandeja-de-entrada-jjquintana-at-educa-aragon-es-mozilla-thunderbird.png)](https://libros.catedu.es/uploads/images/gallery/2026-09/2026-09-30-20-24-06-bandeja-de-entrada-jjquintana-at-educa-aragon-es-mozilla-thunderbird.png)  
</p>

[https://makecode.microbit.org/S30944-15750-08422-29951](https://makecode.microbit.org/S30944-15750-08422-29951)

<div id="bkmrk--5" style="position: relative; height: 0; padding-bottom: 70%; overflow: hidden;"><iframe frameborder="0" sandbox="allow-popups allow-forms allow-scripts allow-same-origin" src="https://makecode.microbit.org/#pub:S30944-15750-08422-29951" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;"></iframe>

</div>

# Reto 7 Regar a distancia

##### <span style="color: rgb(22, 145, 121);">**Enunciado**</span>

Como controlamos a distancia la humedad, podemos decir si regar o no. Hacer un pulsador que por Internet se active el riego

##### <span style="color: rgb(22, 145, 121);">**Solución**</span>

Es muy fácil, en Smart IoT añadimos un interruptor

[![2026-09-29 21&#95;10&#95;00-Greenshot.png](https://libros.catedu.es/uploads/images/gallery/2026-09/scaled-1680-/2026-09-29-21-10-00-greenshot.png)](https://libros.catedu.es/uploads/images/gallery/2026-09/2026-09-29-21-10-00-greenshot.png)

Y en el programa añadimos esta instrucción, super fácil

[![2026-09-29 21&#95;11&#95;04-Greenshot.png](https://libros.catedu.es/uploads/images/gallery/2026-09/scaled-1680-/2026-09-29-21-11-04-greenshot.png)](https://libros.catedu.es/uploads/images/gallery/2026-09/2026-09-29-21-11-04-greenshot.png)

Pero para que no se contradiga con el riego automático, hay que cambiar la función de riego automático a este bloque:

[![2026-09-30 14&#95;47&#95;13-Inicio - Explorador de archivos.png](https://libros.catedu.es/uploads/images/gallery/2026-09/scaled-1680-/2026-09-30-14-47-13-inicio-explorador-de-archivos.png)](https://libros.catedu.es/uploads/images/gallery/2026-09/2026-09-30-14-47-13-inicio-explorador-de-archivos.png)

[https://makecode.microbit.org/S90110-41926-70439-69394](https://makecode.microbit.org/S90110-41926-70439-69394)

<div id="bkmrk--3" style="position: relative; height: 0; padding-bottom: 70%; overflow: hidden;"><iframe frameborder="0" sandbox="allow-popups allow-forms allow-scripts allow-same-origin" src="https://makecode.microbit.org/#pub:S90110-41926-70439-69394" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;"></iframe>

</div>