아두이노 소스코드 ( 엄청 간단 ㅎㅎㅎ)
const int TableLength =10;
String table[TableLength][2]={
{"그만","대기모드로 전환합니다."}, // KryWord , 대답
{"모델","Arduino Uno 입니다."},
{"이름","AI 진이입니다."},
{"안녕","네 안녕하세요."},
{"나이","1살입니다."},
{"성별","여자입니다."},
{"여자","여자입니다."},
{"남자","여자입니다."},
{"속도","연결속도는 시리얼통신 방식으로 속도는 9600입니다."},
{"연결","연결속도는 시리얼통신 방식으로 속도는 9600입니다."}
};
boolean firstMsgGet=true; // 프로그램 가동(대기 상태에서)하고 첫번째 메세지 인가요?
void setup()
{
Serial.begin(9600);
}
void loop()
{
String s="";
boolean notFound;
if( Serial.available() )
{
notFound=true;
if(firstMsgGet) // 첫번째 메세지 받으면 자기 소개 하기
{
Serial.println("저는 아두이노 인공지능 진이 Ver 0.000001입니다.");
firstMsgGet=false;
}
s=Serial.readString();
for( int i=0;i< TableLength ; i++)
{
if ( s.lastIndexOf( table[i][0] ) > -1) // KeyWord가 포함된 문장 인가
{
Serial.println(table[i][1]);
if( i==0 ) firstMsgGet=true; // 그만 입력되면 대기모드
notFound=false;
break;
}
}
if( notFound) Serial.println("이해하지 못했어요. 아직 경험치가 낮은 진이입니당.");
}
} //llop