kopia lustrzana https://github.com/RobertGawron/IonizationChamber
adc logic moved to separate script
rodzic
fc175b8af7
commit
6ca21c39e7
|
@ -1,5 +1,6 @@
|
||||||
from serial import Serial
|
from serial import Serial
|
||||||
import datetime
|
import datetime
|
||||||
|
import mcp3425
|
||||||
|
|
||||||
myDeviceId = '/dev/ttyUSB0'
|
myDeviceId = '/dev/ttyUSB0'
|
||||||
myBaudrate = 9600
|
myBaudrate = 9600
|
||||||
|
@ -10,17 +11,14 @@ logFile = open('data.log', 'w')
|
||||||
logFile.write("Time,Counter\n")
|
logFile.write("Time,Counter\n")
|
||||||
|
|
||||||
while True:
|
while True:
|
||||||
#dataIn = int(ord(ser.readline().strip()))
|
|
||||||
dataIn = ser.readline().strip()
|
dataIn = ser.readline().strip()
|
||||||
msb = dataIn[0]
|
|
||||||
lsb = dataIn[1]
|
|
||||||
voltage = ((dataIn[0] & 0xf) << 8) | lsb;
|
|
||||||
|
|
||||||
|
(msb, lsb) = (dataIn[0], dataIn[1])
|
||||||
|
voltage = mcp3425.convert(msb, lsb, mcp3425.MCP3425_RESOLUTION.R14)
|
||||||
now = datetime.datetime.now()
|
now = datetime.datetime.now()
|
||||||
|
|
||||||
logFile.write("{0},{1}\n".format(now, dataIn))
|
logFile.write("{0},{1}\n".format(now, dataIn))
|
||||||
logFile.flush()
|
logFile.flush()
|
||||||
|
|
||||||
print(dataIn)
|
|
||||||
print(voltage)
|
print(voltage)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
# based on https://ww1.microchip.com/downloads/en/DeviceDoc/22072b.pdf
|
||||||
|
# assumed that gain = 1
|
||||||
|
|
||||||
|
from enum import Enum
|
||||||
|
class MCP3425_RESOLUTION(Enum):
|
||||||
|
R12 = 1
|
||||||
|
R13 = 2
|
||||||
|
R14 = 3
|
||||||
|
|
||||||
|
def convert(upperByte, lowerByte, resolution):
|
||||||
|
digitalToAnalog = lambda value, lsb, pga: (value * (lsb / pga))
|
||||||
|
|
||||||
|
digitalOutput = (upperByte << 8) | lowerByte;
|
||||||
|
|
||||||
|
|
||||||
|
if resolution == MCP3425_RESOLUTION.R12:
|
||||||
|
return digitalToAnalog(digitalOutput, (1 * 0.01), 1)
|
||||||
|
|
||||||
|
if resolution == MCP3425_RESOLUTION.R13:
|
||||||
|
return digitalToAnalog(digitalOutput, (250 * 0.00001), 1)
|
||||||
|
|
||||||
|
if resolution == MCP3425_RESOLUTION.R14:
|
||||||
|
return digitalToAnalog(digitalOutput, (62.5 * 0.0001), 1)
|
Ładowanie…
Reference in New Issue