#1 2016-11-23 18:38:34

ACA5
Участник
Зарегистрирован: 2016-11-19
Сообщений: 9

Ошибка - macro names must be identifiers

Код останавливает на 4ой строке

//Project 8 - быстродействующий термометр
#define 2 COLD
#define 4 NORMAL
#define 6 HOT  //вот здесь

float voltage = 0;
float celsius = 0;
float coldTemp = 20;
float hotTemp = 26;
float sensor = 0;

void setup() {
  pinMode(COLD, OUTPUT);
  pinMode(NORMAL, OUTPUT);
  pinMode(HOT, OUTPUT);
}

void loop() {
  //Прочитать напряжение с датчика температуры 
  //и преобразоватьв градусы цельсия
  sensor = analogRead(0);
  voltage = (sensor *5000)/1024;  //преобразовать в милливольты, учесть смещение
  voltage = voltage - 500;
  celsius = voltage/10;

  //выпонить действие для разных диапозонов температур
  if (celsius < coldTemp)
  {
    digitalWrite(COLD, HIGH);
    delay(1000);
    digitalWrite(COLD, LOW);
  } 
  else if (celsius > coldTemp && celsius <= hotTemp)
  {
    digitalWrite(NORMAL, HIGH);
    delay(1000);
    digitalWrite(NORMAL, LOW);
  } else 
  {
    digitalWrite(HOT, HIGH);
    delay(1000);
    digitalWrite(HOT, LOW);
  }
}

#2 2016-11-23 20:32:18

qwone
Участник
Зарегистрирован: 2016-07-25
Сообщений: 143

Re: Ошибка - macro names must be identifiers

Выкинь на (цензура) эту книжку.

    digitalWrite(HOT, HIGH);
    delay(1000);
    digitalWrite(HOT, LOW);

Это дибилизм.
Надо как минимум так писать.

    digitalWrite(HOT, HIGH);// зажечь светодиод
    delay(1000); // подождать 1 секунду что бы наблюдатель увидел
    digitalWrite(HOT, LOW);// погасить светодиод
    delay(1000);// подождать 1 секунду что бы наблюдатель увидел что светодиод уже не горит

А вот по поводу приведеного кода

#define COLD 2  // так правильно
#define 2  COLD // а вот так нет ;)

Редактировался qwone (2016-11-23 22:02:25)

#3 2016-11-23 22:16:03

ACA5
Участник
Зарегистрирован: 2016-11-19
Сообщений: 9

Re: Ошибка - macro names must be identifiers

Единственная книга, которая была на книжкой выставке) Если не сложно посоветуйте какую книгу можно купить , нужен бумажный вариант, электронки быстро бросаю, не дочитываю, или глаза начинают болеть..

#4 2016-11-24 00:15:37

qwone
Участник
Зарегистрирован: 2016-07-25
Сообщений: 143

Re: Ошибка - macro names must be identifiers

Если глаза болят ,тогда бросайте и программирование. Потому что форумы и гугл это основные источники информации.
А также вам прийдется собирать свою библиотеку проверенных решений на все случаи жизни.

Редактировался qwone (2016-11-24 00:17:13)

Быстрое сообщение

Введите сообщение и нажмите Отправить

Подвал раздела