Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int trigPin = 12; // номер пина Trig
- int echoPin = 11; // номер пина Echo
- int bLed = 9; // номер пина к которому подключён синий LED
- int buzz = 13; // номер пина к которому подключён пьезоизлучатель
- int brightness = 0;
- void setup() {
- // Настраиваем пины
- pinMode(trigPin, OUTPUT);
- pinMode(echoPin, INPUT);
- pinMode(bLed, OUTPUT);
- pinMode(buzz, OUTPUT);
- }
- void loop() {
- int duration, distance;
- int cm;
- // для большей точности установим значение LOW на пине Trig
- digitalWrite(trigPin, LOW);
- delayMicroseconds(2);
- // Теперь установим высокий уровень на пине Trig
- digitalWrite(trigPin, HIGH);
- // Подождем 10 μs
- delayMicroseconds(10);
- digitalWrite(trigPin, LOW);
- // Узнаем длительность высокого сигнала на пине Echo
- duration = pulseIn(echoPin, HIGH);
- // Рассчитаем расстояние
- distance = duration / 58;
- Serial.print(duration);
- Serial.println(" cm");
- if (distance > 15) { // Если расстояние > 20 см то
- digitalWrite(bLed, LOW); // Включаем только синий LED
- digitalWrite(buzz, LOW);
- } else if (distance < 20 && distance > 11) { // Расстояние < 10
- analogWrite(bLed, 10); // устанавливаем значение
- makeBeep(200, 500);
- } else if (distance < 10 && distance > 6) { // Расстояние < 10
- analogWrite(bLed, 75); // устанавливаем значение
- makeBeep(1000, 300);
- } else if (distance < 5 && distance > 0 ) { // Расстояние < 10
- analogWrite(bLed, 255); // устанавливаем значение
- makeBeep(1000, 100);
- }
- delay(100); // Ждём 100 милисекунд
- }
- void makeBeep(int soundFrequency, int duration) {
- analogWrite(buzz, soundFrequency); // включаем звук
- delay(duration); // пищим какое-то время,
- analogWrite(buzz, 0); // выключаем звук
- delay(duration); // ждём опять
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement