2016년 10월 29일 토요일

3색 LED띠 제어하기

프로젝트를 위해 LED띠를 사용해봤다.

이번에 사용할 LED는 Neopixel이라는 3색 LED를 사용할것이다.

위의 LED가 바로 그 LED인데

특이한점은 Data핀 1개로 3색 LED를 각각 제어 가능하다는 점이다.

자세히 보면 LED 안쪽에 무언가 보이는데
바로 그것이 레이지스터여서 Data핀 1개로 LED 마다의 RGB각각 제어가 가능하다.


위의 처럼 연결하면 된다
굳이 외부 전원을 사용하지 않아도
아두이노의 5V에다가 연결하면 된다.

Data핀은 디지털핀 아무곳이든지 꽂을수 있다(굳이 저항 안꽂아도 된다).




위의 사이트에서 Neopixel관련된 라이브러리를 다운 받자





다운 받고 라이브러리 추가후

파일 -> 예제 -> Adafruit Neopixel -> simple에 들어간후 Data핀을 6번에 꽂은후
업로드 해보자



위의와 비슷하게 LED가 순차적으로 켜질것이다.

보는 것과 같이 3색 LED를 각각 제어 할 수 있다.



2016년 10월 27일 목요일

FTDI 5v에서 3.3v 만드는 방법(차이점)


와이파이 모듈을 이용해볼려 했는데
동작 전압이 3.3v 여서 내가 가지고 있는 5v용으로 업로드하면
FTDI 또는 와이파이 모듈이 죽게 된다.

그래서 혹시나 하는 생각에 검색해 봤는데
5v 와 3.3v의 차이점을 알아냈다.

FTDI(시리얼 변환기)라고 불리는것 미니 때문에 사용한다.

위의 사진에 나와 있듯이 5v로 동작하며 그대로 미니에 꽂아도 된다.


위의 사진은 5v 용 시리얼 변환기 밑면이다.
보시다시피 가운데에 거꾸로 3.3v와 5v가있다.

3.3v도 마찬가지로 가운데 3.3v와 5v가있는데

자세히 보면 5v는 뒷면 5v라고 쓰여져있는것과 가운데가 연결되어있고

3.3v도 3.3v랑 가운데랑 연결되어있다.



혹시나해서 5v용 FTDI뒷면 3.3v에 테스터기로 측정해봤는데
역시나 3.3v가 뜬다.



5v에서 3.3v로 또는 3.3v에서 5v로 바꾸고 싶은 사람은 연결되어 있는곳을
칼로 긁어 끊어 놓고 납으로 원하는 곳에 연결하면 될것 같다.





 위의 FTDI는 3.3v, 5v를 위의 사진에 나와있는것처럼 자유자제로 변환할수 있어서
위와 같이 전압을 변환시킬수있는 것을 사는걸 추천한다.




2016년 10월 25일 화요일

Mini Metro 안드로이드 게임

오늘 수학 선생님이 게임하시는 것을 봤는데

재미있어보여서 돈주고 다운 받았다.

Mini Metro 라는 게임은 구글 플레이스토어에서 6400원이었나? 그쯤에서 팔고 있다.

게임 방법은 위와 같이 그냥 단순하게
지하철 노선만 그리고 지하철이 움직이는 것을 보면 된다. 

어떻게 보면 단순하지만 한개의 색의 노선에는 최대 4개까지만
지하철이 지나갈수 있어서 처음에는 쉽지만

나중에 갈수록 어떻게 하면 효율적으로 승객을 옮길수 있는지를
생각하게해주는 재미있는 게임이다.


위의 화면 가운데에 있는것이 지하철 노선도이며
도형들은 역을 뜻한다.

같은 모양의 역은 같은 역이며 옆에 조그만한 도형은 승객이다.


일주일이 지날때 마다 위와같이 열차 1~2대씩 주며
왼쪽에서 드래그해서 사용할수 있다.


위의 것도 마찬가지로 일주일마다 받을수 있는데

위의 객차와 터널은 게임중 유용하게 사용할수있는 자산이다.


만약 승객이 너무 밀려있으면 위와 같이 게임 오버가 될 수 있으니

아이템을 적절하게 사용하고
노선을 효율적으로 만들어 야한다.


