#1 2016-11-29 12:59:09

OlegKireen
Учасник
Зареєстрований: 2016-11-29
Повідомлень: 1

Меню для вода параметров в программу при помощи LCD шилда 1602

Помогите разобраться с разработкой меню для вода параметров.

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);

}

Буду благодарен за любой совет. Просто не могу понять в какую сторону двигаться.

Неактивний

#2 2016-11-29 13:19:57

vvr
Учасник
Зареєстрований: 2015-04-12
Повідомлень: 876

Re: Меню для вода параметров в программу при помощи LCD шилда 1602

а что вы хотите сделать
код полная абракадабра
да и вставлять его в сообщение нужно правильно, предварительно отформатировав

Неактивний

#3 2016-11-29 13:51:25

Nefreemen
Учасник
З Киев
Зареєстрований: 2015-12-19
Повідомлень: 716

Re: Меню для вода параметров в программу при помощи LCD шилда 1602

Ну вообщем я так понял что Вы хотите построить меню по изменению a,b,c,d,e,f. Не понимая сути процесса (как часто нужно менять эти параметры и т.д.) мне например сложно что либо советовать. Как то не понятно, "старт" есть, "стоп" нет smile . Возьмите  в Arduino IDE пример для LCD шилда, посмотрите.

Остання редакція Nefreemen (2016-11-29 13:52:24)

Неактивний

#4 2016-11-29 14:16:31

vvr
Учасник
Зареєстрований: 2015-04-12
Повідомлень: 876

Re: Меню для вода параметров в программу при помощи LCD шилда 1602

товарищ пока в кодинге слабоват и решил что на двух форумах кто то за него обязательно сделает
варианты учиться или заказать видно не рассматривал

Неактивний

Швидке повідомлення

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

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