Pular para o conteúdo principal

Grove - Servo

Grove - Servo é um motor DC com sistema de engrenagem e de realimentação. Ele é usado no mecanismo de acionamento de robôs. O módulo é um produto bônus para os amantes de Grove. Regulamos o servo de três fios para um conector padrão Grove. Agora você pode conectá‑lo e usá‑lo como um módulo Grove típico, sem a bagunça de fios jumper.

Mas se você prefere mais um servo de prototipagem, confira o EMAX 9g ES08A High Sensitive Mini Servo. Eles são o mesmo modelo, ambos de boa qualidade e com preço acessível.

Recursos

  • Módulo pequeno
  • Interface compatível com Grove
  • Fácil de usar

Especificação

Item Mín Típico Máx Unidade
Tensão de trabalho 4.8 5.0 6.0 V
Torque 1.5/1.8 Kg.cm
Velocidade 0.12/0.16 s/60°
Tamanho 32X11.5X24 mm
Peso 8.5 g

Plataformas Suportadas

ArduinoRaspberry Pi
cuidado

As plataformas mencionadas acima como suportadas são uma indicação da compatibilidade de software ou teórica do módulo. Na maioria dos casos, fornecemos apenas biblioteca de software ou exemplos de código para a plataforma Arduino. Não é possível fornecer biblioteca de software / código de demonstração para todas as possíveis plataformas de MCU. Portanto, os usuários têm que escrever a própria biblioteca de software.

Primeiros Passos

Brincar com Arduino

nota

O método de conexão do servo descrito neste artigo não é a abordagem mais adequada ou recomendada. Para servos — especialmente ao usar vários servos simultaneamente — deve‑se usar uma placa controladora de servo dedicada para fornecer alimentação adicional aos servos, com a placa de desenvolvimento controlando os servos por meio da placa controladora. Como a Seeed Studio atualmente não oferece uma placa controladora adequada, este artigo demonstra a conexão do servo diretamente à placa principal apenas como um exemplo de uso. Esta abordagem não é recomendada para projetos reais.

Aqui vamos mostrar como este Grove - Servo funciona através de uma demonstração simples. Primeiro de tudo, precisamos preparar os itens abaixo:

Seeeduino V4Grove - ServoBase Shield
enter image description hereenter image description hereenter image description here
Adquira agoraAdquira agoraAdquira agora

O servo tem três fios: alimentação, terra e sinal. O fio de alimentação é normalmente vermelho e deve ser conectado ao pino de 5V na placa Arduino/Seeeduino. O fio de terra é normalmente preto ou marrom e deve ser conectado a um pino de terra na placa Arduino. O pino de sinal é normalmente amarelo, laranja ou branco e deve ser conectado ao D5 na placa Arduino. Podemos mudar para a porta digital que quisermos. Mas não se esqueça de mudar o número da porta na definição do código de demonstração ao mesmo tempo.

  • Conecte o módulo à porta D5 do Base Shield.
  • Conecte o Grove- Base Shield ao Arduino.
  • Conecte o Arduino ao PC por meio de um cabo USB.

Software

  • Vamos varrer o eixo de um servo para frente e para trás em 180 graus usando a Arduino Servo Library.

  • Abra o código diretamente pelo caminho: File → Examples →Servo→Sweep.

/* Sweep
by BARRAGAN <http://barraganstudio.com>
This example code is in the public domain.

modified 8 Nov 2013
by Scott Fitzgerald
https://arduino.cc/en/Tutorial/Sweep
*/

#include <Servo.h>

Servo myservo; // create servo object to control a servo
// twelve servo objects can be created on most boards

int pos = 0; // variable to store the servo position

void setup() {
myservo.attach(5); // attaches the servo on pin 5 to the servo object
}

