# 6.3 TLC1543.py y VARIABLES.py

Tal y como hemos visto en la [teoría del TLC1543 ¿Cómo está conectado?](/6-modulo-siguelineas/62-tlc1543.md) añadimos estas líneas al archivo **VARIABLES.py**

###### \##SENSOR SIGUELINEAS

CS = 5 Clock = 25 Address = 24 DataOut = 23

###### \##SENSOR SIGUELINEAS

CS = 5 Clock = 25 Address = 24 DataOut = 23

# Script Damebit

En la [teoría del TLC1543 ¿Cómo funciona?](/6-modulo-siguelineas/62-tlc1543.md) tenemos que obtener el bit de una posición dada de un número dado. [Aquí](https://repl.it/@javierquintana/ObtenerBitEntero) hay un pequeño script para hacerlo (dale al play para ejecutarlo):

<iframe allowfullscreen="true" allowtransparency="true" frameborder="no" height="400px" id="bkmrk-" sandbox="allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-modals" scrolling="no" src="https://repl.it/@deleyva/ObtenerBitEntero?lite=true" width="100%"></iframe>

# TLC1543.py

Tal y como hemos visto en la [teoría del TLC1543 ¿Cómo funciona?](/6-modulo-siguelineas/62-tlc1543.md) podemos hacer una librería que tenga una función **SENSORLINEA(cual)**que nos devuelva el valor que lee el sensor *cual*: \* Importamos las variables de **VARIABLES.py**\* Luego realizamos una función **SACADIRECCION** que active la salida ADDRESS según sus bits basándonos en la función **Damebit** que hemos visto. \* Activamos 4 golpes de reloj sacando la dirección **ADDRESS** con la función SACADIRECCION \* Hacemos 6 pulsos de **CLOCK** perdidos \* Hacemos 10 pulsos de CLOCK pero leyendo el valor **DATAOUT** y convirtiendo esos bits en un número decimal, ese será el valor que devolverá la función **SENSORLINEA(cual)**\* Grabamos esto en un archivo TLC1543.py

```cpp+lineNumbers:true

import RPi.GPIO as GPIO
import time

from VARIABLES import *

#######################################################
#función de manipulación de bits
#ver https://repl.it/@javierquintana/ObtenerBitEntero
#######################################################
def SACADIRECCION(x,n):
  if (x & (1
```