25
Linguagem de Programação Linguagem C com Arduino Prof. Luiz Claudio Ferreira de Souza E-mail: [email protected] www.luizclaudiofs.blogspot.com Belém / PA 2017

Linguagem de Programação Linguagem C com Arduino · 2017. 9. 11. · Essas linguagens de programação também são chamadas de linguagens de programação de alto nível. A linguagem

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Linguagem de Programação Linguagem C com Arduino · 2017. 9. 11. · Essas linguagens de programação também são chamadas de linguagens de programação de alto nível. A linguagem

Linguagem de Programação

Linguagem C com Arduino

Prof. Luiz Claudio Ferreira de Souza

E-mail: [email protected]

www.luizclaudiofs.blogspot.com

Belém / PA

2017

Page 2: Linguagem de Programação Linguagem C com Arduino · 2017. 9. 11. · Essas linguagens de programação também são chamadas de linguagens de programação de alto nível. A linguagem

Sumário

Fundamentos de Eletrônica .................................................................................................... 3

Transistor ............................................................................................................................ 4

Fontes de Alimentação: ...................................................................................................... 4

Resistores ............................................................................................................................ 4

Resistor adequado para um LED ......................................................................................... 5

Leitura do Resistor .............................................................................................................. 8

Capacitor ............................................................................................................................. 9

Multímetro ........................................................................................................................ 10

Tensão Elétrica (DC): ..................................................................................................... 11

Tensão Elétrica (AC): ..................................................................................................... 11

Resistência Elétrica: ....................................................................................................... 12

Corrente Elétrica: .......................................................................................................... 12

ATIVIDADES: .................................................................................................................. 13

Linguagem C com a Plataforma Arduino ............................................................................. 15

Experiência 1 – Pisca Led ...................................................................................................... 17

ATIVIDADES AVALIATIVAS .................................................................................................... 18

Atividade 1 (Experiência 2) ............................................................................................... 18

Atividade 2 (Experiência 3) ............................................................................................... 18

Atividade 3 (Experiência 4) ............................................................................................... 18

Atividade 4 (Experiência 5) ............................................................................................... 19

Experiência 6 - Led Controlado Pela incidência da Luz ........................................................ 20

Experiência 7 - Led controlado pela Luz ............................................................................... 21

Atividade 1 (Experiência 8) ............................................................................................... 23

Atividade 2 (Experiência 9) ............................................................................................... 23

Experiência 10 - Monitorar a temperatura ambiente (Termômetro) .................................. 23

Atividade (Experiência 11): ................................................................................................... 25

Page 3: Linguagem de Programação Linguagem C com Arduino · 2017. 9. 11. · Essas linguagens de programação também são chamadas de linguagens de programação de alto nível. A linguagem

Prof. Luiz Claudio F. de Souza Página 3

Fundamentos de Eletrônica

Para desenvolvermos projetos com Arduino utilizamos vários dispositivos eletrônicos,

na aula de Hoje conheceremos um pouco mais profundamente cada dispositivo

desses.

O circuito abaixo foi feito num experimento com o Arduino, Lembram?

Vamos fazer novamente o experimento, utilizando somente dispositivos eletrônicos,

sem o Arduino. O objetivo desse projeto está em conhecer alguns dispositivos que

utilizamos nos nossos experimentos do curso.

Abaixo temos um esquema de um circuito eletrônico do Oscilador que fizemos:

O Circuito acima é um circuito Oscilador, onde um transistor funciona

momentaneamente enquanto o outro não, assim o Led acenderá de acordo com a

disposição do Transistor (Ligado/Desligado). O dispositivo que acionará o transistor

será o capacitor.

Page 4: Linguagem de Programação Linguagem C com Arduino · 2017. 9. 11. · Essas linguagens de programação também são chamadas de linguagens de programação de alto nível. A linguagem

Prof. Luiz Claudio F. de Souza Página 4

Transistor

O Transistor funciona como um controlador de fluxo de corrente , funciona como uma

torneira, possui 3 terminais chamados de “base”, “emissor” e “coletor”. A “base” tem

a função da manopla da torneira ou seja, controlar o fluxo de corrente que irá fluir

entre o “coletor” e o emissor (o que entra na torneira pela caixa

d´água e o que sai na boca da torneira).

Fontes de Alimentação:

São utilizadas para Fornecer energia elétrica ao circuito

Resistores

Os Resistores são dispositivos eletrônicos utilizados para limitar a passagem da corrente

elétrica.

Page 5: Linguagem de Programação Linguagem C com Arduino · 2017. 9. 11. · Essas linguagens de programação também são chamadas de linguagens de programação de alto nível. A linguagem

Prof. Luiz Claudio F. de Souza Página 5

A corrente que passa pelo resistor gera um aquecimento, quanto maior o resistor,

melhor a capacidade de não termos um aquecimento anormal.

Imagine que você tem um LED de alto brilho de 5mm de cor azul, e que esse LED tem a corrente igual a 20mA e a tensão igual a 3 volts e que você vai alimentar o seu circuito com quatro pilhas, totalizando 6 volts e que você

calculou o resistor adequado e deu 150 ohms, e você tem um resistor de 150 ohms de 1/4 de watt (muito comum). Esse resistor de 1/4 de w seria adequado?

Como o LED consome 3v e minha alimentação é de 6v então sobram 3v (6v - 3v = 3v), logo o valor de V para esse caso são os 3v que "sobraram".

P = V2 / R

P = 32 / 150

P = 9 / 150

P = 0,06 w

Então um resistor de 1/4 de watt ou 0,25 watt seria adequado! Caso você queira usar um mais potente, de 1/2 watt ou 0,50 watt também poderia.

Resistor adequado para um LED

Exemplo 1:

Imagine que você que acender um led vermelho, de tensão igual a 2v e

corrente igual a 20 mA em uma alimentação de 3v, usando 2 pilhas.

Page 6: Linguagem de Programação Linguagem C com Arduino · 2017. 9. 11. · Essas linguagens de programação também são chamadas de linguagens de programação de alto nível. A linguagem

Prof. Luiz Claudio F. de Souza Página 6

Convertendo os 20mA (miliamperes) do LED para amperes dariam 0,02 A

(amperes).

R = (3 - 2) / 0,02

R = 1 / 0,02

R = 50 ohms

Exemplo 2:

Para ligação de LEDs em paralelo é recomendado que você use um resistor

para cada led. Não se recomenda usar um resistor para todos os LEDs pois

pode haver danos a eles. No caso temos um led vermelho, um verde e um azul.

Então o correto é calcular individualmente um resistor para cada um dos LEDs.

para o LED vermelho

Convertendo os 20mA (miliamperes) do LED para amperes dariam 0,02 A

(amperes).

R = (9 - 2) / 0,02

R = 7 / 0,02

Page 7: Linguagem de Programação Linguagem C com Arduino · 2017. 9. 11. · Essas linguagens de programação também são chamadas de linguagens de programação de alto nível. A linguagem

Prof. Luiz Claudio F. de Souza Página 7

R = 350 ohms

Como vai ser muito difícil encontrar um resistor de 350 ohms você pode usar um de 470 ohms.

para o LED verde

Convertendo os 20mA (miliamperes) do LED para amperes dariam 0,02 A (amperes).

R = (9 - 2,5) / 0,02

R = 6,5 / 0,02

R = 325 ohms

Como vai ser muito difícil encontrar um resistor de 325 ohms você pode usar

um de 330 ohms.

para o LED azul

Convertendo os 20mA (miliamperes) do LED para amperes dariam 0,02 A (amperes).

R = (9 - 3) / 0,02

R = 6 / 0,02

R = 300 ohms

Como vai ser muito difícil encontrar um resistor de 300 ohms você pode usar

um de 330 ohms

Exemplo 3

Há ainda uma situação em que você pode ligar LEDs em série e em paralelo ao mesmo tempo. Veja abaixo, onde temos três LEDs vermelhos (em série) e um LED azul ligados em paralelo e alimentados por uma bateria de 9v.

Nesse caso você deve tratar os LEDs ligados em série (no caso os vermelhos) como se fossem um LED só, somando-se suas tensões para calcular o resistor.

para os LEDs vermelhos ligados em série

Convertendo os 20mA (miliamperes) dos LEDs para amperes dariam 0,02 A

(amperes).

R = (9 - 6) / 0,02

R = 3 / 0,02

R = 150 ohms

Page 8: Linguagem de Programação Linguagem C com Arduino · 2017. 9. 11. · Essas linguagens de programação também são chamadas de linguagens de programação de alto nível. A linguagem

Prof. Luiz Claudio F. de Souza Página 8

Logo para esse três LEDs em série um resistor de 150 ohms seria adequado.

para o LED azul

Convertendo os 20mA (miliamperes) do LED para amperes dariam 0,02 A (amperes).

R = (9 - 3) / 0,02

R = 6 / 0,02

R = 300 ohms

Como vai ser muito difícil encontrar um resistor de 300 ohms você pode usar

um de 330 ohms ou usar dois de 150 ohms ligados em série.

Leitura do Resistor

Page 9: Linguagem de Programação Linguagem C com Arduino · 2017. 9. 11. · Essas linguagens de programação também são chamadas de linguagens de programação de alto nível. A linguagem

Prof. Luiz Claudio F. de Souza Página 9

Capacitor

Capacitor é um componente eletrônico que armazena carga elétrica ao ser

ligado a uma fonte de alimentação.

Capacitância é a capacidade de carga elétrica que um capacitor pode

