Skip to content

Instantly share code, notes, and snippets.

@kuredev
Created October 9, 2020 15:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kuredev/4a06fd6bd71a9891c5379b3314d12776 to your computer and use it in GitHub Desktop.
Save kuredev/4a06fd6bd71a9891c5379b3314d12776 to your computer and use it in GitHub Desktop.
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