#include <SoftwareSerial.h>
//#include <Servo.h> add + tarde
char poss[2] = {'0','1'};
char linha1a[96] = {'1','1','1','1','1',
'1','1','1','0','0',
'1','1','1','1','1',
'1','1','1','0','0',
'1','1','0','1','1',
'1','0','1','1','0',
'0','0','1','1','1',
'0','0','1','1','0',
'0','0','0','0','0',
'0','1','1','1','1',
'1','1','1','1','1',
'0','0','1','1','1',
'1','1','1','1','1',
'0','0','1','1','0',
'1','1','1','1','1',
'0','0','0','1','1',
'1','0','0','1','1',
'1','1','1','1','1',
'1','1','1','0','0',
'1'};
char linha1b[96] = {'0','0','1','1','0',
'1','1','0','1','1',
'0','0','1','1','0',
'1','1','0','1','1',
'0','0','1','1','1',
'0','0','0','1','1',
'1','1','0','0','1',
'1','1','1','0','0',
'0','0','0','0','0',
'0','1','0','0','1',
'1','0','1','1','0',
'1','1','0','0','1',
'1','0','1','1','0',
'1','1','0','0','1',
'1','1','0','0','1',
'1','1','1','0','0',
'1','1','1','1','0',
'0','0','1','1','0',
'1','1','0','1','1',
'1'};
char linha2a[96] = {'0','1','0','0','0',
'1','1','1','1','1',
'0','1','0','0','0',
'1','1','1','1','1',
'0','1','1','0','0',
'0','0','1','1','0',
'0','1','0','1','0',
'0','1','1','1','0',
'1','1','1','1','0',
'1','1','0','1','0',
'0','0','1','1','1',
'1','1','0','1','0',
'0','0','1','1','1',
'1','1','0','1','1',
'0','0','0','1','1',
'0','0','1','0','1',
'0','0','1','1','1',
'0','1','0','0','0',
'1','1','1','1','1',
'1'};
char linha2b[96] = {'0','0','0','1','1',
'0','1','1','0','1',
'0','0','0','1','1',
'0','1','1','0','1',
'0','0','1','0','1',
'1','0','1','1','0',
'0','1','0','0','1',
'1','0','0','1','0',
'0','1','0','0','0',
'1','0','0','0','0',
'1','1','0','1','1',
'0','1','0','0','0',
'1','1','0','1','1',
'0','1','0','0','1',
'0','1','1','1','1',
'0','0','1','0','0',
'1','1','0','0','1',
'0','0','0','1','1',
'0','1','1','0','1',
'0'};
char linha3a[96] = {'0','0','0','0','0',
'0','0','0','0','0',
'1','1','1','1','1',
'1','1','1','1','1',
'1','1','0','1','1',
'1','0','1','1','1',
'1','1','0','0','0',
'1','0','0','0','1',
'0','1','0','1','1',
'0','1','0','0','0',
'0','0','0','0','0',
'0','0','1','1','1',
'1','1','1','1','1',
'1','1','1','1','0',
'1','1','1','1','1',
'1','1','1','0','0',
'0','1','0','0','0',
'0','0','0','0','0',
'0','0','0','0','0',
'1'};
char linha3b[96] = {'0','0','0','0','0',
'0','0','0','0','0',
'0','0','0','0','0',
'0','0','0','0','0',
'1','1','1','1','1',
'1','0','1','1','0',
'1','1','1','1','1',
'0','1','1','1','0',
'0','0','1','0','1',
'0','1','0','0','0',
'0','0','0','0','0',
'0','0','0','0','0',
'0','0','0','0','0',
'0','0','1','1','1',
'1','1','1','1','1',
'0','1','1','1','1',
'1','0','1','1','1',
'0','0','0','0','0',
'0','0','0','0','0',
'1'};
char linha4a[96] = {'0','0','0','0','0',
'0','0','0','0','0',
'0','0','0','0','0',
'0','0','0','0','0',
'0','0','0','0','0',
'0','0','0','0','0',
'0','0','0','0','0',
'0','0','0','0','0',
'0','0','0','0','0',
'0','0','1','1','1',
'1','1','1','1','1',
'1','1','1','1','1',
'1','1','1','1','1',
'1','1','1','1','1',
'1','1','1','1','1',
'1','1','1','1','1',
'1','1','1','1','1',
'0','0','0','0','0',
'0','0','0','0','0',
'1'};
char linha4b[96] = {'0','0','0','0','0',
'0','0','0','0','0',
'0','0','0','0','0',
'0','0','0','0','0',
'0','0','0','0','0',
'0','0','0','0','0',
'0','0','0','0','0',
'0','0','0','0','0',
'0','0','0','0','0',
'0','0','0','0','0',
'0','0','0','0','0',
'0','0','0','0','0',
'0','0','0','0','0',
'0','0','0','0','0',
'0','0','0','0','0',
'0','0','0','0','0',
'0','0','0','0','0',
'1','1','1','1','1',
'1','1','1','1','1',
'0'};
char caractere[96] = {'a','b','c','d','e',
'f','g','h','i','j',
'k','l','m','n','o',
'p','q','r','s','t',
'u','v','w','x','y',
'z',' ','á','é','í',
'ó','ú','â','ê','ô',
'ã','õ','à','ü','.',
',','!','?',';','-',
':','ç','A','B','C',
'D','E','F','G','H',
'I','J','K','L','M',
'N','O','P','Q','R',
'S','T','U','V','W',
'X','Y','Z','Á','É',
'Í','Ó','Ú','Â','Ê',
'Ô','Ã','Õ','À','Ü',
'1','2','3','4','5',
'6','7','8','9','0',
'Ç'};
String nome;
void setup()
{
pinMode(8, INPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
//servo.attach(9); add + tarde
Serial.begin(9600);
}
void loop()
{
if(digitalRead(8) == HIGH)
{
Serial.println("Digite a frase:\n");
while(Serial.available() == 0){}
nome = Serial.readString();
Serial.println("Frase em braille:\n");
for(int a = 0; nome[a] != 0; a++)
{
for(int b = 0; caractere[b] != 0; b++)
{
if(nome[a] == caractere[b])
{
Serial.print(linha1a[b]);
Serial.print(linha1b[b]);
Serial.print("\n");
Serial.print(linha2a[b]);
Serial.print(linha2b[b]);
Serial.print("\n");
Serial.print(linha3a[b]);
Serial.print(linha3b[b]);
Serial.print("\n");
Serial.print(linha4a[b]);
Serial.print(linha4b[b]);
Serial.print("\n\n");
if(linha1a[b] == poss[0])
{
if(linha2a[b] == poss[0])
{
if(linha3a[b] == poss[0])
{
if(linha4a[b] == poss[0])
{
digitalWrite(10, LOW);
digitalWrite(11, LOW);
digitalWrite(12, LOW);
digitalWrite(13, LOW);
delay(1500);
}
if(linha4a[b] == poss[1])
{
digitalWrite(10, LOW);
digitalWrite(11, LOW);
digitalWrite(12, LOW);
digitalWrite(13, HIGH);
delay(1500);
}
}
if(linha3a[b] == poss[1])
{
if(linha4a[b] == poss[0])
{
digitalWrite(10, LOW);
digitalWrite(11, LOW);
digitalWrite(12, HIGH);
digitalWrite(13, LOW);
delay(1500);
}
if(linha4a[b] == poss[1])
{
digitalWrite(10, LOW);
digitalWrite(11, LOW);
digitalWrite(12, HIGH);
digitalWrite(13, HIGH);
delay(1500);
}
}
}
if(linha2a[b] == poss[1])
{
if(linha3a[b] == poss[0])
{
if(linha4a[b] == poss[0])
{
digitalWrite(10, LOW);
digitalWrite(11, HIGH);
digitalWrite(12, LOW);
digitalWrite(13, LOW);
delay(1500);
}
if(linha4a[b] == poss[1])
{
digitalWrite(10, LOW);
digitalWrite(11, HIGH);
digitalWrite(12, LOW);
digitalWrite(13, HIGH);
delay(1500);
}
}
if(linha3a[b] == poss[1])
{
if(linha4a[b] == poss[0])
{
digitalWrite(10, LOW);
digitalWrite(11, HIGH);
digitalWrite(12, HIGH);
digitalWrite(13, LOW);
delay(1500);
}
if(linha4a[b] == poss[1])
{
digitalWrite(10, LOW);
digitalWrite(11, HIGH);
digitalWrite(12, HIGH);
digitalWrite(13, HIGH);
delay(1500);
}
}
}
}
if(linha1a[b] == poss[1])
{
if(linha2a[b] == poss[0])
{
if(linha3a[b] == poss[0])
{
if(linha4a[b] == poss[0])
{
digitalWrite(10, HIGH);
digitalWrite(11, LOW);
digitalWrite(12, LOW);
digitalWrite(13, LOW);
delay(1500);
}
if(linha4a[b] == poss[1])
{
digitalWrite(10, HIGH);
digitalWrite(11, LOW);
digitalWrite(12, LOW);
digitalWrite(13, HIGH);
delay(1500);
}
}
if(linha3a[b] == poss[1])
{
if(linha4a[b] == poss[0])
{
digitalWrite(10, HIGH);
digitalWrite(11, LOW);
digitalWrite(12, HIGH);
digitalWrite(13, LOW);
delay(1500);
}
if(linha4a[b] == poss[1])
{
digitalWrite(10, HIGH);
digitalWrite(11, LOW);
digitalWrite(12, HIGH);
digitalWrite(13, HIGH);
delay(1500);
}
}
}
if(linha2a[b] == poss[1])
{
if(linha3a[b] == poss[0])
{
if(linha4a[b] == poss[0])
{
digitalWrite(10, HIGH);
digitalWrite(11, HIGH);
digitalWrite(12, LOW);
digitalWrite(13, LOW);
delay(1500);
}
if(linha4a[b] == poss[1])
{
digitalWrite(10, HIGH);
digitalWrite(11, HIGH);
digitalWrite(12, LOW);
digitalWrite(13, HIGH);
delay(1500);
}
}
if(linha3a[b] == poss[1])
{
if(linha4a[b] == poss[0])
{
digitalWrite(10, HIGH);
digitalWrite(11, HIGH);
digitalWrite(12, HIGH);
digitalWrite(13, LOW);
delay(1500);
}
if(linha4a[b] == poss[1])
{
digitalWrite(10, HIGH);
digitalWrite(11, HIGH);
digitalWrite(12, HIGH);
digitalWrite(13, HIGH);
delay(1500);
}
}
}
}
if(linha1b[b] == poss[0])
{
if(linha2b[b] == poss[0])
{
if(linha3b[b] == poss[0])
{
if(linha4b[b] == poss[0])
{
digitalWrite(10, LOW);
digitalWrite(11, LOW);
digitalWrite(12, LOW);
digitalWrite(13, LOW);
delay(1500);
}
if(linha4b[b] == poss[1])
{
digitalWrite(10, LOW);
digitalWrite(11, LOW);
digitalWrite(12, LOW);
digitalWrite(13, HIGH);
delay(1500);
}
}
if(linha3b[b] == poss[1])
{
if(linha4b[b] == poss[0])
{
digitalWrite(10, LOW);
digitalWrite(11, LOW);
digitalWrite(12, HIGH);
digitalWrite(13, LOW);
delay(1500);
}
if(linha4b[b] == poss[1])
{
digitalWrite(10, LOW);
digitalWrite(11, LOW);
digitalWrite(12, HIGH);
digitalWrite(13, HIGH);
delay(1500);
}
}
}
if(linha2b[b] == poss[1])
{
if(linha3b[b] == poss[0])
{
if(linha4b[b] == poss[0])
{
digitalWrite(10, LOW);
digitalWrite(11, HIGH);
digitalWrite(12, LOW);
digitalWrite(13, LOW);
delay(1500);
}
if(linha4b[b] == poss[1])
{
digitalWrite(10, LOW);
digitalWrite(11, HIGH);
digitalWrite(12, LOW);
digitalWrite(13, HIGH);
delay(1500);
}
}
if(linha3b[b] == poss[1])
{
if(linha4b[b] == poss[0])
{
digitalWrite(10, LOW);
digitalWrite(11, HIGH);
digitalWrite(12, HIGH);
digitalWrite(13, LOW);
delay(1500);
}
if(linha4b[b] == poss[1])
{
digitalWrite(10, LOW);
digitalWrite(11, HIGH);
digitalWrite(12, HIGH);
digitalWrite(13, HIGH);
delay(1500);
}
}
}
}
if(linha1b[b] == poss[1])
{
if(linha2b[b] == poss[0])
{
if(linha3b[b] == poss[0])
{
if(linha4b[b] == poss[0])
{
digitalWrite(10, HIGH);
digitalWrite(11, LOW);
digitalWrite(12, LOW);
digitalWrite(13, LOW);
delay(1500);
}
if(linha4b[b] == poss[1])
{
digitalWrite(10, HIGH);
digitalWrite(11, LOW);
digitalWrite(12, LOW);
digitalWrite(13, HIGH);
delay(1500);
}
}
if(linha3b[b] == poss[1])
{
if(linha4b[b] == poss[0])
{
digitalWrite(10, HIGH);
digitalWrite(11, LOW);
digitalWrite(12, HIGH);
digitalWrite(13, LOW);
delay(1500);
}
if(linha4b[b] == poss[1])
{
digitalWrite(10, HIGH);
digitalWrite(11, LOW);
digitalWrite(12, HIGH);
digitalWrite(13, HIGH);
delay(1500);
}
}
}
if(linha2b[b] == poss[1])
{
if(linha3b[b] == poss[0])
{
if(linha4b[b] == poss[0])
{
digitalWrite(10, HIGH);
digitalWrite(11, HIGH);
digitalWrite(12, LOW);
digitalWrite(13, LOW);
delay(1500);
}
if(linha4b[b] == poss[1])
{
digitalWrite(10, HIGH);
digitalWrite(11, HIGH);
digitalWrite(12, LOW);
digitalWrite(13, HIGH);
delay(1500);
}
}
if(linha3b[b] == poss[1])
{
if(linha4b[b] == poss[0])
{
digitalWrite(10, HIGH);
digitalWrite(11, HIGH);
digitalWrite(12, HIGH);
digitalWrite(13, LOW);
delay(1500);
}
if(linha4b[b] == poss[1])
{
digitalWrite(10, HIGH);
digitalWrite(11, HIGH);
digitalWrite(12, HIGH);
digitalWrite(13, HIGH);
delay(1500);
}
}
}
}
}
}
}
}
}