Limpar string lida da serial port

212 views
Skip to first unread message

Rodrigo Pinheiro

unread,
Jul 27, 2015, 9:03:13 AM7/27/15
to Python Brasil, Fernando Pinheiro

Olá pessoal, estou tentando ler valores através da porta serial vindos do arduino. O objetivo é ler dados dos eixos X e Y de um acelerômetro, o problema e que os dados vem com uma certa “sujeira” por exemplo, caracteres de quebra de linha “\n” e carriage return “\r” e algumas vezes valores nulos.

Gostaria de filtrar esses valores e pegar apenas os valores inteiros X e Y para passa-los a função setcursor() do modulo win32 (estou tentando fazer um mouse com acelerômetro). Segue o código que estou usando:::



Eduardo Klosowski

unread,
Jul 27, 2015, 10:00:17 AM7/27/15
to python...@googlegroups.com
Para limpar os caracteres de espaço antes e depois de uma string você
pode utilizar o .strip(), por exemplo: x = x.decode('utf-8').strip().

Outro problema é que você está passando x e y como listas e não como
int. O certo seria:
y = x[1]
x = x[0]
ou apenas:
x, y = x[:2]

Só não consigo te ajudar mais por não saber qual o formato dos dados que
o arduino está enviando na serial, manda um exemplo do monitor da serial
da IDE do arduino.

Blog: https://eduardoklosowski.wordpress.com/
GitHub: https://github.com/eduardoklosowski/
> <https://lh3.googleusercontent.com/-2XCY94JYZRQ/VbGyD0dQEbI/AAAAAAAAAFE/43HUj8QnN6g/s1600/mouse.png>
>
> <https://lh3.googleusercontent.com/-bbrO9_R3x9E/VbGyNY7Bq0I/AAAAAAAAAFM/P1yWqwa5Ds8/s1600/mouse1.png>
>
> <https://lh3.googleusercontent.com/-SAc7lRUIZrA/VbGySFZWoRI/AAAAAAAAAFU/FysA4cMI3b0/s1600/mouse2.png>
>
>
> --
> --
> ------------------------------------
> Grupo Python-Brasil
> http://www.python.org.br/wiki/AntesDePerguntar
>
> <*> Para visitar o site do grupo na web, acesse:
> http://groups.google.com/group/python-brasil
>
> <*> Para sair deste grupo, envie um e-mail para:
> python-brasi...@googlegroups.com
>
> ---
> Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil"
> dos Grupos do Google.
> Para cancelar inscrição nesse grupo e parar de receber e-mails dele,
> envie um e-mail para python-brasi...@googlegroups.com
> <mailto:python-brasi...@googlegroups.com>.
> Para mais opções, acesse https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages