Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Como usar a biblioteca ServoTimer2 (explicação simples) Varredura do servo

Componentes e suprimentos

Servos (Tower Pro MG996R)
× 1
Arduino UNO
× 1
Fios de jumpers (genérico)
× 1
Peças eletrônicas UTSOURCE
× 1

Sobre este projeto





Introdução


Tenho tentado fazer um robô humanóide recentemente - o que significa lidar com servo motores. Tudo funcionou perfeitamente antes de eu tentar fazer o robô FALAR. Quando precisei usar a biblioteca TMRpcm. Mas existem algumas bibliotecas como
  # TMRpcm.h # VirtualWire.h  

são bibliotecas que usam o Timer1 do Arduino. Parece que você não pode usar dois dispositivos simultaneamente onde ambos usam o mesmo temporizador ... Então, se meu robô falar, os servos não funcionam. Porque o Servo.h e o TMRpcm funcionam no Arduino TImer1. O que é uma bagunça. Se você quiser que ambos funcionem, você terá que usar outra biblioteca para servos. Qual é a biblioteca ServoTimer2? Isso usa o Timer2 no Arduino ... Infelizmente na internet não encontrei nenhum tutorial para entender como essa biblioteca ServoTimer2 realmente funciona e como usá-la no código. Então, decidi fazer um tutorial para que pessoas como eu possam entender melhor. Estaremos usando um servo motor com esta biblioteca e faremos um código de varredura Servo simples

Você pode assistir ao vídeo para entender melhor.





Etapa 1:Peças e montagem:








A parte principal é um servo motor.

Estou usando um micro servo sg90, qualquer modelo está bem.

Em seguida, pegue um braço servo como na foto 2 e cole-o em um papelão rígido (isso é apenas para obter uma boa visibilidade do grau) e, em seguida, adicione o braço ao servo motor como na foto 4.





Etapa 2:Baixe e adicione a biblioteca ServoTimer2 ao Arduino


Em primeiro lugar, você terá que baixar a biblioteca aqui https://github.com/nabontra/ServoTimer2 e colá-la na pasta da biblioteca do Arduino.

Em seguida, vá para sketch> include library> add zip.file da pasta de biblioteca.

Agora você está pronto para ir.





Etapa 3:construir o circuito simples




Esta é a parte mais fácil
  • Cabo vermelho do servo para Arduino vcc (5v)
  • cinza - Gnd
  • Orange - digital 6





Etapa 4:o código.


Antes de conhecermos o código do ServoTimer2, vamos dar uma olhada na varredura da biblioteca Servo.h.

(o motor irá girar de 0 graus a 90 graus - espere 1 segundo - então a 180 graus - espere 1 segundo)
  #include  Servo servo1; void setup () {servo1.attach (6); // coloque seu código de configuração aqui, para executar uma vez} void loop () {// coloque seu código principal aqui, para executar repetidamente:servo1.write (0); delay (1000); servo1.write (90); delay ( 1000); servo1.write (180); atraso (1000);}  

Como você pode ver nesta biblioteca, se quisermos girar um Servo para uma determinada posição, temos que apenas escrever o grau e o servo se sairá bem. Mas na biblioteca ServoTimer2 devemos escrever a largura de pulso do servo e o servo se move para aquela posição usando isso. Mais comumente, 1500 significa 90 graus. A largura de pulso máxima é 2250 e a mínima é 750. O que significa que 750 é para 0 graus e 2250 é para 180 graus. Mas deixe-me dizer a você, isso varia de servo para servo. Basta enviar seus valores e ver o que acontece. Não se preocupe, isso não vai destruir ou danificar um pouco o seu servo motor.

Agora farei o mesmo código para o ServoTimer 2 e, assim, você obterá quais são as diferenças reais.
  #include "ServoTimer2.h" ServoTimer2 servo1; void setup () {servo1.attach (6); } void loop () {// coloque seu código principal aqui, para executar repetidamente:servo1.write (750); // largura mínima de pulso para 0 degreedelay (1000); servo1.write (1500); // largura de pulso para 90 degreedelay (1000); servo1.write (2250); // largura máxima de pulso por cerca de 180 degreedelay (1000);}  

Agora é só ligar o arduino e ver com uma escala de graus para qual valor o quanto o servo gira. E ao fazer isso, você pode fazer seu projeto funcionar. Happy Making.o 2700 para fazê-lo.





Etapa 5:por último, ligue o Arduino e experimente




Agora é só ligar o arduino e ver com uma escala de graus para qual valor o quanto o servo gira. E comprando fazendo isso, você pode fazer seu projeto andar. Happy Making.


Código

  • Servo seep.code
  • ServoTimer2.sweep.code
Servo seep.code C / C ++
 #include  Servo servo1; void setup () {servo1.attach (6); // coloque seu código de configuração aqui, para executar uma vez} void loop () {// coloque seu código principal aqui, para executar repetidamente:servo1.write (0); delay (1000); servo1.write (90); delay ( 1000); servo1.write (180); atraso (1000);} 
ServoTimer2.sweep.code C / C ++
 #include "ServoTimer2.h" ServoTimer2 servo1; void setup () {servo1.attach (6); } void loop () {// coloque seu código principal aqui, para executar repetidamente:servo1.write (750); // largura mínima de pulso para 0 degreedelay (1000); servo1.write (1500); // largura de pulso para 90 degreedelay (1000); servo1.write (2250); // largura máxima de pulso por cerca de 180 degreedelay (1000);} 

Esquemas

ServoTimer2.sweep.code
https://github.com/ashraf-minhaj/Arduino-ServoTimer2-basic-sweep-/tree/code-sweep

Processo de manufatura

  1. Como usamos o molibdênio?
  2. Como fazer uma plataforma de robô Arduino + Raspberry Pi
  3. Robô Pi Simples
  4. Como fazer fibra de vidro
  5. Função realloc() na Biblioteca C:Como usar? Sintaxe e Exemplo
  6. Função free() na biblioteca C:Como usar? Aprenda com o Exemplo
  7. Quão fácil é usar um termistor ?!
  8. Como fazer uma animação de corte no Solidworks
  9. Como fazer um protótipo
  10. Como usar um moedor de corte