Top Banner
Execução: Laboratório de Automação e Robótica Móvel Programação Básica em Arduino – Aula 7
32

Programação Básica em Arduino Aula 7oficinaderobotica.ufsc.br/files/2015/...Básica-em-Arduino-Aula-7.pdf · Possuem um conjunto de engrenagens ... aula são limitados em 180 graus.

Nov 16, 2018

Download

Documents

nguyennguyet
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Programação Básica em Arduino Aula 7oficinaderobotica.ufsc.br/files/2015/...Básica-em-Arduino-Aula-7.pdf · Possuem um conjunto de engrenagens ... aula são limitados em 180 graus.

Execução:

Laboratório de Automação e Robótica Móvel

Programação Básica em Arduino – Aula 7

Page 2: Programação Básica em Arduino Aula 7oficinaderobotica.ufsc.br/files/2015/...Básica-em-Arduino-Aula-7.pdf · Possuem um conjunto de engrenagens ... aula são limitados em 180 graus.

22UFSC – Programação Básica em Arduino - 2015

Um capacitor ou condensador é um componente eletrônico composto por duas placas condutoras separadas por um material isolante (dielétrico).

É utilizado para armazenar cargas elétricas.

A unidade de grandeza de um capacitor é a capacitância medida em Farad (símbolo F).

Page 3: Programação Básica em Arduino Aula 7oficinaderobotica.ufsc.br/files/2015/...Básica-em-Arduino-Aula-7.pdf · Possuem um conjunto de engrenagens ... aula são limitados em 180 graus.

33UFSC – Programação Básica em Arduino - 2015

O Farad é uma relação Coulomb (símbolo C) por volt, ou seja, um dispositivo tem a capacitância de 1 Farad quando uma carga de 1 Coulomb armazenada fizer estabelecer um potencial elétrico de 1 Volt.

Normalmente são usados submúltiplos de Farad, tais como: μF (micro), nF (nano) e pF (pico).

Page 4: Programação Básica em Arduino Aula 7oficinaderobotica.ufsc.br/files/2015/...Básica-em-Arduino-Aula-7.pdf · Possuem um conjunto de engrenagens ... aula são limitados em 180 graus.

44UFSC – Programação Básica em Arduino - 2015

Tipos de capacitores◦ Cerâmicos

◦ Filme plástico

◦ Eletrolítico de alumínio

◦ Eletrolítico de tântalo

◦ Variáveis

Page 5: Programação Básica em Arduino Aula 7oficinaderobotica.ufsc.br/files/2015/...Básica-em-Arduino-Aula-7.pdf · Possuem um conjunto de engrenagens ... aula são limitados em 180 graus.

55UFSC – Programação Básica em Arduino - 2015

Parâmetros dos capacitores◦ Capacitância nominal (CN): valor da capacitância de

trabalho do capacitor.

◦ Tolerância: variação da capacitância nominal.

◦ Tensão nominal (VN): tensão contínua máxima que pode ser aplicada ao capacitor.

◦ Tensão de operação (Vop): tensão de operação. Não deve ser superior a tensão nominal.

◦ Tensão de pico (Vp): tensão máxima que pode ser aplicada ao capacitor, por curtos períodos de tempo, até 5 vezes por minuto, durante 1 hora.

Page 6: Programação Básica em Arduino Aula 7oficinaderobotica.ufsc.br/files/2015/...Básica-em-Arduino-Aula-7.pdf · Possuem um conjunto de engrenagens ... aula são limitados em 180 graus.

66UFSC – Programação Básica em Arduino - 2015

Parâmetros dos capacitores◦ Resistência paralela (VP): resistência do dielétrico

medida em ohms.

◦ Resistência série equivalente (RSE): formada pelas resistências das placas, resistências de contatos dos terminais com as placas e as resistências dos próprios terminais do capacitor.

◦ Corrente de fuga: fluxo de corrente através do dielétrico.

◦ Características de temperatura: temperatura de operação do capacitor.

Page 7: Programação Básica em Arduino Aula 7oficinaderobotica.ufsc.br/files/2015/...Básica-em-Arduino-Aula-7.pdf · Possuem um conjunto de engrenagens ... aula são limitados em 180 graus.

