#c #arduino #servo #tinkercad
#c #arduino #servo #tinkercad
Вопрос:
Я использую analogWrite() в своем коде. Все работает нормально, когда я не использую библиотеку servo. Другими словами, все в порядке, когда я отключаю эту строку //servo_9.attach(9); Если я включу эту строку, PWM будет неправильным и странным. Есть идеи, почему симулятор Tinkercad ведет себя странно?
#include <Servo.h>
int led =9;
Servo servo_9;
void setup() {
servo_9.attach(9);
Serial.begin(9600);
}
void loop() {
for(int n=0;n<255;n ){
analogWrite(led,n);
delay(5);
}
}
Это видео показывает, что происходит:
нажмите здесь
Комментарии:
1. У вас действительно есть сервопривод и светодиод, подключенные к одному контакту? Как вы предлагаете, чтобы один вывод мог выполнять обе функции?
2. Никогда не бойтесь проверять документацию. Чтение имеет фундаментальное значение. Проверьте второе предложение второго абзаца в разделе «Использование» arduino.cc/reference/en/libraries/servo
Ответ №1:
В документации к библиотеке servo четко указано.
На платах, отличных от Mega, использование библиотеки отключает функцию analogWrite () (PWM) на выводах 9 и 10, независимо от того, есть ли сервопривод на этих выводах.
Комментарии:
1. Спасибо! Это было очень полезно. Я использовал pin6, сигнал выглядит намного лучше, но все равно отличается, когда линия подачи отключена. Я также удалил светодиод.
2. Как по-другому? Это реальная жизнь или симуляция?
3. это была симуляция, а не реальное оборудование.
4. Тогда вы не знаете, что будет делать реальное оборудование. Возможно, проблема в симуляторе. Там был еще один вопрос, на который вы не ответили.
5. Сигнал не совсем такой же. Похоже, что есть какой-то шум. Если вы не возражаете попробовать это самостоятельно: tinkercad.com/things/6qIZvzIdVKb-lab2-part1 /…