Подскажите как убрать звуковой сигнал когда мерит датчик

Тема в разделе "Arduino & Shields", создана пользователем Мелкий Ардуинщик, 9 ноя 2017.

  1. Код вот:
    #include <Ultrasonic.h>
    Ultrasonic ultrasonic(12, 13);
    int dist = 0;
    #include <Servo.h>
    Servo myservo;
    int echoPin = 2;
    int trigPin = 3;

    #define BUZZER_PIN 12

    void setup() {
    Serial.begin (9600);
    pinMode(trigPin, OUTPUT);
    pinMode(echoPin, INPUT);
    pinMode(BUZZER_PIN, OUTPUT);
    tone(BUZZER_PIN, 500, 200);
    delay(200);
    tone(BUZZER_PIN, 900, 200);
    delay(2000);
    tone(BUZZER_PIN, 300, 200);
    delay(400);
    tone(BUZZER_PIN, 600, 200);
    delay(400);
    tone(BUZZER_PIN, 900, 200);
    delay(400);
    noTone(BUZZER_PIN);
    }

    void loop() {
    dist = ultrasonic.distanceRead();

    if (dist >= 100) {
    tone(BUZZER_PIN, 300, 200);
    delay(200);
    tone(BUZZER_PIN, 600, 200);
    delay(200);
    tone(BUZZER_PIN, 900, 200);
    delay(200);
    noTone(BUZZER_PIN);
    }
    }
    Подскажите где у меня ошибка.
    Пожалуйста!
     
  2. ИгорьК

    ИгорьК Гуру

    Сходу вижу две ошибки:
    • Не оформили код чтобы его можно было читать;
    • Не выложили что пишет компилятор и в чем сами видете проблему.
     
    Tomasina и NikitOS нравится это.
  3. NikitOS

    NikitOS Король шутов Администратор

    Я думаю Вы хотели убрать звук из программы, тогда вот бесПОЛЕЗНЫЙ код:
    Код (C++):
    #include <Ultrasonic.h>
    Ultrasonic ultrasonic(12, 13);
    int dist = 0;
    #include <Servo.h>
    Servo myservo;
    int echoPin = 2;
    int trigPin = 3;

    void setup() {
    Serial.begin (9600);
    pinMode(trigPin, OUTPUT);
    pinMode(echoPin, INPUT);
    }

    void loop() {
    dist = ultrasonic.distanceRead();

    if (dist >= 100) {

    }
    }
    Зачем он тогда если он ничего не делает...., если бы в сериал писал расстояние:
    Код (C++):
    #include <Ultrasonic.h>
    Ultrasonic ultrasonic(12, 13);
    int dist = 0;
    #include <Servo.h>
    Servo myservo;
    int echoPin = 2;
    int trigPin = 3;

    void setup() {
    Serial.begin (9600);
    pinMode(trigPin, OUTPUT);
    pinMode(echoPin, INPUT);
    }

    void loop() {
    dist = ultrasonic.distanceRead();
    Serial.print(dist);
    if (dist >= 100) {

    }
    }
    И что в скетчи делает библиотека серво ?память занимает?
     
    Tomasina и Мелкий Ардуинщик нравится это.
  4. Компилятор ничего не пишет.
     
  5. Да. :D
     
    NikitOS нравится это.
  6.  
    Последнее редактирование: 11 ноя 2017
  7. Спасибо всем!!!
     
  8. Только я не тупой долбоёбище, и могу убрать звук из программы, но дело в том, что когда мерит датчик раздаётся дребезжание:confused::confused:, я хочу что бы у меня работало идеально и без лишних звуков.:(:(
     
  9. NikitOS

    NikitOS Король шутов Администратор

    Схему в студию
     
  10. Tomasina

    Tomasina Сушитель лампочек Модератор

    Это невозможно, ибо сам датчик ультраЗВУКОВОЙ, он измеряет расстояние, отправляя ЗВУК и слушая эхо.
     
  11. ostrov

    ostrov Гуру

    В детстве ухо слышит до 22КГц вроде. На какой частоте он работает?
     
  12. Tomasina

    Tomasina Сушитель лампочек Модератор

    Я и сейчас такие датчики слышу, на грани восприятия.
    Как и развертку кинескопных телевизоров.
     
  13. ostrov

    ostrov Гуру

    У меня кот их отлично слышит и ведет себя неадекватно.