Autor Tema: Lectura analogo i2c  (Leído 593 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado IngRandall

  • PIC18
  • ****
  • Mensajes: 370
Lectura analogo i2c
« en: 12 de Abril de 2018, 13:25:52 »
Hola amigos del foro, estoy leyendo un adc con mi raspberry por i2c, y me funciona bien, el problema es cuando quiero hacer esa misma lectura pero usando un hilo, empieza a mostrar 0 en el resultado de la lectura.

Este es el codigo fucionando perfectamente.

Código: [Seleccionar]
import Adafruit_ADS1x15
 import time
 import threading
 from threading import Timer
 import RPi.GPIO as GPIO

 pin_activar_voltaje = 10

 GPIO.setwarnings(False)
 GPIO.setmode(GPIO.BCM)
 GPIO.setup(pin_activar_voltaje,GPIO.OUT)

 adc_multi = Adafruit_ADS1x15.ADS1115(address=0x4B)

 while(1):
     GPIO.output(pin_activar_voltaje, True)
     temp = adc_multi.read_adc(0)
     print("voltaje_0: " + str(temp))
     GPIO.output(pin_activar_voltaje, False)
     leer_entradas = 0
     time.sleep(1)

Y este el el codigo que muestra el error:

Código: [Seleccionar]
import Adafruit_ADS1x15
 import time
 import threading
 from threading import Timer
 import RPi.GPIO as GPIO

 pin_activar_voltaje = 10

 GPIO.setwarnings(False)
 GPIO.setmode(GPIO.BCM)
 GPIO.setup(pin_activar_voltaje,GPIO.OUT)

 adc_multi = Adafruit_ADS1x15.ADS1115(address=0x4B)

 def leer_entradas_analogas():
     GPIO.output(pin_activar_voltaje, True)
     temp = adc_multi.read_adc(0)
     print("voltaje_0: " + str(temp))
     GPIO.output(pin_activar_voltaje, False)
     leer_entradas = 0

     timer_leer_entradas_analogas = threading.Timer(1,leer_entradas_analogas)
     timer_leer_entradas_analogas.setDaemon(True)
     timer_leer_entradas_analogas.start()

 timer_leer_entradas_analogas = threading.Timer(1,leer_entradas_analogas)
 timer_leer_entradas_analogas.setDaemon(True)
 timer_leer_entradas_analogas.start()

 while(1):
     pass

Agradeceria mucho su ayuda, cualquier opinion que puedan tener, gracias.


 

anything