본문 바로가기

스크래치/아두이노 기초

(19)
스크래치 아두이노 신호등 아두이노 신호등 만들기 지금까지 배운 내용을 잘 생각하며 교통 신호등을 만들어 봅시다. 신호등에는 초록불, 노란불, 빨간불 등이 있습니다. 그리고 횡단보도에는 사람이 지나가도 된다고 알려주는 보행자 신호가 있습니다. 초록불이 켜지는 시간과 빨간불이 켜지는 시간은 같지만, 노란불 신호는 짧습니다. 그리고 빨간불일 때 길을 건너려고 보행자 스위치를 누르면 보행자 신호가 켜지도록 코딩을 해보겠습니다. 실제에서는 신호등이 이렇게 작동하지 않지만, 코딩 연습을 위해서 이렇게 만들어 보겠습니다. 그림 4-27처럼 회로를 만듭니다. 우선 신호등의 초록색, 노란색, 빨간색 등을 만들어 봅시다. 디지털 2번 핀은 초록색 엘이디(LED), 디지털 3번 핀은 노란색 엘이디(LED), 디지털 4번 핀은 빨간색 엘이디(LED)..
스크래치 아두이노 빛 센서와 피에조 부저 빛 센서와 피에조 부조 컴퓨터는 전기의 흐름으로 작동하는데 두 가지 전기 신호만 이해할 수 있습니다. 전기가 흐르면 1, 흐르지 않으면 0으로 이해합니다. 이렇게 1과 0으로 정보를 나눠서 표현하는 것을 디지털이라고 합니다. 우리 주변의 다양한 아날로그 정보를 컴퓨터에서 사용되는 디지털 정보로 바꿔주는 것을 디지털화라고 합니다. 그렇다면 아날로그(Analog)의 뜻은 무엇일까요? 아날로그(Analog)는 중간에 끊김이 없이 계속 이어지면서 변화하는 것을 뜻합니다. 하루 동안 온도가 점점 올라가다가 내려가는 것이 바로 아날로그입니다. 이제 아날로그 핀을 사용해서 코딩을 해보겠습니다. 빛의 밝기에 따라 저항값이 달라지는 빛 센서(CDS 센서)를 사용하여 코딩을 해보겠습니다. 그림 4-19처럼 이 빛 센서는 ..
스크래치 아두이노 PWM PWM 이해하기 아두이노 내친구전압의 세기로 엘이디(LED) 밝기를 바꿀 수 있습니다. 따라서 엘이디(LED)의 밝기를 바꾸려면 1.5볼트, 1.8볼트, 2.3볼트 같은 아날로그 전압이 필요합니다. 아날로그는 연속된 값을 말하는데 나중에 자세하게 배우겠습니다. 하지만 아두이노 보드에는 5볼트와 3.3볼트 핀밖에 없습니다. 아두이노는 수학으로 이 문제를 해결했습니다. 여기서 평균의 개념을 조금 알아야 합니다. 평균은 이렇게 생각하면 편합니다. 유명한 축구선수가 있는데 이 선수는 미친 듯이 골을 잘 넣는 선수입니다. 첫 번째 경기에서 5골을 넣었습니다. 두 번째 경기에서도 5골을 넣었습니다. 하지만 세 번째, 네 번째, 다섯 번째 경기에서는 몸이 아파서 한 골도 넣지 못했습니다. 5경기에서 모두 10골을 넣..
스크래치 아두이노 스위치 스위치 사용방법 알기 디지털이라는 것은 3장의 엘이디(LED) 코딩에서 보았듯이 켜다(5볼트(V))와 끄다(0볼트(V))처럼 어떤 것을 나눠서 표현하는 것을 말합니다. 디지털 값을 숫자로 표현하면 켜다는 1이 되고, 끄다는 0이 됩니다. 디지털 값을 읽는다는 것은 디지털 값((5볼트(V) 또는 0볼트(V))을 아두이노 디지털 핀에서 받는다는 뜻입니다. 디지털 8번 핀에서 디지털 값을 받으면(전압이 들어오면) 2번 핀에서 엘이디(LED)를 켜는 작품을 만들어 봅시다. 디지털 값을 넣는 부품을 디지털 입력장치라고 합니다. 우리는 입력장치로 푸시 버튼스위치를 사용하겠습니다. 푸시 버튼스위치를 누르면 5볼트(V), 떼면 0볼트(V)의 전압이 8번 핀에 들어오도록 그림 4-1처럼 회로를 만듭니다. 푸시 버튼스위치..
스크래치 아두이노 LED 게임 만들기 2 LED로 게임 만들기 이제는 [시간] 변수 값이 0이면 공을 복제하지 않도록 프로그램을 만들어야 합니다. 코딩을 할 때 알아야 할 중요한 내용을 하나 더 배워봅시다. 바로 그림 3-28의 과 입니다. 은 여러 개의 조건 중에 하나만 만족하면 된다는 뜻입니다. 예를 들어 설명해봅시다. 코딩 학교가 있는데 남학생과 여학생이 이 학교에 다니고 있습니다. 이 중에는 안경을 쓴 사람과 안경을 쓰지 않은 사람이 있습니다. 만약 남학생 또는 안경 쓴 사람이면 게임을 할 수 있다고 해봅시다. 다음 중 게임을 할 수 있는 사람은 누구일까요? ③을 뺀 나머지 사람은 게임을 할 수 있습니다. 왜냐하면 남학생인 조건과 안경을 썼다는 조건 중 하나를 만족하기 때문입니다. 이렇게 여러 개의 조건 중 하나만 만족하면 되는 것이 입..
스크래치 아두이노 LED 게임 만들기 1 LED로 게임 만들기 엘이디(LED)를 이용해서 간단한 게임을 만들어 볼까요? 앞에서 배웠던 공 피하기 게임을 이용하여 만들겠습니다. 공에 맞으면 13번 핀과 연결된 빨간색 엘이디(LED)가 켜지게 만들고 싶습니다. 어떻게 만들면 될까요? 그림 3-19 스크립트에 그림 3-20처럼 엘이디(LED)를 켜는 블록을 잘 연결하면 됩니다. 어때요? 참 쉽죠? 이제 엘이디(LED)를 하나 더 사용하여 게임을 만들어 보겠습니다. 게임을 조금 더 재미있게 만들기 위해서 이런 생각을 했습니다. ‘20초마다 공이 하나 더 생겨서 움직이면 더 재미있겠다. 그리고 공이 하나 더 생길 때마다 노란색 엘이디(LED)가 깜빡이게 만들어보자.’ 이런 아이디어를 가지고 직접 스크래치로 게임을 만들어 봅시다. 우선 공을 하나 더 만드..
스크래치 아두이노 LED 깜빡이기 LED 코딩하기 이제 아두이노와 다른 부품을 연결해서 그림 3-15 처럼 코딩을 해보겠습니다. 디지털 13번 핀과 연결하니 아두이노 보드에 있는 엘이디(LED)를 깜빡이는 프로그램의 코드와 같습니다. 엘이디(LED)를 브레드보드를 이용해서 연결하고 깜빡거리게 만들어 보겠습니다. 디지털 13번 핀과 빨간색 엘이디(LED)를 연결하겠습니다. 디지털 13번 핀에서 5볼트 전압이 나오니까 플러스 극이 됩니다. 그래서 엘이디(LED) 긴 다리를 디지털 13번 핀과 연결해야 합니다. 그라운드 핀(GND)은 0볼트로 마이너스 극이 됩니다. 그래서 엘이디(LED)의 짧은 다리와 연결해야 합니다. 엘이디(LED)에 불을 켤 때 너무 큰 전류가 흐르면 엘이디(LED)가 고장 나니 그림 3-16과 같이 220옴 저항을 사용..
스크래치 아두이노 코딩하기 아두이노 코딩하기 mBlock은 스크래치로 아두이노를 작동시킬 수 있는 멋진 프로그램입니다. 스크래치 기본 블록에 아두이노를 작동시킬 수 있는 블록을 더해서 만든 프로그램입니다. 그 명령어는 로보트 블록 모음에 있습니다. mBlock의 장점 중 하나는 아두이노 프로그램을 직접 설치하지 않아도 된다는 것입니다. 스크래치로 프로그램을 아주 편하게 만들고 아두이노에 명령을 내릴 수 있습니다. 스크래치로 만든 블록을 스케치 명령어로 바꿔주는 기능도 있습니다. 스케치는 아두이노 프로그램을 만드는 소프트웨어입니다. 하지만 스크래치로 만든 블록을 스케치로 바꿔주는 기능은 완벽하지 않습니다. 그래서 이상하게 바뀌는 경우가 있으니 주의해야 합니다. 우선 스크래치로 아두이노 보드에 있는 엘이디(LED) 불을 켜는 프로그램..