Sei que niguém vai responder, porém n custa tentar ¬¬...
Meu script python está lendo o serial e imprimindo estranho, eis meu código:
import serial
porta = serial.Serial('COM5')
print("Comunicação iniciada com:",porta.name)
while True:
msg = porta.readline()
print(msg)
e este é o resultado:
Comunicação iniciada com: COM5
b'Teclado 4x4\r\n'
b'Aguardando acionamento das teclas...\r\n'
b'\r\n'
há antes que eu me esqueça, estou comunicando com o meu Arduíno, no monitor da IDE fica normal sem b' ou \r\n'
aqui está meu código do arduino:
int pinosLinhas[] = {2,3,4,5};
int pinosColunas[] = {6,7,8};
char teclas[4][3] = {{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'*','0','#'}};
void setup()
{
for (int nL = 0; nL <= 3; nL++) {
pinMode(pinosLinhas[nL], OUTPUT);
digitalWrite(pinosLinhas[nL], HIGH);
}
for (int nC = 0; nC < 3; nC++) {
pinMode(pinosColunas[nC], INPUT_PULLUP);
}
Serial.begin(9600);
Serial.println("Teclado 4x4");
Serial.println("Aguardando acionamento das teclas...");
Serial.println();
}
void loop()
{
//faz varredura em todas as linhas, desligando uma de cada vez
for (int nL = 0; nL <= 3; nL++)
{
digitalWrite(pinosLinhas[nL], LOW);
//faz varredura em todas as colunas verificando se tem algum botao apertado
for (int nC = 0; nC < 3; nC++) {
if (digitalRead(pinosColunas[nC]) == LOW)
{
Serial.println(teclas[nL][nC]);
while(digitalRead(pinosColunas[nC]) == LOW){}
}
}
digitalWrite(pinosLinhas[nL], HIGH);
}
delay(10);
}