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ı : } |
Bildirim