본문 바로가기

피지컬 컴퓨팅

(29)
스크래치 아두이노 벽돌깨기 게임 3 벽돌깨기 게임 만들기 스크래치로 벽돌깨기 게임 만들기를 계속 배워보겠습니다. 스크래치로 벽돌깨기 게임을 잘 만들기 위해서 블럭을 잘 사용해야 합니다. 여러 가지 메시지를 보내고 메시지에 따라서 해야할 일을 코딩하면 쉽게 벽돌깨기 게임을 만들 수 있습니다. 우선 벽돌이 내려가도록 코딩을 하겠습니다. [공이 땅에 닿았다] 변수 값이 1이 되었다가 다시 0이 되는 겁니다. 마치 스위치를 켜고 끄는 것과 같습니다. 스위치가 켜지면(변수 값이 1) 벽돌이 내려가고 새로운 벽돌을 복제합니다. 스위치가 꺼지면(변수 값이 0) 벽돌이 내려가는 것을 멈추고 복제를 하지 않습니다. 그런데 그림 2-57처럼 코딩을 하면 문제가 생깁니다. 벽돌이 너무 많이 내려오게 됩니다. 어떻게 문제를 해결할까요? 변수 값을 순식간에 바꾸..
스크래치 아두이노 벽돌깨기 게임 2 벽돌깨기 게임 만들기 벽돌을 만들기 전에 간단한 수학 문제를 풀겠습니다. 우리는 벽돌을 한 줄에 최대 6개를 넣고 싶습니다. 그렇다면 벽돌의 가로의 크기는 얼마로 해야 할까요? 스크래치 무대의 가로 크기는 480입니다. 따라서 벽돌의 가로 크기는 480÷6으, 80이 됩니다. 세로의 크기는 240의 약수로 해야 합니다. 약수는 그 수로 나눴을 때 나머지가 없는 수를 말합니다. 그래서 딱 맞게 떨어지게 됩니다. 이 책에서는 가로 80, 세로 20으로 벽돌을 그렸습니다. 직사각형을 그리고 마우스로 줄이고 늘리고 해서 크기를 맞춰주면 됩니다. 왼쪽 위를 보면 벽돌의 크기를 알 수 있습니다. 그리고 중심점을 왼쪽 위에 둡니다. 이 중심점이 벽돌의 좌표 기준점이 됩니다. 이렇게 중심점을 두면, 벽돌의 x좌표가 -..
스크래치 아두이노 벽돌깨기 게임 1 벽돌깨기 게임을 만들면서 스크래치 아두이노 코딩방법을 배워보겠습니다. 벽돌깨기 게임을 하는 동안 서보모터가 공이 날아가는 방향으로 회전합니다. 스크래치 아두이노로 벽돌깨기 게임을 만들면서 여러분의 코딩 실력을 키우기 바랍니다. 게임 알아보기 브릭 브레이커 볼(Brick Breaker Ball)이란 게임을 아시나요? 공을 이리저리 튕기면서 벽돌을 깨는 게임입니다. 벽돌에 적힌 숫자만큼 공을 부딪쳐야 벽돌이 깨지는 게임입니다. 하얀색 동그라미에 부딪히면 공의 개수가 늘어납니다. 우리는 이와 비슷한 벽돌께임을 만들겠습니다. 우리가 만들 게임의 규칙은 다음과 같습니다. 여기에서 코딩의 중요한 원칙을 다시 한 번 정리합시다. 한 번에 한 가지 문제만 생각한다. 두 가지를 동시에 생각하려면 문제가 복잡해 보이고, ..
스크래치 아두이노 서보모터로 그림그리기 스크래치 아두이노 코딩-서보모터 서보모터로 스크래치 아두이노 코딩을 하겠습니다. 서보모터는 아두이노로 코딩할 때 많이 사용합니다. 따라서 서보모터를 아두이노로 잘 다루는 방법을 배워야 합니다. 서버모터가 회전하면서 그림을 그리는 스크래치 아두이노 코딩입니다. 어떻게 서보모터로 스크래치 아두이노 코딩을 하는지 알아보겠습니다. 스크래치로 멋진 그림을 한 번 그려보겠습니다. 스크래치로 똑같은 모양을 반복해서 그림을 그립니다. 우리는 그림 2-10과 같은 그림을 그릴 겁니다. 어떤 모양이 반복하나요? 삼각형 12개가 보이나요? 이 도형은 삼각형 어떤 규칙으로 여러 번 반복해서 그린 것입니다. 삼각형을 하나 그릴 때마다 모터가 움직여서 삼각형을 하나 그렸다는 것을 알려줍니다. 우선 삼각형을 하나 그리고 서보모터가..
아두이노 전자부품 아두이노 전자부품 살펴보기 아두이노를 사용하기 전에 자주 사용하는 전자부품인 엘이디(LED), 저항, 그리고 브레드보드의 간단한 사용방법에 대해 알아보겠습니다. 엘이디(LED) 엘이디(LED)는 조명에서부터 미디어 아트에 이르기까지 다양한 곳에 사용되고 있는 반도체 제품입니다. 아두이노를 비롯하여 많은 제품에 엘이디를 사용하는 이유가 있습니다. 첫째 다루기가 매우 편리합니다. 둘째 잘 고장 나지 않습니다. 셋째 값이 무척 저렴합니다. 넷째 에너지 소모가 매우 적습니다. 아두이노를 비롯하여 많은 제품에반도체인 LED는 극성이 있습니다. +극과 _극이 있어 극성에 맞게 연결해 주어야 한다. 리드선이 긴 쪽이 +극이고 짧은 쪽이 _극입니다. 여기서는 일반 LED는 2V, 20㎃에서 작동하도록 만들어진 LED를..
스크래치 아두이노 서보모터를 연결해요 서보모터 이해하기 우리가 많이 사용하는 3개 종류의 모터가 있습니다. 바로 DC모터, 스텝(Stepper)모터, 서보(Servo)모터입니다. 이 모터들은 각각의 특징이 있고 사용법이 모두 다르기 때문에 서로의 차이점을 잘 알아야 합니다. DC모터는 전기를 주면 계속 회전하는 모터입니다. 2편에서 라인 트랙 자동차를 만들 때 쓰던 모터입니다. 회전방향과 속도를 바꿀 수 있지만 원하는 각도만큼 회전하지는 못합니다. 자율 주행 자동차를 만들 때 바퀴를 움직이기 위해서 사용합니다. 서보모터는 원하는 만큼 회전할 수 있는 모터입니다. 서보모터 안에 톱니바퀴가 여러 개 있어서 원하는 만큼 회전할 수 있는 것이죠. 하지만 아주 큰 힘으로 회전하기는 힘듭니다. 우리가 자율 주행 자동차를 만들 때 초음파 센서와 함께 장..
스크래치 아두이노 초음파 센서로 게임 만들기 2 초음파 센서 게임 장애물이 똑같이 나오니까 재미가 없습니다. 장애물이 예측하지 못하게 나오면 게임이 더욱 재미있을 것 같습니다. 장애물을 클릭하고 아래와 같이 스크립트를 바꿉니다. 와 를 이용하면 우리가 원하는 게임을 만들 수 있습니다. 게임의 아이디어는 다음과 같습니다. 먼저 장애물은 자신이 보이지 않게 합니다. [장애물 복사하기] 변수를 만들고 1에서 3사이의 값을 갖도록 합니다. 그리고 장애물 복사하기 변수의 값이 1이면 복제를 합니다. 난수를 이용하면 게임을 하는 사람이 장애물이 복제되는 것을 예측하기 힘듭니다. 그러면 더욱 긴장을 하면서 게임을 하게 됩니다. 복제가 되고 복제한 장애물의 x좌표가 –240보다 작으면(너무 왼쪽으로 가면) 이 복제본을 삭제합니다. 그런데!! 이렇게 코딩을 하면 너무..
스크래치 아두이노 라인 트랙 자동차 경주 시합 라인 트랙 자동차 만들 때 주의할 점 먼저 부품 상자에 있는 라인 트랙을 이용해서 잘 움직이는지 확인합니다. 두 센서가 모두 흰색을 보고 있을 때 앞으로 잘 이동하는지 살펴봅니다. 라인 트랙 자동차 코딩에서 모터를 제대로 연결하는 것이 가장 중요합니다. 모터를 잘못 연결하면 반대 방향으로 회전하거나 아예 움직이지 않을 수도 있습니다. 그리고 라인 센서의 민감도를 잘 조절해야 합니다. 드라이버로 라인 센서 민감도 저항을 돌려서 검은색과 흰색을 잘 구분하는지 확인합니다. 시계 방향으로 돌리면 흰색을 더 잘 읽고, 시계 반대 방향으로 돌리면 검은색을 더 잘 읽습니다. 아주 조금 움직여도 민감도가 크게 바뀝니다. 라인 센서가 검은색을 읽으면 라인 센서 감지 엘이디(LED)에 불이 들어오지 않습니다. 흰색을 읽으..