armazenar. Quanto maior a capacitância maior e a capacidade do capacitor de

armazenar carga elétrica. A capacitância é medida em farad e sua abreviação é

F.

Experimento:

Observe o circuito Oscilador presente na primeira. Agora você deverá monta-lo

fisicamente.

Page 10: Linguagem de Programação Linguagem C com Arduino · 2017. 9. 11. · Essas linguagens de programação também são chamadas de linguagens de programação de alto nível. A linguagem

Prof. Luiz Claudio F. de Souza Página 10

Multímetro

Estudamos diferentes dispositivos até o momento, vimos alguns

cálculos, conceitos. Hoje conheceremos um importante

instrumento de medição, o Multímetro.

Três medições são de extrema importância para nossa

caminhada, Tensão Elétrica, Corrente Elétrica e Resistência

Elétrica.

Escalas:

Page 11: Linguagem de Programação Linguagem C com Arduino · 2017. 9. 11. · Essas linguagens de programação também são chamadas de linguagens de programação de alto nível. A linguagem

Prof. Luiz Claudio F. de Souza Página 11

Tensão Elétrica (DC):

Tensão Elétrica (AC):

Page 12: Linguagem de Programação Linguagem C com Arduino · 2017. 9. 11. · Essas linguagens de programação também são chamadas de linguagens de programação de alto nível. A linguagem

Prof. Luiz Claudio F. de Souza Página 12

Resistência Elétrica:

Corrente Elétrica:

Page 13: Linguagem de Programação Linguagem C com Arduino · 2017. 9. 11. · Essas linguagens de programação também são chamadas de linguagens de programação de alto nível. A linguagem

Prof. Luiz Claudio F. de Souza Página 13

ATIVIDADES:

1- Identifique a tensão elétrica das baterias distribuídas pelo professor,

através do multímetro.

2- Faça a leitura dos Resistores distribuídos pelo professor e compare

com as leituras feitas com o uso do multímetro.

3- Observe o circuito abaixo:

Page 14: Linguagem de Programação Linguagem C com Arduino · 2017. 9. 11. · Essas linguagens de programação também são chamadas de linguagens de programação de alto nível. A linguagem

Prof. Luiz Claudio F. de Souza Página 14

R= 220 Ohm

V= 5 Volts

I= 0,55 A

4- Meça o valor da Corrente elétrica total no circuito acima

R= (5 – 2)/0,55

R= 5,4545 Ohm

Itot = 5/220= 0,0227 A

Page 15: Linguagem de Programação Linguagem C com Arduino · 2017. 9. 11. · Essas linguagens de programação também são chamadas de linguagens de programação de alto nível. A linguagem

Prof. Luiz Claudio F. de Souza Página 15

Linguagem C com a Plataforma Arduino

Nós seres humanos precisamos converter as nossas idéias para uma forma que os

computadores consigam processar, ou seja, a linguagem de máquina. Os computadores de

hoje não conseguem entender a linguagem natural que nós usamos no dia a dia, então

precisamos de um outro "idioma" especial para instruir o computador a fazer as tarefas que

desejamos. Esse "idioma" é uma linguagem de programação, e na verdade existem muitas

delas.

Essas linguagens de programação também são chamadas de linguagens de programação de

alto nível. A linguagem de programação utilizada no Arduino é a linguagem C++ (com pequenas

modificações), que é uma linguagem muito tradicional e conhecida. Essa é a linguagem que

utilizaremos no curso.

Para converter um programa escrito em uma linguagem de alto nível para linguagem de

máquina, nós utilizamos uma coisa chamada compilador. A ação de converter um programa

para linguagem de máquina é chamada compilar. Para compilar um programa, normalmente

se utiliza um ambiente de desenvolvimento (ou IDE, do inglês Integrated Development

Environment), que é um aplicativo de computador que possui um compilador integrado, onde

você pode escrever o seu programa e compilá-lo. No caso do Arduino, esse ambiente de

desenvolvimento é o Arduino IDE.

O texto contendo o programa em uma linguagem de programação de alto nível também é

conhecido como o código fonte do programa.

Page 16: Linguagem de Programação Linguagem C com Arduino · 2017. 9. 11. · Essas linguagens de programação também são chamadas de linguagens de programação de alto nível. A linguagem

Prof. Luiz Claudio F. de Souza Página 16

Placa Eletrônica Arduino

Portas Analógicas X Portas Digitais

Características:

Vamos aprendendo praticando!

Page 17: Linguagem de Programação Linguagem C com Arduino · 2017. 9. 11. · Essas linguagens de programação também são chamadas de linguagens de programação de alto nível. A linguagem

Prof. Luiz Claudio F. de Souza Página 17

Experiência 1 – Pisca Led

O Hardware

O Software

Conecte o Circuito montado no Computador pela Porta USB!

