Ви не увійшли.
Сторінки 1
Помогите разобраться с разработкой меню для вода параметров.
int a = 5; // время загрузки в секундах
int b = 2; // время задержки в секундах
int c = 10; // время предварительный вакуум в секундах
int d = 20; // время пропарки в секундах
int e = 5; // время вакуумное охлаждение в секундах
int f = 5; // время остывание в секундах
шилд LCD с кнопками
byte key(){ //// для кнопок ЛСДшилда i
nt val = analogRead(0); if (val < 50) return 5; // 0
else if (val < 110) return 3; // 98
else if (val < 300) return 4; // 257
else if (val < 450) return 2; // 409
else if (val < 650) return 1; // 639
else return 0;
Программа работает но приходится изменять параметры в ручную и перезаливать в ардуину.
программа выглядит так:
// include the library code:
#include <LiquidCrystal.h>
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
byte key(){ //// для кнопок ЛСДшилда
int val = analogRead(0);
if (val < 50) return 5;
else if (val < 110) return 3;
else if (val < 300) return 4;
else if (val < 450) return 2;
else if (val < 650) return 1;
else return 0;
}
int a = 5; // время загрузки в секундах
int b = 2; // время задержки в секундах
int c = 10; // время предварительный вакуум в секундах
int d = 20; // время пропарки в секундах
int e = 5; // время вакуумное охлаждение в секундах
int f = 5; // время остывание в секундах
void setup() {
// put your setup code here, to run once:
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// Print a message to the LCD.
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
pinMode(11, OUTPUT);
pinMode(3, OUTPUT);
pinMode(2, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
lcd.clear();
lcd.print("* START *");
delay(3000);
lcd.clear();
lcd.print("* ZAGRUZKA *");
digitalWrite(13, HIGH); // включен канал №13
delay(a*1000);
digitalWrite(13, LOW); // вывключен канал №13
delay(5000);
lcd.clear();
lcd.print("* PRED VAKUUM *");
digitalWrite(12, HIGH); // включен канал №12
delay(b*1000);
lcd.clear();
lcd.print("* VAKUUM + PAR *");
digitalWrite(11, HIGH); // включен канал №11
delay((c-b)*1000);
digitalWrite(12, LOW); // вывключен канал №12
lcd.clear();
lcd.print("* PAR *");
delay((d-b-c)*1000);
digitalWrite(11, LOW); // вывключен канал №11
//нужно условие выключения не по времени а от данных монометра
lcd.clear();
lcd.print("*VAK.OXLAGDENIE*");
digitalWrite(3, HIGH); // включен канал №3
delay(e*1000);
digitalWrite(3, LOW); // вывключен канал №3
lcd.clear();
lcd.print("* STABILIZACIY *");
digitalWrite(2, HIGH); // включен канал №2
delay(f*1000);
digitalWrite(2, LOW); // вывключен канал №2
lcd.clear();
lcd.print("* BLOK GOTOV *");
// команда стоп перезапуск программы кнопка
analogWrite(10,100);
delay(1000);
analogWrite(10,10);
delay(1000);
analogWrite(10,100);
delay(1000);
analogWrite(10,10);
delay(1000);
analogWrite(10,100);
delay(1000);
analogWrite(10,10);
delay(1000);
analogWrite(10,100);
delay(1000);
analogWrite(10,10);
delay(1000);
analogWrite(10,100);
delay(1000);
analogWrite(10,10);
delay(1000);
analogWrite(10,100);
delay(1000);
analogWrite(10,10);
delay(1000);
analogWrite(10,100);
delay(1000);
analogWrite(10,10);
delay(1000);
analogWrite(10,100);
delay(1000);
analogWrite(10,10);
delay(1000);
analogWrite(10,100);
delay(1000);
analogWrite(10,10);
delay(1000);
analogWrite(10,100);
delay(1000);
analogWrite(10,10);
delay(1000);
analogWrite(10,100);
delay(10000);
}
Буду благодарен за любой совет. Просто не могу понять в какую сторону двигаться.
Сторінки 1