Arduino - iniciação à linguagem C (servomotores)
-
Upload
ana-carneirinho -
Category
Education
-
view
1.657 -
download
0
Transcript of Arduino - iniciação à linguagem C (servomotores)
Programação
Eletrónica+Espaço
Arduino - Iniciação à linguagem C
Servomotores
http://blocklyduino.github.io/BlocklyDuino/blockly/apps/blocklyduino/
Blocklyduino – Agora Tenta #1
Criar em Blocklyduino um programa que faça um servomotor (ligado na saída 11, por exemplo), passar ininterruptamente do ângulo 0º para o ângulo 180º e deste ângulo novamente para o ângulo 0º. Deve haver um intervalo de 1s entre cada movimento.
Blocklyduino – Uma Solução Possível
BlocklyDuino – Agora Experimenta
BlocklyDuino – Agora Experimenta
Arduino – Agora Experimentahttps://www.arduino.cc/en/Main/Software
Utilização de livraria Servo.h
Cria um objeto para controlar um servo motor
Porta a que o servo está conectado
Servo.write(): envia para o servo o ângulo para onde se deve dirigir (caso
valor entre parêntesis < 200) ou o valor, em ms, do tempo que deve rodar
dirigir (caso valor entre parêntesis > 200)
Arduino – Agora Tenta #1
• Alterar o nome da variável associada ao objeto Servo para um nome mais geral, my_servo, por exemplo;
• Mudar o pino ao qual o motor está conectado (a livraria suporta que qualquer pino, digital ou analógico, seja usado para controlar o servo motor).
Um
a So
luçã
o Po
ssív
el...
Arduino – Agora Tenta #2
Adicionar ao circuito um interruptor de pressão e fazer com que o motor, inicialmente a 0º, passa para 90º e volte à posição inicial passado um determinado intervalo de tempo
(simulando uma porta ou uma cancela que se abre e volta a fechar).
Um
a So
luçã
o Po
ssív
el...
Arduino – Agora Tenta #3
Acrescentar um LED que pisque enquanto a porta se mantiver aberta.
Um
a So
luçã
o Po
ssív
el...
Arduino – Agora Tenta #4
Explora a função Tone() para arduino e descobre como, com um buzzer, criar
um sinal sonoro que indique que a porta está aberta.
Atenção: Ao usar a livraria Servo.h, deixamos de ter disponíveis todas as saídas PWM:
Um
a So
luçã
o Po
ssív
el...
Progamação em C – Resumo da Sessão #3Livraria usada• Servo.h
Permite que o arduino controle um servo motor. O servo motor pode ser ligado a qualquer um dos pinos de entrada / saída (entradas analógicas inclusivé).
Exemplo
Progamação em C – Resumo da Sessão #3Funções a recordar
• Tone (pino, frequência) produz uma onda quadrada de uma dada frequência (Hz) num dado pino PWM;
• Tone (pino, frequência, duração) produz uma onda quadrada de uma dada frequência (Hz) num dado pino PWM durante um determinado tempo (ms);
• noTone (pino) Determina o fim da geração da onda quadrada definida pela função Tone().