Tópicos Especiais em Eletrônica II

Documentos relacionados
MANUALDEGUSTAÇÃO ARDUINO KIT INICIANTE V4.0

Cerne Tecnologia e Treinamento

Lista de Exercícios 1

DK105 GROVE. Temperatura e Umidade. Radiuino

Um Módulo de Desenvolvimento para o ARDUINO

Controle Remoto Ventilador

Universidade Federal de Pernambuco

Minicurso Arduino JACEE 2012

Introdução ao Arduino. Pessanha Santos ASPOF EN-AEL

MANUAL DO USUÁRIO MP4 PLAYER

InteropMix Arduino e Internet das Coisas. Leandro Ramos Leonardo Toledo Robson Machado

Supervisório Remoto aplicado em Dispositivo Móvel na Plataforma NI LabVIEW

Aula 03. Processadores. Prof. Ricardo Palma

Programação Básica em Arduino Aula 2

UTILIZAÇÃO DE RECURSOS AVANÇADOS DO EXCEL EM FINANÇAS (PARTE III): GERENCIAMENTO DE CENÁRIOS

Viabilizado pela Organização do ERI MS; Apoiado pelo grupo ArduinoMS; Agradecimentos especiais ao do SENAC e UCDB.

INSTITUTO DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE SERGIPE COORDENADORIA DE ELETRÔNICA RELÓGIO DIGITAL -MONTAGEM COM CONTADOR COMERCIAL

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ CÂMPUS CURITIBA CURSO DE ENGENHARIA DE COMPUTAÇÃO

Acionamento de Motores: PWM e Ponte H

Acendendo as luzes. Projeto 1 LED piscante. Componentes necessários. capítulo 2. Protoboard. LED de 5 mm. Resistor de 100 ohms * Fios jumper

ELETRÔNICA DIGITAL. Parte 6 Display, Decodificadores e Codificadores. Prof.: Michael. 1 Prof. Michael

Microcontrolador Arduino: Aplicação em controle PI

SUPERTEC2007 SINCRONISMO DETETOR DE MODOS MICRO

ACENDENDO AS LUZES. Capitulo 2 - Aula 1 Livro: Arduino básico Tutor: Wivissom Fayvre

ANÁLISE DE CIRCUITOS I ( AULA 03)

Hacking Class Controlando tomadas da sua casa via Internet

Comandos de Eletropneumática Exercícios Comentados para Elaboração, Montagem e Ensaios

Professor Marcelo Josué Telles Porta LPT, programação, componentes eletrônicos, sistema binário...

Módulo 8 Entradas Digitais 24 Vdc Monitorado. Os seguintes produtos devem ser adquiridos separadamente para possibilitar a utilização do produto:

Datasheet Componentes Eletrônicos

Programação em Arduino

MODULAÇÃO DE UM SINAL ANALÓGICO

Especificar. Simplificando o extraordinário. Como jogar

Na figura abaixo é mostra os pinos do microcontrolador utilizado no montagem da placa, o PIC16F628A.

Prá$cas Arduino. Manoel Neto

Capítulo 5. Sensores Digitais

Universidade Federal de Juiz de Fora - Laboratório de Eletrônica - CEL037

SISTEMAS OPERACIONAIS. 3ª. Lista de Exercícios

LINHA DOUBLE WAY MONOFÁSICA

MANUAL DE INSTALAÇÃO E OPERAÇÃO

Unidade 1: O Computador

Professor: Fernando Krein Pinheiro

UNIVERSIDADE FEDERAL DE CAMPINA GRANDE CENTRO DE ENGENHARIA ELÉTRICA E INFORMÁTICA DEPARTAMENTO DE ENGENHARIA ELÉTRICA ELETRÔNICA

STV 8 SET uma polaridade de sincronismo negativa, com os pulsos de sincronismo na posição para baixo, como mostrado na figura abaixo

SORTEADOR ALEATÓRIO SAP - 59 / MP

Cerne Tecnologia e Treinamento. suporte@cerne-tec.com.br

