gurias nas exatas - ufrgs.br · • o arduino utiliza a linguagem de programação c++ (com algumas...
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](https://reader034.vdocuments.site/reader034/viewer/2022042810/5f99fb17e3a2e0798872244b/html5/thumbnails/1.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042810/5f99fb17e3a2e0798872244b/html5/thumbnails/2.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042810/5f99fb17e3a2e0798872244b/html5/thumbnails/3.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042810/5f99fb17e3a2e0798872244b/html5/thumbnails/4.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042810/5f99fb17e3a2e0798872244b/html5/thumbnails/5.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042810/5f99fb17e3a2e0798872244b/html5/thumbnails/6.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042810/5f99fb17e3a2e0798872244b/html5/thumbnails/7.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042810/5f99fb17e3a2e0798872244b/html5/thumbnails/8.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042810/5f99fb17e3a2e0798872244b/html5/thumbnails/9.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042810/5f99fb17e3a2e0798872244b/html5/thumbnails/10.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042810/5f99fb17e3a2e0798872244b/html5/thumbnails/11.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042810/5f99fb17e3a2e0798872244b/html5/thumbnails/12.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042810/5f99fb17e3a2e0798872244b/html5/thumbnails/13.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042810/5f99fb17e3a2e0798872244b/html5/thumbnails/14.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042810/5f99fb17e3a2e0798872244b/html5/thumbnails/15.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042810/5f99fb17e3a2e0798872244b/html5/thumbnails/16.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042810/5f99fb17e3a2e0798872244b/html5/thumbnails/17.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042810/5f99fb17e3a2e0798872244b/html5/thumbnails/18.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042810/5f99fb17e3a2e0798872244b/html5/thumbnails/19.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042810/5f99fb17e3a2e0798872244b/html5/thumbnails/20.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042810/5f99fb17e3a2e0798872244b/html5/thumbnails/21.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042810/5f99fb17e3a2e0798872244b/html5/thumbnails/22.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042810/5f99fb17e3a2e0798872244b/html5/thumbnails/23.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042810/5f99fb17e3a2e0798872244b/html5/thumbnails/24.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042810/5f99fb17e3a2e0798872244b/html5/thumbnails/25.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042810/5f99fb17e3a2e0798872244b/html5/thumbnails/26.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042810/5f99fb17e3a2e0798872244b/html5/thumbnails/27.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042810/5f99fb17e3a2e0798872244b/html5/thumbnails/28.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042810/5f99fb17e3a2e0798872244b/html5/thumbnails/29.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042810/5f99fb17e3a2e0798872244b/html5/thumbnails/30.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042810/5f99fb17e3a2e0798872244b/html5/thumbnails/31.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042810/5f99fb17e3a2e0798872244b/html5/thumbnails/32.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042810/5f99fb17e3a2e0798872244b/html5/thumbnails/33.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042810/5f99fb17e3a2e0798872244b/html5/thumbnails/34.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042810/5f99fb17e3a2e0798872244b/html5/thumbnails/35.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042810/5f99fb17e3a2e0798872244b/html5/thumbnails/36.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042810/5f99fb17e3a2e0798872244b/html5/thumbnails/37.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042810/5f99fb17e3a2e0798872244b/html5/thumbnails/38.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042810/5f99fb17e3a2e0798872244b/html5/thumbnails/39.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042810/5f99fb17e3a2e0798872244b/html5/thumbnails/40.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042810/5f99fb17e3a2e0798872244b/html5/thumbnails/41.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042810/5f99fb17e3a2e0798872244b/html5/thumbnails/42.jpg)
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.