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