Congresso Brasileiro de Agricultura de Precisão- ConBAP 2014 São Pedro - SP, 14 a 17 de setembro de 2014

2 Segmentação de imagens e Componentes conexas

FACENS Engenharia Mecatrônica Sistemas de Computação Professor Machado. Arduino

Q(A, B, C) =A.B.C + A.B.C + A.B.C + A.B.C + A.B.C + A.B.C. m(1, 2, 3, 6) T (A, B, C, D) =A.B.C.D+A.B.C.D+A.B.C.D+A.B.C.D+A.B.C.D+A.B.C.

Projetos de Eletrônica Básica II

MÓDULO 2 Topologias de Redes

Manual de Programação TED1000 versão TC100 Ethernet

No contexto das ações de Pesquisa e Desenvolvimento

0.1 Introdução Conceitos básicos

Manual Técnico Módulo Ponte H Dupla

MANUAL DO UTILIZADOR

SENSOR DE LUMINOSIDADE Com indicador de intervalo

Engenharia de Software II

Conteúdo deste Kit: E-6 uno

OI CLOUD SEJA BEM-VINDO!

Instruções de segurança VEGAPULS PS61.D****D/H/K/ L/P/F/G/M/B/I****

Guia do usuário do Módulo de expansão de teclas (KEM) do Telefone IP. BCM Business Communications Manager

INSTITUTO TECNOLÓGICO DE AERONÁUTICA DIVISÃO DE ENGENHARIA ELETRÔNICA DEPARTAMENTO DE ELETRÔNICA APLICADA TIMER 555

Arduino. Wanderson Souza Professor de Robótica

CRONÔMETRO DIGITAL PROJETO

Guia Rápido de Instalação

Manual Técnico Arduino Supervisório MODBUS & Conversor RS485

21/07/2010 LED ELETRÔNICA DIGITAL. LED Tipos. LED Princípio de funcionamento. Display de 7 segmentos. LED Circuito de polarização

Comércio e Manutenção de Produtos Eletrônicos. Mapeamento de memória e conexões do Controlador CP-WS13/8DI8DO2AI2AO/USB/OEM. Versão 1.

Robótica com Arduino CDI. Professor: Paulo Marcos Trentin

Robótica com Arduino. Resistores. Professor: Paulo Trentin

Tutoriais PET-Tele. Tutorial sobre sistema de controle de acesso RFID (Versão: A2015M01D21)

Departamento de Informática - PUC-Rio INF 1005 Programação I P1 22/09/2010 Nota

LINHA DOUBLE WAY TRIFÁSICO

Utilizando as soluções de controle e automação apresentadas pela National Instruments, como o LabView e a interface USB 6009, foi possível tornar

Ricardo Ribeiro dos Santos - ricardo@facom.ufms.br Faculdade de Computação - UFMS

Sistemas Digitais II. Interface com o mundo analógico. Prof. Marlon Henrique Teixeira Abril/2014

AULA 03 MEDIDAS DE RESISTÊNCIA ELÉTICA

ARDUINO KIT INICIANTE V3.0

Programação 2009/2010 MEEC - MEAer Laboratório 5 Semana de 26 de outubro de 2009

Ao ligar, o equipamento solicita o teste do alto falante SEGURANÇA. Esta é a tela em que você tem a opção de apagar a programação existente, que

Circuitos Digitais Contadores. Orivaldo Santana Jr.

Prof. Adilson Gonzaga. Interface com Displays

PROF.: PAULO GOMES MATÉRIA: STR1 MOURA LACERDA

IBRX Sistemas Eletrônicos. Manual técnico. Configuração: IBRX Módulo portão Rev O IBRX Portão funciona em 4 tipos de conexão:

Iniciar. Antes de utilizar o comando à distância. Instalação. Efectuar a ligação a uma fonte de vídeo. Efectuar a ligação a um computador

Vigilance V816. Guia Rápido de Programação

Eletrônica Digital II. Exemplo de um CI com encapsulamento DIP. Diagrama do CI 74XX76.

Suporte Técnico Web Energy

