반응형

 

 

아두이노에 LED를 연결해서 시리얼로 특정 문자열을 입력하면 켜고 끄는 것을 구현했습니다. 다른 장치들을 더 붙이고 사용 가능한 명령어들을 더 만들면 다양한 활용이 가능할 듯합니다.

 

실행결과

turn on을 입력하면 LED를 켜줍니다.

 

led off를 입력하면 LED를 꺼버립니다.

 

엉뚱한 문자열을 입력하면 입력 가능한 명령들을 알려줍니다.

 

소스코드

  1. int ledPIN = 10;  
  2. char ledStatus = LOW;  
  3.     
  4. void setup() {  
  5.   // put your setup code here, to run once:  
  6.   Serial.begin(9600);  
  7.   pinMode( ledPIN, OUTPUT );  
  8. }  
  9.     
  10. String readSerial()  
  11. {  
  12.     String str = "";  
  13.     char ch;  
  14.     
  15.     while( Serial.available() > 0 )  
  16.     {  
  17.       ch = Serial.read();  
  18.       str.concat(ch);  
  19.       delay(10);  
  20.     }  
  21.     
  22.     return str;    
  23. }  
  24.     
  25. void loop() {  
  26.   // put your main code here, to run repeatedly:   
  27.   String str;  
  28.    digitalWrite( ledPIN, ledStatus );  
  29.        
  30.   str = readSerial();  
  31.   if ( str == "" )  
  32.     ;  
  33.   else if (str=="turn off")  
  34.   {      
  35.     Serial.println(str);  
  36.     ledStatus = LOW;  
  37.   }  
  38.   else if (str=="turn on")  
  39.   {  
  40.     Serial.println(str);  
  41.     ledStatus = HIGH;  
  42.   }    
  43.   else{  
  44.     Serial.println( "-----------------" );  
  45.     Serial.println( "available command:" );  
  46.     Serial.println( "turn on" );  
  47.     Serial.println( "turn off" );  
  48.     Serial.println( "-----------------" );  
  49.   }  
  50. }  

 

 

참고

http://stackoverflow.com/questions/5697047/convert-serial-read-into-a-useable-string-using-arduino

http://arduino.cc/en/Reference/StringObject

반응형

문제 발생시 지나치지 마시고 댓글 남겨주시면 가능한 빨리 답장드립니다.


제가 쓴 책도 한번 검토해보세요 ^^

+ Recent posts