Jump to content

bbfjumper

Newcomers
  • Posts

    2
  • Joined

  • Last visited

bbfjumper's Achievements

Newbie

Newbie (1/4)

0

Reputation

  1. Hi Fausto, thanks for the quick reply. It makes no difference even if i connect a sensor or not...
  2. Hi, as I mentioned in the title i want to read out temperature values and stream it via serial port. The Problem is, that i get for every sensor port, without having a sensor connected, a strange negative value (-127.3...) My code for reading out the sensors is: import time from sys import stdout import serial import serial.tools.list_ports from daqhats import HatError, HatIDs, TcTypes, mcc134 from lib.daqhats_utils import select_hat_device # Constants CURSOR_BACK_2 = "\x1b[2D" ERASE_TO_END_OF_LINE = "\x1b[0K" def read_temp(): """ Reads temperature values from multiple channels of an MCC 134 hat device. Returns: list: A list of temperature values read from each channel. Raises: HatError: If there is an error with the hat device. ValueError: If there is an invalid value. """ # Rest of the code... tc_type = TcTypes.TYPE_K # change this to the desired thermocouple type channels = (0, 1, 2, 3) try: # Get an instance of the selected hat device object. address = select_hat_device(HatIDs.MCC_134) hat = mcc134(address) for channel in channels: hat.tc_type_write(channel, tc_type) try: temp_values = [] for channel in channels: temp_values.append(hat.t_in_read(channel)) stdout.flush() return temp_values except KeyboardInterrupt: # Clear the '^C' from the display. print(CURSOR_BACK_2, ERASE_TO_END_OF_LINE, "\n") except (HatError, ValueError) as error: print("\n", error) def find_serial_port() -> serial.Serial: """Find the first available serial port.""" ports = serial.tools.list_ports.comports() for port in ports: if port.description != "n/a": return port.device raise Exception("No valid serial port found") def send_floats(floats: list[float]) -> None: """Send a list of floats over the specified serial port.""" # "/dev/ttyAMA0" is the default serial port on Raspberry Pi with serial.Serial("/dev/ttyAMA0", 9600, timeout=1) as ser: for f in floats: ser.write(f"{f:.2f};".encode()) print(f"sent: {f}") ser.write(b"\n") if __name__ == "__main__": try: while True: send_floats(read_temp()) time.sleep(2) except KeyboardInterrupt: print("\nExiting...") Would be great if someone could help me or maybe have/had the same issue. BR
×
×
  • Create New...