Servos

Conexão elétrica


Os servos tem uma conexão simples, no sentido de que os cabos geralmente são integrados no corpo do hardware. Entretanto, é preciso ficar atento com o sentido da conexão, visto que é o único contato da placa que é possível inverter.

Assim o primeiro passo para conectar o servo é identificar três pinos:

Existem cores padrões para certas fabricantes, mas na dúvida sempre cheque o manual dos equipamentos.

Nessa seção será utilizado um Smart Servo da REV Robotics

No Smart Servo, o cabo de sinal tem a coloração branca, o do meio é o Vcc e o restante é o GND. Como mostra a imagem abaixo:

WhatsApp Image 2025-01-14 at 16.06.22.jpeg

Quanto a conexão na placa EasySTEAM, é necessário verificar quais pinos correspondem ao terminal de saída do servo - para não acabar invertendo sinal com GND por exemplo. Mas visto isso, já é possível conectar, como seguem as demonstrações abaixo:

WhatsApp Image 2025-01-15 at 07.28.14.jpeg

WhatsApp Image 2025-01-15 at 07.27.26.jpeg

Alimentação

Apesar de os servos atuarem com uma tensão elétrica de 5V, é recomendado que se tenha uma bateria de 12V conectada a placa - igual ao que foi feito para operar os motores - para não sobrecarregar todo o equipamento envolvido.

WhatsApp Image 2025-01-15 at 09.07.03.jpeg

Programação


Com a conexão pronta é possível começar a programação do servo. Que consiste em 3 blocos (sendo um para servos contínuos)

Objeto do Servo

Assim como o objeto de motor - leia a seção de Motores, caso não tenha visto ainda - o servo tem um bloco semelhante, no qual podemos escolher quais dos 3 servos estaremos mexendo.

Captura de tela 2025-01-14 161736.png

Bloco de posição

Diferente do motor em que definimos um percentual da velocidade de saída, os servos funcionam ditando uma posição (geralmente em graus). Dessa forma, o bloco tem o mesmo significado, ou seja, receber um valor numérico, mas esse valor pode ir de 0 a 270.

O programa não diferencia unidades, mas espera um certo tipo, então no caso dos servos, seria em graus.

Como demonstra:

Captura de tela 2025-01-14 162354.png

Lógica


Em praticamente qualquer programa de computador é necessário tomar decisões, isso é feito utilizando condicionais, a mesma ideia é necessária ao utilizar essa interface e mecanismos.

As condicionais trabalham com lógica booleana, em resumo verdadeiro ou falso. Isso será melhor visto com a seção abaixo.

Bloco de comparação

Este bloco tem por objetivo fazer comparações númerias do tipo, 5 > 3 ou 4 > 5 - caso o resultado seja correto ele retorna verdadeiro, se não, falso.

Captura de tela 2025-01-14 165209.png

Ele aceita como parâmetros dois tipos numérico que funcionam para a comparação. Como exemplo:

Captura de tela 2025-01-14 165349.png

Esses números podem ser susbtítuidos por qualquer outro bloco que retorna um tipo numérico. Como o controle.

Operadores lógicos

Diferentes dos operadores numéricos que trabalham com números, esses trabalham com expressões de verdadeiro e falso. Para ver mais sobre o assunto acesse: Operadores lógicos

O bloco que opera com isso é o mostrado abaixo:

Captura de tela 2025-01-14 170035.png

Diferente do bloco de comparação, ele recebe valores de verdadeiro e falso (booleanos). Então segue abaixo um exemplo usando o controle:

Captura de tela 2025-01-14 170643.png

A expressão acima seria verdadeira caso qualquer um dos dois - ou mesmo os dois - botões estivessem pressionados, portanto, retornando uma instrução verdadeira

Bloco If do

Ainda dentro da categoria "Logical" é possível ver um bloco como o mostrado abaixo:

ifdo.png

A ideia principal dele é: "Se esta expressão for verdadeira, faça isso". Para ele verificar a veracidade de algo é necessário uma condição - que em resumo é uma expressão que retorna falso ou verdadeiro.

E como dito nas seções acimas, essas expressões podem ser os operadores lógicos, comparadores numéricos, ou até mesmo os valores de botões do controle.

Bloco If Else

Esse bloco é semelhante ao bloco If, com a adição de uma condição "Se não", em resumo, "Se está expressão é verdadeira, faça isso, se não, faça aquilo".

Captura de tela 2025-01-15 080124.png

Exercício


Nesta seção será demonstrado como usar a categoria "Logical" para fazer o acionamento de servos.

A ideia principal do programa que será desenvolvido nesta página é:

Sinta-se a vontade para experimentar outras lógicas, como: Se o botão X for apertado juntamente com o botão B faça isso. A ideia dos exercícios é aprender sobre a implementação de um conjunto de categorias.

Captura de tela 2025-01-15 085937.png

O que o código faz é checar qual dos 4 botões está pressionado, sendo que, cada um ao ser apertado define uma posição para o servo.

Faça o carregamente do código para a placa, conforme descrito nos capítulos iniciais, e TESTE!