tipo e tamanho e com os "mesmos" elementos do vetor A, ou seja, B[i] = A[i].

Piezo e sensor de distância e luminosidade

Formas de Pagamento Resumida Vendas Vendedor Vendas Vendedor Resumido Vendas Vendedor Caixa Vendas por Artigos...

MANUAL DO USUÁRIO - Basquete Duplo Instruções de Montagem

1 Circuitos Pneumáticos

Medidor TKE-01. [1] Introdução. [2] Princípio de funcionamento. [5] Precisão. [6] Características Elétricas. [3] Aplicações. [4] Grandeza medida

APOSTILA DE INFORMÁTICA INTERNET E

1) Unidades de Medida

Transcrição:

Universidade Federal Fluminense Escola de Engenharia Curso de Engenharia de Telecomunicações Tópicos Especiais em Eletrônica II Introdução ao microcontrolador Arduino Roteiros de aula (Versão: A2013M11D14) Autores: Roberto Brauer Di Renna Thiago Elias Bittencourt Cunha Professor: Alexandre Santos de la Vega Niterói-RJ Fevereiro / 2013

1 Introdução, apresentação do kit e microcontrolador 1 Introdução, apresentação do kit e microcontrolador 1. Desenhe na Figura 1 a ligação das trilhas do protoboard. 2. Complete a tabela referente a cada componente presente na placa do Arduino UNO, representado na Figura 2. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Figura 2: Arduino UNO. Figura 1: Protoboard. Universidade Federal Fluminense 1

2 Funções, Blink, Acender LED 2 Funções, Blink, Acender LED 1. Na aula de hoje, foram apresentadas funções importantes que usaremos nas próximas práticas. Dentre elas, temos a digitalwrite(), que atribui valores de e para um pino digital. Se um pino foi congurado como OUT- PUT, sua tensão será tipada como os seguintes valores correspondentes: V (ou 3.3V nas placas de 3.3V) para, V (terra) para. Figura 3: Circuito acender LED. Se um pino foi congurado como INPUT, colocando um valor do tipo usando digitalwrite() habilitará um resistor interno pullup de 20KΩ. Escrevendo irá desabilitar o pullup. O resistor pullup é suciente para acender um vagamente, por isso, se os LEDs funcionarem, mas de forma fraca, esta é uma causa provável. O remédio é para denir o pino para uma saída com a função pinmode (). 2. A Figura 3 abaixo ilustra o circuito da prática de hoje. Esse circuito funcionará ou não? Justique. 3. A Figura 4 mostra um LED em detalhe. Complete a gura mostrando sua polarização. Figura 4: Polarização do LED. Universidade Federal Fluminense 2

3 Botões que acendem LEDs RGB 3 Botões que acendem LEDs RGB 1. Na aula de hoje, além de usarmos a função digitalwrite(), também usamos a função analogwrite() para variar a intensidade luminosa dos LEDs. Essa função só funciona quando usamos as saídas. O mecanismo contido nessas saídas permite controlar o período cíclico da frequência da alimentação. A função escreve um valor de para o pino digital que pode variar de a, quanto mais alto o valor escrito, maior a intensidade luminosa do LED. 4. Escreva um trecho de código cujo somente um LED RGB acenda primeiro da cor amarela, depois da cor magenta variando sua intensidade luminosa da mais alta para a mais baixa. 2. A gura 5 abaixo mostra um LED RGB em detalhe. Complete sua pinagem. Figura 5: LED RGB. 3. No ínicio da programação da função void loop () aparece este pequeno trecho: estadobotao_1 = digitalread(botão_1); estadobotao_2 = digitalread(botão_2); estadobotao_3 = digitalread(botão_3); Descreva o funcionmento da função digitalread() usando de exemplo esse trecho. Universidade Federal Fluminense 3

4 Interação teclado microcontrolador. 4 Interação teclado microcontrolador. 1. Na prática de hoje, acendemos um LED com uma tecla do teclado. Faça agora com uma tecla para apagar e uma para acender. Escreva abaixo o código criado. 2. A função Serial Monitor é muito usada para (escolha uma opção): a) Mostrar valores lidos. b) Mostrar no monitor o circuito montado. c) Interpretar sinais. d) Mostrar valores automaticamente nas escalas do Sistema Internacional. 3. Como enviamos sinal de tensão para acender e apagar um LED, escolhemos um pino digital ao invés de um analógico porque (escolha uma opção): a) O pino digital mantém a tensão constante em 5v. b) O pino digital envia sinais de HIGH e LOW quando for desejado. c) Há mais pinos digitais do que analógicas. d) Não fazia diferença optar por um pino analógico. 4. As funções Serial.begin(), Serial.ush,Serial.read() e Serial.print() servem para (escolha uma opção): a) Inicia o programa, esvazia o buer, lê o valor da porta serial, mostra os dados na tela. b) Determina a taxa de bits por segundo, esvazia o buer, lê o valor da variável serial, escreve na tela. c) Inicia o programa, controla a transmissão de todos os dados do tipo serial e esvazia o buer da porta de entrada, lê o valor da variável serial, mostra os dados na tela. d) Determina a taxa de bits por segundo, controla a transmissão de todos os dados do tipo serial e esvazia o buer da porta de entrada, lê o valor da porta serial, mostra os dados na tela. Universidade Federal Fluminense 4

5 Funções de temporização, delay(),millis()e micros(). Começando a comunicação serial 5 Funções de temporização, delay(),millis()e micros(). Começando a comunicação serial 1. Apresentamos na aula de hoje funções de temporização que foram a função, a função e a função. 3. Utilizando as funções apresentadas propomos a montagem de um semáforo que que com a luz verde ligada por 3 segundos, a luz vermelha por 2 e a amarela por 1 segundo. Propomos também que ao nal de cada sinal fechado uma variável temporal seja printada na Serial Monitor com o valor em milissegundos em que o programa esteve em execução. 4. Desenhe na caixa abaixo o diagrama de ligação dos componentes utilizados no item anterior. Vimos que a função delay() é responável por pausar o programa por um tempo determinado em. Já as funções e micros() retornam em milissegundos e, respectivamente, o tempo que o programa está em execução. 2. Na aula de hoje aprendemos a função Serial.print(). Escreva na caixa abaixo um pequeno trecho de código utilizando-a para escrever na Serial Monitor o valor admitido por uma variável qualquer que tenha nela armazenado o tempo, em microssegundos,que o programa está em execução. Universidade Federal Fluminense 5

6 Funções sonoras 6 Funções sonoras 1. Complete a descrição da função usada na aula de hoje: tone() Gera uma onda quadrada de frequência especicada (e 50 % ciclo de trabalho) em um pino. A duração pode ser especicada, caso contrário, a onda continua até que uma chamada para. O pino pode ser ligado a um buzzer piezoelétrico, ou outro alto-falante para reproduzir sons. 2. Complete a tabela abaixo: Nota Frequência (Hz) Tecla usada DÓ RÉ MI FÁ SOL LÁ SI 3. Escreva abaixo o código da música programada: Apenas um tom pode ser gerado de cada vez. Se um tom já está tocando em um pino diferente, a chamada para a tone() não terá nenhum efeito. Se o tom está jogando no mesmo pino, a chamada irá denir a sua frequência. Utilização da tone() irá interferir na saída nos pinos 3 e 11 (todas as placas exceto Arduino MEGA). Não é possível gerar tons inferiores a 31Hz. NOTA: se você quiser jogar alturas diferentes em vários pinos, você precisa chamar notone () em um pino antes de chamar a tone() no próximo pino. Sintaxe tone(, ) ou tone(,, ) Universidade Federal Fluminense 6

7 Leitura de sensores analógicos, analog.read(), Sensor de luminosidade LDR 7 Leitura de sensores analógicos, analog.read(), Sensor de luminosidade LDR 1. Na aula de hoje compreendemos melhor o uso da função analog.read(). Vimos que esta função é utilidada para de um dos pinos especíco. Estudamos também o conceito de quantização e descobrimos como funciona o conversor A/D do Arduino. Sendo este conversor, um conversor com uma resolução de, teremos uma escala com 1024 valores quantizados variando de a. Tendo assim uma resolução de leitura de para cada unidade de medida em uma escala entre de 0 e 5 volts. 3. Utilizamos nesta aula o sensor de luminosidade LDR. Figura 6: LDR. Este sensor nada mais é do que uma resistência que varia de acordo com a luminosidade incidida. Observamos que quanto maior a luminosidade incidente era a tensão lida pelo Arduino e quanto menor a luminosidade era a tensão lida. 4. Desenhe abaixo o diagrama utilizado para a leitura do sensor LDR: 2. Descreva com suas palavras o funcionamento do processo de quantização e a leitura analógico-digital feita pelo Arduino. Universidade Federal Fluminense 7

8 Leitura do Sensor de temperatura LM335A, analog.read(), Funções matemáticas básicas 8 Leitura do Sensor de temperatura LM335A, analog.read(), Funções matemáticas básicas 1. Na aula de hoje utilizamos o sensor de temperatura LM335A e a função analog.read() para lermos o valor de e identicarmos a temperatura correspondente. Abaixo apresentamos o sensor. Identique sua pinagem. Utilizamos esta mesma função para determinar a temperatura lida pelo sensor. Para isso, vimos em aula, que para cada lidos pelo arduino tinhamos uma elevação de 1 k. Assim para sabermos a temperatura em graus Celsius basta diminuir a temperatura lida em kelvin por. 3. Elabore um script que leia a temperatura do sensor LM335A e que a partir de uma temperatura escolhida toque um som de alarme no buzzer. Figura 7: LM335A. 1-................................. 2-................................. 3-................................. 2. No relatório anterior estudamos a função analog.read() e vimos como funciona o conversor A/D do Arduino. Vimos que o conversor possui uma resolução de, que é calculada dividindo por, que é a quantidade de valores quantizados. Universidade Federal Fluminense 8

9 Comunicação RF, VirtualWire.h, Transmissor e Receptor RF 9 Comunicação RF, VirtualWire.h, Transmissor e Receptor RF 3. Elabore um script que envie o valor de tensão lida em um potenciômetro pelo arduino transmissor e ao receber uma tensão superior a 3,0V o arduino receptor acenda um led vermelho. 1. Identique a pinagem do Receptor RF abaixo: Figura 8: Receptor RF. 1-................................. 2-................................. 3-................................. 4-................................. 5-................................. 6-................................. 7-................................. 8-................................. 2. Identique a pinagem do Transmissor RF abaixo: Figura 9: Transmissor RF. 1-................................. 2-................................. 3-................................. Universidade Federal Fluminense 9

10 Comunicação IR, NECIRrcv.h, Controle Remoto IR 10 Comunicação IR, NECIRrcv.h, Controle Remoto IR 2. Com as teclas identicadas na questão anterior crie um script que acione o arduino com o controle remoto de forma que ele alterne entre 6 efeitos luminosos com 5 leds. 3. Elabore um script que some duas teclas numéricas pressionadas, mostre-as e escreva resultado na Serial Monitor. 1. Na pratica de hoje utilizamos o controle Remoto Infravermelho com interação Python e Linux. Para realizarmos o procedimento utilizamos um script para identicarmos o código de cada tecla do teclado. Copie este código no espaço abaixo e identique o código de 6 teclas do teclado. 1-................................. 2-................................. 3-................................. 4-................................. 5-................................. 6-................................. Universidade Federal Fluminense 10

11 Sensor infravermelho, analog.read(), Alarme 11 Sensor infravermelho, analog.read(), Alarme 1. Começamos a aula de hoje explicando o funcionamento do sensor infravermelho. No caso tínhamos um circuito com um LED infravermelho e outro. O circuito tinha um funcionamento simples. Explique com suas palavras o funcionamento do circuito: 2. O conjunto emissor e receptor infravermelho pode nos ser útil em diversas aplicações. Entre elas, podemos fazer um alarme sonoro. Um led emissor pode ser instalado em um canto da porta e o receptor no canto oposto. Quando uma pessoa atravessar a mesma ela cortará o uxo de luz acionando um alarme. Desenvolva o script deste pequeno projeto que acione um buzzer quando uma pessoa atravessar a porta. Universidade Federal Fluminense 11

12 Acionamento via página Web, ethernet.h(), WEB Server 12 Acionamento via página Web, ethernet.h(), WEB Server 1. Na aula que tivemos hoje aprendemos como funciona um projeto utilizando o arduino e o shield ethernet. Vimos que para acionarmos diferentes cargas possuímos diferentes circuitos para cada nalidade. Imagine que você possua uma sirene 12v DC. Qual circuito você utilizaria para acioná-la com o Arduino? Desenhe o mesmo abaixo: 3. Imagine que você possua uma casa de praia. Só que nela você só possua água de um poço. Recentemente você esteve lá e deixou a caixa d'água vazia. Agora você está em sua moradia mas pretende voltar lá em breve. Para não faltar água logo que chegar, você resolve ligar a bomba da sua casa de praia pelo seu projeto com o Arduino. Elabore um script de uma página que acione a bomba e que ao identicar a caixa cheia desligue-a e avise-o. 2. Imagine agora que você possua um ventilador 110v AC. Faça o mesmo pedido no item anterior: Universidade Federal Fluminense 12

13 LCD 16X2, LiquidCrystal.h 13 LCD 16X2, LiquidCrystal.h 1. Hoje aprendemos como trabalhar com o LCD 16x2. Abaixo temos a imagem do LCD usado em aula. Identique a função de cada pino. Figura 10: LCD 16X2. 1-....................................... 2-....................................... 3-....................................... 4-....................................... 5-....................................... 6-....................................... 7-....................................... 8-....................................... 9-....................................... 10-...................................... 3. Utilizando o LDR elavore um script que escreva "Aceso"no LCD quando o valor lido passe de um valor "x"pré determinado por você e "apagado"se o valor for menor que "x". 2. Em aulas anteriores vimos o funcionamento do sensor de temperatura LM335A. Utilizando o LCD 16X2 crie um script que printe o valor de temperatura lido pelo arduino. Universidade Federal Fluminense 13

14 Jogo Genius 14 Jogo Genius Um jogo muito famoso na década de 1980, que buscava estimular a memória do jogador através de cores e sons, é o Genius. A prática de hoje trata de uma adaptação desse jogo para o Arduino. Precisaremos de 4 botões, 8 resistores de 330 e 4 LEDs (de preferência de cores diferentes). Além de um autofalante. A montagem do circuito é bem simples, porém como temos uma quantidade maior de componentes que das práticas anteriores, é necessária maior atenção na montagem. Figura 11: Circuito jogo genius. 1. Após montar a prática mostrada hoje, agora adapte para que tenha um contador de pontos. Seu programa deve a cada rodada mostrar na serial monitor quantos acertos o jogador possui, e zerar a contagem quando acontecer um erro. Escreva o programa feito abaixo: Universidade Federal Fluminense 14

15 Shield LCD 7 segmentos 15 Shield LCD 7 segmentos Neste projeto utilizamos o circuito integrado PCF8574 para expandirmos o número de portas do arduino através do protocolo I2C. Assim viabilizamos a conexão de LCDs de 7 segmentos 1. Encontre cada código binário que acenda no seu LCD de 7 segmentos os algarismos de 0 a 9. 1-....................................... 2-....................................... 3-....................................... 4-....................................... 5-....................................... 6-....................................... 7-....................................... 8-....................................... 9-....................................... 2. Elabore um contador que conte de 0 a 9 crescentemente e posteriormente decrescentemente com o display de 7 segmentos. 3. Elabore um circuito com 3 botões e que ao pressionar um dos três botões o número correspondente, deste, apareça no display. Figura 12: CI PCF8574 Figura 13: Display 7 segmentos Universidade Federal Fluminense 15