Суть идеи заключается в том,что бы менять частоту звука на пьезоэлементе,при помощи потенциометра.Я дилетант в работе с ардуино, опыт работы буквально неделя) Результат есть, звук меняется, но регулировка получатся не плавная. подскажите в чем проблема. Буду рад помощи) вот программа // даём имена пинов с пьезоэлементом // и потенциометром #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); }
1. analogRead - 0-1023 analogWrite - 0-255 Лучше преобразовать диапазон при помощи функции map (в качестве исходного диапазона лучше использовать не весь 0-1023, а только реально присутствующую его часть). 2. tone (led, x); выдает на пищалку частоты от 0 до 255 Гц. От 0 до 20 вообще не слышны. От 20 до 40 слышно плохо. Выше уже что-то слышно, но дискретность получается такова, что переходы будут достаточно заметны, чтобы быть плавными (по крайней мере для меня).