Page 18: Linguagem de Programação Linguagem C com Arduino · 2017. 9. 11. · Essas linguagens de programação também são chamadas de linguagens de programação de alto nível. A linguagem

Prof. Luiz Claudio F. de Souza Página 18

Vamos compilar e transferir o Programa para o Arduino

Explicação sobre o programa:

ATIVIDADES AVALIATIVAS

Atividade 1 (Experiência 2) Faça o Led Piscar lento, lento, rápido, rápido

Atividade 2 (Experiência 3) Faça o Led Piscar lento, rápido, lento, rápido

Atividade 3 (Experiência 4) Você já viu um sinalizador de entrada e saída de veículos? Utilizando o Arduino, construa um

sinalizador desses.

Page 19: Linguagem de Programação Linguagem C com Arduino · 2017. 9. 11. · Essas linguagens de programação também são chamadas de linguagens de programação de alto nível. A linguagem

Prof. Luiz Claudio F. de Souza Página 19

Atividade 4 (Experiência 5) Desenvolva, utilizando o Arduino um semáforo.

Soluções das Atividades

Atividade 3

Atividade 4

Page 20: Linguagem de Programação Linguagem C com Arduino · 2017. 9. 11. · Essas linguagens de programação também são chamadas de linguagens de programação de alto nível. A linguagem

Prof. Luiz Claudio F. de Souza Página 20

Experiência 6 - Led Controlado Pela incidência da Luz Será medido a luminosidade do ambiente e posteriormente encaminhado para o

computador esta informação através da porta serial.

Materiais necessários: – Arduino – Protoboard – Fios de conexão – LDR – Resistor de 10k

Hardware do Experimento:

Software do experimento

void setup() { Serial.begin(9600); // inicia comunicação com computador } void loop() { int luz = analogRead(5); // faz leitura da luminosidade

Page 21: Linguagem de Programação Linguagem C com Arduino · 2017. 9. 11. · Essas linguagens de programação também são chamadas de linguagens de programação de alto nível. A linguagem

Prof. Luiz Claudio F. de Souza Página 21

Serial.println(luz); // envia valor da luminosidade ao computador delay(500); }

Experiência 7 - Led controlado pela Luz

Temos no experimento anterior a quantidade de luminosidade, com esse valor

podemos ascender e apagar um Led no circuito, como acontece nos postes de

iluminação pública.

Materiais necessários: – Arduino – Protoboard – Fios de conexão

Page 22: Linguagem de Programação Linguagem C com Arduino · 2017. 9. 11. · Essas linguagens de programação também são chamadas de linguagens de programação de alto nível. A linguagem

Prof. Luiz Claudio F. de Souza Página 22

– LDR – Resistor de 10k – LED – Resistor de 220 Ohm

Vamos complementar o circuito anterior (Hardware do experimento) conforme imagem

abaixo:

Software do Experimento:

Page 23: Linguagem de Programação Linguagem C com Arduino · 2017. 9. 11. · Essas linguagens de programação também são chamadas de linguagens de programação de alto nível. A linguagem

Prof. Luiz Claudio F. de Souza Página 23

Atividade 1 (Experiência 8) Você deverá desenvolver um sinalizador para veículos que funcione somente de dia, quando

houver luz natural, logo o estabelecimento comercial que irá utilizar esse dispositivo de

sinalização não funciona pela noite.

Atividade 2 (Experiência 9) Você deverá desenvolver um sinalizador para veículos que funcione somente pela noite, na

ausência de luz natural, logo o estabelecimento comercial que irá utilizar esse dispositivo de

sinalização não funciona pela noite.

Experiência 10 - Monitorar a temperatura ambiente

(Termômetro)

Materiais necessários: – Arduino – Protoboard – Fios de conexão – LM35

Parte Chanfrada de frente pra você, na imagem do LM35

Page 24: Linguagem de Programação Linguagem C com Arduino · 2017. 9. 11. · Essas linguagens de programação também são chamadas de linguagens de programação de alto nível. A linguagem

Prof. Luiz Claudio F. de Souza Página 24

Hardware do Experimento:

Software do Experimento:

Page 25: Linguagem de Programação Linguagem C com Arduino · 2017. 9. 11. · Essas linguagens de programação também são chamadas de linguagens de programação de alto nível. A linguagem

Prof. Luiz Claudio F. de Souza Página 25

Atividade (Experiência 11):

Programe o décimo segundo experimento para além de mostrar a temperatura na escala

Celcius, também mostrar na escala Fahrenheit (ºF). Complemente o experimento com um Led

que deverá acender quando a temperatura for maior que 38 Graus Celcius.

No Brasil, a unidade de temperatura que utilizamos é o grau Celsius (ºC), diferente dos países

de origem inglesa. Nesses países, a unidade usual é o Fahrenheit (ºF).

Observe as conversões entre as Escalas Termométricas: