пытаюсь соеденить термометр и вольтметр. я новичек. по отдельности все работает.
пишет ошибку; 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);
}