/* p9_2 Generate sine waveform using DAC MCP4725 with Edubase-V2 board */ #include const char SLAVEADDR = 0x60; /* DAC MCP4725 address */ void setup() { Wire.begin(); /* initialize I2C */ } void loop() { const unsigned short sinewave[] = {2048, 3071, 3821, 4095, 3821, 3071, 2048, 1024, 274, 0, 274, 1024, 2048}; for (int i = 0; i < 12; i++) { /* write to MCP4725 DAC through I2C */ Wire.beginTransmission(SLAVEADDR); /* start talking to DAC */ Wire.write(0x40); /* send write DAC register command */ Wire.write(sinewave[i] >> 4) & 0xFF; /* send high byte data (D13-D4) */ Wire.write(sinewave[i] << 4) & 0xFF; /* send low byte data (D3-D0) */ Wire.endTransmission(); /* stop */ } }