БАГ Arduino Pro mini

Работа с ds16b20

Ответить
leaner
Сержант
Сообщения: 104
Зарегистрирован: 08.11.2017{, 13:13}
Репутация: 4

БАГ Arduino Pro mini

#1

Сообщение leaner » 04.05.2018{, 06:09}

Столкнулся с реальной проблемой
Недавно хотел заменить плату nano на pro mini
загрузил скетч для работы с датчиками температуры но не тут то было /
про мини ни в какую не хотел показывать температуру.
Перепробовал все блоки которые есть на сайте. Менял пины подключения ds18B20
Заменил 4 шт. PRO Mini
Эффект тот же. Думал спалил датчик
Потом решил опять подключить nano прошил всеми скетчами которыми проверял Pro mini
и все работает !!!!!!!!!!!!!!!!!
Pro mini вродк рабочие, работают с с другими скетчами нормально а с датчиками температуры не хотят

Аватара пользователя
Golan
Капитан
Сообщения: 827
Зарегистрирован: 26.11.2017{, 23:18}
Репутация: 77
Откуда: Деревня, 98 домов в Мордовии
Имя: Владимир
Контактная информация:

БАГ Arduino Pro mini

#2

Сообщение Golan » 04.05.2018{, 06:20}

Не, это где то у Вас проблема, у меня метеостанция на этой платформе работает без каких либо проблем.
Скиньте проектик, у меня ща как раз мини стоит, гляну
Добро не ценится в современном мире, люди от него наглеют!

leaner
Сержант
Сообщения: 104
Зарегистрирован: 08.11.2017{, 13:13}
Репутация: 4

БАГ Arduino Pro mini

#3

Сообщение leaner » 04.05.2018{, 07:31}

простейший скетч в составе fl-prog. Сканирование 1-wire сети
не сканирует

Аватара пользователя
Golan
Капитан
Сообщения: 827
Зарегистрирован: 26.11.2017{, 23:18}
Репутация: 77
Откуда: Деревня, 98 домов в Мордовии
Имя: Владимир
Контактная информация:

БАГ Arduino Pro mini

#4

Сообщение Golan » 04.05.2018{, 08:58}

скетч в составе fl-prog?
Добро не ценится в современном мире, люди от него наглеют!

leaner
Сержант
Сообщения: 104
Зарегистрирован: 08.11.2017{, 13:13}
Репутация: 4

БАГ Arduino Pro mini

#5

Сообщение leaner » 04.05.2018{, 10:04}

Вот скетч сформированный программой flprog для сканирования onewire шины.
этот код не работает на pro mini/
зато работает на nano

Код: Выделить всё

#include <OneWire.h>
OneWire  ds(4);  // on pin 10 (a 4.7K resistor is necessary)
byte deviceType;
void setup(void) {
  Serial.begin(9600);
}

void loop(void) {
  byte i;

  byte type_s;
  byte data[12];
  byte addr[8];
  float celsius; 
  
  if ( !ds.search(addr)) {
    ds.reset_search();
    delay(250);
    return;
  }
  
 
 

  if (OneWire::crc8(addr, 7) != addr[7]) {
     
      return;
  }

 

  switch (addr[0]) {
    case 0x10:
      type_s = 1;
      deviceType=1; //Chip = DS18S20 or old DS1820
      break;
    case 0x28:
      type_s = 0;
      deviceType=2;//Chip = DS18B20
      break;
    case 0x22:
      type_s = 0;
      deviceType=3;// Chip = DS1822
      break;
    default:
      deviceType=0;//������ ����������
      return;
  } 

  ds.reset();
  ds.select(addr);
  ds.write(0x44, 1);        
  
  delay(1000);     
 
  
  ds.reset();
  ds.select(addr);    
  ds.write(0xBE);     
 for ( i = 0; i < 9; i++) {data[i] = ds.read();} 
     


  int16_t raw = (data[1] << 8) | data[0];
  if (type_s) {
    raw = raw << 3; 
    if (data[7] == 0x10) {
      raw = (raw & 0xFFF0) + 12 - data[6];
    }
  } else {
    byte cfg = (data[4] & 0x60);
    if (cfg == 0x00) raw = raw & ~7;  
    else if (cfg == 0x20) raw = raw & ~3; 
    else if (cfg == 0x40) raw = raw & ~1; 
   
  }
  celsius = (float)raw / 16.0;
  
  
  Serial.write (1);
  Serial.write (2);
  Serial.print (deviceType); 
  Serial.write (3);
     for( i = 0; i < 8; i++) {      
   
     Serial.write (2);
     Serial.print(addr[i], HEX);
     Serial.write (3);
    }
  Serial.write (2);
  Serial.print(celsius);
  Serial.write (3); 
  Serial.write (4);
  
  
}

aidar_i
Полковник
Сообщения: 3125
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 676
Откуда: Уфа
Имя: Айдар
Контактная информация:

БАГ Arduino Pro mini

#6

Сообщение aidar_i » 04.05.2018{, 12:01}

Какая разница Про или Нано. Если там одинаковый контроллер. Про с одной партии? Если только напаяли там что то не так. Бутлодер поменяйте или напрямую шейте.

starshoy81
Лейтенант
Сообщения: 530
Зарегистрирован: 05.04.2016{, 23:30}
Репутация: 29
Откуда: Санкт-Петербург
Имя: Илья

БАГ Arduino Pro mini

#7

Сообщение starshoy81 » 04.05.2018{, 12:15}

leaner, а вы нужную плату выбираете при программировании? Про мини на 3.3 В работают на частоте 8 МГц, а 5 В на 16 МГц.

Аватара пользователя
Golan
Капитан
Сообщения: 827
Зарегистрирован: 26.11.2017{, 23:18}
Репутация: 77
Откуда: Деревня, 98 домов в Мордовии
Имя: Владимир
Контактная информация:

БАГ Arduino Pro mini

#8

Сообщение Golan » 04.05.2018{, 12:17}

leaner писал(а):
04.05.2018{, 10:04}
Вот скетч сформированный программой flprog для сканирования onewire шины.
Проектик куда делся?
Добро не ценится в современном мире, люди от него наглеют!

pasha71
Лейтенант
Сообщения: 454
Зарегистрирован: 26.08.2017{, 23:44}
Репутация: 34

БАГ Arduino Pro mini

#9

Сообщение pasha71 » 04.05.2018{, 12:43}

leaner, а не пробовали просто на другой pro mini заменить.У меня была такая же ерунда только с модбасом. Все скетчи работают без проблем,а только заливаю программу с работой modbus ,все, никакой реакции.Тупо взял другую прошку и все пошло без проблем.А та проблемная так и работает с другим скетчем без вопросов.

leaner
Сержант
Сообщения: 104
Зарегистрирован: 08.11.2017{, 13:13}
Репутация: 4

БАГ Arduino Pro mini

#10

Сообщение leaner » 04.05.2018{, 13:50}

Pro mini участвовавших в эксперименте было 4.
Были приобретены в разное время и у разных продавцов.
3 были на 5 В 16 МГц, один на 3.3 В 8 МГц. у всех один и тот же косяк
Решил оставить nano, а с pro mini потом посмотрю, что делать c ними.
Сперва пробовал с моим проектом но температуру упорно не показывал, остальное все работало mysensors, реле.
Потом просто вытащил с колодки подключил напрямую предварительно проверенный датчик ds18B20 и стал заливать скетч сканирования шины onewire
К компу был подключен через адаптер usb uart http://roboparts.ru/products/ft232rl-us ... perehodnik

Ответить

Вернуться в «ATmega328,168»