# Control con la mano

Aquí trataremos de hacer que ALVIK responda a la posición de nuestra mano a través de el sensor ultrasonidos que tiene en frente suyo. Tendrá que intentar permanecer en una distancia intermedia con lo que tiene enfrente suyo.

<p class="callout info">ESTE PROGRAMA ESTA POR DEFECTO (marcado con el led verde) cuando instalas el firmware). Ver [https://libros.catedu.es/books/arduino-alvik/page/que-es-arduino-alvik](https://libros.catedu.es/books/arduino-alvik/page/que-es-arduino-alvik)</p>

[![image.png](https://libros.catedu.es/uploads/images/gallery/2024-06/scaled-1680-/Rr2image.png)](https://libros.catedu.es/uploads/images/gallery/2024-06/Rr2image.png)Fuente [https://docs.arduino.cc/tutorials/alvik/getting-started/](https://docs.arduino.cc/tutorials/alvik/getting-started/) Author<svg fill="none" height="4" viewbox="0 0 3 4" width="3" xmlns="http://www.w3.org/2000/svg"><circle cx="1.5" cy="2" fill="#95A5A6" r="1.5"></circle></svg>Jose Garcia CC-BY-SA

```
from arduino_alvik import ArduinoAlvik
from time import sleep
import sys

alvik = ArduinoAlvik()
alvik.begin()
sleep(5)

#ESTABLECER VELOCIDAD

speed = 30

#IMPRIMIR VALORES Y ESTABLECER VARIABLES
while True:
    try:
        center = alvik.get_distance_top()
        print(center)
        sleep(0.01)

        #Si la mano esta cerca, Alvik se va hacia atras
        if center <= 12:
            alvik.set_wheels_speed(-speed, -speed)
        #Si la mano esta lejos, Alvik se acerca
        elif center <= 30 and center >= 18:
            alvik.set_wheels_speed(speed, speed)
        #Si la mano esta en una distancia de 12-18, Alvik se queda quieto
        else:
            alvik.set_wheels_speed(0, 0)

  #INTERRUPCIÓN DEL USUARIO
    except KeyboardInterrupt as e:
        print('over')
        alvik.stop()
        sys.exit()
```