Como girar um motor DC com o Arduino
O motor de corrente contínua no seu kit Arduino é o mais básico de motores elétricos e é usado em todos os tipos de eletrônicos passatempo. Quando a corrente é passada através, que gira continuamente em uma direcção até que a corrente pára. A menos que especificamente marcado com um + ou -, motores de corrente contínua não têm polaridade, o que significa que você pode trocar os dois fios mais para inverter a direção do motor.
O esboço Motor
Você vai precisar de um circuito de controle simples para transformar seu motor ligado e desligado.
Você precisa:
Um Arduino Uno
A placa de ensaio
Um transistor
Um motor DC
Um diodo
A 2.2k ohm
fios de salto
Para alimentar o motor, você precisa enviar 5V através dele e depois para a terra. Esta tensão gira o motor, mas você tem o controle dele. Para dar o seu controle Arduino do poder do motor, e, portanto, a sua rotação, você coloca um transistor logo após o motor.
O transistor é um interruptor acionado eletricamente que pode ser ativado por pinos digitais do seu Arduino. Neste exemplo, ele é controlado pelo pino 9 no seu Arduino, da mesma forma como um diodo emissor de luz, excepto que o transistor permite transformar o circuito do motor ligado e desligado.
Este circuito funciona, mas ainda permite que a chance de criar uma corrente de retorno por causa da força do motor, uma vez que fica mais lento, ou porque o motor pode ser ligado. Se a corrente inversa é gerado, ele viaja do lado negativo do motor e tenta encontrar o caminho mais fácil para a terra.
Esta rota pode ser através do transistor ou através do Arduino. Você não pode saber ao certo o que vai acontecer, então você precisa fornecer uma maneira de controlar este excesso de corrente.
Para ser seguro, você colocar um diodo em todo o motor. O diodo está voltada para a fonte da tensão, o que significa que a tensão é forçado através do motor, que é o que você quer. Se a corrente é gerada na direcção oposta, que está agora a ser impedido de fluir para o Arduino.
Se você colocar o diodo de forma errada, a corrente ignora o motor e criar um curto-circuito. O curto-circuito tenta aterrar toda a corrente disponível e poderia quebrar sua porta USB ou, pelo menos, mostrar uma mensagem de aviso, informando que a sua porta USB está atraindo muita energia.
Construa o circuito como mostrado, e abrir um novo esboço Arduino. Escolha o botão Salvar e salve o esboço com um nome memorável, como myMotor, em seguida, digite o seguinte código:
int motorPin = 9-vazio setup () {pinMode(MotorPin, SAÍDA) -} Vazio loop () {digitalWrite (motorPin, HIGH) -demora(1000) -digitalWrite(MotorPin, BAIXO) -demora(1000) -}
Depois de ter digitado o esboço, salve-o e pressione o botão Compilar para verificar o seu código. O Arduino Ambiente verifica seu código para quaisquer erros de sintaxe (gramática para o seu código) e destaca-los na área de mensagem. Os erros mais comuns incluem erros de digitação, ponto e vírgula em falta, e maiúsculas e minúsculas.
Se o esboço compila corretamente, clique em Upload para fazer o upload do esboço para sua placa. Você deverá ver o seu motor em rotação por um segundo e parar por um segundo repetidamente.
Se isso não é o que acontece, você deve verificar novamente sua fiação:
Certifique-se de que você está usando pin número 9.
Verifique se o diodo está enfrentando a maneira correta, com a banda de frente para a conexão de 5v.
Verifique as conexões na placa de ensaio. Se os fios de salto ou componentes não são conectados usando as linhas corretas na placa de ensaio, eles não irão funcionar.
A repartição esboço Motor
Este é um esboço muito básico, e você pode perceber que é uma variação sobre o esboço Blink. Este exemplo altera o hardware, mas utiliza o mesmo código para controlar um LED.
Em primeiro lugar, o pino é declarado usando pino digital 9.
int motorPin = 9-
Na configuração, o pino 9 é definido como uma saída.
void setup () {pinMode(MotorPin, SAÍDA) -}
O laço diz o sinal de saída para ir para ALTO, esperar por 1000ms (1 segundo), vá para BAIXO, esperar por mais 1000ms, e repita. Este cenário dá-lhe o mais básico de controle de motor, contando o motor quando ir ligado e desligado.
vazio loop () {digitalWrite (motorPin, HIGH) -demora(1000) -digitalWrite(MotorPin, BAIXO) -demora(1000) -}