블로그 검색
AVR 명령어 검색
전자부품 검색

전에 구입했던 WIZ811MJ 모듈을 써먹어보려고 하다보니 느러져 있는 선들이 불편해서
간단하게나마 쉴드처럼 만들어보기로 했습니다.
2009/06/08 - 아두이노를 인터넷에 연결해보자 - arduino ethernet shield 호환모듈 WIZ811MJ
2009/05/19 - arduino에 사용가능한 이더넷 모듈

배선만 핀에 맞추어 연결해주면 되기 때문에 최소한의 만능기판과 핀헤더만으로 만들었습니다.
그래서 모양새는 좀 허접합니다. ^^;;;

바깥쪽은 아두이노에 꽂을 핀, 안쪽은 WIZ811MJ에 꽂을 핀헤더 입니다.

만능기판이 양면이 아니라서 핀헤더도 저렇게 연결했네요.

와이어가 겹치면 납땜하다 겹치는 부분이 자꾸 쇼트가 나네요.
동작을 안해서 테스터기로 확인해보면 어김없이 쇼트가 있더군요. 그래서 저 모냥이 됐습니다.
피복이 생각보다 잘 녹나봐요.

저렇게 합체가 되고요.




합체전...

최종 아두이노에 합체한 사진입니다.



요렇게 합체를 해놓고 전원과 랜선을 연결해주면 인터넷으로 접근이 가능합니다.

아무래도 에칭을 못하다보니 만능기판을 자주 사용하게 되네요. 만능기판은 홀위치가 정해저있어 위치가 않맞을 경우도 종종있지만 그냥 쓰고 있습니다. ^^;
만능기판옥션에서 여러가지 팔더군요. 저는 특히 휘어지는 것들이 맘에 들던데...
가격이 그리 만만치는 않지요 ^^;;;

자 이제 무슨 프로그램을 올려볼까요? ^^


Posted by pepsiman
comments powered by Disqus
2009/05/19 arduino에 사용가능한 이더넷 모듈에서 소개했던 WIZ811MJ이 도착했습니다.
사실 벌써 도착했는데 만질 시간이 없어서 못하고 있었다는...

보시다 시피 썰렁하게 연결되어 있는데, 간단한 연결(6핀)만으로 아두이노를 인터넷에 연결이 가능합니다.

사진과 같이 연결하였고, 연결은 엉성해도 동작은 잘 되더군요. ^^

필요한 핀에만 소켓을 끼웠습니다.

많은 핀중에 6개만 사용하면 됩니다. 나머지 하나는 리셋핀....

조그만한게 귀엽게 생겼죠? ^^;


WIZ811MJ 모델은 2.54mm 간격의 40핀으로 핀이 구성되어 있습니다. 듀얼핀이라 브레드보드에 직접은 안되네요.
아두이노와 각 핀의 연결은 위의 그림과 같이 D10~D13, 3V3, GND 6개의 핀을 연결합니다.
아두이노 두에밀라노브(데시밀라)에는 3.3v 출력이 있어서 직접 연결이 가능합니다.



WIZ811MJ는 arduino ethernet shield와 같은 칩을 사용하기 때문에 라이브러리도 호환된다는것이 최대 장점이라고 할 수 있습니다. 이미 만들어져 있는 아두이노 이더넷 라이브러리를 가져다 쓰기만 하면 됩니다. 예제까지도....

아두이노 소스는 아두이노 웹서버로  Examples/Library-Ethernet/WebServer 에 있는 예제를 사용해봤습니다.

/*
 * Web Server
 *
 * A simple web server that shows the value of the analog input pins.
 */

#include 

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192, 168, 0, 20 };

Server server(80);

void setup()
{
  Ethernet.begin(mac, ip);
  server.begin();
}

void loop()
{
  Client client = server.available();
  if (client) {
    // an http request ends with a blank line
    boolean current_line_is_blank = true;
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        // if we've gotten to the end of the line (received a newline
        // character) and the line is blank, the http request has ended,
        // so we can send a reply
        if (c == '\n' && current_line_is_blank) {
          // send a standard http response header
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
          client.println();
          
          // output the value of each analog input pin
          for (int i = 0; i < 6; i++) {
            client.print("analog input ");
            client.print(i);
            client.print(" is ");
            client.print(analogRead(i));
            client.println("
"); } break; } if (c == '\n') { // we're starting a new line current_line_is_blank = true; } else if (c != '\r') { // we've gotten a character on the current line current_line_is_blank = false; } } } // give the web browser time to receive the data delay(1); client.stop(); } }
소스중 위의 mac과 ip 부분은 자신에 맞게 수정해야 합니다.

WIZ811MJ는 DHCP를 지원하지 않는데, 아마도 DHCP기능이 없어서 그냥은 연결이 안되는듯합니다.
소스의 빨간색부분을 공유기의 IP 수동할당에 추가하고, 오른쪽에 추가버튼을 누르면 왼쪽에 추가 됩니다.


브라우저에서 설정한 IP로 아두이노에 접속한 모습입니다. 아날로그 핀의 값을 출력하는 웹서버 프로그램입니다.

이제 아두이노에 달린 날개를 잘 활용하는 일만 남았네요. ^^
Posted by pepsiman
comments powered by Disqus

티스토리 툴바