# 5.4 Control remoto

Vamos a simular la comunicación entre Tierra y el rover. Vamos a hacer un control remoto del robot !! con la ventaja de que no vas a tener el retardo que sufren los de la NASA.

Vamos a definir las siguientes teclas

gobernado por el teclado *numérico*:

- PARAR = tecla 5
- ADELANTE=FORDWARD = 8
- ATRAS=BACKWARD = 2
- DERECHA=RIGHT = 6
- IZQUIERDA=LEFT = 4

<iframe allowfullscreen="allowfullscreen" height="314" id="bkmrk--0" src="//www.youtube.com/embed/PfoVh2BTlLY" width="560"></iframe>

#### Solución

La solución es fácil con las librerías que hemos aprendido:

- Ponemos las librerías fichero [MOVIMIENTOS.py](https://libros.catedu.es/books/rover-marciano-alphabot-rasbperry-y-python/page/24-baile "2.4 Baile") y ahora esta nueva [NEC.py](https://libros.catedu.es/books/rover-marciano-alphabot-rasbperry-y-python/page/51-nec "5.1 NEC") en la misma carpeta que vamos a crear este programa y las incorporamos en el programa con **import**.
- También incorporamos las variables definidas en **VARIABLES.py**
- Utilizaremos los códigos que hemos optenido en [Test Control Remoto IR.](https://libros.catedu.es/books/rover-marciano-alphabot-rasbperry-y-python/page/53-test-control-remoto-ir "5.3 Test Control Remoto IR")
- Un bucle, si no detecta la tecla 5 que haga los movimientos según las teclas del mando IR.

Fichero [Control-Remoto-IR.py](https://github.com/JavierQuintana/AlphabotPython/)

```Python
import RPi.GPIO as GPIO
import time

from VARIABLES import *

import MOVIMIENTOS
import NEC

vel=50

print ('TECLAS :\nPARAR = tecla 5\nADELANTE=FORDWARD = 2\nATRAS=BACKWARD = 8\nDERECHA=RIGHT = 6\nIZQUIERDA=LEFT = 4')

key=0
while key!=28:
    key=NEC.getkey()
    if (key != None):
        if key==24:
            print ('\nadelante')
            MOVIMIENTOS.FORDWARD(vel)
        if key==82:
            print ('\natrás')
            MOVIMIENTOS.BACKWARD(vel)
        if key==90:
            print ('\nderecha')
            MOVIMIENTOS.RIGHT(vel)
        if key==8:
            print ('\nizquierda')
            MOVIMIENTOS.LEFT(vel)
        if key==28:
            print ('\nFin, has apretado STOP')
            MOVIMIENTOS.STOP()    

```