Go Down

Topic: народ подскажите, не могу понять где ошибка (Read 28713 times) previous topic - next topic

roman198127

пытаюсь соеденить термометр и вольтметр. я новичек. по отдельности все работает.
 пишет ошибку; Arduino: 1.8.2 (Windows 7), Плата:"Arduino/Genuino Uno"

rabochii_termometr:90: error: 'value' does not name a type

rabochii_termometr:91: error: 'vout' does not name a type

rabochii_termometr:92: error: 'vin' does not name a type

rabochii_termometr:93: error: expected unqualified-id before 'if'

rabochii_termometr:96: error: 'lcd' does not name a type

rabochii_termometr:97: error: 'lcd' does not name a type

rabochii_termometr:98: error: 'lcd' does not name a type

rabochii_termometr:99: error: expected constructor, destructor, or type conversion before '(' token

rabochii_termometr:100: error: expected declaration before '}' token

exit status 1
'value' does not name a type

Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции"


сам код; 
// подключаем две библиотеки для работы с LCD и математических вычислений
#include <LiquidCrystal.h>
#include <math.h>



LiquidCrystal lcd(7, 6, 5, 4, 3, 2); // инициализируем LCD
// degree centigrade
int analogInput = 0;
float vout = 0.0;
float vin = 0.0;
float R1 = 100000.0; // resistance of R1 (100K) -see text!
float R2 = 10000.0; // resistance of R2 (10K) -- see text!
int value = 0;
int backLight = 13;

void setup(void) {
pinMode(analogInput, INPUT);
lcd.begin(16, 2);
lcd.setCursor(1,0);
lcd.write("-Privet Roman-");
delay(1000);
lcd.setCursor(1,1);
lcd.write("-Privet Roman-");
delay(1000);
lcd.setCursor(1,0);
lcd.write("              ");
delay(1000);
lcd.setCursor(1,1);
lcd.write("-Privet Roman-");
lcd.write("              ");
delay(1000);
lcd.setCursor(1,0);
lcd.write("              ");
lcd.setCursor(1,0);
lcd.write("-SCOOTER QT-9-");
delay(3000);
lcd.setCursor(1,0);
lcd.write("              ");

 
  // выбор типа дисплея, 16 символов и 2 строки
  lcd.begin(16, 2);

  // вывод символа на дисплей

  lcd.write((uint8_t)0);
  pinMode(backLight, OUTPUT);
 
  digitalWrite(backLight, HIGH);
               
                   
  lcd.setCursor(0,0);
  {
    pinMode(analogInput, INPUT);
lcd.begin(16, 2);
lcd.print("DC VOLTMETER");

  }



 // создаем метод для перевода показаний сенсора в градусы Цельсия
double Getterm(int RawADC) {
  double temp;
  temp = log(((10240000/RawADC) - 10000));
  temp = 1 / (0.001129148 + (0.000234125 * temp) + (0.0000000876741 * temp * temp * temp));
  temp = temp - 273.15;
  return temp;
}

// создаем метод для вывода на экран показаний сенсора
void printTemp(void) {
  double temp = Getterm(analogRead(4));  // считываем показания с сенсора
  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("t motop:");
  lcd.setCursor(9,0);
  lcd.print(temp);
  lcd.print(" C");
 
  }


void loop(void) {
  printTemp(); // вызываем метод, созданный ранее
  delay(1000);
}
// считывание аналогового значения
   value = analogRead(analogInput);
   vout = (value * 5.0) / 1024.0;
   vin = vout / (R2/(R1+R2));
   if (vin<0.09) {
   vin=0.0;// обнуляем нежелательное значение
}
lcd.setCursor(0, 1);
lcd.print("INPUT V= ");
lcd.print(vin);
delay(500);
}


sterretje

You have a whole lot of code outside a function.

Use IDE tools -> auto format to properly indent your code. You will see that starts at the beginning of a line which indicates that it's outside a function.

It's probably

void loop(void) {
  printTemp(); // вызываем метод, созданный ранее
  delay(1000);
}  <<<----------




PS
You posted this in the English part of the forum hence a reply in English. There is a russian section. It's also not a "installation and troubleshooting question"


Google translate
У вас есть много кода вне функции.

Используйте инструменты IDE -> автоформат для правильного отступа вашего кода. Вы увидите, что это начинается в начале строки, которая указывает на то, что она находится вне функции.

Это, вероятно

void loop(void) {
  printTemp(); // вызываем метод, созданный ранее
  delay(1000);
}  <<<----------



PS
Вы разместили это в английской части форума, поэтому ответ на английском. Существует [url = http: //forum.arduino.cc/index.php? Board = 120.0] русский раздел [/ url]. Это также не «вопрос установки и устранения неполадок»
If you understand an example, use it.
If you don't understand an example, don't use it.

Electronics engineer by trade, software engineer by profession. Trying to get back into electronics after 15 years absence.

Go Up