Помогите доработать скетч!!!

Maksik228

✩✩✩✩✩✩✩
26 Дек 2018
3
0
Есть Скетч написанный не мною!!!Этот скетч написанный для Webasto Так как родные мозги умерли!!!Скетч рабочий но хочется подключить LCD дисплей!!!Чтобы выводилась информация !На дисплей!
Вот сам скетч!
// 11 — топливный насос
// 12 — свеча
// 10 — вентилятор

int t;
int i;
int d;

void setup() {
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(10, OUTPUT);

}

// the loop function runs over and over again forever
void loop() {
analogWrite(10, 150);
delay(300);
analogWrite(10, 0);
for(int i=1; i<5; i++){
digitalWrite(11, HIGH);
delay(300);
digitalWrite(11, LOW);
delay(400);
}
d=0;
digitalWrite(12, HIGH);
delay (2000);
i=30;
while(i<250){
analogWrite(10, i);
delay(100);
i=i+1;
if(i==100){
digitalWrite(12, LOW);
}
d=d+1;
if(d*100>(2800-i*10)){
digitalWrite(11, HIGH);
delay(250);
digitalWrite(11, LOW);
d=0;
}
}
while(t<70){
digitalWrite(11, HIGH);
delay(300);
digitalWrite(11, LOW);
delay(300);
}
}
 

SergeySAS

✩✩✩✩✩✩✩
20 Дек 2018
41
9
Москва
sustavov.org
Код похож на обгрызок. Переменная t не инициализирована. Как отработает последний цикл while(t<70) не понятно. По этому коду он из него не выйдет.
Цикл с if(d*100>(2800-i*10)) вообще шедевр...
// 11 — топливный насос
// 12 — свеча
// 10 — вентилятор

int t;
int i;
int d;

void setup()
{
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(10, OUTPUT);
}

// the loop function runs over and over again forever
void loop()
{
//включение вентилятора на 60% на 0.3 сек
analogWrite(10, 150);
delay(300);
analogWrite(10, 0);

//прокачка насоса 4 раза, кстати int тут явно лишний т.к. есть глобальная i
for(int i=1; i<5; i++)
{
digitalWrite(11, HIGH);
delay(300);
digitalWrite(11, LOW);
delay(400);
}

d=0;
//включение свечи
digitalWrite(12, HIGH);
delay (2000);

i=30;
while(i<250)
{
//увеличение скорости вентилятора с 10% до 98%
analogWrite(10, i);
delay(100);
i=i+1;

//отключение свечи
if(i==100)
{
digitalWrite(12, LOW);
}
d=d+1;
//не адекватный алгоритм включения насоса
if(d*100>(2800-i*10))
{
//включение отключение насоса
digitalWrite(11, HIGH);
delay(250);
digitalWrite(11, LOW);
d=0;
}
}
//переменная t не инициирована.
//но может быть кусок кода (которого тут нет) который по таймеру по прерыванию опрашивает термодатчик и меняет t
// но в этом коде такого куска нет
while(t<70)
{
digitalWrite(11, HIGH);
delay(300);
digitalWrite(11, LOW);
delay(300);
}
}
 

Maksik228

✩✩✩✩✩✩✩
26 Дек 2018
3
0
Ну вот хорошо у тя голова варит!У меня вот ваще не очень!!!А хочется для себя научится !!!Посоветуй какие нибудь сайты или электронные книги про программирования Ардуино!
Видио уроков на ютюбе много но не всегда всё понятно!!
 

dizzyy

✩✩✩✩✩✩✩
1 Янв 2019
11
2
а чем та же температура меряется? это действительно кусок кода
 
  • Лойс +1
Реакции: qbaddev