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

CÓDIGO DE CARRINHO - ARDUINO


karinefarias

Pergunta

Pessoal boa noite, estou tentando fazer um carrinho de controle via bluetooth, porém estou com dificuldade na programação. De acordo com o código abaixo, ele vai para frente, para trás, para a esquerda e para a direita. Contudo, preciso que ele vá para frente+esquerda, frente+direita, trás+esquerda, trás+frente. Além disso, também preciso que ele acenda luz de ré, luz de freio, farol e seta.  O apk que uso é o arduino controlled robot e a intenção é fazer que as luzes acendam de acordo com as direções, por exemplo, quando o carrinho estiver dando ré a luz de ré acender junto.


// Code by Ramon M. Ferreira
#include <SoftwareSerial.h>
SoftwareSerial bluetooth(2, 3);

int IN1 = 4;
int IN2 = 5;
int IN3 = 6;
int IN4 = 7;
char comando;

void setup() {
  //Define os pinos como saida
  bluetooth.begin(9600);
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
  pinMode(IN3, OUTPUT);
  pinMode(IN4, OUTPUT);
}

void loop() {
  while (bluetooth.available()) {
    comando = bluetooth.read();
    if (comando == 'f') {
      frente();
    }
    else if (comando == 'b') {
      tras();
    }
    else if (comando == 'l') {
      esquerda();
    }
    else if (comando == 'r') {
      direita();
    } 
     else if (comando == 'f') && (comando == 'l') {
      esquerda();
    }
    else if (comando == 'r') {
      direita();
    else {
      parado();
    }
  }
}

void frente() {
  //Gira o Motor A e B no sentido horario
  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, LOW);
  digitalWrite(IN3, HIGH);
  digitalWrite(IN4, LOW);
}

void tras() {
  //Gira o Motor A e B no sentido anti-horario
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, HIGH);
  digitalWrite(IN3, LOW);
  digitalWrite(IN4, HIGH);
}

void esquerda() {
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, HIGH);
  digitalWrite(IN3, HIGH);
  digitalWrite(IN4, LOW);
}

void direita() {
  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, LOW);
  digitalWrite(IN3, LOW);
  digitalWrite(IN4, HIGH);
}

void parado() {
  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, HIGH);
  digitalWrite(IN3, HIGH);
  digitalWrite(IN4, HIGH);
}


void frenteeesquerda() {
  //Gira o Motor A e B no sentido horario
  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, LOW);
  digitalWrite(IN3, HIGH);
  digitalWrite(IN4, LOW);
}

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...