Ir para conteúdo
Fórum Script Brasil
  • 0

Arduino e Visual Basic


Matheus Adão

Pergunta

Boa tarde, sou novo na área de programação e estou com um pequeno projeto da faculdade de dois motores de passo.

Uso um controlador (Seeduino, ele converte serial para paralelo) e o visual basic para comunicar-se com o seeduino

Meu seeduino está com a seguinte programação para controlar os motores de passo:

#include <Stepper.h>

// monta a palavra da serial
char palavra[5];
int n = 0;

//Motores de passo
#define STEPS 48
Stepper motor1(STEPS, 2, 3, 4, 5);
Stepper motor2(STEPS, 6, 7, 8, 9);

void setup() {
  Serial.begin(9600);
  motor1.setSpeed(07);
  motor2.setSpeed(30);
}

void loop() {
  if (Serial.available() > 0 && n < 5) {
    palavra[n] = Serial.read();
    n ++;
    if (n > 4) Serial.flush();
  }
  if (n > 4) {
    n=0;
    Serial.print("Recebido: ");
    for (int i = 0; i <= 4; i ++) Serial.print(palavra[i]);
    Serial.println();
    
    // numero de passos
    int passos = (palavra[2] - 48) * 100 + (palavra[3] - 48) * 10 + (palavra[4] - 48);
    //direcao do passo
    if (palavra[1] == '1') passos = - passos;
    
    // controle do motor
    switch (palavra[0]) {
      case 'X':
        motor1.step(passos);
        break;
      case 'Y':
        motor2.step(passos);
        break;

    }
    
    Serial.print("Passo: ");
    Serial.println(passos, DEC);
    
    //Reseta palavra
    for (int i = 0; i <= 4; i ++) palavra[i]=0;
  }
}

Ele funciona da seguinte maneira

Palavras de controle para a serial:

5 letras: 1-Motor (X, Y); 2-Direção(0-Frente, 1-Trás); 3,4,5-(número de passos)

Exemplo:

"X0122" - Mover motor 1 para frente com 122 passos

"Y1030" - Mover motor 2 para trás com 30 passos

Motor 1 : pinos do arduino (2, 3, 4, 5)

Motor 2 : pinos do arduino (6, 7, 8, 9)

agora preciso me comunicar com o seeduino através do visual basic 2008 express edition, eu queria apenas criar dois botões e neles colocar apenas a quantidade de passos que cada motor deve realizar

por exemplo:

Botão 1:

Motor1 - 200 passos , sentido horário

Motor2 - 8 passos, sentido horário

Botão 2:

Motor1 - 200 passos, sentido horário

Motor2 - 8 passos, sentido anti-horário

é algo bem simples, mas não tenho a menor idéia de como fazer isso no visual basic...

já escrevi vários códigos, mas eles sempre tem erros, a porta serial do meu pc é a COM3.

Meu maior problema é na comunicação do visual basic com o seeduino

alguém tem alguma idéia de como fazer isso?? se for possível me mostre o passa à passo de como realizar essa tarefa no visual basic.

Desde já agradeço.

Editado por quintelab
Adicionado BBCode Code
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...