exit status 1 Ошибка компиляции для платы Arduino/Genuino Uno.

Kemerlin
Offline
Зарегистрирован: 23.01.2019

В ардуино новичок. Пытался подключить экран.... вроде бы все и ничего, но выдает ошибку :"exit status 1

Ошибка компиляции для платы Arduino/Genuino Uno.". Библиотеку я установил, да и не одну.

Код:

#include <LiquidCrystal.h>

 
LiquidCrystal lcd(8,9,10,11,12,13);//ЖК дисплей
const int red = 4;//Пин выхода кр светодиода
const int green = 5;//Пин выхода зеленого светодиода
const int yellow = 6;//Пин выхода желтого светодиода
const int buttonPinGreen = 2;//Пин входа зеленой кнопки
const int buttonPinRed = 7;//Пин входа красной кнопки
int worktime=0; //      базовое время работы,в минутах
 
void Greeting();
void StudyTime();
void Resting();
void Working();
 
void setup() {
pinMode(green,OUTPUT);
pinMode(yellow,OUTPUT);
pinMode(red,OUTPUT);
pinMode(buttonPinGreen,INPUT);
pinMode(buttonPinRed, INPUT);
lcd.begin(16,2);
}
 
void loop()
{
  Greeting();
}
void Greeting(LiquidCrystal lcd)
{
  digitalWrite(yellow,HIGH);
 
lcd.print("Hello!Push red");
lcd.setCursor(0,1);
lcd.print("To add minutes");
}
void StudyTime()
{
  if(digitalRead (buttonPinRed)==HIGH)
  {
  worktime+=1;
  }
  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("To begin press green");
}
void Working()//Нажата зеленая кнопка
{
  digitalWrite(yellow,LOW);
  int mint=worktime;//Число печатаемых минут
  int sec=59;//Чисо печатаемых секунд
  if(digitalRead (buttonPinGreen)==HIGH)
  {
    digitalWrite(green,HIGH);
    while (mint!=0)
      {
        mint=mint-1;
        while (sec!=0)
        {
        lcd.clear();
        lcd.setCursor(0,0);
        lcd.print(mint);
        lcd.print("\E2");
        lcd.print(sec);
        delay(1000);
        sec=sec-1;
        }
        
      }
    }
    digitalWrite(green,LOW);
    Resting();
}
void Resting()//отдых
{int mint=0;
  if(worktime>=10)
  {int mint=4;}
  else
  {int mint=1;}
  int sec=59;//Чисо печатаемых секунд
  if(digitalRead (buttonPinGreen)==HIGH)
  {
    digitalWrite(yellow,HIGH);
    while (mint!=0)
      {
        mint=mint-1;
        while (sec!=0)
        {
        lcd.clear();
        lcd.setCursor(0,0);
        lcd.print(mint,":",sec);
        delay(1000);
        sec=sec-1;
        }
      }
    }
    digitalWrite(yellow,LOW);
}
RG22EM
Offline
Зарегистрирован: 27.08.2016

Выложите код по правилам форума и скопируйте полностью код ошибки

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

Я думаю проблема тут -  lcd.print(mint,":",sec); - Разделите это на 3 lcd.print()

anatoli_nik
Онлайн
Зарегистрирован: 17.01.2019

Чувак наверное бегло прочитал про стандартный (iostream C++) поток std.cout и решил что lcd.print так же работает, но даже сдесь накосячилл. Видать хотел: 

lcd.print<<mint<<":"<<sec; //по аналогии с std.cout<<"text"<<'char'<<peremennaja и т.д.

К тому же функция

void Greeting(LiquidCrystal lcd)

 обьявлена с непонятным параметром, который не используется (нахрена?). А вызывается вообще без параметров.