Arduino and servo motor

3 ビュー (過去 30 日間)
Dekel Mashiach
Dekel Mashiach 2022 年 5 月 26 日
回答済み: arushi 2024 年 9 月 3 日
Hey;
I have this code to active servo motor, I want regulate the of the motor with binary values between 0-255. someone can help me please?
clear a;clear s;
a = arduino('COM10', 'Mega2560', 'Libraries', 'Servo');
s = servo(a, 'D4', 'MinPulseDuration', 700*10^-6, 'MaxPulseDuration', 2300*10^-6)
while(1)
writePosition(s);
current_pos = readPosition(s);
current_pos = current_pos*180;
fprintf('Current motor position is %d degrees\n', current_pos);
% pause(2);
end

回答 (1 件)

arushi
arushi 2024 年 9 月 3 日
Hi Dekel,
From what I understand you are trying to adjust the position of the servo with input ranging from 0 to 255.
angle = 50 %You can take any value from 0-255
angle = angle/255 %This changes the value to the range of 0-1
writePostition(s,angle);
Now if you want to read the value in range of 0-255 just multiply 255 to current_pos instead of 180
current_pos = readPosition(s);
current_pos = current_pos*255;
For more details refer to the Documentation

カテゴリ

Help Center および File ExchangeEmbedded Coder Supported Hardware についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by