Motor DC - Robo4al/robot GitHub Wiki
Definição
O motor DC (direct current), também é chamado de motor CC (corrente contínua), devido ao fato de ser alimentado por uma corrente contínua proveniente de uma bateria ou outras formas de fornecimento de energia nesta condição. A maioria dos aparelhos eletrônicos possui recursos mecânicos automatizados, os quais, grande parte das vezes, são constituídos por motores de corrente contínua.
O princípio básico de operação do motor DC é que sempre que um condutor, que é percorrido por uma corrente elétrica, é colocado em um campo magnético, ele experimenta uma força eletromagnética, gerando o torque e, consequentemente, o giro do eixo do motor. Desta forma, o motor DC funciona aproveitando as forças de atração e repulsão geradas por eletroímãs ou imãs permanentes.
Funcionamento do motor DC
A classe do motor dc serve, basicamente, para realizar movimento. A classe fornece um método, chamado move(), que recebe quatro parâmetros, conforme descrito abaixo.
Parâmetros de movimento
- indica o motor A (0 parado, 1 movimentando)
- indica o sentido de A (0 frente e 1 trás)
- indica o motor B (0 parado, 1 movimentando)
- indica o sentido de B (0 frente e 1 trás)
Utilização
O método move() pode ser utilizado de diversas formas, conforme observado abaixo.
# A parado, B parado
move(0,0,0,0)
# A parado, B frente
move(0,0,1,0)
# A parado, B trás
move(0,0,1,1)
# A frente , B parado
move(1,0,0,0)
# A frente, B frente
move(1,0,1,0)
# A frente , B trás
move(1,0,1,1)
# A trás, B parado
move(1,1,0,0)
# A trás , B frente
move(1,1,1,0)
# A trás, B trás
move(1,1,1,1)
Além do método move(), a classe disponibiliza outros três métodos para facilitar o uso de Roberval. São eles: front(), que faz Roberval andar para frente; back(), que faz Roberval andar para trás; stop(), que faz Roberval parar.
OBS.: os métodos front() e back() fazem os motores girarem para lados opostos, pois os motores que dão movimento a Roberval estão inversamente posicionados!!! Exemplo de uso:
#Criando o objeto
motor = MotorDC()
#Fazendo o robô andar para frente:
motor.front() ou motor.move(1,1,1,0)
#Fazendo o robô girar para a direita :
motor.move(0,0,1,0)
#Fazendo o robô andar para trás:
motor.back() ou motor.move(1,0,1,1)
#Fazendo o robô girar para a esquerda:
motor.move(1,0,0,0)
#Fazendo o robô parar:
motor.stop() ou motor.move(0,0,0,0)