77UFSC – Programação Básica em Arduino - 2015

Eletrolítico◦ Construído por duas folhas de alumínio

embebidas em borato de sódio ou ácido bórico (placas condutoras). As duas folhas são separadas por uma camada de óxido de alumínio (dielétrico).

◦ Capacitor que possui polaridade, se ligado invertido pode ser danificado.

◦ Geralmente são utilizados como filtros de sinais elétricos.

Page 8: Programação Básica em Arduino Aula 7oficinaderobotica.ufsc.br/files/2015/...Básica-em-Arduino-Aula-7.pdf · Possuem um conjunto de engrenagens ... aula são limitados em 180 graus.

88UFSC – Programação Básica em Arduino - 2015

Cerâmico◦ O dielétrico dos capacitores cerâmicos é feito

de material cerâmico.

◦ Não possuem polaridade.

◦ Apresentam capacitância na ordem de pF(Pico Farads).

◦ São utilizados geralmente em circuitos de alta frequência.

Page 9: Programação Básica em Arduino Aula 7oficinaderobotica.ufsc.br/files/2015/...Básica-em-Arduino-Aula-7.pdf · Possuem um conjunto de engrenagens ... aula são limitados em 180 graus.

99UFSC – Programação Básica em Arduino - 2015

Cerâmico◦ A capacitância nominal nos capacitores

cerâmicos pode ser identificada da seguinte forma:

Leitura direta em picofarads: no corpo do capacitor aparecerá um número, por exemplo, 8200, que significa 8200 pF.

Código com 3 algarismos: os dois primeiros indicam a dezena e a unidade, respectivamente e o terceiro indica o número de zeros.

Exemplo:

104, capacitor de 100.000 pF.

Page 10: Programação Básica em Arduino Aula 7oficinaderobotica.ufsc.br/files/2015/...Básica-em-Arduino-Aula-7.pdf · Possuem um conjunto de engrenagens ... aula são limitados em 180 graus.

1010UFSC – Programação Básica em Arduino - 2015

Cerâmico◦ A tolerância dos capacitores cerâmicos é

identificada por uma letra após os números.

C ≤ 10 pF Letra indicativa C > 10 pF

+/- 0,1 pF B

+/- 0,25 pF C

+/- 0,5 pF D

+/- 1 pF F +/- 1%

+/- 2 pF G +/- 2%

H +/- 3%

J +/- 5%

K +/- 10%

M +/- 20%

S + 50% a - 20%

Z + 80% a - 20%+ 100% a - 20%

P + 100%

Page 11: Programação Básica em Arduino Aula 7oficinaderobotica.ufsc.br/files/2015/...Básica-em-Arduino-Aula-7.pdf · Possuem um conjunto de engrenagens ... aula são limitados em 180 graus.

1111UFSC – Programação Básica em Arduino - 2015

Cerâmico◦ A tolerância dos capacitores cerâmicos é

identificada por uma letra após os números.

◦ Exemplo:

Capacitor 104K e 104M

104K

Capacitância: 100.000 pF

Tolerância: +/- 10%

104M

Capacitância: 100.000 pF

Tolerância: +/- 20%

Page 12: Programação Básica em Arduino Aula 7oficinaderobotica.ufsc.br/files/2015/...Básica-em-Arduino-Aula-7.pdf · Possuem um conjunto de engrenagens ... aula são limitados em 180 graus.

1212UFSC – Programação Básica em Arduino - 2015

Exemplo◦ Circuito com capacitor eletrolítico em série

com um LED – carga do capacitor

Page 13: Programação Básica em Arduino Aula 7oficinaderobotica.ufsc.br/files/2015/...Básica-em-Arduino-Aula-7.pdf · Possuem um conjunto de engrenagens ... aula são limitados em 180 graus.

1313UFSC – Programação Básica em Arduino - 2015

Exemplo◦ Circuito com capacitor eletrolítico em série

com um LED – carga do capacitor

Page 14: Programação Básica em Arduino Aula 7oficinaderobotica.ufsc.br/files/2015/...Básica-em-Arduino-Aula-7.pdf · Possuem um conjunto de engrenagens ... aula são limitados em 180 graus.

1414UFSC – Programação Básica em Arduino - 2015

