Термохрон-логгер температуры на nano 18b20 с часами ds3231 и записью на sd

простите уважаемый, я как и любой новичек, увидев активность в теме -торопился.
итого резюмируя все вышесказанное и 2 недельные мытарства с всем добром:

  1. после скрупулезных проверок выявлено , что отдельно нужно проверять каждый модуль. из 10 ардуин 2 работают непонятно.
    из 6 модулей ds3231 1 не работает, 1 работает с явным косяком.
    из 10 модулей hw125(сдкарта) 9 работают, 1 нет.
  2. в скетче косяк с посадкой датчика на аналоговый пин.
  3. схема логгера чувствительна к питанию-нужно внешнее в виде батарейного блока, возможно с стабилизатором.
    хочу выразить благодарность всем откликнувшимся- в частности камрадам [v258], [b707], [kalapanga], а так же [Дим-мычъ] и [Dalis].
    я еще вернусь с вопросами режима энергосбережения, как запаяю все рабочие модули

а что нам делать жёнам жульены не готовящим, теперь? )))

1 лайк

Ну приготовь алкогольный коктейль по рецепту ЕП.

а смысл, в моём окружении никто алкоголь не употребляет

маленький апдейт после перерыва:
упорно не писалась дата в часах в данных файла флешки.
решил радикально.
взял библиотеку micro ds3231 от AlexGyver GitHub - GyverLibs/microDS3231: Лёгкая библиотека для работы с RTC DS3231 для Arduino
переписал под нее команды. скетч “облегчился” и наконец стал работать.
теперь у меня 2 новых проблемы :laughing:
1 проблема: все время горят 2 диода pwr на часах и на ардуинке нано
и
вторая проблема: как безболезненно и без костылей удлиннить время опроса термодатчика вместо 5 секунд в 15 минут
вроде бы есть для этого костыль с повторениями delay, типо прописать их 5 штук подряд, но как-то это “по индусски” совсем, а вроде есть и еще какой-то способ, возможно даже с засыпанием\просыпанием через rtc, но прописать такое в скетче у меня еще кишка тонка.
Может кто-что посоветует?
обновленный рабочий проверенный скетч “прикладаю”

#include <microDS3231.h>
#include <SD.h> 
#include <SPI.h>
#include <OneWire.h>
#include <Wire.h>
#include <DallasTemperature.h>

OneWire oneWire(3);
DallasTemperature t(&oneWire);
MicroDS3231 rtc;

File myFile; 
float temp;
long nomer;
int data_old;

void setup() {
  Serial.begin(9600);
  Serial.print("Initializing SD card...");
  if (!SD.begin(4)) {Serial.println(" Error!!!"); return;}
  else{Serial.println(" OK");}
  
  t.begin(); 
  t.setResolution(12);// 12 bit 18b20
  rtc.begin();
  //rtc.setTime(1, 1, 17, 13, 4, 2024);// установка времени
  }
 
void loop() {
  
  myFile = SD.open("temp.txt", FILE_WRITE);
 Serial.println(rtc.getDateString());
  Serial.print(" ");
  t.requestTemperatures();
  Serial.println(temp = t.getTempCByIndex(0));//считываем температуру
  delay(5000);// записывать данные на CD каждые 5 сек
  nomer++;
    
   myFile.print(nomer);// запись номера
   myFile.print(" ");
   myFile.print(rtc.getDateString( ));// запись даты
   myFile.print(" ");// запись
   myFile.println(temp);// запись
   myFile.close();// закрываем файл
}

а суть этой проблемы собсно в том что светодиоды кушают свой маленький но ток, а очень хочется чтобы датчик мог хотябы месяц с гарантией прожить на улице без присмотра за батарейкой, варианты в виде солнечной подзарядки не прокатят, по той причине что буду ставить в лесной избушке

Паяльник и одна минута времени на отпайку решают эту проблему с гарантией :wink:

1 лайк

спасиб за подсказу и Вам [v258] и товарисчу [xDriver], мне эта крамольная мысль про паяльник в голову приходила тоже :mechanic:,
но ардуино нано нынче такие миллипусечные, что я боюсь чтобы с платы вместе со светодиодами не отлетели еще и кварц с микрокнопкой.
может есть более изящные варианты? кто нить про энергосберегательный загрузчик ардуины слышал? который экономно “мыргает” диодами? где то я давно читал про что-то подобное… вот еще бы вспомнить где, и про что именно

Вот какая-то первая попавшаяся схема наны из интернета:

Найдите, к какому пину подключён светодиод pwr, и попробуйте выключить его в скетче. Делов-то.

Да уж… Хорошо бы pwr светодиод отключать пином… Жаль что итальянцы умом не очень то.(

2 лайка

Мужчина, эта не для вас написано! (с)

Извините, погорячился.

Пинцетом расковырять до полного безобразия те светодиоды. Изящнее некуда ))

кусачки для ногтей, но это без гарантии.

Специнструмент:

:smiley:

А вообще, раз уж взялись за ардуину, выбросьте засуньте в дальний ящик старый советский паяльник и купите что-нибудь поизящнее

Вот тут и паяльник, и набор жал всех ходовых форм. Задешево

1 лайк

У меня такой (только черный, черный мне больше нравится) на постоянке (уже привык), доработать только нужно чтобы не перегревался. R3 заменил на 82кОм.

Свой я вот тут брал:

1 лайк

потом надо доработать, чтобы нагревательный элемент плотно прижимался к жалу, потом …
не помню полный список чего там делают с этим паяльником.

Про эту дурь я тоже слышал, но не делал. А как же зазор на температурное расширение?)

Еще у меня Atten есть, классный паяльник (только провод сразу же нужно на силиконовый менять, штатный очень жёсткий (от компьютерного БП как будто)).

Отличный паяльник, но на каждый день мне его жалко …