Здравствуйте! Пытаюсь собрать сигнализацию для холодильника но комптлятор выдает ошибку, скеч беру на сайте амперки.
// библиотека для работы I²C
#include <Wire.h>
// библиотека для работы с часами реального времени
#include "TroykaRTC.h"
// библиотека для работы с RGB-матрицей
#include <Adafruit_NeoPixel.h>
// библиотека для работы с датчиком освещённости (Troyka-модуль)
#include <TroykaLight.h>
// номер пина, к которому подключена RGB-матрица
#define MATRIX_PIN A2
// пин сенсора освещённости
#define LIGHT_PIN A1
// пин зуммера
#define BUZZER_PIN 4
// количество светодиодов в матрице
#define LED_COUNT 16
// создаём объект для работы с часами реального времени
RTC clock;
// создаём объект класса Adafruit_NeoPixel
Adafruit_NeoPixel matrix = Adafruit_NeoPixel(LED_COUNT, MATRIX_PIN, NEO_GRB + NEO_KHZ800);
// создаём объект для работы с датчиком освещённости
// и передаём ему номер пина выходного сигнала
LIGHT sensorLight(LIGHT_PIN);
bool state = false;
void setup()
{
// открываем последовательный порт
Serial.begin(9600);
// инициализация RGB-матрицы
matrix.begin();
}
void loop()
{
// считываем текущее время в часах
int hour = clock.getHour();
// если текущий период времени попадает в диапазон с 18:00 до 7:00
if (hour > 18 && hour < 7) {
// считываем показания с датчика освещенности в Люксах
int sensorLightValue = sensorLight.readLight();
Serial.println(sensorLightValue);
// если показание более 50 люкс
if (sensorLightValue > 50) {
tone(BUZZER_PIN, 1000, 400);
state = !state;
if (state) {
// заполняем RGB-матрицу по сегментам «бегущий огонь» красного цвета
colorWipe(matrix.Color(255, 0, 0), 10);
} else {
// заполняем RGB-матрицу по сегментам «бегущий огонь» синего цвета
colorWipe(matrix.Color(0, 0, 255), 10);
}
} else {
// гасим RGB-матрицу по сегментам «бегущая тень»
colorWipe(matrix.Color(0, 0, 0), 10);
}
}
delay(500);
}
// функция заполнения каждого сегмента
void colorWipe(uint32_t c, uint8_t wait)
{
for (uint16_t i = 0; i < matrix.numPixels(); i++) {
// заполняем текущий сегмент выбранным цветом
matrix.setPixelColor(i, c);
matrix.show();
// ждём
delay(wait);
}
}