Exemplo◦ Circuito com capacitor eletrolítico em série

com um LED – descarga do capacitor

Page 15: Programação Básica em Arduino Aula 7oficinaderobotica.ufsc.br/files/2015/...Básica-em-Arduino-Aula-7.pdf · Possuem um conjunto de engrenagens ... aula são limitados em 180 graus.

1515UFSC – Programação Básica em Arduino - 2015

Exemplo◦ Circuito com capacitor eletrolítico em série

com um LED – descarga do capacitor

Page 16: Programação Básica em Arduino Aula 7oficinaderobotica.ufsc.br/files/2015/...Básica-em-Arduino-Aula-7.pdf · Possuem um conjunto de engrenagens ... aula são limitados em 180 graus.

1616UFSC – Programação Básica em Arduino - 2015

O display de 7 segmentos é um dispositivo o qual já foi muito utilizado para dispositivos eletrônicos. Nos dias atuais o 7 segmentos é pouco utilizado devido ao uso de telas mais práticas e modernas.

Page 17: Programação Básica em Arduino Aula 7oficinaderobotica.ufsc.br/files/2015/...Básica-em-Arduino-Aula-7.pdf · Possuem um conjunto de engrenagens ... aula são limitados em 180 graus.

1717UFSC – Programação Básica em Arduino - 2015

O display de 7 segmentos nada mais é que um conjunto de LEDs estruturados de forma que ligados da forma correta podem representar um valor.

Page 18: Programação Básica em Arduino Aula 7oficinaderobotica.ufsc.br/files/2015/...Básica-em-Arduino-Aula-7.pdf · Possuem um conjunto de engrenagens ... aula são limitados em 180 graus.

1818UFSC – Programação Básica em Arduino - 2015

Os displays de 7 segmentos possuem um pino em comum chamado de catodo ou anodo comum. Esse pino define se o pino comum é respectivamente negativo ou positivo. Neste caso, todos os outros pinos serão o oposto do comum.

Page 19: Programação Básica em Arduino Aula 7oficinaderobotica.ufsc.br/files/2015/...Básica-em-Arduino-Aula-7.pdf · Possuem um conjunto de engrenagens ... aula são limitados em 180 graus.

1919UFSC – Programação Básica em Arduino - 2015

Page 20: Programação Básica em Arduino Aula 7oficinaderobotica.ufsc.br/files/2015/...Básica-em-Arduino-Aula-7.pdf · Possuem um conjunto de engrenagens ... aula são limitados em 180 graus.

2020UFSC – Programação Básica em Arduino - 2015

O display utilizado em aula será catodo comum.

Deve-se tomar o mesmo cuidado que se tem com os LEDs, integrando resistores aos pinos para não causar danos ao display.

Page 21: Programação Básica em Arduino Aula 7oficinaderobotica.ufsc.br/files/2015/...Básica-em-Arduino-Aula-7.pdf · Possuem um conjunto de engrenagens ... aula são limitados em 180 graus.

2121UFSC – Programação Básica em Arduino - 2015

Criar um contador de 0 a 9. Cada número deve permanecer por 1 segundo (1000ms) e depois trocar. Ao completar o ciclo, deve-se voltar ao 0 e repetir a operação.

Page 22: Programação Básica em Arduino Aula 7oficinaderobotica.ufsc.br/files/2015/...Básica-em-Arduino-Aula-7.pdf · Possuem um conjunto de engrenagens ... aula são limitados em 180 graus.

2222UFSC – Programação Básica em Arduino - 2015

Servo motores com seu funcionamento semelhante aos motores de passo. Possuem um conjunto de engrenagens que controlam o seu movimento conforme os seus comandos elétricos.

Page 23: Programação Básica em Arduino Aula 7oficinaderobotica.ufsc.br/files/2015/...Básica-em-Arduino-Aula-7.pdf · Possuem um conjunto de engrenagens ... aula são limitados em 180 graus.

2323UFSC – Programação Básica em Arduino - 2015

Existem diversos modelos de servo motores, desde os mais simples aos mais robustos.

Quanto mais robusto o motor maior será o torque que ele irá possuir, porém por consequência, será mais caro.

