Projeto 1 - Pisca LED

Olá pessoal, agora vamos iniciar na prática como montar os componentes e executar os programas para vermos como o placa Arduino funciona realmente.

Projeto 3 - Alarme com sonorizador piezo

Olá pessoal, este projeto será um pouco barulhento pois, vamos fazer um alarme com sonorizador piezo conectado a um pino de saída digital, podendo ser criado um som de sirene. Iremos gerar uma onda senoidal para gerar os pulsos e criando o som

Projeto 10 - Controle de temperatura com LCD e Cooler

Olá pessoal, já vimos basicamente como utilizar um LCD com o Arduino, agora vamos fazer um pequena aplicação utilizando o mesmo esquema do projeto anterior acrescentando um cooler. Este projeto tem pouca complexidade, desde que montado com calma para não se perderem nas inserções dos jumpers.

Projeto 8 - Controle básico com LCD

Olá pessoal, agora vamos deixar nossos projetos visualmente mais interessantes. Iremos aprender como utilizar o LCD (Liquid Crystal Display), não utilizaremos o modelo JHD 162A, deixando nossos projetos mais amigáveis.

Projeto 19 – Arduino como um osciloscópio

Olá pessoal, nós que gostamos de mexer com eletrônica sempre ficamos na curiosidade de sabermos qual é o tipo de onda que está sendo gerada em um circuito qualquer, pois então vamos aprender como fazer um osciloscópio com o Arduino, o programa é muito útil e fácil de utilizar, com ele podemos tirar nossa curiosidade em relação as ondas em circuitos eletrônicos. Vamos saciar nossa curiosidade ?

Mostrando postagens com marcador simples controle de motor de passo. Mostrar todas as postagens
Mostrando postagens com marcador simples controle de motor de passo. Mostrar todas as postagens

29 de jul. de 2013

Projeto 12 - Motor de passo controlado por Arduino

Projeto 12 -  Motor de passo controlado por Arduino

Olá pessoal, já vimos como controlar um motor CC. Agora vamos ver como funciona um motor de passo com Arduino. Neste projeto foi utilizado um Shield para controle de motor com ULN2003. Projeto simples de ser implementado. Os códigos serão todos comentados para melhor entendimento, podendo ser retirados após a compreensão de cada linha. Bom trabalho !!!


Antes de começar, veja o vídeo do projeto pronto








Componentes necessários

1 Protobord
1 Driver para motor com ULN2003
1 Motor de passo modelo 28BYJ-48
Fios jumper

Conectando os componentes

Primeiro, certifique-se de que seu Arduino esteja desligado, desconectando-o do cabo USB. Agora, o driver, o motor de passo e os fios e conecte-os como mostra a imagem abaixo.









Para melhor entendimento, segue a inserção dos pinos Arduino/Driver:

- Pino 4 do Arduino no Pino IN1 do Driver
- Pino 5 do Arduino no Pino IN2 do Driver
- Pino 6 do Arduino no Pino IN3 do Driver
- Pino 7 do Arduino no Pino IN4 do Driver



Não importa se você utiliza fios de cores diferentes ou furos diferentes na protoboard, desde que os componentes e os fios estejam conectados na mesma ordem da figura. Tenha cuidado ao inserir os componentes na protoboard. Caso sua protoboard seja nova, a superfície dos furos ainda estará rígida. A não inserção cuidadosa dos componentes pode resultar em danos. Certifique-se de que todos os componentes estejam conectados corretamente. Quando você estiver seguro de que tudo foi conectado corretamente, ligue seu Arduino e conecte o cabo USB.



Agora vamos ao código


// Projeto 12 -  Motor de passo controlado por Arduino

// Declarando variáveis para os pinos do motor

int motorPin1 = 4;    // Azul   - Pino 1 do motor 28BYJ-48
int motorPin2 = 5;    // Rosa   - Pino 2 do motor 28BYJ-48
int motorPin3 = 6;    // Amarelo - Pino 3 do motor 28BYJ-48
int motorPin4 = 7;    // Laranja - Pino 4 do motor 28BYJ-48 o pino 5 (Vermelho) é o pino de alimentação do motor de passo (VCC)   

int velocMotor = 1200;  // Variáveis para configurar a velocidade do motor
int contagem = 0;  // Variável usada como contador de passos
int passosPorRotacao = 512;  // Número de passos por rontação completa
int vetorLigDesl[8] = {B01000, B01100, B00100, B00110, B00010, B00011, B00001, B01001};
 // Vetor que manipula os pinos do motor entre 0 e 1 (Desliga/Liga)

void setup() {
  // Declara os pinos do motor como pinos de saída

  pinMode(motorPin1, OUTPUT);
  pinMode(motorPin2, OUTPUT);
  pinMode(motorPin3, OUTPUT);
  pinMode(motorPin4, OUTPUT);
}

void loop(){
  if(contagem < passosPorRotacao )
    sentidoHorario();  // Função para rotacionar em sentido horário
  else if (contagem == passosPorRotacao * 2)
    contagem = 0;
  else
    sentidoAntiHorario();  // Função para rotacionar em sentido anti horário
  contagem++;
}

/*Configurando os pinos para ULN2003.
o delay "motorSpeed" determina o tempo para a velocidade do motor*/

void sentidoAntiHorario()
{
  for(int i = 0; i < 18; i++)
  {
    setOutput(i);
    delayMicroseconds(velocMotor);
  }
}

void sentidoHorario()
{
  for(int i = 17; i >= 0; i--)
  {
    setOutput(i);
    delayMicroseconds(velocMotor);
  }
}

void setOutput(int out)  // Faz a manipulação de 0 e 1
{
  digitalWrite(motorPin1, bitRead(vetorLigDesl[out], 0));
  digitalWrite(motorPin2, bitRead(vetorLigDesl[out], 1));
  digitalWrite(motorPin3, bitRead(vetorLigDesl[out], 2));
  digitalWrite(motorPin4, bitRead(vetorLigDesl[out], 3));
}


Para certificar se o código está correto pressione o botão Verify/Compile. Se tudo estiver correto pressione o botão Upload para fazer o upload do código para seu Arduino. Pronto, o motor irá rotacionar para o sentido horário e depois para o sentido anti horário.


- Se você gostou do post, por favor comente! Nos dê um feedback, isto nos incentiva a continuar! :)
- Curta nossa fan page !
- Baixe o APP Faça Com Arduino e carregue para onde você for os projetos. É simples. É fácil !!