For this tutorial, you’ll need:
Watch this full video:
First Version of Code:
void setup()
{
Serial.begin(9600);
for (int thisPin = 2; thisPin < 7; thisPin++)
{
pinMode(thisPin, OUTPUT);
}
}
void loop()
{
if (Serial.available() > 0)
{
int inByte = Serial.read();
switch (inByte)
{
case 97: //a = 97
Serial.println("You've entered a");
digitalWrite(2, HIGH);
delay(2000);
break;
case 98:
digitalWrite(3, HIGH);
Serial.println("You've entered b");
break;
case 99:
digitalWrite(4, HIGH);
Serial.println("You've entered c");
break;
case 100:
digitalWrite(5, HIGH);
Serial.println("You've entered d");
break;
case 101:
digitalWrite(6, HIGH);
Serial.println("You've entered e");
break;
default:
for (int thisPin = 2; thisPin < 7; thisPin++)
{
digitalWrite(thisPin, LOW);
}
break;
}
}
}
Second Version of Code:
int i = 0;
int enter =0;
int done = 0;
char wordFromUser[100];
void setup()
{
// initialize serial communication:
Serial.begin(9600);
// initialize the LED pins:
}
// A = 65 Z = 90 a = 97 z = 122 ? = 63 end of the line (enter) = 10
void loop()
{
if(done ==0)
{
memset(wordFromUser, 0, sizeof(wordFromUser)); //Clear the table
}
while(enter ==0)
{
if (Serial.available() > 0)
{
int inByte = Serial.read();
if(inByte ==10)
{
enter =1;
done=1;
}
else
{
wordFromUser[i]=inByte;
i=i+1;
}
}
}
if(enter==1)
{
String stringUser = String(wordFromUser);
if(stringUser.equals("Hello")) //case sensitive hello doesn't work
{
Serial.println("Ahlan");
i=0;
enter =0;
done =0;
}
if(stringUser.equals("Kifik?"))
{
Serial.println("Mniha w inta?");
i=0;
enter =0;
done =0;
}
if(stringUser.equals("Hamdellah"))
{
Serial.println("Good!");
i=0;
enter =0;
done =0;
}
if(stringUser.equals("Chou fike Ta3mle?"))
{
Serial.println("Natretak t2ele...");
i=0;
enter =0;
done =0;
}
if(stringUser.equals("Bye"))
{
Serial.println("Allah ma3ak, ntebih 3al tari2 inta w rayi7, Iza lta2et bel 3askar l 3esmene ma tghayir tari2ak, 3am bi la2to s3edin");
i=0;
enter =0;
done =0;
}
}
}