Arama butonu
Bu konudaki kullanıcılar: 1 misafir
0
Cevap
38
Tıklama
0
Öne Çıkarma
Lm35 kodları mcp4725 uyarlaması
T
3 ay
Er
Konu Sahibi

lm35 kodlar gıbı genelde 10bıt anolog gırısten hesaplanıyor buda referans voltajının hesaba dahıl edılerek yapmıslar mcp 4725 12 bıt cıkısını hesaplama yaptırmak ıstıyorum bu mumkunmu basıt bır uyarlama yapsak normalde derleme yapıyor fakat gercekte denemedım
lm35 programını mcp4725 örneğine uyarlayabilir miyim? mcp4725 referans voltajını gırıs besleme voltajı kabul eder
lm35 150 derece ölçebilir buna göre hesap yapar ve 10mv'de bir derece algılar mesela mcp4725'te her 10mv'de bir voltaj çıkışı hesaplanabilir mi,
4095/10mv=409.5 derece ölcum karsılında voltaj karsılına cevırecek,,
dönüşüm çarpanı, 4095x10=40.950
benzer bir hesap yapmak istiyorum, bu mümkunmu yardımcı olursanız sevınırım

lm35 ornek kodu

int val;
int tempPin = 1;

void setup()
{
Serial.begin(9600);
}
void loop()
{
val = analogRead(tempPin);
float mv = ( val/1024.0)*5000;
float cel = mv/10;

delay(1000);



mcpıcın ornek yapmak ıstedım kod

#include<Wire.h> //Include kutuphane ı2 data Wire
#define MCP4725 0X60
unsigned long adc; // 12 bıt :
unsigned long buffer[3]; // adc buffer tampon :
float cel ;



void setup()
{

pinMode ( set, OUTPUT ); // swiccc :
pinMode ( trp, OUTPUT ); // swiccc


void loop() {
adc = analogRead(A6); // anolog :
adc = map(adc,0,1023,4095,0); // voltaj :
buffer[0] = 0b01000000; //Set bit buffer0 with:
buffer[1] = adc >> 4; //Puts :
buffer[2] = adc << 4; //Puts 2 bıt Least:


float mv = ( adc/4095.0)*5000;
float cel = mv/10;


Wire.beginTransmission (0x60); // I2C bus:
Wire.write(buffer[0]); //Sends :
Wire.write(buffer[1]); //Sends MSB to I2C :
Wire.write(buffer[2]); //Sends LSB to I2C:
Wire.endTransmission(); //Ends son verı hattı :

}



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.