Page 24: Programação Básica em Arduino Aula 7oficinaderobotica.ufsc.br/files/2015/...Básica-em-Arduino-Aula-7.pdf · Possuem um conjunto de engrenagens ... aula são limitados em 180 graus.

2424UFSC – Programação Básica em Arduino - 2015

O movimento dos servos utilizados em aula são limitados em 180 graus.

Page 25: Programação Básica em Arduino Aula 7oficinaderobotica.ufsc.br/files/2015/...Básica-em-Arduino-Aula-7.pdf · Possuem um conjunto de engrenagens ... aula são limitados em 180 graus.

2525UFSC – Programação Básica em Arduino - 2015

As conexões para o servo utilizado em aula são 3 fios.

Page 26: Programação Básica em Arduino Aula 7oficinaderobotica.ufsc.br/files/2015/...Básica-em-Arduino-Aula-7.pdf · Possuem um conjunto de engrenagens ... aula são limitados em 180 graus.

2626UFSC – Programação Básica em Arduino - 2015

Para controla-los utilizaremos a biblioteca no arduino chamada de Servo.h

Nela possuímos as funções: attach() write() writeMicroseconds() read() attached() detach()

Page 27: Programação Básica em Arduino Aula 7oficinaderobotica.ufsc.br/files/2015/...Básica-em-Arduino-Aula-7.pdf · Possuem um conjunto de engrenagens ... aula são limitados em 180 graus.

2727UFSC – Programação Básica em Arduino - 2015

attach()◦ Esta função indicará que o pino selecionado

será utilizado para envio do sinais para o servo:

#include <Servo.h>

Servo servo1;

void setup()

{

servo1.attach(5);

Page 28: Programação Básica em Arduino Aula 7oficinaderobotica.ufsc.br/files/2015/...Básica-em-Arduino-Aula-7.pdf · Possuem um conjunto de engrenagens ... aula são limitados em 180 graus.

2828UFSC – Programação Básica em Arduino - 2015

write()◦ Esta função controlará o servo, indicando a

sua posição, que deve variar de 0 a 180.

◦ Como o movimento mecânico é mais lento que o sinal elétrico deve-se utilizar de algum delay entre o comando, para que o motor possa acompanhar.

Page 29: Programação Básica em Arduino Aula 7oficinaderobotica.ufsc.br/files/2015/...Básica-em-Arduino-Aula-7.pdf · Possuem um conjunto de engrenagens ... aula são limitados em 180 graus.

2929UFSC – Programação Básica em Arduino - 2015

write()◦ Exemplo:

servo1.write(90);

delay(15);

Page 30: Programação Básica em Arduino Aula 7oficinaderobotica.ufsc.br/files/2015/...Básica-em-Arduino-Aula-7.pdf · Possuem um conjunto de engrenagens ... aula são limitados em 180 graus.

3030UFSC – Programação Básica em Arduino - 2015

Fazer um programa em que o servo motor varie de sua posição 0 a 180. Ao final ele deve voltar para sua posição inicial e repetir o processo.

Page 31: Programação Básica em Arduino Aula 7oficinaderobotica.ufsc.br/files/2015/...Básica-em-Arduino-Aula-7.pdf · Possuem um conjunto de engrenagens ... aula são limitados em 180 graus.

3131UFSC – Programação Básica em Arduino - 2015

Fazer um contador de 0 a 9 onde deve possuir 2 botões. O primeiro botão deve incrementar o valor que será exibido no display de 7 segmentos. O segundo botão deverá decrementar o valor do display de 7 segmentos. Caso o valor de incremento ou decremento superarem o valor permitido pelo display, o valor que está atual deve permanecer e voltar apenas no sentido permitido.

Page 32: Programação Básica em Arduino Aula 7oficinaderobotica.ufsc.br/files/2015/...Básica-em-Arduino-Aula-7.pdf · Possuem um conjunto de engrenagens ... aula são limitados em 180 graus.

3232UFSC – Programação Básica em Arduino - 2015

Fazer um controle do servo motor através do potenciômetro. O valor do potenciômetro deve inferir um valor de 0 a 180 que será transmitido ao servo. O servo por sua vez deve se movimentar de acordo. Sugestão: utilizar a função map();