위의 그림과 같이 맵은 여러게가 있으며 경험상 갈수록 어려워진다.
(참고로 한국은 없다)




한번하면 중독성이 크지만 심심할때 하면 인터넷도 필요가 없어
시간 보낼때 딱 좋은 게임이다.







2016년 10월 24일 월요일

아두이노 드론 프로그래밍

저번에 대전에서 있었던 대회하러 갔다가

끝난후 나왔는데 드론 매장이 있었다.

작년에도 있었지만 그때는 살까 말까 고민했다(아두이노랑 호환 가능해서).

그리고 올해 결국 구매했다.

바로 e drone이다.

위의 모습은 쿼드콥터의 모습인데

최대 6개 까지 달수 있어 핵사콥터 까지 가능하지만

아직 그렇게까지 정밀하게 할 필요를 못느껴서 쿼드형태로 조립했다.



e drone은 핸드폰으로 조종 하며 ESP8266 와이파이 모듈을 이용하여 핸드폰과 통신한다.


아두이노에다가도 사용할수 있어 나중에 IoT할때 사용할 것 이다.


위의 사진은 기본적으로 들어 있던배터리 인데

내가 자주 사용하는 LiPo배터리 이다.

1셀당 3.7v 이고 위의 배터리인 경우 380mAh이다.


위의 배터리는 커넥터를 드론에 사용할수 있게 만든 배터리 인데

원래 들어 있던 배터리 용량이 너무 적어 중간에 통신이 끊기는 경우가 발생하여

내가 가지고 있던 LiPo배터리로 바꾸어 꼈다.





e drone의 장점은 아두이노 스케치를 그대로 사용할수 있어 쉽게 프로그램을 작성 할 수 있다는 것이다.


나중에 드론 관련된 프로젝트를 할 생각이 있었으니 그때 사용하면 되겠다.


2016년 10월 22일 토요일

아두이노 DF Player 모듈 사용

아두이노로 만들 프로젝트를 위해
DF Player를 사용해봤다.

알리익스프레스에서 1.3달러 정도로 구입할수 있다.

위의 모듈로 쉽게 mp3를 만들수도 있지만
이번에는 그냥 기본적인 노래를 틀고 볼륨 조절등만 해봤다.




Vcc에다가 아두이노 5v쪽에 연결하고
Rx와Tx에 각각 1K옴을 연결후 아두이노에 연결한다.
저항이 없으면 잡음이 발생한다고 한다.

SPK_1에 스피커 한쪽을 연결하고
SPK_2에 스피커 다른 한쪽을 연결한다.
그리고 당연한거지만 GND는 GND로 연결한다.

아래의 사진을 보면 좀더 쉽게 이해 될 것이다.

출처 : http://deneb21.tistory.com/418

마이크로 SD카드에 mp3라는 폴더를 만들어서
그 안에다가 노래를 넣으면 되는데

곡 앞에다가 0001, 0002, 0003과 같이
번호를 붙여야 한다.

위와 같이 그냥 앞에 번호만 부여하면 된다.


////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#include <SoftwareSerial.h>
#include <DFPlayer_Mini_Mp3.h>

