Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

C++(Arduino) помогите чайнику

Dmitry Профи (551), открыт 5 часов назад
как сделать чтобы когда у датчика вибрации одно значение переменной, то tone (Buzzer, 300), а другое- noTone(Buzzer)? пж помогите чайнику
 const int trigPin = 9;    
const int Buzzer = 8;
const int echoPin = 10;

long previousDistance = 0; // Переменная для хранения предыдущего значения расстояния

void setup() {
Serial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(Buzzer, OUTPUT); // Устанавливаем пьезоэлемент как выход
}

void loop() {
long duration, distance;
noTone(Buzzer); // Останавливаем любой предыдущий тон

digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);

duration = pulseIn(echoPin, HIGH);
distance = (duration / 2) / 29.1;
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");

// Проверяем, изменилось ли расстояние
if (distance != previousDistance) {
tone(Buzzer, 300); // Включаем тон на пьезоэлементе с частотой 300 Гц
delay(100); // Даем тону посигналить 100 мс
noTone(Buzzer); // Выключаем тон
}

previousDistance = distance; // Обновляем предыдущую дистанцию
delay(500);
}
ПЖЖ
Похожие вопросы