Hallo Forum,
ich muss einen kontinuierlich arbeitenden DA Wandler mit 6 bit bauen und da ich sowieso im Schaltschrank schon einen RPI, DIO und AIO habe kann ich den (mit revpimodio2) so bauen:
# Ausgabe des Analogwertes
rpi.io.OutputValue_1.value = (((rpi.io.I8.value*1)+(rpi.io.I9.value*2)+(rpi.io.I10.value*4)+(rpi.io.I11.value*8)+(rpi.io.I12.value*16)+(rpi.io.I13.value*32))*158)
wenn alle high sind habe ich 63*158 was ca 10000 ergibt und am Ausgang der Analogkarte 10V ausgeben würde.
Ist das syntaktisch so in ordnung? Kann es gerade nicht ausprobieren, deshalb die Frage.
Beste Grüße, Torsten.
DA-Wandler
Hallo Thorsten,
interessante Anwendung, habe ich so bisher noch nicht gesehen! Dein Code sieht gut aus und sollte so funktionieren.
Falls du deinen DA-Wandler noch flexibler gestalten möchtest bietet sich der folgende Ansatz an:
Gruß Nicolai
interessante Anwendung, habe ich so bisher noch nicht gesehen! Dein Code sieht gut aus und sollte so funktionieren.
Falls du deinen DA-Wandler noch flexibler gestalten möchtest bietet sich der folgende Ansatz an:
Code: Select all
def dac_voltage(inputs: list):
value = int("".join(str(i) for i in inputs), 2)
return value
# mit 6 Bit
scale_factor = 158
analog_output = dac_voltage([rpi.io.I1.value, rpi.io.I2.value, rpi.io.I3.value, rpi.io.I4.value, rpi.io.I5.value,rpi.io.I6.value]) * scale_factor