# Motor de Passo com driver uln2003 e display de 7 segmentos

**URL:** <https://forum.fazedores.com/t/motor-de-passo-com-driver-uln2003-e-display-de-7-segmentos/4491>\
**Category:** Sem Categoria\
**Created:** [Junho 29, 2017, 1:46am UTC](https://forum.fazedores.com/t/motor-de-passo-com-driver-uln2003-e-display-de-7-segmentos/4491 "2017-06-29T01:46:30Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Vitor\_Luiz\_Gomes\_Mot](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.fazedores.com/vitor_luiz_gomes_mot/32/1972_2.png) [@Vitor\_Luiz\_Gomes\_Mot](https://forum.fazedores.com/u/Vitor_Luiz_Gomes_Mot)\
**Post date:** [Junho 29, 2017, 1:46am UTC](https://forum.fazedores.com/t/motor-de-passo-com-driver-uln2003-e-display-de-7-segmentos/4491/1 "2017-06-29T01:46:30Z")

</div>

Ola, estou fazendo um projeto onde desejo que o motor de passo rotacione e apareça números no display de segmentos.

Ao realizar os testes das duas partes separadamente ambas funcionam, contudo, ao junta-las em único codigo o motor de passo não gira. Alguém saberia alguma possivel causa para esse problema??

Valeu galera

---

<div class="post-metadata">

**Author:** ![Thomaz\_Barros](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.fazedores.com/thomaz_barros/32/1651_2.png) [@Thomaz\_Barros](https://forum.fazedores.com/u/Thomaz_Barros)\
**Post date:** [Julho 1, 2017, 4:13pm UTC](https://forum.fazedores.com/t/motor-de-passo-com-driver-uln2003-e-display-de-7-segmentos/4491/2 "2017-07-01T16:13:22Z")

</div>

provavelmente uma definição dos pinos, coloque seu código para termos certeza

---

<div class="post-metadata">

**Author:** ![Vitor\_Luiz\_Gomes\_Mot](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.fazedores.com/vitor_luiz_gomes_mot/32/1972_2.png) [@Vitor\_Luiz\_Gomes\_Mot](https://forum.fazedores.com/u/Vitor_Luiz_Gomes_Mot)\
**Post date:** [Julho 2, 2017, 12:56am UTC](https://forum.fazedores.com/t/motor-de-passo-com-driver-uln2003-e-display-de-7-segmentos/4491/3 "2017-07-02T00:56:23Z")

</div>

O codigo é o seguinte:

#include \<CustomStepper.h\> //biblioteca para o motor de passo  
#include \<Wire.h\> //biblioteca pra o display de 7 segmentos  
#define endereco 0x3f // é do dispositivo que eu configurei

//Define os parametros iniciais de ligacao do motor de passo  
CustomStepper stepper(8, 9, 10, 11, (byte[]){8, B1000, B1100, B0100, B0110, B0010, B0011, B0001, B1001}, 4075.7728395, 12, CW);  
/\* Os parametos sao 8,9,10,11 indicam a porta que eu liguei no arduino

- A partde de byte e os termos Bxxxx se referem a quais cores estarão habilitadas, ou seja, a sequência de ativação da bobina do motor  
\*/

byte seven\_seg\_digits[10][7] = { { 0,0,0,0,0,0,1 }, // = 0  
{ 1,0,0,1,1,1,1 }, // = 1  
{ 0,0,1,0,0,1,0 }, // = 2  
{ 0,0,0,0,1,1,0 }, // = 3  
{ 1,0,0,1,1,0,0 }, // = 4  
{ 0,1,0,0,1,0,0 }, // = 5  
{ 0,1,0,0,0,0,0 }, // = 6  
{ 0,0,0,1,1,1,1 }, // = 7  
{ 0,0,0,0,0,0,0 }, // = 8  
{ 0,0,0,1,1,0,0 } // = 9  
};

void setup() {

```
stepper.setRPM(12); //Define a velocidade do motor  
stepper.setSPR(4075.7728395); //Define o numero de passos por rotacao
pinMode(2, OUTPUT); //acende o a
pinMode(3, OUTPUT); //acende o b
pinMode(4, OUTPUT); //acende o c
pinMode(5, OUTPUT); //acende o d
pinMode(6, OUTPUT); //acende o e
pinMode(7, OUTPUT); //acende o f
pinMode(12, OUTPUT); //acende o g
}  

```

void loop() {

if (stepper.isDone()) { //verifica se o motor esta rodando ou não, se sim retorna TRUE e se não retora FALSE ( é um método booleano)

```
delay(1000); //Intervalo entre acionamentos do motor de passo
stepper.setDirection(CW); //Define o sentido de rotacao (CW = Horario) 
stepper.rotateDegrees(30); //Define o angulo de rotacao, vai rotacionar de 30 em 30 graus, dessa forma, vai dar 12 voltas

  }

```

stepper.run(); //run é o que foi implementado na função que vai fazer o motor girar

// escrever ‘9’ no display  
digitalWrite(2, 0);  
digitalWrite(3, 0);  
digitalWrite(4, 0);  
digitalWrite(5, 1);  
digitalWrite(6, 1);  
digitalWrite(7, 0);  
digitalWrite(12, 0);  
delay(1000);

// escrever ‘8’ no display  
digitalWrite(2, 0);  
digitalWrite(3, 0);  
digitalWrite(4, 0);  
digitalWrite(5, 0);  
digitalWrite(6, 0);  
digitalWrite(7, 0);  
digitalWrite(12, 0);  
delay(1000);

}

Estou pensando se pode ser um problema de alimentação também

---

<div class="post-metadata">

**Author:** ![DobitAoByte](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.fazedores.com/dobitaobyte/32/2021_2.png) [@DobitAoByte](https://forum.fazedores.com/u/DobitAoByte)\
**Post date:** [Julho 25, 2017, 10:23pm UTC](https://forum.fazedores.com/t/motor-de-passo-com-driver-uln2003-e-display-de-7-segmentos/4491/4 "2017-07-25T22:23:12Z")

</div>

Tem 2 bons tutoriais pra esse motor de passo:

> **[Motor de passo 5 fios com driver ULN2003 • Do bit Ao Byte](http://www.dobitaobyte.com.br/motor-de-passo-5-fios-com-driver-uln2003/)**
>
> Veja como controlar um motor de passo 5 fios com Arduino e driver ULN2003, de modo simples e descomplicado.Veja também artigos relacionados, bem aqui.

  

> **[Robô seguidor de linha com palitos de sorvete • Do bit Ao Byte](http://www.dobitaobyte.com.br/robo-seguidor-de-linha-com-palitos-de-sorvete/)**
>
> Que tal fazer um robô seguidor de linha gastando uma mixaria? Então vem ver esse projeto utilizando palitos de sorvete para fazer o robô e divirta-se!
