Интернет-магазин «Неглупый Дом»
// Пины для подключения
const int soundPin = 2; // Пин датчика звука (DO)
const int redPin = 9; // Пин красного цвета RGB
const int greenPin = 10; // Пин зеленого цвета RGB
const int bluePin = 11; // Пин синего цвета RGB
void setup() {
// Настраиваем пины
pinMode(soundPin, INPUT);
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
// В начале гасим светодиод
digitalWrite(redPin, LOW);
digitalWrite(greenPin, LOW);
digitalWrite(bluePin, LOW);
}
void loop() {
// Если датчик зафиксировал хлопок (сигнал LOW)
if (digitalRead(soundPin) == LOW) {
// Зажигаем случайный цвет
setRandomColor();
// Ждем немного, чтобы не срабатывало много раз от одного хлопка
delay(500);
}
}
// Функция для зажигания случайного цвета
void setRandomColor() {
// Генерируем случайные значения для каждого цвета (0 или 1)
int r = random(0, 2);
int g = random(0, 2);
int b = random(0, 2);
// Подаем сигнал на пины (HIGH = 5V, LOW = 0V)
digitalWrite(redPin, r);
digitalWrite(greenPin, g);
digitalWrite(bluePin, b);
}
// Пины для подключения
const int sensorPin = A0;
// Переменная для хранения значения с датчика
int sensorValue = 0;
void setup() {
// Начинаем последовательную связь на скорости 9600 бод
Serial.begin(9600);
Serial.println("KY-039 Heartbeat Sensor Test");
Serial.println("Place your finger on the sensor.");
delay(2000);
}
void loop() {
// Считываем аналоговое значение с датчика (0-1023)
sensorValue = analogRead(sensorPin);
// Выводим значение в монитор порта
Serial.println(sensorValue);
// Небольшая задержка для стабильности вывода
delay(30);
}