Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Braco Robotico com Arduino, Manuais, Projetos, Pesquisas de Engenharia Eletrônica

Braço robotico com arduino como fazer.

Tipologia: Manuais, Projetos, Pesquisas

Antes de 2010

Compartilhado em 24/10/2021

andre-oliveira-2gk
andre-oliveira-2gk 🇧🇷

3.7

(3)

13 documentos

1 / 26

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a

Pré-visualização parcial do texto

Baixe Braco Robotico com Arduino e outras Manuais, Projetos, Pesquisas em PDF para Engenharia Eletrônica, somente na Docsity!

Sumário

    1. INTRODUÇÃO .................................................................
    1. MONTAGEM DO BRAÇO ROBÓTICO............................
    • 2.1 MONTAGEM............................................................
    • 2.2 PROGRAMANDO O BRAÇO ROBÓTICO..................
    • 2.2.1 Linguagem de programação por codificação.........
    • 2.2.2 Linguagem de programação por blocos................
    1. VIDEOTUTORIAL

2. MONTAGEM DO BRAÇO ROBÓTICO

Para a confecção e funcionamento do braço robótico, utilizamos os materiais demonstrados no quadro 1.

Quadro 1 – Materiais para confecção do braço robótico

01 Placa Protoboard 01 Arduino Uno R

01 Cabo USB 14 Jumpers Macho-Macho

04 Servos 01 Joystick Shield DIY para Arduino

01 Kit Braço MDF 01 Computador Software IDE Arduino ou Software mBlock

2.1 MONTAGEM

Iniciamos a confecção do braço robótico com a montagem dos

componentes eletrônicos. Para tal, utilizamos a matriz de contato Protoboard,

que é uma placa de prototipagem eletrônica com orifícios e conexões

condutoras, que permite montar circuitos eletrônicos sem haver a necessidade

de soldar os componentes na placa.

A Protoboard é composta por faixas terminais e faixas de barramento.

Cada faixa terminal possui cinco pontos conectados por um condutor metálico

e representados por letras do alfabeto; já as faixas de barramento possuem,

geralmente, uma faixa azul, que serve como sinal de alimentação negativa

do circuito eletrônico, e uma de cor vermelha, como sinal de alimentação

positiva, conforme mostra a figura 1.

Figura 1 – Placa de Protoboard

Para controlar os movimentos do braço robótico em seus diferentes

eixos e sua garra, utilizamos quatro servos motores. O servo é um dispositivo

de malha fechada que apresenta movimento proporcional a um comando, ou

seja, ao receber um sinal de controle, verifica a posição atual e se movimenta

para a posição desejada com velocidade monitorada. Sua estrutura possui os

seguintes componentes: engrenagens, circuito de controle (responsável pelo

monitoramento do potenciômetro e acionamento do motor), potenciômetro,

motor e caixa do servo, além de três fi os: marrom (GND) e vermelho (5V)

que levam energia elétrica para o motor, e amarelo que recebe os comandos

do Arduino (figura 4).

Figura 4 – Servo Motor e seus componentes internos

Para realizar o controle dos servos, acoplamos sobre a placa de Arduino

uma placa de Joystick Shield para Arduino. Esta placa possui 4 chaves botão

de pressão (push button), instaladas no formato de cruz, duas chaves botão de

pressão pequenas de seleção e um sistema de alavanca analógico, formado

por dois potenciômetros, com diversos movimentos. Há, ainda, uma chave

que possibilita escolher a tensão de alimentação do Shield, podendo optar

entre 3,3 V ou 5 V, permitindo a utilização em outros microcontroladores. É

utilizada para aumentar a capacidade do Arduino e expandir o número de

portas de entrada e saída (figura 5).

Figura 5 Placa de Joystick Shield para Arduino

Conecte um jumper Macho-Macho entre a porta GND do Arduino e

a linha azul da Protoboard. Na sequência, conecte outro jumper Macho-

Macho entre a porta 5V do Arduino e a linha vermelha da Protoboard, como

mostra a figura 6.

Figura 6 - Ligação de jumpers Macho-Macho a placa de Protoboard e Arduino

2.2 PROGRAMANDO O BRAÇO

ROBÓTICO

Neste projeto, apresentamos duas formas de programar o funcionamento

do braço robótico: por meio da linguagem escrita (codificação) ou da

linguagem em blocos. Vamos conhecê-las.

2.2.1 Linguagem de programação por

codificação

Para iniciar a programação, conecte a placa Arduino ao computador,

através de um cabo USB, a fi m de que ocorra a comunicação entre a placa

microcontroladora e a IDE de programação do Arduino, caso essa esteja

instalada em seu computador. Caso contrário, a comunicação poderá ser

feita via on-line, por meio do seguinte endereço eletrônico: .

https://create.arduino.cc/editor

Na IDE de programação do Arduino, escreva ou copie e cole o código-

fonte de programação, conforme apresentado no quadro 2.

Quadro 2 - Código-fonte da programação na linguagem do Arduino (Wiring)

#include < Servo .h> // Declaração das variáveis int btA = 2; int btB = 3; int btC = 4; int btD = 5;

int potA0 = 0; int potA1 = 0; int incremento = 0;

char escolha = “”;

// Definição dos ângulos iniciais dos servos (esses valores podem variar de montagem para montagem) int angServoBase = 90; int angServoDir = 80; int angServoEsq = 130; int angServoGuarra = 90;

// Declaração dos servos Servo servo_9; Servo servo_10; Servo servo_11; Servo servo_12;

void setup() { // Configuração do MODO de operação das portas para os botões pinMode(btA, INPUT); pinMode(btB, INPUT); pinMode(btC, INPUT); pinMode(btD, INPUT);

// Configuração das portas de operação dos servos servo_9.attach(9); servo_10.attach(10);

// Se o potenciômetro A0 for deslocado para a direita, moverá o servo da garra //até um valor máximo de 90 graus. if (potA0 > 600) { if (angServoGuarra < 90) { incremento = map(potA0, 600 , 1000, 0, 5); angServoGuarra = angServoGuarra + incremento; incremento = 0; servo_12.write(angServoGuarra); } } break; case ‘B’: Serial .println(“Botão B”); // Se o potenciômetro A1 for deslocado para trás, moverá o servo da direita //até um valor máximo de 80 graus. if (potA1 < 400) { if (angServoDir > 80) { incremento = -map(potA1, 0, 400, 5, 0); angServoDir = angServoDir + incremento; incremento = 0; servo_10.write(angServoDir); } } // Se o potenciômetro A1 for deslocado para frente, moverá o servo da direita //até um valor máximo de 180 graus. if (potA1 > 600) { if (angServoDir < 180) { incremento = map(potA1, 600 , 1000, 0, 5); angServoDir = angServoDir + incremento; incremento = 0; servo_10.write(angServoDir); } } break; case ‘C’: Serial .println(“Botão C”);

// Se o potenciômetro A0 for deslocado para esquerda, moverá o servo da base //até um valor máximo de 180 graus. if (potA0 < 400) { if (angServoBase < 180) { incremento = map(potA0, 0, 400, 5, 0); angServoBase = angServoBase + incremento; incremento = 0; servo_9.write(angServoBase); } } // Se o potenciômetro A0 for deslocado para direita, moverá o servo da base //até um valor máximo de 0 graus. if (potA0 > 600) { if (angServoBase > 0) { incremento = map(potA0, 600 , 1000, 0, 5); angServoBase = angServoBase - incremento; incremento = 0; servo_9.write(angServoBase); } } break; case ‘D’: Serial .println(“Botão D”); // Se o potenciômetro A1 for deslocado para trás, moverá o servo da esquerda //até um valor máximo de 10 graus. if (potA1 < 400) { if (angServoEsq > 10) { incremento = -map(potA1, 0, 400, 5, 0); angServoEsq = angServoEsq + incremento; incremento = 0; servo_11.write(angServoEsq); } } // Se o potenciômetro A1 for deslocado para frente, moverá o servo da esquerda //até um valor máximo de 130 graus. if (potA1 > 600) { if (angServoEsq < 130) {

Figura 10 – Compilando a programação em linguagem escrita

Após a transferência do programa para o Arduino, este ativa o joystick,

informando ao servo qual ângulo deve ocupar, formar ou ir. Cada servo é

responsável por um movimento: para cima e para baixo; da esquerda para

direita; abertura e fechamento da garra; e rotação do pulso. A execução de

cada movimento é determinada pelo acionamento de cada chave botão de

pressão (formato de cruz) da placa de joystick Shield.

2.2.2 Linguagem de programação em

blocos

Outra forma de programar o braço robótico é por meio da linguagem

de programação que utiliza blocos de funções prontas, os quais representam

comandos de programação. Neste projeto, utilizamos o software mBlock,

disponível no seguinte endereço eletrônico: , que

permite programar, arrastando e soltando blocos de construção (figura 11).

Este software também pode ser instalado no computador: .

Figura 11 – Layout do software mBlock

http://www.mblock.cc/en-us/download

Figura 14 - Programação em blocos para funcionamento do braço robótico