トップ 一覧 検索 ヘルプ RSS ログイン

tips-mcp4725の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
! 12ビットDAC

http://akizukidenshi.com/catalog/g/gK-08677/

https://amzn.to/3bA870k

! ArduinoIDE
https://github.com/adafruit/Adafruit_MCP4725

!micoropython git 
https://github.com/wayoda/micropython-mcp4725

! PinOUT
,MCP4725bord,STM32,esp32
,out,
,gnd,
,scl,PB6(SCL1),gpio-22
,sda,PB7(SDA1),gpio-21
,vcc,3v3
,gnd,GND

! Sample / stm32f103 arudiono ide
 /**************************************************************************/
 #include <Wire.h>
 #include <Adafruit_MCP4725.h>
 
 Adafruit_MCP4725 dac;
 
 int sensorPin1 = 0;   // Select the input pin for the potentiometer
 int sensorPin2 = 2;   // Select the input pin for the potentiometer
 
 void setup(void) {
  Serial.begin(9600);
  Serial.println("Hello!");
 
  pinMode(sensorPin1, INPUT_ANALOG);
  pinMode(sensorPin2, INPUT_ANALOG);
 
  // For Adafruit MCP4725A1 the address is 0x62 (default) or 0x63 (ADDR pin tied to VCC)
  // For MCP4725A0 the address is 0x60 or 0x61
  // For MCP4725A2 the address is 0x64 or 0x65
  // dac.begin(0x62);
  dac.begin(0x60);
  
  Serial.println("Generating a triangle wave");
 }
 
 //*************************************************
 
 float lsb = 3.3/4095 ;
 
 void loop(void) {
    uint32_t counter;
    int tm1 = 0;
    int tm2 = 0;
    // tmp2 = 0;
    // Run through the full 12-bit scale for a triangle wave
    for (counter = 1; counter < 100; counter++)
    {
      // TEMPsenser
      tm2 = analogRead(sensorPin2);
      //
      dac.setVoltage(tm2, false);
      delay(250);
      tm1 = analogRead(sensorPin1);
      Serial.print(tm2);
      Serial.print(",");
      Serial.print(tm2-tm1);
      Serial.print(",");
      Serial.println( (((tm2*lsb)-0.50)*10.0) ,3);
      delay(250);
    }   
 }
----
! micropython ESP32

 # ここにコードを書いてね :-)
 from machine import I2C,Pin
 import time
 import mcp4725
 
 #create a I2C bus
 i2c=I2C(freq=400000,scl=Pin(22), sda=Pin(21)) 
 
 #create the MCP4725 driver
 ## dac=mcp4725.MCP4725(i2c,mcp4725.BUS_ADDRESS[0])
 dac=mcp4725.MCP4725(i2c,96)
 ###Update the output on the MCP4725 The simple way to update the output on the DAC 
 is to write a new value to the device
 for i in range(1,1000,100):
    dac.write(i)
    time.sleep_ms(3500)
 
 dac.write(100)

!others
tips-mcp4922