Ir ao conteúdo
  • Cadastre-se

Comunicação serial


Posts recomendados

História: Tenho 15 anos e faço um curso do SENAI de Aux. Adm. de graça. Onde no segundo módulo, onde estou, preciso fazer uma apresentação sobre qualquer tema que envolva tecnologia, e é claro isso a gente não aprende lá, por isso foi passado como trabalho semestral. Decidi que iria fazer um projeto de automação residencial controlado por voz, tipo o J.A.R.V.I.S do Homem de Ferro.

 Fatos: 

1- Para o reconhecimento de voz utilizei o JARVIS https://kripytonianojarvis.com/site/jarvis/ , programa que possibilita a execução de arquivos por meio de comandos de voz.

2- Utilizei arquivos em lote (.BAT), para mandar informações para a porta serial, onde é conectado um arduino uno r3. (o jarvis executa o .bat)

3- O arduino pega o código ASCII na porta serial e efetua comparações com tarefas a serem cumpridas onde uma delas é movimentar um servo (apenas para teste, por enquanto).

O PROBLEMA:quando executo o .bat normalmente (com um duplo c

lick mesmo) ele envia o sinal para o arduino, o TX do arduino pisca, mas o servo não movimenta.

OBS: quando eu dou os comando pelo monitor serial, o servo se mexe, então creio eu que não seja problema no Sketch e nem com a porta.

Os códigos utilizados estão em anexo, alguém sabe o que pode ser?

Teste Ardu.rar

ECHO b > COM9
#include <Servo.h> // Incluindo a biblioteca do servo motor
 
Servo motor;

void setup(){
 motor.attach(3); // Definindo o motor no pino 3 do arduino
 Serial.begin(9600); // Ligando a Serial para receber as informações

 motor.write(90); // Colocando a cabeça para frente no momento em que ligar

} // Fechando o setup


void loop(){
  int c = Serial.read(); // Recebendo o conteúdo da serial

  //IMPORTANTE: O arquivo bat envia as informações em modo ASCII,
  //então o número "97" corresponde à letra "a" (Minúscula), o "98" letra "b" e o 99 letra "c"
  
  if (c == 97) { motor.write(180); } //a -> Esquerda
  if (c == 98) { motor.write(1); } //b -> Direita
  if (c == 99) { motor.write(90);} //c -> Frente

} //Fechando o loop
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!