Відповісти

Введіть повідомлення і натисніть Надіслати
Параметри

Назад

Огляд теми (нові повідомленні вгорі)

Kaka
2019-09-26 09:01:08
Selen пише:

и как можно это исправить?

Если речь о нехватке памяти, то для начала прекратить использовать float и обходиться целыми числами.

г0сть
2019-09-26 08:30:31
Selen пише:

думал сделать простой термостат

простой термостат - выглядит примерно так https://overclockers.ru/lab/show/15938/Termoregulyator_dlya_videokarty

Watchdog
2019-09-26 06:49:05

Это результат оптимизации. Никак не используемая переменная temp приводит к устранению большей части вашего кода, связянного только с ней. Проследите зависимости вычислений сами и поймёте.

Selen
2019-09-25 22:04:20

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

и как можно это исправить?

void setup() {
    pinMode( 2, INPUT );
    pinMode(1,OUTPUT);
}
 
void loop() {
    int t = analogRead(2);
    float tr = 1023.0 / t - 1;
    tr = SERIAL_R / tr;
 
    float steinhart;
    steinhart = tr / THERMISTOR_R; // (R/Ro)
    steinhart = log(steinhart); // ln(R/Ro)
    steinhart /= B; // 1/B * ln(R/Ro)
    steinhart += 1.0 / (NOMINAL_T + 273.15); // + (1/To)
    steinhart = 1.0 / steinhart; // Invert
    steinhart -= 273.15; 
  
byte temp = byte(steinhart);


if(temp>36)
{
 // digitalWrite(1,HIGH);
}

if(temp<34)
{
  
}

}

mini_3.jpg
mini_2.jpgmini_1.jpg

Підвал форуму