반응형

 

 

아두이노에 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

반응형

해보고 확인한 것을 문서화하여 기록합니다.
최소 일주일에 한번 이상 포스트를 하려고 노력중입니다.

부족함이 있지만 도움이 되었으면 합니다.
잘못된 부분이나 개선점을 알려주시면 감사하겠습니다.



포스트 작성시에는 문제 없었지만 이후 문제가 생길 수 있습니다.
시간날때 마다 이전 포스트가 문제 있는지 확인을 해보려고 노력하고 있습니다.
질문을 남겨주면 가능한 빨리 답변드립니다.


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

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기

댓글을 달아 주세요

">
  1. thumbnail
    Favicon of https://noel-embedded.tistory.com BlogIcon 수리노을

    감사합니다^^