Created
October 9, 2020 15:37
-
-
Save kuredev/4a06fd6bd71a9891c5379b3314d12776 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require "sinatra" | |
require "json" | |
system("gpio -g mode 14 out; gpio -g mode 17 out; gpio -g mode 27 out; gpio -g mode 15 out") | |
system("gpio -g write 15 0; gpio -g write 27 0") | |
def rad_to_degree(radian) | |
radian.to_f * 180 / Math::PI | |
end | |
def degree_to_sleep_sec(degree) | |
degree/300 | |
end | |
set :bind, "0.0.0.0" | |
get "/turn_and_straight/:rad" do |rad| | |
content_type :json | |
degree = rad_to_degree(rad) | |
if (degree < 180) | |
# 左 | |
system("gpio -g write 17 1") | |
sleep degree_to_sleep_sec(degree) | |
system("gpio -g write 17 0") | |
else | |
# 右 | |
system("gpio -g write 14 1") | |
sleep degree_to_sleep_sec(360 - degree) | |
system("gpio -g write 14 0") | |
end | |
# 1秒間まっすぐ | |
system("gpio -g write 14 1; gpio -g write 17 1") | |
sleep 0.5 | |
system("gpio -g write 14 0; gpio -g write 17 0") | |
response = { | |
body: "success", | |
} | |
response.to_json | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment