Linguagem de Programação Linguagem C com Arduino Prof. Luiz Claudio Ferreira de Souza E-mail: luizclaudiofs@hotmail.com.br www.luizclaudiofs.blogspot.com Belém / PA 2017
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
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. Prof. Luiz Claudio F. de Souza Página 3
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. Prof. Luiz Claudio F. de Souza Página 4
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 = V 2 / R P = 3 2 / 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. Prof. Luiz Claudio F. de Souza Página 5
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 Prof. Luiz Claudio F. de Souza Página 6
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 Prof. Luiz Claudio F. de Souza Página 7
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 Prof. Luiz Claudio F. de Souza Página 8
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. Prof. Luiz Claudio F. de Souza Página 9
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: Prof. Luiz Claudio F. de Souza Página 10
Tensão Elétrica (DC): Tensão Elétrica (AC): Prof. Luiz Claudio F. de Souza Página 11
Resistência Elétrica: Corrente Elétrica: Prof. Luiz Claudio F. de Souza Página 12
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: Prof. Luiz Claudio F. de Souza Página 13
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 Prof. Luiz Claudio F. de Souza Página 14
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. Prof. Luiz Claudio F. de Souza Página 15
Placa Eletrônica Arduino Portas Analógicas X Portas Digitais Características: Vamos aprendendo praticando! Prof. Luiz Claudio F. de Souza Página 16
Experiência 1 Pisca Led O Hardware O Software Conecte o Circuito montado no Computador pela Porta USB! Prof. Luiz Claudio F. de Souza Página 17
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. Prof. Luiz Claudio F. de Souza Página 18
Atividade 4 (Experiência 5) Desenvolva, utilizando o Arduino um semáforo. Soluções das Atividades Atividade 3 Atividade 4 Prof. Luiz Claudio F. de Souza Página 19
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 Prof. Luiz Claudio F. de Souza Página 20
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 Prof. Luiz Claudio F. de Souza Página 21
LDR Resistor de 10k LED Resistor de 220 Ohm Vamos complementar o circuito anterior (Hardware do experimento) conforme imagem abaixo: Software do Experimento: Prof. Luiz Claudio F. de Souza Página 22
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 Prof. Luiz Claudio F. de Souza Página 23
Hardware do Experimento: Software do Experimento: Prof. Luiz Claudio F. de Souza Página 24
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: Prof. Luiz Claudio F. de Souza Página 25