BASIC4MCU | 질문게시판 | 아두이노 우노 MCP4725
페이지 정보
작성자 opqr 작성일2022-07-27 14:26 조회270회 댓글3건본문
안녕하세요. 아두이노 우노와 MCP4785를 사용해서 SIN파를 출력하려 하고있습니다.
#include //Include the Wire library to talk I2C
#define MCP4725_ADDR 0x60
#include
float pi =3.14159265358979323846;
float freqLow = 0.0;//Hz
float freqHigh = 1000.0;//Hz
float fCurFreq;
float sensorV[180];
float alpha =0.90;
int ratio;
int rslt;
float fRatio;
int nRandomNum;
int nRandomFreq;
int ledState = LOW;
void setup()
{
Timer1.initialize(5000000); // 1000 us = 1 kHz, Initialized value.
Serial.begin(9600);
Wire.begin();
// Set A2 and A3 as Outputs to make them our GND and Vcc,
//which will power the MCP4725
pinMode(A2, OUTPUT);
pinMode(A3, OUTPUT);
digitalWrite(A2, LOW);//Set A2 as GND
digitalWrite(A3, HIGH);//Set A3 as Vcc
for ( int i=1; i<181; i++ ) {
sensorV[i] = sin(pi*i/90.0);
}
Timer1.attachInterrupt(SineOouput);
}
void loop(){}
void SineOouput()
{
Wire.beginTransmission(MCP4725_ADDR);
Wire.write(64);
for ( int i=1; i<181; i++ ) {
sensorV[i] = nRandomFreq*sin(pi*i/90.0);
Serial.println(sensorV[i]);
//Timer1.pwm(6, sensorV[i]);
}
nRandomNum = random(0,100);
fRatio = (float)nRandomNum/100.0;
fCurFreq = fRatio*freqHigh + (1-fRatio)*freqLow;
nRandomFreq = 1000/fCurFreq;
// Wire.endTransmission();
}
시리얼 플로터에는 사인파가 출력되는데 오실로스코프에는 나오지 않아서요..
MCP4725 디지털-아날로그 컨버터 연결 가이드 - learn.sparkfun.com
댓글 3
조회수 270master님의 댓글
master 작성일
for문 안에서 MCP4725 출력하는 코드가 안보입니다.
//
https://rudalskim.tistory.com/153
라이브러리를 설치하면 예제도 설치됩니다.
예제를 구동해서 정상동작 하는지 체크하세요
opqr님의 댓글
opqr
예제도 업로드는 잘 되는데 오실로스코프에 파형이 나오지 않습니다. SCL,SDA 각자 확인하면 상어 지느러미같은 파형이 나오는데 OUT 단자에 오실로스포크를 연결하면 아무파형도 나오지 않아요. SCL,SDA 두 개를 빵판에 꽃아 연결해서 보면 또 지느러미 같은 파형이 나옵니다. 혹시몰라 DAC 모듈도 새로 바꿔 봤는데 똑같습니니다.
//
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=smserial&logNo=221566068824
이 코드로 해봐도 여기 나오는 SDA,SCL 파형만 각각 나오지 OUT에서 SIN파가 나오지 않습니다.
master님의 댓글
master
측정 방법이나 회로 구성에 문제가 있는 것 아닌가요?
예제를 돌려서 파형이 정상적으로 나와야 합니다.
//
● 아두이노를 사용 하여, MCP4725 제어 테스트 입니다.
0~5 볼트 파형을 만들어, OPAMP 를 이용하여, 0~10 볼트로 증폭 생성 테스트 입니다.
성미아빠님 글입니다.
OPAMP 회로도 동일하게 구성했나요?