gurias nas exatas - ufrgs.br · • o arduino utiliza a linguagem de programação c++ (com algumas...

42
Gurias nas Exatas Aulas de Robótica Projeto de extensão do Financiadores Gestão Escolar para Equidade | Elas nas Exatas

Upload: others

Post on 07-Aug-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Gurias nas Exatas - ufrgs.br · • O Arduino utiliza a linguagem de programação C++ (com algumas modificações). • Para transformar um programa escrito em linguagem de alto

Gurias nas Exatas

Aulas de Robótica

Projeto de extensão do Financiadores

Gestão Escolar para Equidade | Elas nas Exatas

Page 2: Gurias nas Exatas - ufrgs.br · • O Arduino utiliza a linguagem de programação C++ (com algumas modificações). • Para transformar um programa escrito em linguagem de alto

Projeto AlfaIntrodução ao Arduino

Botões, LEDs, Resistores

Desenvolvido por: Sofia Guse e Viviane Savela

Revisão: Katieli Abreu

Page 3: Gurias nas Exatas - ufrgs.br · • O Arduino utiliza a linguagem de programação C++ (com algumas modificações). • Para transformar um programa escrito em linguagem de alto

Introdução• Eletricidade e circuito simples;

• Plataforma Arduino;

• Prototipagem em protoboard.

• Conceitos básicos: eletrônica e programação;

Montagens no projeto

Meninas na Ciência – Gurias nas Exatas

Page 4: Gurias nas Exatas - ufrgs.br · • O Arduino utiliza a linguagem de programação C++ (com algumas modificações). • Para transformar um programa escrito em linguagem de alto

Circuito elétricoCaminho por onde os elétrons podem fluir. Em circuito com

fluxo contínuo de elétrons não podem haver interrupções.

Quando se deseja implementar descontinuações no circuito,

são utilizadas chaves elétricas.

Meninas na Ciência – Gurias nas Exatas

Corrente elétricaMovimento de cargas colocadas em curso por uma tensão

elétrica, enfrentando uma resistência..

Page 5: Gurias nas Exatas - ufrgs.br · • O Arduino utiliza a linguagem de programação C++ (com algumas modificações). • Para transformar um programa escrito em linguagem de alto

Circuito Elétrico - Lei de OhmA Lei de Ohm estabelece uma relação entre tensão, corrente

e resistência elétricos. A mesma diz que a corrente é

diretamente proporcional à tensão e inversamente

proporcional à resistência, sendo assim: 𝐼 =𝑉

𝑅

Meninas na Ciência – Gurias nas Exatas

Unidades de medida no SI:

• Corrente – ampere (A)

• Tensão – volt (V)

• Resistência – ohm (Ω)

Page 6: Gurias nas Exatas - ufrgs.br · • O Arduino utiliza a linguagem de programação C++ (com algumas modificações). • Para transformar um programa escrito em linguagem de alto

Componentes - ResistorO resistor é um dispositivo capaz de delimitar a passagem de corrente em certo ponto do

circuito. Realiza essa ação utilizando o efeito Joule, no qual a energia elétrica é convertida

em energia térmica.

Meninas na Ciência – Gurias nas Exatas

Page 7: Gurias nas Exatas - ufrgs.br · • O Arduino utiliza a linguagem de programação C++ (com algumas modificações). • Para transformar um programa escrito em linguagem de alto

Componentes - LED 5mmO diodo emissor de luz (Light Emmiting Diode) é um

componente que emite luz quando a corrente elétrica

percorre seus polos. O mesmo possuí polaridade, ou seja,

deve ser conectado de uma determinada maneira para não

comprometer seu funcionamento. Ao realizar sua conexão,

deve-se observar o ânodo (+) e o cátodo (-), sendo os

terminais maior e menor, nessa ordem. Também existe a

possibilidade de identificar os polos analisando o interior do

LED, para isso basta localizar o chanfro, este indica o cátodo.

Meninas na Ciência – Gurias nas Exatas

Page 8: Gurias nas Exatas - ufrgs.br · • O Arduino utiliza a linguagem de programação C++ (com algumas modificações). • Para transformar um programa escrito em linguagem de alto

Componentes – Botões, push buttonO push button (botão de pressão) é uma chave que, ao ser pressionada, abre ou fecha as

conexões do componente, gerando ou não interrupções no circuito. Em alguns push

button a ação de contato é momentânea, sendo a conexão aberta ou fechada apenas

enquanto o botão for pressionado.

Meninas na Ciência – Gurias nas Exatas

Page 9: Gurias nas Exatas - ufrgs.br · • O Arduino utiliza a linguagem de programação C++ (com algumas modificações). • Para transformar um programa escrito em linguagem de alto

Arduino• Criado na Itália com o objetivo de ser uma

ferramenta simples e barata para que estudantes

de áreas diferentes pudessem trabalhar de

maneira mais fácil com tecnologia.

• O Arduino é uma plataforma eletrônica de código

aberto que se baseia em software e hardware com

fácil utilização. A mesma é capaz de ler entradas e

transformá-las em saídas, sendo necessário para

isso informar à sua placa as instruções a serem

seguidas.

Meninas na Ciência – Gurias nas Exatas

Page 10: Gurias nas Exatas - ufrgs.br · • O Arduino utiliza a linguagem de programação C++ (com algumas modificações). • Para transformar um programa escrito em linguagem de alto

Arduino

Meninas na Ciência – Gurias nas Exatas

Page 11: Gurias nas Exatas - ufrgs.br · • O Arduino utiliza a linguagem de programação C++ (com algumas modificações). • Para transformar um programa escrito em linguagem de alto

Entendendo as entradas analógicas e digitaisO formato analógico é formado por um sistema de ondas contínuas que variam em

função do tempo. Já o formato digital, converte o mesmo sinal analógico em um

formato binário.

Entradas Analógicas são

caracterizadas por mostrar todos os

valores.

Entradas Digitais são programadas

para mostrar valores discretos, sendo

os demais números arredondados.

Meninas na Ciência – Gurias nas Exatas

Page 12: Gurias nas Exatas - ufrgs.br · • O Arduino utiliza a linguagem de programação C++ (com algumas modificações). • Para transformar um programa escrito em linguagem de alto

Arduino – Outros Modelos:Leonardo, Mega, etc.

Meninas na Ciência – Gurias nas Exatas

Page 13: Gurias nas Exatas - ufrgs.br · • O Arduino utiliza a linguagem de programação C++ (com algumas modificações). • Para transformar um programa escrito em linguagem de alto

Arduino + informações:www.arduino.cc/reference/pt

Meninas na Ciência – Gurias nas Exatas

Page 14: Gurias nas Exatas - ufrgs.br · • O Arduino utiliza a linguagem de programação C++ (com algumas modificações). • Para transformar um programa escrito em linguagem de alto

Lógica de programação

Meninas na Ciência – Gurias nas Exatas

• Os computadores de hoje ainda não conseguem compreender a linguagem natural que os seres humanos

utilizam, sendo necessário um “idioma especial” (linguagem de programação) para comunicar as ações

desejadas.

• O Arduino utiliza a linguagem de programação C++ (com algumas modificações).

• Para transformar um programa escrito em linguagem de alto nível para linguagem de máquina, se utiliza

um compilador. Compilar é a ação de “traduzir” um programa para linguagem de máquina.

Normalmente, é preciso um ambiente de desenvolvimento (ou IDE, do inglês Integrated Development

Environment) para compilar o código, ou seja, é necessário um aplicativo de computador que possua um

compilador integrado, onde é possível escrever o programa e compilá-lo.

Page 15: Gurias nas Exatas - ufrgs.br · • O Arduino utiliza a linguagem de programação C++ (com algumas modificações). • Para transformar um programa escrito em linguagem de alto

IDE Arduino: Código - Estrutura principal

Meninas na Ciência – Gurias nas Exatas

Page 16: Gurias nas Exatas - ufrgs.br · • O Arduino utiliza a linguagem de programação C++ (com algumas modificações). • Para transformar um programa escrito em linguagem de alto

Teste com a IDE: configuração do modelo da placa

Tools → Board→ Arduino Uno

Meninas na Ciência – Gurias nas Exatas

Page 17: Gurias nas Exatas - ufrgs.br · • O Arduino utiliza a linguagem de programação C++ (com algumas modificações). • Para transformar um programa escrito em linguagem de alto

Teste com a IDE: configuração da porta

Nem sempre é a mesma porta

Meninas na Ciência – Gurias nas Exatas

Page 18: Gurias nas Exatas - ufrgs.br · • O Arduino utiliza a linguagem de programação C++ (com algumas modificações). • Para transformar um programa escrito em linguagem de alto

Teste com a IDE: Blink• Carregue o exemplo:

File → Examples→ Basic → Blink

• Faça upload para a placa (imagem ao

lado)

Meninas na Ciência – Gurias nas Exatas

Page 19: Gurias nas Exatas - ufrgs.br · • O Arduino utiliza a linguagem de programação C++ (com algumas modificações). • Para transformar um programa escrito em linguagem de alto

Variáveis e estruturas e controle

Meninas na Ciência – Gurias nas Exatas

• Variável: objeto capaz de reter e representar um valor.

• Tipos de variável: int (armazena números inteiros), float (armazena valores reais), string (armazena

dados alfanuméricos).

• Estruturas de controle:

• IF (se) - verifica uma expressão e, apenas se ela for verdadeira, executa um conjunto de comandos

• IF-ELSE (se - caso contrário) – “se isso for verdadeiro, então faça aquilo, caso contrário, faça outra coisa”

• WHILE - executa um conjunto de comandos repetidas vezes enquanto uma determinada condição for

verdadeira

• FOR – executa um conjunto de ações a partir de um comando de inicialização e as repete até chegar no

comando de finalização.

Page 20: Gurias nas Exatas - ufrgs.br · • O Arduino utiliza a linguagem de programação C++ (com algumas modificações). • Para transformar um programa escrito em linguagem de alto

Prototipagem: Protoboard ou Matriz de contatoPermite conectar componentes sem precisar soldá-los;

Fios jumpers

Meninas na Ciência – Gurias nas Exatas

Page 21: Gurias nas Exatas - ufrgs.br · • O Arduino utiliza a linguagem de programação C++ (com algumas modificações). • Para transformar um programa escrito em linguagem de alto

Protoboard: Como funciona?

Meninas na Ciência – Gurias nas Exatas

Page 22: Gurias nas Exatas - ufrgs.br · • O Arduino utiliza a linguagem de programação C++ (com algumas modificações). • Para transformar um programa escrito em linguagem de alto

Protoboard: Evite curto circuito!

Curto circuito! OK!

Meninas na Ciência – Gurias nas Exatas

Page 23: Gurias nas Exatas - ufrgs.br · • O Arduino utiliza a linguagem de programação C++ (com algumas modificações). • Para transformar um programa escrito em linguagem de alto

Projeto Alfa I

Sinalização da frenagem

Hora de começar com a prática!

Meninas na Ciência – Gurias nas Exatas

Page 24: Gurias nas Exatas - ufrgs.br · • O Arduino utiliza a linguagem de programação C++ (com algumas modificações). • Para transformar um programa escrito em linguagem de alto

Material necessário• IDE do Arduino instalada no seu computador;

• 01 Arduino UNO ou similar;

• 01 cabo USB para Arduino;

• 01 protoboard;

• Jumpers;

• 01 botão do tipo push button;

• 01 resistor de 10kΩ;

• 01 resistor de 220Ω;

• 01 led 5mm. Meninas na Ciência – Gurias nas Exatas

Page 25: Gurias nas Exatas - ufrgs.br · • O Arduino utiliza a linguagem de programação C++ (com algumas modificações). • Para transformar um programa escrito em linguagem de alto

Montagem eletrônica I

Meninas na Ciência – Gurias nas Exatas

Page 26: Gurias nas Exatas - ufrgs.br · • O Arduino utiliza a linguagem de programação C++ (com algumas modificações). • Para transformar um programa escrito em linguagem de alto

Explicação do código

Comentários

Eles são ignorados pelo compilador, e não

fazem parte do arquivo gravado no chip,

então não ocupam nenhum espaço na

memória flash do microcontrolador.

Uma linha comentada: //

Linhas em sequência comentadas: /* */

O int define o valor da variável como um

número inteiro, ou seja, sem parte

decimal.

Sintaxe

int var = val;

var é o nome da variável.

val é o valor da variável.

int é o tipo de dado que a variável receberá.

Tipos de dados: int

Meninas na Ciência – Gurias nas Exatas

Page 27: Gurias nas Exatas - ufrgs.br · • O Arduino utiliza a linguagem de programação C++ (com algumas modificações). • Para transformar um programa escrito em linguagem de alto

Explicação do código

Função pinMode():

Configura o pino especificado para

funcionar como uma entrada ou saída.

Sintaxe:

pinMode (pino, modo);

Parâmetros:

pino é o número do pino utilizado.

modo pode ser INPUT ou OUTPUT.

Lê o valor de um pino digital especificado,

que pode ser HIGH ou LOW.

Sintaxe:

digitalRead (pino);

Parâmetros:

pino é o número do pino utilizado.

Função digitalRead();

Meninas na Ciência – Gurias nas Exatas

Page 28: Gurias nas Exatas - ufrgs.br · • O Arduino utiliza a linguagem de programação C++ (com algumas modificações). • Para transformar um programa escrito em linguagem de alto

Explicação do código:

Função digitalWrite():

Adiciona um valor de 0 a 5V em um pino

digital, sendo estes correspondentes a

HIGH ou LOW.

Sintaxe:

digitalWrite (pino, valor);

Parâmetros:

pino é o número do pino utilizado.

modo pode ser HIGH ou LOW.

Meninas na Ciência – Gurias nas Exatas

Page 29: Gurias nas Exatas - ufrgs.br · • O Arduino utiliza a linguagem de programação C++ (com algumas modificações). • Para transformar um programa escrito em linguagem de alto

Código I

Meninas na Ciência – Gurias nas Exatas

Page 30: Gurias nas Exatas - ufrgs.br · • O Arduino utiliza a linguagem de programação C++ (com algumas modificações). • Para transformar um programa escrito em linguagem de alto

Projeto Alfa II

Sistema de setas do carro

Hora de começar com a prática!

Meninas na Ciência – Gurias nas Exatas

Page 31: Gurias nas Exatas - ufrgs.br · • O Arduino utiliza a linguagem de programação C++ (com algumas modificações). • Para transformar um programa escrito em linguagem de alto

Material necessário• IDE do Arduino instalada no seu computador;

• 01 Arduino UNO ou similar;

• 01 cabo USB para Arduino;

• 01 protoboard;

• Jumpers;

• 02 botões do tipo push button;

• 02 resistores de 10kΩ;

• 02 resistores de 220Ω;

• 02 leds 5mm. Meninas na Ciência – Gurias nas Exatas

Page 32: Gurias nas Exatas - ufrgs.br · • O Arduino utiliza a linguagem de programação C++ (com algumas modificações). • Para transformar um programa escrito em linguagem de alto

Montagem Eletrônica II

Meninas na Ciência – Gurias nas Exatas

Page 33: Gurias nas Exatas - ufrgs.br · • O Arduino utiliza a linguagem de programação C++ (com algumas modificações). • Para transformar um programa escrito em linguagem de alto

Explicação do códigoCondicional IF:

Executa a afirmação dentro do bloco, se

determinada condição for verdadeira.

Permite múltiplos testes serem agrupados

juntos.Sintaxe:

if (condição1)

executa ação 1;

else if (condição 2)

executa ação 2;

else

executa ação 3;

Meninas na Ciência – Gurias nas Exatas

Page 34: Gurias nas Exatas - ufrgs.br · • O Arduino utiliza a linguagem de programação C++ (com algumas modificações). • Para transformar um programa escrito em linguagem de alto

Código II – Parte 1

... Meninas na Ciência – Gurias nas Exatas

Atenção ao nome das

variáveis e portas utilizadas!

Page 35: Gurias nas Exatas - ufrgs.br · • O Arduino utiliza a linguagem de programação C++ (com algumas modificações). • Para transformar um programa escrito em linguagem de alto

Código II – Parte 2

Meninas na Ciência – Gurias nas Exatas

Lembre-se que no carro

não é possível acionar as

duas setas ao mesmo

tempo!

Page 36: Gurias nas Exatas - ufrgs.br · • O Arduino utiliza a linguagem de programação C++ (com algumas modificações). • Para transformar um programa escrito em linguagem de alto

Projeto Alfa III

Semáforo

Hora de começar com a prática!

Meninas na Ciência – Gurias nas Exatas

Page 37: Gurias nas Exatas - ufrgs.br · • O Arduino utiliza a linguagem de programação C++ (com algumas modificações). • Para transformar um programa escrito em linguagem de alto

Material necessário• IDE do Arduino instalada no seu computador;

• 01 Arduino UNO ou similar;

• 01 cabo USB para Arduino;

• 01 protoboard;

• Jumpers;

• 05 resistores de 220Ω;

• 05 leds 5mm (01 amarelo, 02 verdes, 02 vermelhos).

Meninas na Ciência – Gurias nas Exatas

Page 38: Gurias nas Exatas - ufrgs.br · • O Arduino utiliza a linguagem de programação C++ (com algumas modificações). • Para transformar um programa escrito em linguagem de alto

Montagem Eletrônica III

Meninas na Ciência – Gurias nas Exatas

Page 39: Gurias nas Exatas - ufrgs.br · • O Arduino utiliza a linguagem de programação C++ (com algumas modificações). • Para transformar um programa escrito em linguagem de alto

Explicação do códigoComando FOR:

Estrutura de repetição utilizada quando se

sabe de antemão quantas vezes a repetição

deverá ser executada, utilizando uma

variável para controlar a contagem do

loop.

Sintaxe:

for (valor_inicial; condição_final; valor_incremento)

instruções;

Meninas na Ciência – Gurias nas Exatas

Page 40: Gurias nas Exatas - ufrgs.br · • O Arduino utiliza a linguagem de programação C++ (com algumas modificações). • Para transformar um programa escrito em linguagem de alto

Código III – Parte 1

Meninas na Ciência – Gurias nas Exatas

Page 41: Gurias nas Exatas - ufrgs.br · • O Arduino utiliza a linguagem de programação C++ (com algumas modificações). • Para transformar um programa escrito em linguagem de alto

Código III – Parte 2

Meninas na Ciência – Gurias nas Exatas

Page 42: Gurias nas Exatas - ufrgs.br · • O Arduino utiliza a linguagem de programação C++ (com algumas modificações). • Para transformar um programa escrito em linguagem de alto

Referências

Meninas na Ciência – Gurias nas Exatas

• https://www.arduino.cc/reference/pt/

• https://athoselectronics.com/componentes-eletronicos-guia/

• HEWITT, Paul G. Física Conceitual. Tradução de Trieste Freire. 12ª edição. São Paulo:

BOOKMAN Editora LTDA., 2015. 820p.