Нужна помощь с ШИМ
- Войдите на сайт для отправки комментариев
Сб, 17/02/2018 - 14:02
Задача регулировать яркость светодиода при помощи потенциометра.
Ниже код
int pwm; //переменная для хранения значения с потенциометра void setup() { } void loop() { pwm = analogRead(A0); //потенциометр подключен в A0 map(pwm, 0, 1023, 0, 255); constrain(pwm, 0, 255); analogWrite(A3, pwm); //светодиод подключен в A3 }
Светодиод не горит и соответственно не меняет яркость при изменении шима.
Может быть ошибка где-то в коде ?
BigMeister, читайте на каких ногах может работать ШИМ
Может быть ошибка где-то в коде ?
И как Вы догадались? Шаман, однако!
Читал, для нано это 3, 5, 6, 9, 10, 11
A[nalog]3 != [Digital]3
Читал, для нано это 3, 5, 6, 9, 10, 11
Ну, а если читал, так какого ж лешего ....
Читал, для нано это 3, 5, 6, 9, 10, 11
Ну, а если читал, так какого ж лешего ....
Помоги исправить ошибки, пожалуйста
Чего????
Так .... если Вы не можете поменять номер пина, то как же я могу Вам помочь? А код то это Вы где взяли мил человек, что уже номер пина в нём поменять Вам помогать надо?
Чего????
Так .... если Вы не можете поменять номер пина, то как же я могу Вам помочь? А код то это Вы где взяли мил человек, что уже номер пина в нём поменять Вам помогать надо?
Поставил потенциометр на 5 аналоговый, теперь он работает как переключатель и все. Яркость не меняет.
Может быть ошибка где-то в коде ?
Да Вы, батенька, оптимист: у Вас там больше одной ошибки.
1. У Вас два пина: один на потенциометр, другой - на ШИМ. Почему если не работает ШИМ, Вы меняете пин на потенциометре?
2. Почитайте, как работает функция map().
Вам уже трижды подсказали, где искать проблему.
BigMeister, внимательно вчитайтесь в сообщение #4
Функция analogWrite никак не связана с аналоговыми входами и с функцией analogRead.
Может быть ошибка где-то в коде ?
Да Вы, батенька, оптимист: у Вас там больше одной ошибки.
1. У Вас два пина: один на потенциометр, другой - на ШИМ. Почему если не работает ШИМ, Вы меняете пин на потенциометре?
2. Почитайте, как работает функция map().
Так я не могу понять, где ошибка. Значения с потенциометра считываются правильно, на монитор порта выводятся значения от 0 до 255. Как может не работать шим, если все подключено к пинам, которые его воспроизводить могут ?
По ходу дела тут тоже пострадавший от нечестного Си...
http://arduino.ru/Hardware/ArduinoBoardNano - поиск по странице - "ШИМ" первое совпадение прочтите внимательно. Потом найдите второе совпадение и тоже прочтите. Можно по кругу читать до озарения.
Так я не могу понять, где ошибка.
Чукча не читатель, чукча - писатель?
Я уже:
1. Написал, что ошибок более одной.
2. Порекомендовал почитать описание к функции map(). Кстати, именно в этом описании приводится пример с потенциометром.
PS. Если ничего не помогает, прочтите, наконец, долбаную инструкцию!
По ходу дела тут тоже пострадавший от нечестного Си...
Задача регулировать яркость светодиода при помощи потенциометра.
Ниже код
Светодиод не горит и соответственно не меняет яркость при изменении шима.
Может быть ошибка где-то в коде ?
попробуйте так
или для проверки потенциометра еще можно так
Так я не могу понять, где ошибка.
Чукча не читатель, чукча - писатель?
Я уже:
1. Написал, что ошибок более одной.
2. Порекомендовал почитать описание к функции map(). Кстати, именно в этом описании приводится пример с потенциометром.
PS. Если ничего не помогает, прочтите, наконец, долбаную инструкцию!
Похоже что функция analogWrite может быть использована и на цифровых пинах.
Похоже что функция analogWrite может быть использована и на цифровых пинах.
Вот что точно, то точно! analogWrite может быть использована и на цифровых пинах! Хорошо, что Вы теперь об этом знаете!
Надеюсь, что Вы на этом не остановитесь и сделаете следующее великое открытие: функция analogWrite может быть использована только на цифровых пинах! Уверен, что Вам это удастся, я в Вас верю и болею за Вас!!!
:))))))))))))))))
:))))))))))))))))
а потом и ещё одно открытие, что НЕ на любых цифровых пинах.
Ну, это уже следующий этап! Победы нужно одерживать пошагово, чтобы чаще был повод их отметить.
Надеюсь, что Вы на этом не остановитесь и сделаете следующее великое открытие: функция analogWrite может быть использована только на цифровых пинах! Уверен, что Вам это удастся, я в Вас верю и болею за Вас!!!
Женя, давайте будем немного более снисходительны: они ведь не виноваты, что разработчики Ардуино дали функциям названия, не отражающие их назначение. (мы жа сами ризываем новичков давать переменным и функциям осмысленные имена, поэтому они вправе расчитывать, что хотя бы отцы-основатели придерживаются этого правила)
Самое сложное это давать переменным и функциям те названия для которых они предназначены. Сам нарываюсь на такие веши. Сначала даешь подходящее название. А потом переосмысливаешь скетч и понимаешь, что переменные и функции в по меркам всего скетча делают совсем другое. А отцы разработчики разумеется банально не видели. Поэтому Среда Ардуины при всех ее достоиствах вышла с кривоватостями. Но новички это не видят, потому что у новичков мышлеение еще кривее. Вот и доходят до мысли что язык Си кривой изначально по сравнении с их прямой извилиной.
Да, я как-то не старался наехать - хотел по-доброму пошутить. Это всё грёбанное письменное общение. В живом, увидишь рот до ушей и по глазам понятно, что наезда нет, а здесь вечно как-то не так воспринимается.
А про осмысленные имена, это да. Вчера только в соседней ветке Маяковского цитировал.
Строка 7 - лишняя. Для analogRead этого не нужно делать.
Да вы правы.
Согдал тему "шим с обратной связью". Если не сложно гляньте мож какую идейку подкините?