Потенциометр и пьезоэлемент,нужна помощь)

Тема в разделе "Флудилка", создана пользователем Andrey34, 14 янв 2015.

  1. Andrey34

    Andrey34 Нуб

    Суть идеи заключается в том,что бы менять частоту звука на пьезоэлементе,при помощи потенциометра.Я дилетант в работе с ардуино, опыт работы буквально неделя) Результат есть, звук меняется, но регулировка получатся не плавная. подскажите в чем проблема. Буду рад помощи)

    вот программа


    // даём имена пинов с пьезоэлементом

    // и потенциометром

    #define led 3

    #define pot A0

    void setup()

    {

    // пин с пьезоэлементом — выход

    pinMode(led, OUTPUT);

    // пин с потенциометром - вход

    pinMode(pot, INPUT);

    }

    void loop()

    {

    // объявляем переменную x

    int x;

    // считываем напряжение с потенциометра:

    x = analogRead(pot);

    // выдаём результат на пьезоэлемент

    analogWrite(led, x);

    tone (led, x);
    }
     

    Вложения:

    • SVQpCmST74Q.jpg
      SVQpCmST74Q.jpg
      Размер файла:
      134,5 КБ
      Просмотров:
      710
  2. geher

    geher Гуру

    1. analogRead - 0-1023
    analogWrite - 0-255
    Лучше преобразовать диапазон при помощи функции map (в качестве исходного диапазона лучше использовать не весь 0-1023, а только реально присутствующую его часть).
    2. tone (led, x); выдает на пищалку частоты от 0 до 255 Гц.
    От 0 до 20 вообще не слышны.
    От 20 до 40 слышно плохо.
    Выше уже что-то слышно, но дискретность получается такова, что переходы будут достаточно заметны, чтобы быть плавными (по крайней мере для меня).
     
    Andrey34 нравится это.