Экспериментирую с микрофонным модулем синим на предмет в роли датчика. Попробовал два варианта.
#include "Adafruit_NeoPixel.h"
#define line_ 64 //число пикселей в ленте
uint8_t dataPin = 6;// вывод для подключения
Adafruit_NeoPixel strip = Adafruit_NeoPixel(line_, dataPin , NEO_GRB + NEO_KHZ800); // Создаем переменную strip для управления нашей лентой
bool sost = 0; //
void setup() {
pinMode(5, INPUT);
strip.begin();
}
void loop() {
if (digitalRead(5) == 0) {
delay(200);
if (digitalRead(5) == 0) {
sost = !sost;
for ( int i = 0; i < line_; i++) {
if (sost == 1) {
strip.setPixelColor(i, 10, 10, 10);
}
else {
strip.setPixelColor(i, 0, 0, 0);
}
}
strip.show();
delay(1000);
}
}
}
#include "Adafruit_NeoPixel.h"
#define line_ 64 //число пикселей в ленте
uint8_t dataPin = 6;// вывод для подключения
Adafruit_NeoPixel strip = Adafruit_NeoPixel(line_, dataPin , NEO_GRB + NEO_KHZ800); // Создаем переменную strip для управления нашей лентой
bool sost = 0; //
unsigned long duration;//
void setup() {
pinMode(5, INPUT);
strip.begin();
Serial.begin(9600);
}
void loop() {
duration=pulseIn(5,LOW);//
if ( duration>1000) {
sost = !sost;
for ( int i = 0; i < line_; i++) {
if (sost == 1) {
strip.setPixelColor(i, 10, 10, 10);
}
else {
strip.setPixelColor(i, 0, 0, 0);
}
}
strip.show();
delay(1000);
}
}
Первый не всегда чётко переключает и ложно срабатывает если громко произносить фразы в микрофон, но не реагирует на щелчки по микрофону.
Второй вариант чётко срабатывает на дуновения, не реагирует на голос, но срабатывает на щелчки.
Может кто предложит ещё варианты?