๊ธธ ์๋ด ์์จ ์ฃผํ ๋ก๋ด
- ๊นํ๊ฒฝ & ์ต์์ค : ํ๋์จ์ด(๋ก๋ด ์ค๊ณ ๋ฐ ์ ์)
- ๊ฐ์ค์ฐ & ์ฌ์ง์ : ์ํํธ์จ์ด(์๊ณ ๋ฆฌ์ฆ ๊ฐ๋ฐ ๋ฐ ์ ์ฉ)
- ๊ฐ๋ฐ ํ๊ฒฝ: IAR Embedded Workbench
- ์ฌ์ฉ ์ดํ: Serial Bluetooth Terminal
- ์ฌ์ฉ ๋๊ตฌ: STM32F107VCT6 ๋ณด๋, ๋ธ๋ฃจํฌ์ค ๋ชจ๋, ๋ฆด๋ ์ด ๋ชจ๋, ์ ์ธ์ ์ผ์, TFT LCD, 4WD ์ฃผํ๋ก๋ด ํ๋ ์ ์ธํธ, ๊ฑด์ ์ง, ๋ธ๋ ๋๋ณด๋, ์ ์
Avoiding_Obstacles_Robot
โโ .git
โโ obstacle.c // ์์จ ์ฃผํ ์๊ณ ๋ฆฌ์ฆ ๊ฐ๋ฐ์ฉ ์ฝ๋
โโ AvodingObstaclesRobot
โโ ๐ CoreSupport
โโ ๐ Debug
โโ ๐ Docs // ์คํ์ ์ฐธ๊ณ ํ ์๋ฃ๋ค
โโ ๐ Libraries
โโ ๐ settings
โโ ๐ user
โ โโ ๐ inc
โ โโ bluetooth.c // ๋ธ๋ฃจํฌ์ค ํต์ ์ค์ ์ฝ๋
โ โโ bluetooth.h // bluetooth.c์ ํค๋ ํ์ผ
โ โโ direction.h // ๋ก๋ด ๋ฐฉํฅ ๊ด๋ จ ํค๋ ํ์ผ
โ โโ lcd2.h // TFT LCD ํฌ๊ธฐ ์ค์ ๊ด๋ จ ํค๋ ํ์ผ
โ โโ main.c // ์ต์ข
์์จ ์ฃผํ ์๊ณ ๋ฆฌ์ฆ ์ ์ฉํ main ์ฝ๋
โ โโ motor.c // ๋ฆด๋ ์ด๋ชจ๋(๋ฐํด) ์ค์ ์ฝ๋
โ โโ motor.h // motor.c์ ํค๋ ํ์ผ
โ โโ obstacle.c // ์ฅ์ ๋ฌผ ํ์ง ๊ด๋ จ ์ฝ๋
โ โโ obstacle.h // obstacle.c์ ํค๋ ํ์ผ
โ โโ robot.c // ๋ก๋ด์ ์์ง์ ๊ด๋ จ ์ฝ๋
โ โโ robot.h // robot.c์ ํค๋ ํ์ผ
โ โโ sensor.c // ์ ์ธ์ ์ผ์ ์ค์ ๊ด๋ จ ์ฝ๋
โ โโ sensor.h // sensor.c์ ํค๋ ํ์ผ
โ โโ stm32f10x_it.c
โ โโ trace.c // ์ง๋ ์ ์ฅ ๋ฐ display ๊ด๋ จ ์ฝ๋
โ โโ trace.h // trace.c์ ํค๋ ํ์ผ
โโ flashclear.zip
โโ test.dep
โโ test.ewd
โโ test.ewp
โโ test.ewt
โโ test.eww
- ์ค๋งํธํฐ๊ณผ ๋ธ๋ฃจํฌ์ค ํต์ ์ ํ๋ค.
- 90๋์ฉ ๋ฐฉํฅ ์ ํ์ด ๊ฐ๋ฅํ๋ค.
- ์ฅ์ ๋ฌผ์ ํผํ์ฌ ์ค์ ๋ ๋ชฉ์ ์ง์ ๋๋ฌํ๋ค.
- ์ด๋ ๊ฒฝ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ค.
- ์ฃผํ์ ํ๋ฉด์ ์ด๋ ๊ฒฝ๋ก์ ๊ฐ์ง๋๋ ์ฅ์ ๋ฌผ์ ์ง๋(LCD)์ ์ค์๊ฐ์ผ๋ก ํ์ํ๋ค.
์ฅ์ ๋ฌผ ํํผ ๋ฐ ๋ชฉ์ ์ง ๋๋ฌ์ ์ํ ๊ณผ์
- ๋ก๋ด์ด ์ง์ง ์ํ์ผ ๋ ์ฅ์ ๋ฌผ์ด ์๊ฑฐ๋ ์ข๋ฐฉ ๋๋ ์ฐ๋ฐฉ์ ์๋ ๊ฒฝ์ฐ
๋ก๋ด์ด ์ ์งํ๋ฉด ๋๋ค. - ๋ก๋ด์ด ์ง์ง ์ํ์ผ ๋ ์ฅ์ ๋ฌผ์ด ์ ๋ฐฉ๊ณผ ์ข๋ฐฉ์ ์๋ ๊ฒฝ์ฐ
๋ก๋ด์ด ์ค๋ฅธ์ชฝ์ผ๋ก ํ์ ํ ์ ์งํ๋ค. - ๋ก๋ด์ด ์ง์ง ์ํ์ผ ๋ ์ฅ์ ๋ฌผ์ด ์ ๋ฐฉ๊ณผ ์ฐ๋ฐฉ์ ์๋ ๊ฒฝ์ฐ
๋ก๋ด์ด ์ผ์ชฝ์ผ๋ก ํ์ ํ ์ ์งํ๋ค. - ๋ก๋ด์ด ์ง์ง ์ํ์ผ ๋ ์ฅ์ ๋ฌผ์ด ์ ๋ฐฉ์๋ง ์๋ ๊ฒฝ์ฐ
๋ก๋ด์ด ์ค๋ฅธ์ชฝ ๋๋ ์ผ์ชฝ์ผ๋ก ํ์ ํ ์ ์งํด์ผํ๋ค. ํ์ฌ ๋ก๋ด์ด ์ผ์ชฝ์ผ๋ก ๋ง์ด ์์๋ ์ํ(์ข์ฐ๋ณ์ ๊ฐ์ด ์์)๋ผ๋ฉด ์ฐํ์ ํด์ ๊ฐ๊ณ , ์ค๋ฅธ์ชฝ์ผ๋ก ๋ง์ด ์์๋ ์ํ(์ข์ฐ๋ณ์ ๊ฐ์ด ์์)๋ผ๋ฉด ์ขํ์ ์ ํด์ ๊ฐ๋๋ก ํ๋ค. - ๋ก๋ด์ด ์ฐ์ง ์ํ์ผ ๋ ์ฅ์ ๋ฌผ์ด ์ข๋ฐฉ ๋๋ ์ข๋ฐฉ&์ฐ๋ฐฉ์ ์๋ ๊ฒฝ์ฐ
์ข๋ฐฉ์ ์ฅ์ ๋ฌผ ๋๋ฌธ์ ํ์ ํ์ง ๋ชปํ๋ฏ๋ก ๊ณ์ํด์ ์ ์งํ๋ค. - ๋ก๋ด์ด ์ข์ง ์ํ์ผ ๋ ์ฅ์ ๋ฌผ์ด ์ฐ๋ฐฉ ๋๋ ์ฐ๋ฐฉ&์ข๋ฐฉ์ ์๋ ๊ฒฝ์ฐ
์ฐ๋ฐฉ์ ์ฅ์ ๋ฌผ ๋๋ฌธ์ ํ์ ํ์ง ๋ชปํ๋ฏ๋ก ๊ณ์ํด์ ์ ์งํ๋ค. - ๋ก๋ด์ด ์ข์ง ์ํ์ผ ๋ ์ฅ์ ๋ฌผ์ด ์๊ฑฐ๋ ์ ๋ฐฉ ํน์ ์ข๋ฐฉ์ ์๋ ๊ฒฝ์ฐ
์ฅ์ ๋ฌผ์ด ๋์ด์ ์ฐ๋ฐฉ์ ์์ผ๋ฏ๋ก ์ค๋ฅธ์ชฝ์ผ๋ก ํ์ ํ์ฌ ์ ์งํ๋ค.ย - ๋ก๋ด์ด ์ข์ง ์ํ์ผ ๋ ์ฅ์ ๋ฌผ์ด ์ฐ๋ฐฉ๊ณผ ์ ๋ฐฉ์ ์๋ ๊ฒฝ์ฐ
๋ก๋ด์ ์ค๋ฅธ์ชฝ์ผ๋ก ํ์ ํ ์ ์งํ๋ค. ์ด๋, ๋ก๋ด์ด ํ์ ํ๊ณ ๋๋ฉด ์ ๋ฐฉ๊ณผ ์ข๋ฐฉ์ ์ฅ์ ๋ฌผ์ด ์๋ค๊ณ ์ธ์์ด ๋ ํ ๋ฐ ํด๋น ๊ฒฝ์ฐ 2๋ฒ ์ํฉ์ผ๋ก ๋์๊ฐ๊ฒ ๋๋ค.ย - ๋ก๋ด์ด ์ฐ์ง ์ํ์ผ ๋ ์ฅ์ ๋ฌผ์ด ์๊ฑฐ๋ ์ ๋ฐฉ ํน์ ์ฐ๋ฐฉ์ ์๋ ๊ฒฝ์ฐ
์ฅ์ ๋ฌผ์ด ๋์ด์ ์ข๋ฐฉ์ ์์ผ๋ฏ๋ก ์ผ์ชฝ์ผ๋ก ํ์ ํ์ฌ ์ ์งํ๋ค.ย - ๋ก๋ด์ด ์ฐ์ง ์ํ์ผ ๋ ์ฅ์ ๋ฌผ์ด ์ข๋ฐฉ๊ณผ ์ ๋ฐฉ์ ์๋ ๊ฒฝ์ฐ
๋ก๋ด์ ์ผ์ชฝ์ผ๋ก ํ์ ํ ์ ์งํ๋ค. ์ด๋, ๋ก๋ด์ด ํ์ ํ๊ณ ๋๋ฉด ์ ๋ฐฉ๊ณผ ์ฐ๋ฐฉ์ ์ฅ์ ๋ฌผ์ด ์๋ค๊ณ ์ธ์์ด ๋ ํ ๋ฐ ํด๋น ๊ฒฝ์ฐ 3๋ฒ ์ํฉ์ผ๋ก ๋์๊ฐ๊ฒ ๋๋ค.
-
์๊ฐ ์ธก์ ๋ฐฉ๋ฒ
๐ ๋ก๋ด์ด ๊ฐ ๋ฐฉํฅ์์ (์, ์ค๋ฅธ์ชฝ, ์ผ์ชฝ) ์ด๋ํ๋ ๋์ ๊ฑธ๋ฆฐ ์๊ฐ์ count ํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๊ณ ๋ฏผํ๋ค.
- idea1: delay ํจ์๋ฅผ ์ด์ฉํ๋ค.
โ ๋ฌธ์ ์ : ๋ก๋ด์ด ์งํํ๊ณ ์๋ ๊ฒฝ์ฐ, ์ฅ์ ๋ฌผ์ด ์ธ์๋์ด๋ delay ๋๋ฌธ์ ๋ฉ์ถ์ง ์์ ์ ์๋ค. - idea2: time.h ํค๋ ํ์ผ์ ์ด์ฉํ์ฌ ํ๋ฅธ ์๊ฐ์ ๊ณ์ฐํ๋ค.
โ ํด๋น ๋ฐฉ๋ฒ์ ์ฑํํ์๊ณ , ๋ฐฉํฅ ์ค์ ํจ์ ์์์ ์์ฑ์ ํ์๋ค.
- idea1: delay ํจ์๋ฅผ ์ด์ฉํ๋ค.
-
๋ก๋ด ํ์ ๋ฐฉ๋ฒ
๐ ๋ก๋ด์ ์ ํํ๊ฒ 90๋ ๋๋ฆด ์ ์๋ ๋ฐฉ๋ฒ์ ๋ํด ๊ณ ๋ฏผํ๋ค.
- idea1: ๋ฐฉ์๊ฐ ์ผ์๋ฅผ ์ด์ฉํ๋ค.
โ ์์ฐ ๋ฒ์๋ฅผ ๋ฒ์ด๋์ ์์ฝ๊ฒ๋ ๋ฐฉ์๊ฐ ์ผ์๋ฅผ ๊ตฌ์ ํ์ง ๋ชปํ๋ค. - idea2: delay ํจ์๋ฅผ ์ด์ฉํ์ฌ ์์์ ์๊ฐ๋งํผ ํ์ ํ๊ฒ๋ ํ๋ค.
โ ์ผ๋ง ๋งํผ delay๋ฅผ ๊ฑฐ๋ ๊ฒ์ด ์ ํํ์ง ํ๋จํ๊ธฐ ์ด๋ ต๋ค. - idea3: Timer๋ก ํ์ ์ ํ์ํ ์ ํํ ์๊ฐ์ ์ ํด์ ํ์ ํ๋ค.
โ code์ ๋ณต์ก๋๊ฐ ๋์์ ธ์ ํ๊ธฐํ๋ค. - idea4: ์ฅ์ ๋ฌผ์ ๋ง๋ ์ํฉ(์ ์ผ์ ์ธ์)~ ํ์ ๋๋ ์ํฉ(์ฐ ์ผ์ ์ธ์) ์ฌ์ด์ ์๊ฐ์ time.h ํค๋ ํ์ผ์ ์ด์ฉํ์ฌ ํ๋ฅธ ์๊ฐ์ ๊ณ์ฐํ๋ค.
โ ๋ก๋ด์ ๋ฌด๊ฒ, ๋ฐํด ์ํ, ๋ฐฐํฐ๋ฆฌ ์ฑ๋ฅ ๋ฑ์ ๋ฐ๋ผ ๊ฐ์ด ๋ค ๋ฌ๋ผ ํน์ ํ๊ธฐ ์ด๋ ต๋ค.
ํ ์ํฉ์์ ์ ํํ๊ฒ 90๋๋ฅผ ํ์ ํ๊ธฐ ์ํ ์ต์ ์ ์ํฉ์ ์์๋ก delay๋ฅผ ์ฃผ๋ ๊ฒ์ผ๋ก ๊ฒฐ๋ก ์ ๋ด๋ ธ๋ค.ย
- idea1: ๋ฐฉ์๊ฐ ์ผ์๋ฅผ ์ด์ฉํ๋ค.
-
๋์ ์ค๋ฅ
๐ ๋ก๋ด์ ์ค๋ฅธ์ชฝ ๋ฐํด๊ฐ ์ ํ์ ํ์ง ์๋๋ค๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค.
- ์ฝ๋์์ ํด๋น ๋ฆด๋ ์ด ๋ชจ๋๊ณผ ๊ด๋ จ๋ย PC11ํ์ด ์๋ชป๋ ๊ฒ ์๋์ง ํ์ธํ๋ค.
- ๋ธ๋ฃจํฌ์ค ๋ชจ๋์ ๊ฒฐํจ์ผ ๊ฒ์ด๋ผ ์ถ์ธกํ์ฌ ๋ณ๊ฒฝํ์์ง๋ง ๋ฌ๋ผ์ง ๊ฒ ์์๋ค.
- ๋ธ๋ฃจํฌ์ค์ com signal์ด ์ ๋ค์ด๊ฐ์ง ์์ ๊ฒ์ด๋ผ ์ถ์ธกํ๊ณ ํ๋ก๋ฅผ ๋ถ์ํ๋ค.ย
- ํด๊ฒฐ: ๋ฐฐํฐ๋ฆฌ ๋ถ์กฑ ๋ฌธ์ ์๋ค. ๋ณด๋์ ์ ์ ์ ์ ์ฐ๊ฒฐํ๊ณ ๋์์ํค๋ฉด ๋ฌธ์ ์์ด ์ ๋๋ค.
-
ํฌํธ ๋ณ๊ฒฝ
๐ ํฌํธ ๋ณ๊ฒฝ ๊ด๋ จ ์ํ์ฐฉ์ค๊ฐ ๋ฐ์ํ๋ค.
- TFT LCD๋ฅผ ์ฌ์ฉํ๋ ค ๋ณด๋ LCD๊ฐ ์ ์ฅ์๋ก Port E๋ฅผ ์ฐ๊ณ ์๋ค.
- ๊ทธ๋์, ๋ฆด๋ ์ด ๋ชจ๋๊ณผ ์ ์ธ์ ์ผ์์ ํฌํธ๋ฅผ C๋ก ์ฎ๊ฒผ๋ค.
- ๋ฆด๋ ์ด ๋ชจ๋: Port C 8, 9 ,10 ,11
- ์ ์ธ์ ์ผ์: Port C 2, 3, 4 (์์๋๋ก ์, ์ฐ , ์ข)
- ์ฅ์ ๋ฌผ ํ์ง ์๊ณ ๋ฆฌ์ฆ ์ฝ๋ ์ฌ์ฌ์ฉ ๊ฐ๋ฅ์ฑ
- ์๊ฐ์ ์ฅ์ ๋ฌผ๋ค์ ํํผํ๊ธฐ ์ํ ์ฝ๋๊ฐ ์๋ ๋ก๋ด์ ๋์ฒด๋ฅผ ๊ธฐ์ค์ผ๋ก ์ฅ์ ๋ฌผ์ ๋ง๋๊ณ ์ด๋ํ๋ ๋ชจ๋ ์ํฉ์ ๊ณ ๋ คํ ์๊ณ ๋ฆฌ์ฆ์ด๊ธฐ ๋๋ฌธ์ ์ฌ๋ฌ ๋ถ๋ฌธ์ ์ด์ํ ์ ์๋ ์ฅ์ ์ ๊ฐ์ง๋ค.
- ๊ฐ์งํ ์ฅ์ ๋ฌผ ๋ฐ ์์ฑ๋ ์ง๋ ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ ๋ถ๊ฐ์ ์ธ ์๋น์ค ๊ฐ๋ฐ
- ์ฃผ๋ก ์ง๋ฉดํ๋ ์ฅ์ ๋ฌผ ํํ ๋ถ์ ๋ฑ์ ํตํด ๊ฐ๋ฐ์๊ฐ ํด๋น ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ์ฌ ์ด์ ๋ฒ์ ๋ณด๋ค ๋ ๋์ ์๋น์ค๋ฅผ ์ ๋ฐ์ดํธ ํ ์ ์๋ค.
- ์ฅ์ ๋ฌผ๊ณผ ์ถฉ๋์ ๋ด๋น ๊ณต๋ฌด์ ๋ฑ์๊ฒ ์ง๋๋ฐ์ดํฐ๋ฅผ ํตํด ์ถฉ๋ ์๋ฆผ๊ณผ ๋์์ ์์น๋ฅผ ๋ณด๋ด๋ ์๋น์ค๋ฅผ ๋์ ํ์ฌ ์๊ฐ์ฅ์ ์ธ์ ์์ ์ ๋์์ ์ค ์ ์๋ค.
- ์ฅ์ ๋ฌผ ์์น, ๋ชจ์ ๋ฑ์ ๋ฐ์ดํฐ๋ฅผ ์์งํ ์ ์๊ธฐ ๋๋ฌธ์, ํ๋ฃจ ๋์ ์ง๋ฉดํ ์ฅ์ ๋ฌผ์ ์ข ๋ฅ๋ฅผ ์ ๋ฆฌํ์ฌ ์ฌ์ฉ์์๊ฒ ์๋ ค์ฃผ๋ ์๋น์ค ๋ฑ์ ๊ฐ๋ฐํ ์ฌ์ง๊ฐ ๋ง๋ค.
- ์์จ์ฃผํ ์๋์ฐจ ๊ธฐ๋ฅ ์ํ
- 4๋ฅ ๊ตฌ๋์ผ๋ก ๋ก๋ด์ ์ ์ํ๊ธฐ ๋๋ฌธ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฅ์ ๋ฌผ์ ํํผํ๋ ์์จ์ฃผํ ์๋์ฐจ์ ์ญํ ์ ๊ฐ์ง๋ค.
- ์ ๊ธฐ๋ฅ์ ๊ธฐํ๋ก ํ์ฌ, ๋ณด๋ค ๋ฐ์ ์ ์ธ ์์จ์ฃผํ ์๋์ฐจ ๊ฐ๋ฐ์ ๊ฐ๋ฅ์ฑ์ ํ์ธํ ์ ์๋ค.
์์ธํ ๋ด์ฉ์ ์๋ ๋ณด๊ณ ์๋ฅผ ์ฐธ๊ณ ํด์ฃผ์ธ์.
์ต์ข
๋ณด๊ณ ์