File tree Expand file tree Collapse file tree 1 file changed +38
-0
lines changed
Expand file tree Collapse file tree 1 file changed +38
-0
lines changed Original file line number Diff line number Diff line change 1+ #!/usr/bin/python
2+
3+ from Adafruit_I2C import Adafruit_I2C
4+
5+ # ============================================================================
6+ # Adafruit MCP4725 12-Bit DAC
7+ # ============================================================================
8+
9+ class MCP4725 :
10+ i2c = None
11+
12+ # Registers
13+ __REG_WRITEDAC = 0x40
14+ __REG_WRITEDACEEPROM = 0x60
15+
16+ # Constructor
17+ def __init__ (self , address = 0x62 , debug = False ):
18+ self .i2c = Adafruit_I2C (address )
19+ self .address = address
20+ self .debug = debug
21+
22+ def setVoltage (self , voltage , persist = False ):
23+ "Sets the output voltage to the specified value"
24+ if (voltage > 4095 ):
25+ voltage = 4095
26+ if (self .debug ):
27+ print "Setting voltage to %04d" % voltage
28+ # Value needs to be left-shifted four bytes for the MCP4725
29+ voltage <<= 4
30+ if (persist == True ):
31+ self .i2c .write16 (self .__REG_WRITEDACEEPROM , self .i2c .reverseByteOrder (voltage ))
32+ else :
33+ self .i2c .write16 (self .__REG_WRITEDAC , self .i2c .reverseByteOrder (voltage ))
34+
35+ # Initialise a new instance of MCP4725 using the default address (0x62)
36+ dac = MCP4725 (0x62 )
37+ # Set output voltage to 50% VCC
38+ dac .setVoltage (2048 )
You can’t perform that action at this time.
0 commit comments