Esse artigo faz parte da revista .NET Magazine edição 57. Clique aqui para ler todos os artigos desta edição

 

-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt" vAlign=top width=575>

Neste artigo veremos

·         Montagem de um motor a ser controlado pelo computador;

·         Como controlar um robô através da porta paralela;

·         Ativar comandos de voz que controlam o robô.

Qual a finalidade

·         Integração do hardware com comando de voz.

Quais situações utilizam esses recursos?

·         Aplicações residenciais e industriais.

 

Resumo do DevMan

Cada vez mais os robôs farão parte de nossas vidas. Mecanismos de automação são uma realidade cada vez mais presente e neste artigo veremos como controlar um motor por comandos de voz.

 

No artigo anterior vimos como fazer uma simulação de um robô, utilizando o Robotic Studio e integrando-o com uma aplicação construída no Visual Studio. Aprendemos que simulações de robôs permitem que uma equipe trabalhe em um mesmo projeto de forma ágil com uma incrível redução de custo, pois nenhum grande investimento inicial é necessário.

Neste artigo vamos deixar um pouco o mundo da simulação e faremos um "hello world" (olá mundo) de um robô *real*. Nosso robô será representado por um motor, e será controlado através de comandos de voz utilizando o Speech SDK. Será possível rotacionar o motor no sentido horário e anti-horário, além de controlar a velocidade e o ângulo de rotação. Embora bem simples, este exemplo pode servir de base para um robô mais sofisticado, ou utilizado em uma automação residencial ou industrial controlada por comandos de voz.

No site da .Net Magazine há disponível um vídeo que fiz com o motor em funcionamento, inclusive com os comando de voz. Se quiser, veja o vídeo antes de “sujarmos nossas mãos” com o código.

Motor de Passo

Antes de construirmos o robô, vamos conhecer um pouco sobre motor de passo. Todos conhecemos o funcionamento de uma bússola, correto? É um metal, apoiado no centro permitindo uma mobilidade de 360 graus. Como a terra possui campos magnéticos a bússola aponta sempre para o pólo magnético, permitindo assim uma orientação geográfica. Imagine se tivéssemos a capacidade de girar este pólo magnético. Certamente o ferro da bússola iria girar, conforme o pólo fosse girando. Se você quiser fazer uma experiência, aproxime um imã perto da bússola. Ela se orientará de acordo com a posição do imã, pois sua força magnética passa a ser mais intensa sobre a bússola do que a força imposta pelo campo magnético terrestre. Se girarmos o imã ao redor da bússola, fazendo uma volta completa, o ferro central da bússola também girará, acompanhando o imã. Este é o mesmo princípio de funcionamento do motor de passo. Em termos gerais, existem imãs dentro do motor de passos que podem ser ativados ou desativados. Quando ativados e desativados em seqüência, ele permite que o eixo rotacione, girando assim o motor. Este funcionamento será explorado neste artigo.

 

Porta paralela

Vamos entender também a porta paralela do computador. Até pouco tempo atrás, esta porta era muito utilizada para as impressoras. Hoje já está sendo substituída pela USB. Porém, para fins didáticos vamos utilizar a porta paralela por permitir utilizar software e hardware bem mais simples do que se utilizássemos a porta serial. A porta paralela em linhas gerais possui oito bits de dados. Para controlar o nosso motor vamos utilizar apenas quatro bits, vide portas A à D da Figura 1. Se você quiser controlar dois motores simultaneamente seria preciso apenas duplicar parte do circuito e ligá-lo nos outros quatro bits imediatamente à esquerda da porta D. Tome muito cuidado ao conectar os fios na porta paralela, pois esta está ligada diretamente à placa mãe, e poderá danificá-la numa eventual conexão errada. O terra do circuito deve ser ligado ao terra da porta paralela, isto permite que todo o circuito tenha a mesma referência.

 

Figura 1. Porta paralela, saídas utilizadas no projeto

 

Nota do DevMan

Para controlar o motor por uma porta serial, é necessário ter um conversor serial-paralelo. O sinal serial é assim chamado por transmitir as informações (bits) em seqüência, um de cada vez. A porta serial RS 232 foi muito utilizada para mouse, modems e algumas impressoras. O sinal paralelo permite enviar uma seqüência de palavras por vez, enquanto o serial envia somente um bit. A comunicação serial pode ser síncrona, quando o transmissor e o receptor possuem um sincronismo na troca de dados. Ou pode ser assíncrona, quando eles não possuem sincronismo.

Neste caso é normal utilizar um bit de marcação de início de conversa (start bit), e outro de término (stop bit). Quanto mais complexo o protocolo, mais informações auxiliares são enviadas, de forma a garantir que a comunicação foi enviada e recebida com sucesso. Um exemplo de informação adicional é o bit de paridade. Neste caso um cálculo é feito pelo emissor, e conferido pelo receptor. Caso o resultado seja o mesmo, a comunicação foi efetuada com sucesso.


Montando o circuito

Para montar o circuito da Figura 2, projetei o modelo mais simples que consegui para que possamos focar no software. Na internet é possível encontrar diversas variações deste circuito, alguns com recursos mais sofisticados, outros bem similares. Para comprar os componentes fui ao centro de São Paulo, gastei aproximadamente R$ 40,00, pois já tinha uma fonte DC. Todos os componentes utilizados são relativamente fáceis de encontrar em lojas eletrônicas especializadas. Procure uma na sua cidade, ou outra opção é encomendar através de lojas virtuais especializadas. ...

Quer ler esse conteúdo completo? Tenha acesso completo