BASIC4MCU | 질문게시판 | 답변 : 아두이노 이더넷 통신문제!
페이지 정보
작성자 master 작성일2018-05-02 18:41 조회7,218회 댓글2건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=662
작성일
본문
// MCU BASIC: https://www.basic4mcu.com// DateTime : 2018-05-02 오후 6:44:03// by Ok-Hyun Park//#include <SPI.h>#include <Ethernet.h>//byte mac[]={0xDE,0xAD,0xBE,0xEF,0xFE,0xED };//IPAddress ip(192,168,0,10);IPAddress ip(127,0,0,1);EthernetClient client;char server[]="123.212.43.236"; // name address for Google(using DNS)int button=6;int var=0;String speedStr;//void setup(){Serial.begin(9600);pinMode(2,OUTPUT); pinMode(6,INPUT_PULLUP);// start the Ethernet connection:while(1){delay(1000);if(Ethernet.begin(mac)==0){Serial.println("Failed to configure Ethernet using DHCP");Ethernet.begin(mac,ip);}else{ break; }}while(1){delay(1000);Serial.println("connecting...");if(client.connect(server,4300)){ Serial.println("연결 성공"); client.setTimeout(10); break; }else { Serial.println("연결 실패"); }}}//void loop(){int btnClick=digitalRead(button);if(btnClick==0){if(var==0){ client.print("ok"); var=1; }}else if(btnClick==1){ if(var==1)var=0; }//if(client.available()){speedStr=client.readString(); Serial.println(speedStr);int speed=speedStr.toInt(); analogWrite(3,speed); delay(500); analogWrite(3,0);}}
연결이 될 때까지 딜레이를 추가해서 무한루프 돌려보세요
댓글 2
조회수 7,218cho11님의 댓글
cho11 작성일
계속 체크를 해보고 있는데 일단 소스문제는 둘째치고
어댑터를 뺐다가 다시 연결했을때 이더넷쉴드 기판에 PWR부분에 빨간불만 들어오고 나머지는 불이 다 안들어옵니다 그 상태에서 이더넷쉴드에 리셋버튼을 누르면 나머지 불이 들어오고 정상적으로 작동되네요..
왜 이런 현상이 있는지 모르겠네요..
master님의 댓글
master
아답터를 뺐을 때
아두이노는 리셋되고, 쉴드는 리셋되지 않아서 발생하는 문제 같은데요
전압이 완전히 내려가도록 잠시 기다린 후에 아답터를 다시 꼽아보세요
//
아두이노에서 쉴드의 리셋을 강제로 시킬 수 있다면 뺏다가 빨리 꼽아도 되겠습니다.