Программирование термодатчика MXL90615 проблемы...

apolmeister
apolmeister аватар
Offline
Зарегистрирован: 09.12.2016

Захотел я проверить работоспособность датчика температуры MXL90615 , собрал схему как у ДЖереми Блюма код у него тоже списал(урок 7)исползовал библиотеку Wire.h, адрес нашел в даташите. Запустил , на экран выводится одна и таже температура в цельсиях и форенгейтах: 255С 491F, подумал может не хватает подтягивающих резисторов(по=моему они там встроеные) , добавил два по 10КОм, результат тот же....

Может кто ответит где я туплю... 

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

а пример сканер запусти, увидит ли вообще датчик. может ты пины перепутал

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

apolmeister пишет:

Может кто ответит где я туплю... 

Вы тупите в формулировке вопроса. Вы не привели ни скетча, ни схемы подключения - вообще ничего. И чего Вы хотите?

Отсылки к седьмому уроку - это не скетч и не схема. Во-первых, вот я сейчас всё брошу и побегу искать седьмой урок, а во-вторых, что-то Вы в нём меняли, иначе нафига искали бы в даташите адрес. А раз что-то меняли - я хочу видеть Ваш скетч.

Хотите предметного разговора - давайте информацию. Скетч и схему включения. Только Ваш скетч и Вашу схему, а не ссылку на уроки. И, кстати, запсутите пример, который Вам советовали в предыдущем посте и его результат (из окна сериала) тоже скопипастите сюда.

apolmeister
apolmeister аватар
Offline
Зарегистрирован: 09.12.2016

Сканер запустил, подтвердил адрес 91, значит видит и схема верна...

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

значит подключение норм. код как тебе сказали

apolmeister
apolmeister аватар
Offline
Зарегистрирован: 09.12.2016

Пишу с работы, поэтому схема и скетч дома, Вечером выложу и то и другое.... Извините что не по форме , первый раз в форуме...

apolmeister
apolmeister аватар
Offline
Зарегистрирован: 09.12.2016

Выкладываю скетч как Вы сказали:

#include <Wire.h>

int temp_addres=91;

void setup() {
  // put your setup code here, to run once:
Serial.begin(9600);
Wire.begin();
}

void loop() {
  // put your main code here, to run repeatedly:
Wire.beginTransmission(temp_addres);
Wire.write(0);
Wire.endTransmission();
Wire.requestFrom(temp_addres,1);
while(Wire.available()==0);
int c=Wire.read()/10;
int f=round(c*9.0/5.0+32.0);
Serial.print(c);
Serial.print("C, ");
Serial.print(f);
Serial.println("F ");
delay(500);
}

 

apolmeister
apolmeister аватар
Offline
Зарегистрирован: 09.12.2016

Схему не подцепить(почемуто не предлагает прикрепить файл) но в крадце она рчень проста земля датчика на землю Ардуино

питание датчика на 3,3 вольта, вывод SDA  на А4, вывод SCL на А5 .... и всё!!

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Так Вы читаете из RAM датчика по адресу 0 И что Вы планируете оттуда вычитать? Смотрим даташит - что там находится ... ага "reserved" - так Вы именно это и пролучаете. Что Вас не устраивает? Нужна нормальная темепература - читайте из правильного адреса- какой Вам там нужен, 6 (или 7-8) и всё у Вас должно получиться.

Если Вы не понимаете о чём я здесь, то значит Вам ещё рано работать напрямую, возьмите готовую библиотеку.

apolmeister
apolmeister аватар
Offline
Зарегистрирован: 09.12.2016

Да точно ступил, спасибо, все понял...