안녕하세요 시더입니다.


오늘은 하드웨어가 아닌 소프트웨어를 공부해볼까 합니다.


블로그에 자료을 올리면서 사진을 첨부하긴 하지만 회로를 보기에는 많은 불편함이 있죠.


그런데 이것을 깔끔하게 보여주는 프로그램이 있더군요.


fritzing입니다. 예뮬레이터 라고 보시면 되는건데 어떻게 생겼나면...


요렇게 생겼습니다. 이것저것 클릭해보니 다양한 아두이노 보드가 구성되어 있고 빵판도 있더라구요.

빵판이 있으니 빵판에 아두이노도 올려서 돌릴수 있겠죠. 


13번 pin Led 점멸 예제인데.. 동작을 시키는법을 못찾겠네요. 소스까지 첨부시키는걸 봐선 뭔가 있는것 같은데...


이걸 스케매틱과 PCB로도 보여줍니다. 뭐.. 제가 쓸일은 없겠지만 필요하신부들은 있으실겁니다.


그리고 스파크펀에서 파는 물품도 포함되어 있네요.


음.. 상당히 많이 부품이 다양하다보니 회로도 구성하는건 쉽겠네요.


앞으로 프로젝트 올릴떄는 이 프로그램을 애용해볼까 합니다.

Posted by 시더
,

안녕하세요 시더입니다.


오늘은 문뜩 떠오르는 아이디어가 있어서 포스트를 써봅니다.


그것은 [나노보드도 안드로이드로 전원공급이 가능할까?] 입니다.


어떻게 보면 당연한건데.. 나노보드가 직접 만져보니 상당히 작습니다.(그래도 기능은 잘 동작하죠)


안드로이드용 하드웨어 악세사리 만들려면 크기가 관건인데 유노보드보단 나노보드가 더 좋은 선택일것 같아 


테스트를 해봣습니다.


생각대로 잘되네요. 시리얼 데이터 통신까지는 확인해 보진 않았지만 문제 없이 될겁니다.


뒷면에 보시면 FT232RL칩이 사용되어 있구요. 유노 보드와 동일한 칩인것으로 알고 있습니다.



Posted by 시더
,

안녕하세요 시더입니다. 


오늘은 저번 포스트에 이어서 블루투스 탱크를 완성해 보았습니다.


만드는 중간에 몇가지 문제가 있긴 했지만 무난히 해결했죠. 일단 탱크를 위해서 구입한 물품들입니다. 


중앙에 모터 드라이버랑 오른쪽에 나노보드를 주력으로 사용했죠. 

블루투스는 기존에 구입한것을 활용 했습니다. (은근 비싸더라구요)



동작 테스트는 사진처럼 밑에 휴지심을 놓고 양쪽 모터의 앞뒤 회전 체크를 했습니다. 바닥에 놓고하면 돌아다녀서 

체크하기 힘들더라구요,



 

. 잘 보시면 이상한점이 있을텐데요. 바로 전원 공급 부분이 2군데 라는것.. 모터 드라이버 모듈 때문에 그렇습니다.  소모 전력이 상당히 크더라구요. 


나노보드를 통해서 넘겨받은 전류로는 동작되지 않고 자꾸 리셋되버리더라구요. 컴퓨터로 USB 꼽고 테스트할때는 겨우 동작이 되긴 하는데.. 모터의 속도가 좀 느립니다.


그래서 바로 모터드라이버에 9V를 연결하고 모터드라이버에서 5V를 출력하게 되있어서 그걸 나노보드로 끌어다 동작 시켰더니 잘 움직이네요. 


스마트폰 에서 블루투스를 통해서 컨트롤했는데.. 드리프트는 미리 동작 알고리즘을짜면 비슷하게 흉내는 낼수 있을것 같긴하네요. 블루투스의 데이터 전송속도와 모터드라이브까지 신호가 도달하는데 좀 딜래이가 생기니.. 그점 유의 하셔서 만들면 될것 같습니다.





Posted by 시더
,

안녕하세요 시더입니다.


이번에는 다소 유행이 지난 블루투스 탱크를 만들어 볼까 합니다.


준비물

아두이노 Uno->Nano (크기가 썩 맘에 들지 않더라구요.)

모터 드라이버

블루투스 모듈

스마트폰 - 컨트롤러

탱크 프라 모델   [약 2만원]

접착제 [약 천원]


바로 공동구매를 찾아 봤는데 공동구매 재고가 부족하다는 관계로 아두이노 관련 부품은 구매가 좀 늦어졌네요. 


