Interrupções. O que é uma interrupção? Como funciona uma interrupção no AVR?
|
|
|
- Isaque Bastos Leal
- 9 Há anos
- Visualizações:
Transcrição
1 Interrupções O que é uma interrupção? Irei agora começar a falar de interrupções a partir do mais básico o que é uma interrupção? Uma interrupção é basicamente uma pausa no programa, enquanto o processador trata de outra coisa mais importante. Um exemplo da vida real: Neste caso a interrupção foi o toque com o pato que interrompeu o discurso. Como funciona uma interrupção no AVR? Nos AVRs, as interrupções têm várias particularidades, pois é necessário activar as interrupções globais, as interrupções particulares e criar uma rotina para lidar com cada interrupção. Cada microcontrolador AVR tem um conjunto de registers cujos bits controlam vários aspectos do seu funcionamento (por exemplo, no tutorial que coloquei no meu primeiro post, estão explicados os que controlam os pinos de INPUT/OUTPUT). O mesmo acontece com as interrupções. No caso do atmega328, o bit I do register SREG controla as interrupções a nível global. Quando o seu valor é 1, estas estão ligadas, e vice-versa. No entanto, há uma instrução mais simples para ligar as interrupções globais do que terem de se lembrar que é no bit I do register SREG, que é simplesmente sei (funciona tanto em assembly como em C, só que em C é uma função incluída no header <avr/interrupt.h>). Depois de ligadas as interrupções globais, ainda é necessário ligar interrupções individuais. Para isso, é necessário encontrar qual o bit que liga certa interrupção (encontra-se na datasheet facilmente na zona dos registers no capítulo acerca da funcionalidade procurada). Depois de ligadas as interrupções globais e particulares, o processador procura por mudanças de estado em bits de certos registers (flags), definidos pelas interrupções individuais. Quando esses bits tornam-se em 1, a interrupção é gerada (independentemente do que esteja a acontecer, o programa pára). Mas falta aqui uma coisa o que acontece quando essa interrupção ocorre? A Interrupt Service Routine (ISR) definida para aquela interrupção é executada. No final disto tudo, a flag fica com o valor 0 novamente, e o programa continua a sua execução a partir do ponto em que estava. Nota: Enquanto o processador está a executar a interrupção, as interrupções globais estão desligadas. Quando acaba-se de executar a interrupção, as interrupções globais são ligadas novamente.
2 Como lidar com uma interrupção no AVR? Agora que já sabemos como funciona uma interrupção, temos de aprender a programar de forma a lidar com as mesmas. Primeiro, iremos começar por definir o pseudo-código: // Ligar interrupções globais // Definir ISR para lidar com as interrupções particulares ligadas. Para lidar com registos e interrupções, iremos precisar dos seguintes headers: <avr/io.h> e <avr/interrupt.h> (já podemos também adicionar a função main(), e um loop eterno): // Ligar interrupções globais // Definir ISR para lidar com as interrupções particulares ligadas. (como a ISR é uma função, definimos fora do main). Como expliquei anteriormente, ligam-se as interrupções globais através da função sei() // Definir ISR para lidar com as interrupções particulares ligadas. Neste tópico, vamos ignorar as interrupções individuais, pois ainda não falámos de nenhuma
3 interessante, e vamos concentrar-nos nas ISR. A biblioteca do avr dá-nos uma macro muito útil para definir uma ISR, e tem o nome ISR() (espertos, não são? xd), com um argumento: o nome do vector da interrupção. O vector da interrupção é basicamente o que identifica qual a interrupção com que estamos a lidar. Esta informação encontra-se na página 57 do datasheet que eu tenho (início do capítulo sobre interrupções/capítulo 9), numa tabela, na coluna Source. Por exemplo, no tópico a seguir, vamos lidar com a interrupção que ocorre no pino digital 2. Este pino tem o nome de INT0. Ao olharmos para a tabela, vemos que a source da interrupção é INT0. Para usarmos isto como argumento para a macro ISR, basta adicionar _vect. Assim, o vector é: INT0_vect: (para alguns, esta declaração da função ISR pode ser confusa, pois não tem tipo. No entanto, lembrem-se que é uma macro, e por isso ISR não é realmente o que fica no código final). Nota: Se notarem, alguns dos Vectores na datasheet têm espaços ou vírgulas no nome. Basta substituir esses por _. Por exemplo, para a interrupção gerada quando se recebem dados por serial, temos o seguinte Source: USART, RX. O argumento que usamos para a macro ISR é: USART_RX_vect. Exemplo de interrupção através do pino digital 2 (INT0) Vamos agora fazer algo mais interessante, e codificar uma interrupção. Comecemos com o código do tópico anterior:
4 Vamos usar para este efeito o pino 2 (podia ser feito com o pino 3 também, com poucas diferenças). O objectivo deste código vai ser mudar o estado de um LED quando se toca num botão ligado ao pino 2. O LED vai estar ligado ao pino digital 4 (PD4). Vamos começar por criar uma variável global, com o estado do pino e inicializar esse pino como output (vai começar desligado) (para mais informações sobre GPIOs, ler o tutorial que pus no primeiro post), e já vamos colocar o código necessário para fazer toggle ao pino na ISR. char output = 0; // Estado do led. DDRD = (1<<PD4); // Inicializar o pino digital 4 como output. PORTD &= ~(1<<PD4); // Inicializar o pino digital 4 como desligado. output = ~output; // Alterar o estado PORTD &= ~(1<<PD4); // Desligar o pino isto é necessário para quando o output é 0 se poder desligar. PORTD = ((output&1)<<pd4) // output&1 pois só nos interessa o primeiro bit, assim evitamos mexer nos outros pinos. Agora só nos falta mesmo inicializar a interrupção particular para o INT0.
5 Ao pesquisarmos na datasheet, podemos observar um pormenor acerca dos interrupts externos INT0 e INT1: eles podem ser ligados por 4 estados diferentes: quando o pino está low, quando o pino transita para high, quando o pino transita para low e quando o pino muda de estado (low-high e vice-versa). Como estamos a usar um botão, o mais fácil é que este ligue o pino à corrente, colocando-o em HIGH. Assim, queremos gerar o interrupt quando o pino transita para HIGH. O estado escolhido para o INT0 está nos bits ISC00 e ISC01 do register EICRA (para o pino INT1, está nesse mesmo register, mas nos bits ISC10 e ISC11). O estado que desejamos corresponde a colocar ambos os bits em 1. Logo, adicionamos isso ao código: char output = 0; // Estado do led. DDRD = (1<<PD4); // Inicializar o pino digital 4 como output. PORTD &= ~(1<<PD4); // Inicializar o pino digital 4 como desligado. EICRA = ((1<<ISC00) (1<<ISC01)); // Configurar interrupção no pino INT0 para quando este transita para HIGH output = ~output; // Alterar o estado PORTD &= ~(1<<PD4); // Desligar o pino isto é necessário para quando o output é 0 se poder desligar. PORTD = ((output&1)<<pd4) // output&1 pois só nos interessa o primeiro bit, assim evitamos mexer nos outros pinos. Agora só nos falta mesmo ligar a interrupção associada ao INT0. O bit que controla isto é o INT0 no register EIMSK. Assim, é só modificar o código, e fica completo: char output = 0; // Estado do led.
6 DDRD = (1<<PD4); // Inicializar o pino digital 4 como output. PORTD &= ~(1<<PD4); // Inicializar o pino digital 4 como desligado. EICRA = ((1<<ISC00) (1<<ISC01)); // Configurar interrupção no pino INT0 para quando este transita para HIGH EIMSK = (1<<INT0); output = ~output; // Alterar o estado PORTD &= ~(1<<PD4); // Desligar o pino isto é necessário para quando o output é 0 se poder desligar. PORTD = ((output&1)<<pd4) // output&1 pois só nos interessa o primeiro bit, assim evitamos mexer nos outros pinos. Agora temos um código que, ao clicarmos num botão que liga o pino digital 2 e o pólo positivo, faz toggle do pino digital 4 (nota: visto que não fizemos nada para tratar do bouncing, podem haver resultados inesperados. No entanto, como isto é só para exemplo, não considerámos muito importante). Para experimentarem, podem montar o seguinte circuito: Cuidados a ter na utilização de interrupções Vou deixar aqui duas situações a terem em atenção quando estão a lidar com interrupções: 1. O compilador optimiza bastante o código. Isto quase sempre é uma vantagem, no entanto, por vezes não é. Utilizando o exemplo do tópico anterior, se tivéssemos de aceder a variável output
7 no código do main(), não estaríamos a aceder ao valor correcto da variável. Isto acontece porque o compilador não considera que podemos aceder à função ISR só com aquele código, logo apenas carrega a variável da memória ram para os registers uma vez, e depois não actualiza o seu valor, que é alterado na ISR. Para resolver isto, dizemos ao código que a variável output é volatile, declarando-a assim: volatile char output; Isto indica ao compilador que a variável pode ser alterada de formas inesperadas, e por isso deve sempre actualizar o seu valor da ram. 2. O processador AVR do Arduino funciona a 8 bits. Isto quer dizer que ele só pode lidar com 8 bits de cada vez. Não pode, por exemplo, carregar um int da memória numa só instrução, pois estes têm 16 bits. Mas as interrupções podem ocorrer em qualquer parte do programa logo o que pensam que acontece se tirarmos a primeira metade de um inteiro da memória, e antes de tirarmos a segunda metade ocorrer uma interrupção que altere essa variável? Resultados não previsíveis obviamente Logo, o que podemos fazer para evitar isto? O que podemos fazer é desligar interrupções nesses blocos de código que não podem ser perturbados (nota: se estiverem a carregar um char não deve haver problemas, visto ter apenas 8 bits). Isto é feito facilmente com a função cli() (também no header <avr/interrupt.h>). Depois do código efectuado, basta ligar novamente as interrupções com sei(). Por exemplo: //... int i,j; for(;;) { cli(); j = i; // o i é alterado numa interrupção // //... E com isto acabamos a base das interrupções. Decidi começar com estas, pois nos próximos tutoriais, explicarei as interrupções individuais de várias funcionalidades.
Programação em C no AVR
Programação em C no AVR Rodrigo Toste Gomes a.k.a Cynary Nuno João a.k.a Njay Senso 1 Neste documento tentamos explicar ao leitor as várias funções que um micro-controlador AVR disponibiliza, e como pode
Mundo Arduino: Vamos começar a programar?
Mundo Arduino: Vamos começar a programar? Date : 2 de Janeiro de 2014 Por Jorge Alcino para o Pplware O Arduino é uma plataforma de hardware livre, projectado com um microcontrolador Atmel AVR. É uma placa
Introdução à Programação em C. Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI
Introdução à Programação em C Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI Linguagem C Criada em 1972 para uso no LINUX; Sintaxe base para diversas outras (Java, JavaScript, PHP, C++,
Robótica com Arduino Professor: Paulo Marcos Trentin
Robótica com Arduino Professor: Paulo Marcos Trentin CDI Onde comprar o Arduino? http://lojabrasilrobotics.blogspot.com/ Onde comprar o Arduino? http://www.mercadolivre.com.br/ Onde comprar o Arduino?
Descrição dos pinos de entrada e saída e de funções especiais. Descrição dos modos de acesso: individual e por porto
Tópicos Descrição dos pinos de entrada e saída e de funções especiais Descrição dos modos de acesso: individual e por porto Acesso individual aos pinos Objetivos Compreender o que são periféricos em um
Sistemas Reativos. Interrupções em microcontroladores (baseado no Atmega328p Arduino Uno)
Sistemas Reativos Interrupções em microcontroladores (baseado no Atmega328p Arduino Uno) Noemi Rodriguez [email protected] Adriano Branco [email protected] Interrupção no Microcontrolador Mecanismo
Plano de Aula. 1 o semestre. Aula número 009 Interrupções. Fazer uso das interrupções externas no Arduíno
Diretoria de Curso Plano de Aula 1 o semestre Nome do curso Eng. Ciências da Computação + TI + TADS + Eng. Elétrica Nome da Unidade Curricular Microprocessadores e Microcontroladores Aula número 009 Tema
Tutorial Proteus 02. Como simular o Arduino no Proteus ISIS utilizando a biblioteca "Emulater" por João Vitor
Tutorial Proteus 02 Como simular o Arduino no Proteus ISIS utilizando a biblioteca "Emulater" por João Vitor http://arduinolegal.blogspot.com 1 Bom pessoal, como já foi visto em outro tutorial (Acesse
O que você pode fazer com o Arduino
O que é Arduino O Arduino foi criado em 2005 por um grupo de 5 pesquisadores : Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino e David Mellis. O objetivo era elaborar um dispositivo que fosse
Programação do Arduino. Parte 1. IDE Wiring
Programação do Arduino Parte 1 IDE Wiring Ambiente de programação: IDE Wiring Barra de título Menu Barra de ferramentas Janela de edição Janela de status Ambiente de programação: IDE Wiring Compilação
Experimento 6 Conversor analógico digital e comunicação serial
Experimento 6 Conversor analógico digital e comunicação serial Objetivo: O objetivo deste experimento é verificar o funcionamento e a utilização do conversor analógico digital e da porta de comunicação
introdução Olá, Após alimentar você deve enviar comandos AT para verificar que o modulo está funcionando e comunicando via serial.
Olá, introdução Eu e todos tenho certeza, apanhamos muito no começo, foi um fim de semana para aprender a lidar com o ESP sempre a partir de duas coisas fundamentais. A) Ver se está funcionando com comando
Por Fernando Koyanagi 1
Por Fernando Koyanagi 1 Características principais Chip com Wi-Fi embutido : padrão 802.11 B/G/N Alcance aproximado: 90 metros Tensão de operação : 3.3 VDC CPU que opera em 80MHz, com possibilidade de
2. Conecte seu Arduino ao computador. 3. Abra as ferramentas da IDE e selecione a porta e a placa que você está utilizando.
1 PISCAR PISCAR Neste projeto trabalharemos o mais simples dos projetos de robótica: piscar um LED (Diodo Emissor de Luz). Essa prática, ainda que trivial, é de suma importância para o processo de aprendizagem,
Curso introdutório de microcontroladores - Plataforma Arduino
Curso introdutório de microcontroladores - Plataforma Arduino Prof. Fábio Rodrigues de la Rocha FLISOL - UTFPR-PR - Abril/2011 FLISOL - UTFPR-PR - Abril/2011 1 Introdução Mas afinal, o que é Arduino? Arduino
Implementando PWM por soft - um método simples. Por Renie S. Marquet reniemarquet.sites.com.br - versão
Implementando PWM por soft - um método simples. Por Renie S. Marquet reniemarquet.sites.com.br - versão 25.02.2005 O PWM (Pulse Width Modulation Modulação por largura de pulso) consiste em controlar o
Lista de Exercícios A2
Lista de Exercícios A2 Nota: Aluno: RA: Curso: Turma: 1 1 Em um sistema microprocessado, interrupção é o nome dado a um mecanismo que permite interromper a execução normal do programa, para atender a um
Acendendo o Led com Arduino.
Acendendo o Led com Arduino. Nesse tutorial aprenderemos a ligar e desligar um Led com o Arduino. Para isso utilizaremos os seguintes componentes e ferramentas: Arduino Figura 1 Arduino UNO. Placa de prototipação
Atividade de laboratório 004. Prof: Carlos Eduardo de Brito Novaes 6 de maio de Alunos RA Nome Curso Semestre
Atividade de laboratório 004 Prof: Carlos Eduardo de Brito Novaes 6 de maio de 2016 Alunos RA Nome Curso Semestre Resumo Atividade da unidade curricular: Laboratório Integrado de Microprocessadores e Microcontroladores.
MOBILIDADE SUSTENTÁVEL. Luís Martins Duarte Abreu
MOBILIDADE SUSTENTÁVEL Luís Martins Duarte Abreu ARDUINO UNO Arduino UNO Arduino IDE www.arduino.cc Digital VS Analógico Arduino UNO DIGITAL ANALOG PWM (Pulse Width Modulation) Funciona utilizando médias
PRÁTICAS. Microcontroladores: (LT36D) Prof: DaLuz. Práticas - 2º sem Microcontroladores LT36D - 26/04/ :56 1/16
PRÁTICAS Microcontroladores: (LT36D) Prof: DaLuz 1/16 Laboratório 01: - Laboratórios Instrução / diretiva (ORG e END), exemplos: ORG 0000h posiciona o código na linha 0000h da EPROM ORG 0100h posiciona
Programação C para Arduino
INSTITUTO FEDERAL DE SANTA CATARINA DEPARTAMENTO DE ELETRÔNICA Programação C para Arduino Prof. Charles Borges de Lima. Maio/2013 1 1 SUMÁRIO Introdução O Arduino Uno - O ATmega328 Programação - Assembly
Plano de Aula. 1 o semestre. Cronômetro Interrupções, Timers. Utilizar interrupções para criar um cronômetro com parciais
Diretoria de Curso Plano de Aula 1 o semestre Nome do curso Nome da Unidade Curricular Aula número Tema Período Turma Eng. Ciências da Computação + TI + TADS + Eng. Elétrica Microprocessadores e Microcontroladores
Enviando Dados Pela Porta Serial na placa LaunchPad MSP430 Utilizando o ambiente ENERGIA
Enviando Dados Pela Porta Serial na placa LaunchPad MSP430 Utilizando o ambiente ENERGIA Autor: Renne Takao Meguro Portal Ribeirão Preto 14/07/2012 Olá Pessoal, dando continuidade ao artigo do Blog do
Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador;
1 Microprocessador Um microprocessador é um circuito eletrônico capaz de realizar diversas tarefas conforme os comandos específicos. Para isso ele deve ler esses comandos da memória de programa (ROM) e
Atividade de laboratório 005. Prof: Carlos Eduardo de Brito Novaes 20 de maio de Alunos RA Nome Curso Semestre
Atividade de laboratório 005 Prof: Carlos Eduardo de Brito Novaes 20 de maio de 2016 Alunos RA Nome Curso Semestre Resumo Atividade da unidade curricular: Laboratório Integrado de Microprocessadores e
Robótica com Arduino
Robótica com Arduino Hoje iremos conectar LEDs externos ao Arduino e fazer exercícios com eles. Professor: Paulo Marcos Trentin Escola CDI de Videira Salvando um projeto na IDE do Arduino Será cada vez
Revisão Linguagem C Parte 1
Revisão Linguagem C Parte 1 Comentários: Os comentários aparecem em verde e podem iniciados com /* e encerrados com */ quando utilizase várias linhas ou coloca-se // quando forem colocados em apenas uma
MANUALDEGUSTAÇÃO ARDUINO KIT INICIANTE V4.0
MANUALDEGUSTAÇÃO ARDUINO KIT INICIANTE V4.0 PARA TER ACESSO A TODOS OS 10 EXPERIMENTOS, COMPRE O ARDUINO KIT INICIANTE DA ROBOCORE EM WWW.ROBOCORE.NET Projeto Termômetro Componentes: 2 Leds Verdes + 2
- Tarefas Práticas de Programação usando Arduino - Imagem do Robô com Legendas
- Tarefas Práticas de Programação usando Arduino - Profa. Flavia Pereira de Carvalho Imagem do Robô com Legendas Dicas de código: 1) Os pinos dos leds estão nas posições de 2 a 7 2) Comandos básicos necessários
Tutorial de uso do JbreadBoard
Tutorial de uso do JbreadBoard by: Jacson RC Silva Antes de mais nada, obtenha e instale o jbreadboard, logo após siga este tutorial. A tela inicial do JbreadBoard é: Figura 1:
Curso de Arduino. Quais seus principais componentes?
Curso de Arduino O que é? Arduino é um microcontrolador (computador pequeno) utilizado para prototipagem eletrônica. Foi desenvolvido especialmente para designers e artistas plásticos, ou seja, deve ser
Kit controle remoto IR acionando 3 Led com Arduino
Kit controle remoto IR acionando 3 Led com Arduino Neste artigo, vamos mostrar como controlar o Arduino através do controle remoto IR. Trata-se de evolução em relação ao primeiro tutorial, onde acendemos
Programação em Linguagem C
Programação em Linguagem C UNIDADE 1 Unidade I Nesta unidade aprenderemos: escrever o código no computador e transferir para o Arduino. ligar e desligar um pino; utilizar o delay (tempo); ler um pino para
Introdução do Arduino para aquisição de dados e controle de instrumentos
Introdução do Arduino para aquisição de dados e controle de instrumentos Rafael Pezzi Centro de Tecnolocia Acadêmica Instituto de Física - UFRGS Novembro de 2018 Roteiro O que é o Arduino? Especificações
Curso de Básico Arduino! Ministrado por: Wellington Cássio Faria Contato:
Curso de Básico Arduino! Aula 1: Introdução ao Arduino e Portas Digitais Quem sou eu? Formação: Wellington Cássio Faria Curso técnico Médio (2o grau) Técnico em Eletrônica Industrial, CEP - Centro de Educação
INTRODUÇÃO A PLATAFORMA ARDUINO. TÁSSIO JOSÉ GONÇALVES GOMES
INTRODUÇÃO A PLATAFORMA ARDUINO TÁSSIO JOSÉ GONÇALVES GOMES www.tassiogoncalves.com.br [email protected] APRESENTAÇÃO TÁSSIO JOSÉ GONÇALVES GOMES Mestrando em Informática pela UFAL e Bacharel
ANEXO I. O Ambiente de desenvolvimento MpLab IDE v6.62
ANEXO I O Ambiente de desenvolvimento MpLab IDE v6.62 Como ferramenta de desenvolvimento do código dos microcontroladores utilizou-se o MpLab IDE v6.62 da Microchip. A linguagem de programação utilizada
Binário para Decimal. Binário: = 19. Decimal:
www.iesa.com.br 1 Binário para Decimal Binário: 00010011 0 0 0 1 0 0 1 1 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 128 64 32 16 8 4 2 1 16 + 2 + 1 = 19 Decimal: 19 www.iesa.com.br 2 Decimal para Binário Decimal:
Atividade de laboratório 003. Prof: Carlos Eduardo de Brito Novaes 29 de abril de Alunos RA Nome Curso Semestre
Atividade de laboratório 003 Prof: Carlos Eduardo de Brito Novaes 29 de abril de 2016 Alunos RA Nome Curso Semestre Resumo Atividade da unidade curricular: Laboratório Integrado de Microprocessadores e
AULA 6 - INTRODUÇÃO AO ARDUINO Revisão de Eletrônica Digital e introdução aos Sistemas Computacionais.
AULA 6 - INTRODUÇÃO AO ARDUINO Revisão de Eletrônica Digital e introdução aos Sistemas Computacionais. 6.1 Objetivo: O objetivo desta aula é mostrar aos alunos o que é e como funciona o Arduino e seus
Tutoriais PET-Tele. Introdução à Amostragem de Sinais com o kit Arduino (Versão: A2016M06D21)
Universidade Federal Fluminense UFF Escola de Engenharia TCE Curso de Engenharia de Telecomunicações TGT Programa de Educação Tutorial PET Grupo PET-Tele Tutoriais PET-Tele Introdução à Amostragem de Sinais
Introdução à Plataforma ARDUINO
MINICURSO Introdução à Plataforma ARDUINO PET Mecatrônica/BSI Geruza M. Bressan O que é um microcontrolador (MCU)? É um computador em um chip Processador Memória Entrada/Saída Controla ações e funções
Características técnicas Baseado no ATMega da empresa AVR, fabricante de micro-controladores em plena ascensão e concorrente do PIC Pode usar ATMega
ARDUINO O que é Arduino Arduino foi criado na Itália por Máximo Banzi com o objetivo de fomentar a computação física, cujo conceito é aumentar as formas de interação física entre nós e os computadores.
INTRODUÇÃO: MICROCONTROLADORES
INTRODUÇÃO: MICROCONTROLADORES MICROCONTROLADOR X MICROPROCESSADOR Baixa capacidade de processamento Freq. Operação em MHz Custo de R$ 7,00 a 30,00 Aplicações mais restrita Alta capacidade de processamento
Anatomia do Arduino Bootloader
Anatomia do Arduino Bootloader Fábio Olivé ([email protected]) Tópicos A plataforma Arduino A família Atmel AVR ATmega Padronização da configuração e uso do ATmega Detalhando o ATmega328P Especificações
Plano de Aula. 1 o semestre. Aula número 012 Periféricos Comunicação Serial. Conhecer os princípios de comunicação serial
Diretoria de Curso Plano de Aula 1 o semestre Nome do curso Eng. Ciências da Computação + TI + TADS + Eng. Elétrica Nome da Unidade Curricular Microprocessadores e Microcontroladores Aula número 012 Tema
Arduino: primeiros passos para aprender e configurar.
Arduino: primeiros passos para aprender e configurar. Tutorial: Arduino - Primeiros Passos Neste tutorial, iremos aprender a configurar o Arduino IDE, carregar um programa de exemplo e modificá-lo. 1.
Sistema Digitais. Bacharelado de Informática UEM DIN - Prof. Elvio 2017
5197 - Sistema Digitais Bacharelado de Informática UEM DIN - Prof. Elvio 2017 Roteiro ATmega328 (Interrupções) ATmega328 (Interrupções Externas) ATmega328 (Portas de E/S) ATmega328 (Temporizador/Contador
Estrutura Básica da Linguagem Arduino
Governo do Estado de Pernambuco Secretaria de Educação Secretaria Executiva de Educação Profissional Escola Técnica Estadual Professor Agamemnon Magalhães ETEPAM Estrutura Básica da Linguagem Arduino Jener
LIGAR LUZ COM BOTÃO. Projeto 2
2 LIGAR LUZ COM BOTÃO LIGAR LUZ COM BOTÃO Neste projeto, vamos utilizar um botão para controlar um LED. Será ensinado como utilizar entradas digitais no Arduino com resistores pull-down externos e pull-up
1º minicurso de Arduino no IFUSP 4 a 22 de maio de 2015 Prof. Alexandre Suaide
1º minicurso de Arduino no IFUSP 4 a 22 de maio de 2015 Prof. Alexandre Suaide Arduino é uma plataforma eletrônica para prototipagem flexível, de baixo custo, fácil de usar e aberta. Inscrições abertas
Comunicação RC5 com o dspic Vitor Amadeu Souza
Comunicação RC5 com o dspic Vitor Amadeu Souza [email protected] Neste artigo, irei apresentar aos leitores um exemplo prático de comunicação via infravermelho, utilizando neste caso o protocolo RC5.
KIT INICIANTE V7 PARA ARDUINO
Módulo 3 Componentes: 1 Sensor de Temperatura LM35 Descrição: Com o auxílio da porta serial e do monitor serial, o usuário irá fazer a leitura do sensor de temperatura em ºC para fazer o projeto seguinte.
Missão: Arduino. 3 de Março. Organização
Missão: Arduino 3 de Março Organização Introdução Boa tarde agente, A sua missão para hoje será programar uma plataforma electrónica dada pelo nome de Arduino. Antes de mais vejamos o material necessário
Guia da Placa de desenvolvimento PD Mega16 N1
Guia da Placa de desenvolvimento PD Mega16 N1 Este tutorial consiste mostrar detalhes de hardware da placa de desenvolvimento PD Mega16 N1, necessário para iniciar a programação e testes. Boa aprendizagem...
Aula 23: Noções de Compilação, Montagem, Link-edição, e Interpretação
Aula 23: Noções de Compilação, Montagem, Link-edição, e Interpretação Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Compilação, Montagem, Link-edição,
Arduino Lab 08 Banco de teste para memória RAM HM6116 de 16k
Arduino Lab 08 Banco de teste para memória RAM HM6116 de 16k Neste Lab iremos descrever a implementação de um sistema para testar antigas memórias RAM, estática, modelo HM6116LP-4 que ainda são utilizadas
ARDUINO. Profº. Engº. Robson Dias Ramalho
ARDUINO Profº. Engº. Robson Dias Ramalho 3. Microprocessador (E/S) 4. Memória RAM (E/S) 5. Placa de vídeo (E/S) 8. Disco Rígido (E/S) 9. Mouse (Saída) 10. Teclado (E/S) 2. Placa mãe (barramento de dados)
ARDUINO BÁSICO E T A P A 1 O QUE É ARDUINO? Prof. Amadeu Zanon Neto
E T A P A 1 O QUE É ARDUINO? Segundo o site WIKIPEDIA, Arduino é: É um microcontrolador de placa única e um conjunto de software para programá lo. O hardware consiste em um projeto simples de hardware
Projeto 01. Adriano Joaquim de Oliveira Cruz Instituto de Matemática UFRJ 2015 Adriano Cruz. 30 de agosto de 2015
Projeto 01 Adriano Joaquim de Oliveira Cruz Instituto de Matemática UFRJ 2015 Adriano Cruz 30 de agosto de 2015 1 Introdução Este projeto é baseado no Laboratório 01 do Livro Head First C [2]. A idéia
INTRODUÇÃO AO ARDUINO DUE, CANAL DIGITAL, FUNÇÃO DELAY
INTRODUÇÃO AO ARDUINO DUE, CANAL DIGITAL, FUNÇÃO DELAY INTRODUÇÃO A Plataforma Arduino é considerada plataforma aberta, ou seja, qualquer pessoa pode efetuar uma melhoria em um código, biblioteca e disponibilizá-la
Cerne Tecnologia e Treinamento
Tecnologia e Treinamento Tutorial para Testes na Placa MODBUS I/O RS485 (21)3062-1711 (11)4063-1877 Skype: suporte.cerne-tec MSN: [email protected] www.cerne-tec.com.br Kits Didáticos e Gravadores
Revisão da Linguagem C Prof. Evandro L. L. Rodrigues
SEL0433 Aplicação de Microprocessadores I Revisão da Linguagem C Prof. Evandro L. L. Rodrigues Estrutura de um programa C Diretivas de pré processamento Declaração de variáveis globais Declaração de protótipos
Universidade Federal de Juiz de Fora Laboratório de Eletrônica CEL 037 Página 1 de 6
Universidade Federal de Juiz de Fora Laboratório de Eletrônica CEL 037 Página 1 de 6 1. Titulo: Prática 10 - Microcontroladores 2. Objetivos: Abordar de forma simplificada o funcionamento de microcontroladores.
SEL-433 Aplicação de Microprocessadores I. Prof: Adilson Gonzaga
SEL-433 Aplicação de Microprocessadores I Prof: Adilson Gonzaga HISTÓRICO Microprocessador Circuito integrado ( chip ) capaz de executar instruções. 1971 Intel Corporation lançou no mercado o microprocessador
Introdução. O que é o Arduino?
Arduino 2 Introdução O que é o Arduino? Arduino é uma plataforma de desenvolvimento de hardware programável que possui um chip Atmel AVR, o qual pode variar dependendo do modelo do Arduino (podendo nos
Comunicação USB com o PIC Vitor Amadeu Souza
1 Comunicação UB com o PIC Vitor Amadeu ouza [email protected] Introdução Os modernos microcontroladores da Microchip, haja vista os da família PIC18 estão cada vez mais com uma integração maior e
Arquitectura de Computadores 2007/2008 2º Semestre 1º Teste (A) - 30/04/2008. Folha de Respostas
Arquitectura de Computadores 00/00 º Semestre º Teste (A) - 0/0/00 Número: Nome: INSTRUÇÕES: - A duração da prova é de, horas. - Responda apenas nesta Folha de Respostas ; nada mais será recebido. - Identifique
Arduino. Gilmar Aquino
Arduino Gilmar Aquino Microcontroladores; O que é o Arduino; Sumário A origem do Arduino; Por que Arduino; Placas; Hardware; Shields; Módulos; Software; Exemplo de aplicação; Dicas, Sites e Livros; Prática.
- Trabalho Prático de Algoritmos e Programação usando Robô Arduino -
Disciplina: Algoritmos e Programação Vale 1.5 para G2 Profa. Flavia Pereira de Carvalho - Trabalho Prático de Algoritmos e Programação usando Robô Arduino - Imagem do Robô com Legendas Dicas de código
Arquitetura do Microcontrolador Atmega 328
Governo do Estado de Pernambuco Secretaria de Educação Secretaria Executiva de Educação Profissional Escola Técnica Estadual Professor Agamemnon Magalhães ETEPAM Arquitetura do Microcontrolador Atmega
MODBUS COM ARDUINO.
MODBUS COM ARDUINO Vamos fazer um Atmega328P comunicar-se com o ScadaBR. Eu testei esse programa com um Arduino Uno e funcionou muito bem. Para obter mais praticidade, resolvi utilizar o Proteus para simular
Manual Técnico Módulo de Relê 4 Canais
Manual Técnico Módulo de Relê 4 Canais Introdução Módulo de relês de contato para acionamento de cargas através de microcontroladores Arduino/PIC/8051 com 4 saídas. Acionamento através de sinal lógico
SEL-614 MICROPROCESSADORES E APLICAÇÕES. Adilson Gonzaga
SEL-614 MICROPROCESSADORES E APLICAÇÕES Prof: Adilson Gonzaga HISTÓRICO Microprocessador Circuito integrado ( chip ) capaz de executar instruções. 1971 Intel Corporation lançou no mercado o microprocessador
Sistemas Embarcados:
Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Sistemas Embarcados: Microcontroladores DCA0119 Sistemas Digitais Heitor Medeiros Florencio Sistemas Embarcados
Sequencial Supermáquina (TEMPORIZAÇÃO SIMPLES)
Sequencial Supermáquina (TEMPORIZAÇÃO SIMPLES) Roteiro Sequencial Supermáquina Materiais Pinos do PIC Fluxograma Temporização Circuito no protoboard Melhoramentos Sugestão de Atividades Sequencial Um sequencial
Universidade Federal do Espírito Santo. Programação I Tipos de Dados Básicos - C Professora: Norminda Luiza
Universidade Federal do Espírito Santo Programação I Tipos de Dados Básicos - C Professora: Norminda Luiza Variáveis Tipos de Dados Básicos Formação dos identificadores o nome deve começar com uma letra
ENG-1450 Microcontroladores e Sistemas Embarcados. Lab03 Execução Experiência 01, Keypad, 7-seg, Exercícios
ENG-1450 Microcontroladores e Sistemas Embarcados Lab03 Execução Experiência 01, Keypad, 7-seg, Exercícios Agenda Execução da Experiência 01 no Proteus Teclado por interrupção Display 7-segmentos OBS:
Disciplina : Microcontroladores AVR
Curso: Técnico em Automação Industrial Integrado ao Ensino Médio Disciplina : AVR Prof. Thiago Javaroni Prati Família AVR Os microcontroladores AVR da fabricante ATMEL são microcontroladores de 8 bits
Trabalho Prático Nº3 Porta Paralela
Trabalho Prático Nº3 Porta Paralela 1. OBJECTIVOS - Utilização da porta paralela como porto genérico de Entrada e Saída. 2. INTRODUÇÃO A porta paralela é um meio frequentemente utilizado para efectuar
ENG-1450 Microcontroladores e Sistemas Embarcados. Lab02 Apresentação Kit PicGenios Interrupção e Timers
ENG-1450 Microcontroladores e Sistemas Embarcados Lab02 Apresentação Kit PicGenios Interrupção e Timers Atividades 1. Executar tarefas da aula anterior no kit 2. Exemplo1: 1.Acionar o LED por interrupção
