HC-SR04 + аналоговый вольтметр 5v.

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем onodera, 6 окт 2015.

  1. onodera

    onodera Нуб

    Всем Доброго!

    Итак, первое же отступление от простейших уроков Амперки и желание сделать по своему вызвало ступор и не понимание)

    Прошу вашей помощи!

    Есть:
    датчик расстояния HC-SR04 и аналоговый вольтметр на 5 вольт.

    Хочу:
    Выводить расстояние на аналоговый прибор, с возможностью регулировки диапазона (программно). Например: 0см = 0в; 100см = 5вольт.
    Пользуюсь стандартной библиотекой Ultrasonic, но дальше примера выйти не могу. Как будет выглядеть программа?

    Огромное спасибо!!
     
  2. 9xA59kK

    9xA59kK Гик

    Посмотри тут, используя ШИМ выход и фильтр из сопротивления и кондесатора.
     
    onodera нравится это.
  3. onodera

    onodera Нуб

    Благодарю!

    А в итоге программа получилась такая, если что поправьте. Решение в одной строчке)

    Код (C++):
    #include <Ultrasonic.h>
    #define LED_PIN 9


    Ultrasonic ultrasonic(5,6); // (Trig PIN,Echo PIN)

    void setup() {
      Serial.begin(9600);
      pinMode(4, OUTPUT); // VCC pin
      pinMode(7, OUTPUT); // GND ping
      digitalWrite(4, HIGH); // VCC +5V mode
      digitalWrite(7, LOW);  // GND mode
      pinMode(LED_PIN, OUTPUT);
    }

    void loop()
    {
      Serial.print(ultrasonic.Ranging(CM)); // CM or INC
      Serial.println(" cm" );
      delay(1000);
      int distance, volt;
      distance = (ultrasonic.Ranging(CM));
      volt = map(distance, 0, 51, 0, 255);
      analogWrite(LED_PIN, volt);
      delay(1000);

    }