그리고 '아두이노 다운로드' 라고 치는데 꼭!!!!!!!!!!!! 영어로 쳐야합니다.
그리고 아두이노 다운로드를 합니다.
자,.. 여기 까지 잘~따라오셨죠???
실패할 경우에는 당근 제설치하면 되고, 추가로 알려드릴 것이 있어요!
혼자서 아두이노를 하고싶다면,
밑의 링크로 들어가셔서 모르는 것을 (영어로) 검색하시면 됩니다.
https://www.arduino.cc/ 자 오늘은 여기까지~ 부디 아두이노 설치 잘하시길바랍니다.^^
안녕하세요~ 오늘은 센서와 엑추에이터를 다룰려 했으나, 숙제가 많아서, 준비를 많이 못했어요. 대신, 가장 기초적인 엑추에이터인 LED 제어에 대한 프로그램을 알려드리겠습니다.
"와하핳하핳핳... 이름만 들어도 어려울 것 같고, 엑추에이터라니. 너무 단계를 뛰어 넘는건 아닌지?" 라고 생각하실 필요는 없어요. 어려운거 절대 아님니다.
엑추에이터는 신호를 받아, 동작하는 모든 것들을 말해요. 모터, 전등, 스위치 등이죠.
자! 엑추에이터 중 가장 쉬운 LED가 있는데요, 아마 사람들이 제일 많이 알고 있는 것일겁니다. 그 LED에 대한 제어를 위해, 아두이노 프로그램을 배워요. 그럼 예제를 볼까요?
#define LED 13 // LED connected to
// digital pin
void setup( )
{
pinMode(LED, OUTPUT); // sets the digittal
// pin as output
}
void loop( )
{
digitalwrite(LED, HlGH); // turns the LED on
delay(1000); // waits for a second
digitalwrite(LED, LOW); // turns the LED off
delay(1000); //waits for a second
}
이 글을 보고있는 사람들이 제일 궁금해 하는 것은 아마 맨 위 문장일 것입니다. '도대체 왜 LED옆에 왜 13을 붙였냐'가 문제일겁니다. LED앞에 define가 있는데, 이 뜻은 '정의를 내리다'라는 뜻입니다. 그래서 다른 LED들도 13입니다. 그러므로 LED는 13번 핀에(아두이노에 찾아보면 있어요^^) 꽃아야 합니다. 전부터 궁금한게 있었죠? 바로... pinMode! 이건, 입력핀과 출력핀을 구별해주는 역할을 하는 함수입니다. 이 함수는 많이 사용되니 알고 있어야하는 아주~아주~아주~아~주~중요한 것입니다. 자. 여러분은 이 생각도 했을 것입니다. '괄호는 왜 비워났지? 쓰지도 않는데...'라는 생각. 이유는 함수안에 입력값이 있으면 이 값을 괄호안에 쓰기 때문입니다. setup, loop는 입력값이 없어서 비워놓은 거예요. 아두이노는 괄호를 아에 안 쓰고 그다음 반드시 써야하는 중괄호를 쓰면 중괄호 안에 있는게 '이 중괄호는 앞에있는 거랑 관련되구나.' 라고 생각해 버리기 때문에 에러가 납니다. 괄호는 짝을 맞춰 써야 해합니다. digitalwrite는 뭐냐고요? 이름처럼 아두이노 디지털 핀에 on(=5v, HIGH), off(=Ov, LOW)값을 쓰는 함수입니다.
작년(2016)에 스마트 세이프로 메이커 페어에 나갔었어요. 사실 그렇게 인기가 있을 것같지는 않았는데..ㅎ 꽤 인기가 많았어요. 그래서 스마트 세이프로 메이커 페어에 나간건 잘 정한거라고 생각해요. 오늘 마침 작년 메이커 페어가 생각나서, 스마트 세이프 만드는 과정을 블로그로 정리할려고 해요.
내용
처음에는 레이저와 긴 삼색선을 납땜했어요.ㅋ
그다음엔 선을 하나씩 연결했어요.ㅠㅠ
이건 조도센서 선 연결...(여기까지만 해도1시간 작업)
레이저가 들어갈 구멍 드릴로 뚫기!
그리고 프레임을 가져와서..
레이저가 정확히 조도센서 방향으로 쏴지도록 잘 조절한후~~~
프레임을 각각의 위치에 맞게 끼워주면!!
이렇게~ 완성됩니다!
마무리
언뜻보기에는 쉬워보이겠지만.. 사실 이거 만드는데 몇주는 걸리는 사이즈예요. 사실 따져보자면 프레임 뽑거나 디자인하는 시간, 정보찾는 시간 같은거를 합하면 몇 주 걸리죠.
따라해보시는 것도 좋을 것 같네요.ㅎㅎ
그럼 오늘은 여기까지 였습니다!
발명 동기
얼마전 경주에서 발생한 지진으로 인해 많은 사람들이 놀랐을 겁니다. 지진은 갑작스럽게 발생하기 때문에, 사람들이 허둥지둥하다가, 사고를 당할 가능성이 많은 것 같습니다.
지진이 발생하면, 사람들에게 대피 요령 등을 알려주는 앱을 만들면 어떨까라는 생각에서 지진 안전 알리미를 발명하게 되었습니다. 디자인
지진 안전 알리미는 진동이 발생할 때, 진동값을 알려주는 진동센서와 진동값을 휴대폰에 전달해 주는 아두이노 및 블루투스로 구성되어 있습니다. 알리미 앱은 앱 인벤터를 이용해 구현하기로 하였습니다.
2. 지진 및 가스 센서 장치 조립
보통 아두이노 코딩 방법은 센서별로 인터넷에 공개가 되어 있습니다. 이 소스코드를 이용해, 센서에서 값을 얻었습니다. 이 값은 블루투스 장치를 통해 스마트폰으로 전달해 줍니다.
3. 앱 개발
블루투스를 이용해, 센서 데이터를 스마트폰에 전달해 주기 위해, 앱 인벤터를 사용하였습니다. 다음은 앱인벤터로 코딩한 프로그램의 일부입니다.
블루투스 작업 방법은 한국과학창의재단의 앱인벤터 동영상을 참고하였어요. 여기에는 앱인벤터로 따라할 수 있는 좋은 예제들이 많이 있어요.
대피요령은 진동값에 따라 다음과 같이 조건문으로 처리하였습니다. 대피요령을 만들 때는 지진이 발생했을 때 상황을 인터넷에서 검색해 참고하였습니다.
대피위치는 메이커랜드가 진행되는 장소에서 지진이 발생했을 때 대피할 수 있는 위치를 네이버 지도에서 찾아, 알리미 앱에 코딩하였습니다.
원래 대피위치는 현재 내가 있는 위치에서 가장 가까운 대피소를 찾아서 보여주어야 합니다. 지금은 지진 발생 시 모든 대피 장소를 앱에 입력하는 것이 어려워, 아이디어 차원에서만 구현하였습니다. 지진이 발생할 때 대피할 수 있는 장소 정보를 나라에서 제공해 주면 좋겠습니다.
4완성된 모습
지진 안전 알리미는 다음과 같이 진동이 발생하면, 진도를 알려주고, 진도값에 따라 대피 요령을 알려줍니다. 지도와 연결해, 근처에 대피할 장소도 알려줍니다.
지진이 발생하면, 가스 누출이 되어, 화재가 나거나 사람이 다칠수도 있습니다. 그래서, 가스탐지기를 달아서, 가스 누출이 되었는 지를 알 수 있도록 하였습니다.
이 작품은 제가 어떤 대회에 제출하려고 만든 거예요. 대회에 제출하려면 여러가지 규정에 맞게 글도 써야 하고, 디자인도 해야 해요. 기존에 만든 제품과도 달라야 해요. 코드를 오픈하였으니 누구나 만들수 있을 겁니다. 하지만, 대회에 나갈때는 똑같이 만들면 안되요!^^ 어떻게 하였는 지 아래 글을 참고하세요^^
발명 동기
화석 에너지로 인해, 지구의 환경은 오염되고 있습니다. 우리가 살아가는 데 필요한 전기를 사용하기 위해서, 석유나 석탄을 이용해, 전기를 만들고 있습니다.
화석 에너지에 비해, 태양 에너지는 환경 오염도 없고, 무한대입니다. 태양 에너지를 잘 이용하면 화석 에너지가 필요 없겠죠. 자연도 보호하고요.
하지만, 태양 에너지를 얻기 위해 사용하는 태양 전지는 그 효율이 그리 좋지 않다고 합니다. 기술자들의 말로는 14~22% 정도라네요(연합뉴스)...
현재 많은 태양 에너지 발전기가 나와 있지만, 태양이 태양 전지를 수직으로 비추고 있지 않을 때는 태양 전지 효율은 더 떨어진다고 합니다.
스마트 태양 추적기를 만들어, 이런 문제를 해결하고, 더불어, 무선으로 태양 추적기의 상태를 휴대폰으로 확인해서, 문제가 있을 경우 바로 수리할 수 있게 하고 싶습니다.
디자인
디자인은 태양을 따라 추적기가 회전할 수 있도록 큰 원판과 앞뒤로 움직이는 패널을 서로 연결하도록 하였습니다. 원판과 패널은 서보모터로 움직입니다.
lcd.print(" Ardumotive ;) "); // You can change this message.
lcd.setCursor(0, 1); //Change line...
lcd.print("Distance: ");
lcd.print(ultrasonic.Ranging(CM));
lcd.print("cm");
delay(1000); // 1sec delay
}
6. 끝인사
거리측정기는 자로 일일이 잴 필요 없이 측정만 하면 되니까, 생활하는 데에 많은 도움이 될 것 입니다. 소스코드가 오류났을 경우에는 아두이노와 연결이 잘 않됬거나, 포트를 잘 못 하셨거나-_- 아마 둘 중 하나일 겁니다. 아니라면 선이 절지됬거나, 부품에 문제가 있는 것 일지도 모릅니다. 그럴 때는 일일이 다 알아보아야 하기 때문에 노가다가 많아요! 그러니 부품들을 먼저 잘 점검하시고 만들기를 시작하세요!