void setup () {
    Serial.begin (9600);
    mp3_set_serial (Serial);      // DFPlayer-mini mp3 module 시리얼 세팅
    delay(1);                     // 볼륨값 적용을 위한 delay
    mp3_set_volume (30);          // 볼륨조절 값 0~30
}
void loop () {        
    mp3_play (1);    //0001 파일 플레이
    delay (6000);
    mp3_next ();    //0002 파일 플레이 , next
    delay (6000);
    mp3_prev ();    //0001 파일 플레이 , prev
    delay (6000);
    mp3_play (4);    //0004 파일 플레이
    delay (6000);
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

play라는 함수는 이름 그대로 곡을 재생하는 함수로 곡 앞에있는 번호를 넣으면 그 번호에 해당하는 곡을 실행 시킨다.

next라는 함수는 다음 곡을 재생하는 함수이다.

prev라는 함수는 이전곡을 재생하는 함수이다.


위의 순서대로면 1번 -> 2번 -> 1번 -> 4번순으로 각각 6초 동안 재생한다.


참고로 SD카드는 FAT32로 포맷 되어져 있어야 한다.



위의 처럼 곡을 재생하는것도 상관없지만 모든곡을 순차적으로 재생 하고 싶을땐
아래의 소스코드를 이용하면 된다.


//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


#include <SoftwareSerial.h>
#include <DFPlayer_Mini_Mp3.h>

SoftwareSerial mySerial(10, 11);  //RX, TX

void setup() {
  Serial.begin(9600);
  mySerial.begin(9600);
  mp3_set_serial(mySerial);       //mp3 모듈을 위한 SoftwareSerial 설정
  delay(1);                                   //볼륨 설정을 위한 시간
  mp3_set_volume(15);              //0 ~ 30
}

void loop() {
  boolean play_state = digitalRead(3);//3번핀을 BUSY핀에 연결
 
  if(play_state == HIGH) {
    mp3_next();
  }
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


mp3모듈중 BUSY라는 핀은 현재 곡이 끝났을때 HIGH신호를 내보내서

그 신호를 가지고 3번에 HIGH 신호가 들어오면
mp3_next();라는 함수를통해 다음곡을 재생 한다.



그 밖의 함수들
/* mp3_play (); //start play
mp3_play (5); //play "mp3/0005.mp3"
mp3_next (); //play next
mp3_prev (); //play previous
mp3_set_volume (uint16_t volume); //0~30
mp3_set_EQ (); //0~5
mp3_pause ();
mp3_stop ();
void mp3_get_state (); //send get state command void mp3_get_volume ();
void mp3_get_u_sum ();
void mp3_get_tf_sum ();
void mp3_get_flash_sum ();
void mp3_get_tf_current ();
void mp3_get_u_current ();
void mp3_get_flash_current ();
void mp3_single_loop (boolean state); //set single loop
void mp3_DAC (boolean state);
void mp3_random_play ();
*/


더 자세한 내용은 아래 사이트에서 확인 하길 바란다.

수학여행



학교 수학여행으로 정동진으로 갔다.

첫날 일정중에서 첫번째로 줄을 타고
하강하는 놀이기구인 짚라인이 탔다(왼쪽에 있는 것이 짚라인 타는곳).


주변에 바다하고 군대가 있어 전투기하고 헬기가 종종 이륙했다.

사진에는 없는데 낙하산도 주변에 있었다.


건너편으로 짚라인을 타고 다시 건너편에 있는 짚라인을 타고
이쪽으로 넘어와서 2번 탔는데
생각보다 재미 있었다.


그 다음으로는 시계 박물관으로 갔다.

예전에 기차 여행으로 왔었을때에는 저런게 있는줄 몰랐다.

위의 보이는것이 해시계인데
실제로 보면 엄청 크다.

오른쪽에 약간 보이는 그림자줄로 시간을 알수있다고한다.

위의 배는 봤던 사람도 있을건데
그냥 신기해서 찍어본거다.

사실 원래 저자리가 바다 였는데 파랑의 침식과
해수면이 낮아지면서 해안단구가 생성된 지형이다.

그 다음으로 바로 옆에 있는 시간 박물관으로 갔다.

밖에서 볼때는 기차의 형태를 하고있다.
아마도 옛날에 기차로 사용했던것이
지금은 박물관으로 사용되는것 같다.



기차 중간에 가보면 위와 같이
아날로그 시계들이 굉장히 많이 보인다.




위의 시계는 인생? 을 담고 있는 시계이다.
이름은 세븐맨 이었나.

6명의 사람이 시계를 움직이고
나머지 1명은 밑에서 올라오다가 위에서 한번에 뚝 떨어진다.

이것은 올라가기 까지는 시간이 많이 걸리지만
떨어질때는 한순간 떨어진다는 의미를 가진 시계이다.



위의 시계는 특별히 그곳 관장님이 경매에서 낙찰 받으셨다고 한다.

위의 시계는 타이타닉에 있던 손님이 가지고 있었던 시계로
아주 가치있는 시계이다.















박물관 위에는 소원종 이라고 종을 울리고
소원을 말하는 종이 있다.

원래 그런것을 안믿어서
그냥 종만 흔들고 내려왔다.



힘들어서 친구가 쓰러졌다.

사실 별거 한것이 없는데 예전과 다르게 체력이
빨리 소모되는것 같다는것을 느꼈다.



박물관 주변에 있는 바다이다.

짚라인도 재밌지만
위의 파도 소리 들으면서 친구들이랑 파도 비하면서
놀았던것이 더 재미있었다.




위의 사진은 첫날 마지막으로 찍은 사진으로

바스를 타려고 갈때 우연히 하늘을 처다봤는데
석양이 예뻐서 바로 찍은 사진이다.

첫날 찍은 사진중에서는 가장 잘찍었다고 생각되는 사진이다.






둘쨌날 처음 일정은 레일 바이크였다.

위의 사진은 중간 휴개소로 중간에 쉴수있게
여러가지 먹을것들을 판다.

역시나 너무 비쌌다.


출발을 기다리는 동안
우리가 타고있던 바이크 옆에 고양이가 지나 갔다.
워낙 사람이 많이 찾아와서 그런지 쿨하게 주변은 산책하고 있다.

중간중간 동굴들이 많다.
동굴안은 심심하지 않게 예쁘게 꾸며져 있었다.



우리 보다 먼저 출발한 앞차다.

빨리 달려서 범퍼카를 경험 해보고 싶었지만
담임 선생님이 타고 있으셔서 느리게 갔다가 전력 질주를 했다가를 반복하면서 갔다.

 선로 옆 도로에 버스 정류장이 있었다.

이런곳에도 버스 정류장이 있다는게 신기해서 한번 찍어봤다.


옆에는 어제 보았던 바다로 추정되는 바다가 있었다.



여기는 동굴 끝나고 나오면 볼수 있는 곳이다.

앞에 철도건널목이 있다.

아마도 옛 기차 레일을 사용하다보니
옛날 교통상황때문에 생긴 것 같다.


지금은 바이크와 자동차가 지나갈수 있도록 되어있다.


아까 그 앞차다.

우리 선로 말고 옆의 선로는 반대 쪽으로 가는 선로이다.

초등 학생들이 반대 쪽으로 가고 있는데

속도를 보니깐 우리가 미친듯이 달렸다는것을
알수 있었다.




이곳 레일 바이크는 위의 사진처럼

주변 풍경이 대부분 나무와 바다로 이루어져 있다.

그래서인지

주변 풍경을 보기위해

분노의 질주를 찍다가도 힘들때마다
멈추거나 서행하면서 주변 풍경을 보다가도

뒷차 친구들이 오면 짜증을 듣다가 다시 분도의 질주를 찍었다.


위의 배는 바이크를 타다 보면 볼수 있는 배다.

군함 처럼 생겼는데 이런쪽은 관심 없는지라
이름은 모르겠다.


이곳은 레일 옆 숲인데

바다와 모래를보아 추측한것인데

바람으로 사빈에 있던 모래가 날라와서
이곳 사람들에게 피해가 가지 못하도록 만들어 놓은

숲인것 같다.



주변 풍경을 보기위해 멈춰섰다.

비록 전선줄이 마음에 걸리기는 하지만

레일 바이크를 타고 있었때에는 그런것 안보이고
옆의 예쁜 바다만 보였다.


덕분에 앞차는 안보이고 뒷차 친구들과 부딪히면서
앞으로 편하게 갔다.



종착역에 다왔다.

레일 바이크를 타다보면 종종

위의 사진에 나와있는 흰색의 또 다른 선로가 보이는데
저 구간에서는 자동으로 바이크가 간다

고 설명 되어 있지만 우리가 탔을때는
그런것 없었던것 갔았다.

아마 우리가 분노의 질주를 찍고 있어서
못 느낀 것이라고 생각 된다.




다음으로 추암 촛대바위로 향했다.

(참고로 위의 사진은 파노라마로 찍은것이다)


처음에는 너무 올라가서 뭐가 촛대바위인지 몰랐다.


...처음에 이런 바위들 말고는 안보였다.


그러다가 올라오다가 있었던

마치 사진 찍는곳 처럼 보이는곳에 가서
드디어 촛대바위로 보이는 것을 봤다(맞는지 모르겠다)


그가 봐도 '이건 촛대바위군'이라고 생각되는 바위가 있어
찍어 왔다.

이걸보고 사회 시간에 배운 시스택이 생각 났다.

내 생각에는 저 촛대바위도 시스택의 한 종류라고 생각 된다.