Пьезодинамик и потенциометр.

Тема в разделе "Arduino & Shields", создана пользователем Peter29rus, 14 янв 2016.

  1. Peter29rus

    Peter29rus Нуб

    Частота звучания пьездодинамика варьируется от 500Гц до 2000Гц. Хочу сделать так, чтобы она линейно зависила от напряжения на выходе потенциометра. Типо если напряжение 0 то 500Гц, дальше крутишь оно все прибавляется и когда доходит до 5В(макс. значение) становится 2000Гц.

    Никак не могу придумать, как это все реализовать программно. Сделал обычный писк 500Гц. А как сделать, чтобы он наростал при повороте потенциометра.

    Код (C++):
    int potPin = A2;
    int val = 0;
    int soundPin = 13;

    void setup() {
    pinMode(soundPin, OUTPUT);

    }

    void loop() {

    tone(soundPin, map(analogRead(A2), 0,1024, 500, 2000));
    delay(50);

    }
     
  2. ANV

    ANV Гуру

    А как в вашем примере разве не работает?
     
  3. Peter29rus

    Peter29rus Нуб

    Не пробовал ещё
     
  4. Mestniy

    Mestniy Гуру

    Кто может объяснить мне эту строку?
    Код (C++):
    tone(soundPin, map(analogRead(A2), 0,1024, 500, 2000));
    Я по старинке привык расписывать код, но блин прогресс идет,а я в развитии нубом остался.
    Не первый раз вижу подобные вещи и решил спросить что это значит?
    Заранее спасибо!!!
     
  5. ИгорьК

    ИгорьК Гуру

    Это значит, что в фунцию tone отправляются два аргумента. Второй - результат функции map - стандартная ардуиновская функция. Она читает данные с ноги А2 и "конвертирует" их из диапазона 0-1024 в диапазон 500-2000.
     
    Mestniy нравится это.
  6. Mestniy

    Mestniy Гуру

    Спасибо большое!!!
     
  7. ИгорьК

    ИгорьК Гуру

    Займетесь освоением ESP8266 на NodeMCU (Lua) - там есть анонимные функции. После них такая запись будет семечками казаться :)
     
    Mestniy нравится это.
  8. Mestniy

    Mestniy Гуру

    Не понял почти ничего, но по "ESP8266" и "NodeMCU", думаю найду))))
     
  9. ИгорьК

    ИгорьК Гуру

    Кстати, там задача дистанционного управления реле делается "на раз". Она там, кажется, в примерах даже есть. https://github.com/nodemcu/nodemcu-firmware/blob/master/lua_examples/http_server.lua
     
    Mestniy нравится это.
  10. Mestniy

    Mestniy Гуру

    Понял. Спасибо.....
     
  11. Onkel

    Onkel Гуру

    заказал эти эспы. Думаю менять rf модули simcom sim20 на эспы. виртуальный ком- порт несложно с ними организовать? Кстати, и на стороне пк - с виндовским wifi вы связь с esp не делали?

    пы сы смотрю топик - как-то интуитивно кажется - чего -то не хватает.. А, доктора!
     
  12. ИгорьК

    ИгорьК Гуру

    Не очень понял вопрос. Эта железяка управляется через UART. Соответственно, PL2303 в помощь. Причем, чтобы 3.3 вольта переключалка была. Кстати, именно PL2303 лучше всего работает. Я FT232 так и не смог приручить. Конечно, не сильно упирался, но если заказывать - лучше PLку.
    [​IMG]

    Я его всегда в сеть ввожу. Он в доме, на даче цепляется к роутеру и работает себе. Может сам быть точкой доступа, но оно зачем?

    Тише...
     
    Последнее редактирование: 15 янв 2016
  13. Onkel

    Onkel Гуру

    как виртуальный ком порт он может на писюке работать?
     
  14. ИгорьК

    ИгорьК Гуру

    Он как раз и проявляется на РС как виртуальный ком-порт через PLку.
     
  15. Onkel

    Onkel Гуру

    все понял. На днях (тьфу тьфу ) должны придти, буду пробовать.
     
  16. Onkel

    Onkel Гуру

    не, не все понял. наверное так надо сформулировать - могу ли я связаться с esp по wifi так, что удаленный esp будет видится виндой как vcp? К примеру послал с винды по терминалу через родной виндовский wifi "go", и на esp на пине Tx появилось "go"?
     
  17. ИгорьК

    ИгорьК Гуру

    Ок, чуть подробнее.
    Этот модуль работает под управлением тучи систем. Мне только известно следующее:
    • родной С API
    • что-то перекуроченное из Ардуино
    • Lua (NodMCU)
    Точно, есть еще способы с ним связаться.
    Я работаю только с Lua. Для самоделок в стиле Умный дом - вполне хватает. Здесь модуль работает по протоколам http(клиент и сервер), udp, mqtt, ntp.

    Смотреть здесь: https://github.com/nodemcu/nodemcu-firmware
    API здесь: https://github.com/nodemcu/nodemcu-firmware/wiki/nodemcu_api_en
    Терминал - это telnet соединение?
    Он есть в NodMCU: https://github.com/nodemcu/nodemcu-firmware/blob/master/examples/telnet.lua

    Другие способы работы с модулем, кроме NodeMCU я не изучал.

    UPD. Что еще важно в NodeMCU. Можно собрать собственную прошивку, для того, чтобы не грузить в модуль лишнего. Таким образом освобождается память под программу: http://nodemcu-build.com/
     
    Последнее редактирование: 15 янв 2016
  18. ИгорьК

    ИгорьК Гуру

    Накликали.
    Люблю котов, максимов, и такой стиль общения у 16-летнего человека... Уже два лайка поставил.