일단 프라모델 탱크 구입.. 생각보다 쉽게 구할수 있구요. 2채널(바퀴 2개)짜리고 생각 보다 박스가 큽니다.



오픈 사진.. 저기 보이는 리모컨은 포장도 뜯을 필요가 없죠.



일단 하단부를 열심히 조립해 봅니다. 일단 동작부분은 하단부만 있어도 가능하니까요. 

참고로 접착제는 안에 없더라구요. 프라모델 살때 같이 사거나 편의점가서 순간 접착제를 사시면 됩니다.



문뜩 내부 크기가 얼마나 되나 궁금해서 Uno 보드를 넣어봤습니다. 딱 알맞는 사이즈네요 카페에서 추천해주는 이유를 알겠네요. 배터리도 무난하게 들어갑니다만.. 저는 좀더 내부를 활용해볼 예정이나 나노보드를 주문 했습니다.


다음 블로그는 공동구매 부품이 도착하는데로 완성해서 올려 보겠습니다.



Posted by 시더
,

안녕하세요. 시더입니다. 


오늘은 다소 어렵지만 재밌는것을 해보려 합니다.


바로 안드로이드와 아두이노간의 시리얼 통신인데요.. 아이폰은 예전부터 지원됬으나 안드로이드는 지원이 된지


얼마 안된것으로 알고 있습니다. 


-준비물-

아두이노 Uno 

안드로이드 폰 (갤럭시 S3 테스트)

USB B타입 (F) to 마이크로B (M)  젠더나 케이블

기본 설정만 되어 있는 심플한 안드로이드 앱



그럼 시작하도록 하겠습니다.


가장 먼저 https://code.google.com/p/usb-serial-for-android/ 사이트에 접속해주세요.  들어가자 마자 반겨주는것


은 영어입니다. 다른 부분은 천천히 시간나면 읽어 보시구요. 우리는 빠른 진행을 위해서 ...Quick Start 을 읽어


줍니다.


Quick Start

1. Download usb-serial-for-android-v010.jar

// 저 jar 파일은 다운 받아주시구요.

2. Copy the jar to your Android project's libs/ directory. (See Android's FAQ for help).

// 여러분이 만든 안드로이드 프로젝트의 libs/ 디렉토리에 저장하세요.

3. Copy device_filter.xml to your project's res/xml/ directory.

// 그다음에 요 xml 파일은 다운받아서 res/xml/ 디렉토리에 저장하세요. 이 폴더는 기본 생성시 없으니 xml 폴더 추가해주시구요.

4. Configure your AndroidManifest.xml to notify your app when a device is attached (see Android USB Host documentation for help).

// 그리고 안드로이디 매니페스트.xml 파일에 해당 부분의 소스를 넣어줍니다.


<activity
   
android:name="..."
    ...
>
 
<intent-filter>
   
<action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
 
</intent-filter>
 
<meta-data
     
android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"
     
android:resource="@xml/device_filter" />
</activity>

이 부분을 넣어 주시면 되는데요. 일단 간단하게 설명하자면.. 메인 엑티비티 부분에 저 부분을 넣어주면 됩니다.


5. Use it! Example code snippet:

// 밑의 소스를 사용하면 됩니다.

// Get UsbManager from Android.
UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE);

// Find the first available driver.
UsbSerialDriver driver = UsbSerialProber.acquire(manager);

if (driver != null) {
  driver
.open();
 
try {
    driver
.setBaudRate(115200);
   
   
byte buffer[] = new byte[16];
   
int numBytesRead = driver.read(buffer, 1000);
   
Log.d(TAG, "Read " + numBytesRead + " bytes.");
 
} catch (IOException e) {
   
// Deal with error.
 
} finally {
    driver
.close();
 
}
}


위의 소스를 메인 엑티비티에서 적절히 넣고 활용해 주시면 됩니다. 간혹 driver 값을 인식이 잘 되지 않는경우가 있는 그럴 때는 아두이노 부분도 확인을 해보시는것이 좋습니다.


프로젝트 결과 화면





음.. 안드로이드 와 아두이노 두개의 연동이 이제 가능해 졌네요. 저 작은 부품(젠더)만 있으면 말이죠. 가격도 


비싸지 않은 편이라 부담없이 도전해볼만 하다고 생각합니다만 그.. 안드로이드가 익숙하지 않은 분들은 난이


도가 조금 높게 느껴지실 겁니다


p.s: https://code.google.com/p/usb-serial-for-android/ 주소에서  지원되는 usb 변환 칩과 지원가능한 기기 목록이 적혀있으니 이부분도 확인해보세요. 

Posted by 시더
,