-
[7~8ํ์ฐจ-1] 4์กฑ ๋ก๋ด ๋ณดํ ํ๋ก๊ทธ๋๋ฐ - ๊ธฐ๋ณธ๋์๋ก๋ด๊ต์ก/7~8ํ์ฐจ_๋ก๋ด๋ณดํ 2020. 9. 12. 16:37
1. Robot4 ๋ผ์ด๋ธ๋ฌ๋ฆฌ
์ง๊ธ๊น์ง๋ PCA9685 ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์์ต๋๋ค. PCA9685 ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํด์๋ ์๋ณด๋ชจํฐ๋ฅผ ์ถฉ๋ถํ ์ ์ดํ ์ ์์ง๋ง ์๋ณด๋ชจํฐ์ ์์น์ ๋ฐ๋ผ ์๋ณด๋ชจํฐ๊ฐ ์์ง์ด๋ ๊ฐ๋๊ฐ ์ฐ๋ฆฌ๊ฐ ์๊ฐํ๋ ๊ฑฐ์ ์ ๋ฐ๋๋ก ์์ง์ด๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค. ์ด ๋๋ฌธ์ ๋ง์ ๊ฒฝ์ฐ ์๋ณด๋ชจํฐ๋ฅผ ์ ๋๋ก ์์ง์ด๊ธฐ ์ด๋ ค์ํฉ๋๋ค.
๊ทธ๋์ PCA9685 ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ผ๋ถ ์์ ํ์ฌ ์ฌ๋ฌ๋ถ์ด ์ฝ๊ฒ ์๋ณด๋ชจํฐ๋ฅผ ์์ง์ผ ์ ์๋๋ก ํ์์ต๋๋ค. ๋ํ ์งง์ ๋ช ๋ น์ด๋ ์ถ๊ฐํ์ฌ ๋น ๋ฅด๊ฒ ํ๋ก๊ทธ๋๋ฐ ํ ์ ์๋๋ก ํ์์ต๋๋ค. ํ์ง๋ง ์์ ์ ๊ฑฐ๋ถ์ด ํ๋ก๊ทธ๋๋ฐ์์๋ ์งง์ ๋ช ๋ น์ด๋ผ๊ณ ๊ผญ ์ข์ ๊ฒ๋ง์ ์๋๋ผ๋ ๊ฒ์ ๊ฒช์์ ๊ฒ์ ๋๋ค. ์งง์ ๋ช ๋ น์ด๋ ๋น ๋ฅด๊ฒ ํ๋ก๊ทธ๋๋ฐ์ ํ ์ ์์ง๋ง ๋์ค์ ๋ด๊ฐ ๋ง๋ ํ๋ก๊ทธ๋จ์ ์ดํดํ๊ธฐ ์ด๋ ค์ธ ์๋ ์์ต๋๋ค.
์์ ์์ค(13-Robot4_setup.py) - ์ผ๋ถ ์ฝ๋ ์๋ต from Robot4 import *
r = Robot4()
r.setPWMFreq(50)
r.ServoL(1,80)
sleep(1)
r.ServoL(1,90)
sleep(1)
r.ServoL(3,80)
sleep(1)
r.ServoL(3,90)
sleep(1)
r.ServoR(2,80)
sleep(1)
r.ServoR(2,90)
sleep(1)
r.ServoR(4,80)
sleep(1)
r.ServoR(4,90)
sleep(1)1~4๋ฒ ์ฑ๋์ ์๋ณด๋ชจํฐ๋ฅผ ์์ง์ฌ๋ณด๋ ์ฝ๋์ ๋๋ค.
11~14๋ฒ ์ฑ๋์ ์๋ณด๋ชจํฐ๋ฅผ ์์ง์ด๋๋ก ์์ ํ์ฌ ์คํํด๋ณด์ธ์.r.ServoL(1, 80) - 1๋ฒ ์ฑ๋์ ์๋ณด๋ชจํฐ๋ฅผ 80๋๋ก ์ ์ด
r.ServoR(2, 80) - 2๋ฒ ์ฑ๋์ ์๋ณด๋ชจํฐ๋ฅผ 80๋๋ก ์ ์ดr.ServoL(์ฑ๋, ๊ฐ๋) - ๋ก๋ด์ ์ผ์ชฝ์ ์์นํ 1, 3๋ฒ, 11, 13๋ฒ ๋ชจํฐ๋ฅผ ์ ์ด
โ r.sl(์ฑ๋, ๊ฐ๋)๋ก ์ค์ฌ ์ธ ์ ์์
r.ServoR(์ฑ๋, ๊ฐ๋) - ๋ก๋ด์ ์ค๋ฅธ์ชฝ์ ์์นํ 2, 4๋ฒ, 12, 14๋ฒ ๋ชจํฐ๋ฅผ ์ ์ด
โ r.sr(์ฑ๋, ๊ฐ๋)๋ก ์ค์ฌ ์ธ ์ ์์์์ ์์ค(13-Robot4_short.py) - ์ ์ฝ๋๋ฅผ ์ผ๋ถ ์์ from Robot4 import *
r = Robot4()
r.setPWMFreq(50)
r.sl(1,60)
sleep(1)
r.sl(1,90)
sleep(1)
r.sr(2,60)
sleep(1)
r.sr(2,90)์งง์ ๋ช ๋ น์ด์ ํ์ฉํ๋ ์๋ฅผ ์ ๋ณด๊ณ ์๋ณด๋ชจํฐ๋ฅผ ์ ์ดํด๋ณด์ธ์. 2. 4์กฑ ๋ก๋ด ๋ณดํ ํ๋ก๊ทธ๋๋ฐ
์์ ์์ค(14-foward.py) from Robot4 import *
r = Robot4()
r.setPWMFreq(50)
#๊ธฐ๋ณธ์์ธ
r.sl(1,50)
sleep(0.5)
r.sr(2,50)
sleep(0.5)
r.sl(3,90)
sleep(0.5)
r.sr(4,90)
sleep(0.5)
r.sl(11,90)
sleep(0.5)
r.sr(12,90)
sleep(0.5)
r.sl(13,90)
sleep(0.5)
r.sr(14,90)
sleep(0.5)
while True:
#์ ์ง1~2
r.sr(12,60) #์ ์ค๋ฅธ์ชฝ ๋ค๋ฆฌ ์ฌ๋ฆผ
r.sl(13,60) #๋ค ์ผ์ชฝ ๋ค๋ฆฌ ์ฌ๋ฆผ
sleep(0.05)
r.sr(2,60) #์ ์ค๋ฅธ์ชฝ ์
r.sl(3,60) #๋ค ์ผ์ชฝ ์
sleep(0.05)
r.sr(12,90) #์ ์ค๋ฅธ์ชฝ ๋ค๋ฆฌ ๋ด๋ฆผ
r.sl(13,90) #๋ค ์ผ์ชฝ ๋ค๋ฆฌ ๋ด๋ฆผ
sleep(0.05)
#์ ์ง2
r.sl(11,60) #์ ์ผ์ชฝ ๋ค๋ฆฌ ์ฌ๋ฆผ
r.sl(14,60) #๋ค ์ค๋ฅธ์ชฝ ๋ค๋ฆฌ ์ฌ๋ฆผ
sleep(0.05)
r.sr(2,90) #์ ์ค๋ฅธ์ชฝ ์
r.sl(3,90) #๋ค ์ผ์ชฝ ์
sleep(0.05)
#์ ์ง3
r.sl(1,60) #์ ์ผ์ชฝ ์
r.sr(4,60) #๋ค ์ค๋ฅธ์ชฝ ์
sleep(0.05)
r.sl(11,90) #์ ์ผ์ชฝ ๋ค๋ฆฌ ๋ด๋ฆผ
r.sr(14,90) #๋ค ์ค๋ฅธ์ชฝ ๋ค๋ฆฌ ๋ด๋ฆผ
sleep(0.05)
#์ ์ง4
r.sr(2,60) #์ ์ค๋ฅธ์ชฝ ๋ค๋ฆฌ ์ฌ๋ฆผ
r.sl(3,60) #๋ค ์ผ์ชฝ ๋ค๋ฆฌ ์ฌ๋ฆผ
sleep(0.05)
r.sl(1,90) #์ ์ผ์ชฝ ์
r.sr(4,90) #๋ค ์ค๋ฅธ์ชฝ ์
sleep(0.05)
r.sr(2,90) #์ ์ค๋ฅธ์ชฝ ๋ค๋ฆฌ ๋ด๋ฆผ
r.sl(3,90) #๋ค ์ผ์ชฝ ๋ค๋ฆฌ ๋ด๋ฆผ
sleep(0.05)๋ก๋ด์ด ์ผ์ชฝ์ผ๋ก ๊ฐ๋ค๋ฉด 2, 4๋ฒ ์๋ณด๋ชจํฐ์ ๊ฐ๋๋ฅผ ์๊ฒ ์์ง์ด๋๋ก ์กฐ์
์ค๋ฅธ์ชฝ์ผ๋ก ๊ฐ๋ค๋ฉด 1, 3๋ฒ ์๋ณด๋ชจํฐ์ ๊ฐ๋๋ฅผ ์๊ฒ ์์ง์ด๋๋ก ์กฐ์
์์ ์์ค(15-back.py) from Robot4 import *
r = Robot4()
r.setPWMFreq(50)
#๊ธฐ๋ณธ์์ธ
r.sl(1,50)
sleep(0.5)
r.sr(2,50)
sleep(0.5)
r.sl(3,90)
sleep(0.5)
r.sr(4,90)
sleep(0.5)
r.sl(11,90)
sleep(0.5)
r.sr(12,90)
sleep(0.5)
r.sl(13,90)
sleep(0.5)
r.sr(14,90)
sleep(0.5)
#์ค๋น์์ธ
r.sl(1,50) #์ ์ผ์ชฝ ์
r.sr(2,50) #์ ์ค๋ฅธ์ชฝ ์
r.sl(3,50) #๋ค ์ผ์ชฝ ์
r.sr(4,50) #๋ค ์ค๋ฅธ์ชฝ ์
sleep(0.5)
while True:
#ํ์ง1
r.sl(11,60) #์ ์ผ์ชฝ ๋ค๋ฆฌ ์ฌ๋ฆผ
r.sr(14,60) #๋ค ์ค๋ฅธ์ชฝ ๋ค๋ฆฌ ์ฌ๋ฆผ
sleep(0.05)
r.sl(1,90) #์ ์ผ์ชฝ ์
r.sr(4,90) #๋ค ์ค๋ฅธ์ชฝ ์
sleep(0.05)
r.sl(11,90) #์ ์ผ์ชฝ ๋ค๋ฆฌ ๋ด๋ฆผ
r.sr(14,90) #๋ค ์ค๋ฅธ์ชฝ ๋ค๋ฆฌ ๋ด๋ฆผ
sleep(0.05)
#ํ์ง2
r.sl(1,50) #์ ์ผ์ชฝ ์
r.sr(4,50) #๋ค ์ค๋ฅธ์ชฝ ์
sleep(0.05)
#ํ์ง3
r.sr(12,60) #์ ์ค๋ฅธ์ชฝ ๋ค๋ฆฌ ์ฌ๋ฆผ
r.sl(13,60) #๋ค ์ผ์ชฝ ๋ค๋ฆฌ ์ฌ๋ฆผ
sleep(0.05)
r.sr(2,90) #์ ์ผ์ชฝ ์
r.sl(3,90) #๋ค ์ค๋ฅธ์ชฝ ์
sleep(0.05)
#ํ์ง4
r.sr(12,90) #์ ์ผ์ชฝ ๋ค๋ฆฌ ์ฌ๋ฆผ
r.sl(13,90) #๋ค ์ค๋ฅธ์ชฝ ๋ค๋ฆฌ ์ฌ๋ฆผ
sleep(0.05)
r.sr(2,50) #์ ์ค๋ฅธ์ชฝ ์
r.sl(3,50) #๋ค ์ผ์ชฝ ์
sleep(0.05)์์ ์์ค(16-left.py) from Robot4 import *
r = Robot4()
r.setPWMFreq(50)
#๊ธฐ๋ณธ์์ธ
r.sl(1,50)
sleep(0.5)
r.sr(2,50)
sleep(0.5)
r.sl(3,90)
sleep(0.5)
r.sr(4,90)
sleep(0.5)
r.sl(11,90)
sleep(0.5)
r.sr(12,90)
sleep(0.5)
r.sl(13,90)
sleep(0.5)
r.sr(14,90)
sleep(0.5)
while True:
#์ขํ์ 1
r.sl(11,60)
r.sl(1,100)
sleep(0.05)
r.sl(11,90)
r.sr(12,60)
sleep(0.05)
r.sr(2,90)
r.sr(12,90)
sleep(0.05)
#์ขํ์ 2
r.sl(3,130)
r.sr(4,50)
sleep(0.05)
r.sr(2,50)
sleep(0.05)
r.sl(1,60)
r.sr(2,60)
sleep(0.05)
r.sl(3,90)
r.sr(4,90)
sleep(0.05)์์ ์์ค(17-right.py) from Robot4 import *
r = Robot4()
r.setPWMFreq(50)
#๊ธฐ๋ณธ์์ธ
r.sl(1,50)
sleep(0.5)
r.sr(2,50)
sleep(0.5)
r.sl(3,90)
sleep(0.5)
r.sr(4,90)
sleep(0.5)
r.sl(11,90)
sleep(0.5)
r.sr(12,90)
sleep(0.5)
r.sl(13,90)
sleep(0.5)
r.sr(14,90)
sleep(0.5)
while True:
#์ฐํ์ 1
r.sr(12,60)
r.sr(2,100)
sleep(0.05)
r.sr(12,90)
r.sl(11,60)
sleep(0.05)
r.sl(1,90)
r.sl(11,90)
sleep(0.05)
#์ฐํ์ 2
r.sr(4,130)
r.sl(3,50)
sleep(0.05)
r.sl(1,50)
sleep(0.05)
r.sr(2,60)
r.sl(1,60)
sleep(0.05)
r.sr(4,90)
r.sl(3,90)
sleep(0.05)'๋ก๋ด๊ต์ก > 7~8ํ์ฐจ_๋ก๋ด๋ณดํ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[7~8ํ์ฐจ-2] 4์กฑ ๋ก๋ด ๋ณดํ ํ๋ก๊ทธ๋๋ฐ - ์์ฉ๋์ (0) 2020.10.02