void loop() {
for (pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees
// in steps of 1 degree
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
for (pos = 180; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
}
  • Envie o sketch. Podemos ver o servo varrendo.

Brincar com Codecraft

Hardware

Passo 1. Conecte o Grove - Servo à porta D5 em um Base Shield.

Passo 2. Conecte o Base Shield ao seu Seeeduino/Arduino.

Passo 3. Ligue o Seeeduino/Arduino ao seu PC por meio de um cabo USB.

Software

Passo 1. Abra o Codecraft, adicione o suporte a Arduino e arraste um procedimento principal para a área de trabalho.

nota

Se esta é a sua primeira vez usando o Codecraft, veja também o Guia para usar o Codecraft com Arduino.

Passo 2. Arraste os blocos como na imagem abaixo ou abra o arquivo cdc que pode ser baixado no final desta página.

servo

Envie o programa para o seu Arduino/Seeeduino.

dica

Quando o código terminar de ser enviado, você verá o servo varrendo.

Brincar com Raspberry Pi (Com Grove Base Hat para Raspberry Pi)

nota

O método de conexão do servo descrito neste artigo não é a abordagem mais adequada ou recomendada. Para servos — especialmente ao usar vários servos simultaneamente — deve‑se usar uma placa controladora de servo dedicada para fornecer alimentação adicional aos servos, com a placa de desenvolvimento controlando os servos por meio da placa controladora. Como a Seeed Studio atualmente não oferece uma placa controladora adequada, este artigo demonstra a conexão do servo diretamente à placa principal apenas como um exemplo de uso. Esta abordagem não é recomendada para projetos reais.

Hardware

  • Passo 1. Itens usados neste projeto:
Raspberry piGrove Base Hat for RasPiGrove - Servo
enter image description hereenter image description hereenter image description here
Adquira agoraAdquira agoraAdquira agora
  • Passo 2. Conecte o Grove Base Hat ao Raspberry.
  • Passo 3. Conecte o Grove - Servo à porta 12 do Base Hat.
  • Passo 4. Conecte o Raspberry Pi ao PC por meio de um cabo USB.

nota

No passo 3 você pode conectar o módulo servo a qualquer porta GPIO, mas certifique‑se de alterar o comando com o número de porta correspondente.

Software

dica

Se você estiver usando Raspberry Pi com Raspberrypi OS >= Bullseye, você deve usar esta linha de comando apenas com Python3.

  • Passo 1. Siga Configuração de Software para configurar o ambiente de desenvolvimento.
  • Passo 2. Baixe o arquivo‑fonte clonando a biblioteca grove.py.
cd ~
git clone https://github.com/Seeed-Studio/grove.py

  • Passo 3. Execute os comandos abaixo para rodar o código.
cd grove.py/grove
python3 grove_servo.py 12

A seguir está o código grove_servo.py.


import RPi.GPIO as IO
import sys
import time
from numpy import interp

IO.setwarnings(False)
IO.setmode(IO.BCM)

class GroveServo:
MIN_DEGREE = 0
MAX_DEGREE = 180
INIT_DUTY = 2.5

def __init__(self, channel):
IO.setup(channel,IO.OUT)
self.pwm = IO.PWM(channel,50)
self.pwm.start(GroveServo.INIT_DUTY)

def __del__(self):
self.pwm.stop()

def setAngle(self, angle):
# Map angle from range 0 ~ 180 to range 25 ~ 125
angle = max(min(angle, GroveServo.MAX_DEGREE), GroveServo.MIN_DEGREE)
tmp = interp(angle, [0, 180], [25, 125])
self.pwm.ChangeDutyCycle(round(tmp/10.0, 1))

Grove = GroveServo

def main():
if len(sys.argv) < 2:
print('Usage: {} servo_channel'.format(sys.argv[0]))
sys.exit(1)

servo = GroveServo(int(sys.argv[1]))

while True:
for x in range(0, 180):
print x, "degree"
servo.setAngle(x)
time.sleep(0.05)
for x in range(180, 0, -1):
print x, "degree"
servo.setAngle(x)
time.sleep(0.05)

if __name__ == '__main__':
main()



dica

Se tudo correr bem, você verá o servo varrer.


pi@raspberrypi:~/grove.py/grove $ python3 grove_servo.py 12
0 degree
1 degree
2 degree
3 degree
4 degree
5 degree
6 degree
7 degree
8 degree
9 degree
10 degree
11 degree
12 degree
13 degree
14 degree
15 degree
16 degree
17 degree
18 degree
19 degree
20 degree
21 degree
^CTraceback (most recent call last):
File "grove_servo.py", line 81, in <module>
main()
File "grove_servo.py", line 74, in main
time.sleep(0.05)
KeyboardInterrupt


Você pode encerrar este programa simplesmente pressionando ++ctrl+c++.

Recursos

Projetos

Módulo Grove de Servomotor:

Suporte Técnico e Discussão de Produtos

Obrigado por escolher nossos produtos! Estamos aqui para fornecer diferentes tipos de suporte para garantir que sua experiência com nossos produtos seja a mais tranquila possível. Oferecemos diversos canais de comunicação para atender a diferentes preferências e necessidades.

Loading Comments...