SlideShare ist ein Scribd-Unternehmen logo
1 von 47
http://facebook.com/CursoArduinoMinas
http://facebook.com/BasicaoDaEletronica
http://facebook.com/TelefoniaEAutomacao
Hello World Arduino
Uma Introdução ao Arduino.
Os primeiros passos para domina-lo.
http://facebook.com/CursoArduinoMinas
http://facebook.com/BasicaoDaEletronica
http://facebook.com/TelefoniaEAutomacao
Quem Sou?
Carlos Delfino - Um idealista, as vezes utópico
Hobista/Maker Eletronica e TI desde 1984 (a 30 anos)
Analísta de suporte desde 1992 (a 22 anos)
(Xenix, Unix, Linux, Windows, VirtuOS)
Analista de redes desde 2005 (formação)
Desenvolvedor Java desde 2005
(bolsista em projetos de mestrado e pesquisa)
Desenvolvedor PHP desde 1999/2000
Usuário Linux desde 1996
(Um dos motivadores da função da comunidade
Slackware em BH)
2
http://facebook.com/CursoArduinoMinas
http://facebook.com/BasicaoDaEletronica
http://facebook.com/TelefoniaEAutomacao
Quem Sou?
FIC - Faculdade Integrada do Ceará - 2005
Projeto e Implementação de Redes de Computadores
Um dezena ou mais de cursos de programação e gestão de projetos desde 2003
Atuei como Bolsista em dois projetos de mestrado,
cheguei a ser cotado como bolsista para mestrado na UFC, com 4 semestres de faculdade.
Nós últimos 15 anos buscando influenciar e desenvolver um projeto Social de tecnologia, inspirado no Woz
(Worzniak)
A 6 anos conheci o xBee
A 3 anos conheci o Arduino
3
http://facebook.com/CursoArduinoMinas
http://facebook.com/BasicaoDaEletronica
http://facebook.com/TelefoniaEAutomacao
O que espero com este curso
Abrir a porta do mundo para quem quer conhecer as possibilidades de se criar seu
próprio projeto;
Apresentar os conceitos básicos do Arduino e tópicos relacionados;
Alimentar o desejo dos participantes na tecnologia e mostrar que é melhor criar do que
ser [CTRL+C]/[CTRL+V];
Se tornarem programadores de verdade, e mostrar que nem sempre o caminho mais fácil
é o mais adequado e elegante;
Programar é mais que escrever código, é tanto quanto escrever poesias e belos contos.
4
http://facebook.com/CursoArduinoMinas
http://facebook.com/BasicaoDaEletronica
http://facebook.com/TelefoniaEAutomacao
Tópicos do CursoModelos de Arduinos
Arquitetura do Arduino UNO
Arquitetura do AtMega328
Esqueleton, estrutura do código do Arduino
Manipulando Portas
Portas Digitais
Portas Analógicas
Comunicação Serial
Tipo de Variáveis
Estruturas Lógica de Controle:
If
For
While
Escopo de variáveis
Interrupções
Expandindo o Arduino
Shields
Módulos
Protocolos
5
http://facebook.com/CursoArduinoMinas
http://facebook.com/BasicaoDaEletronica
http://facebook.com/TelefoniaEAutomacao
Modelos de Arduino
Muito Além de uma placa, um controlador
Um conceito.
Originais e Clones
http://facebook.com/CursoArduinoMinas
http://facebook.com/BasicaoDaEletronica
http://facebook.com/TelefoniaEAutomacao
ATmega2560, 54 Portas Digitais, 16 Analógicas, 15 PWM, 4 UARTS (Seriais), 6
Interrupções externas, 256KB Flash (8k para bootloader), 8KB SRAM, 4KB
EEPROM
Arduino Mega
7
http://facebook.com/CursoArduinoMinas
http://facebook.com/BasicaoDaEletronica
http://facebook.com/TelefoniaEAutomacao
ATmega32U4, 12 Analógicas, 7 PWM, 4 Interrupções externas, 32k
Flash (4k para bootloader), 2,5K SRAM, 1KB EEPROM
Arduino Leonardo
8
http://facebook.com/CursoArduinoMinas
http://facebook.com/BasicaoDaEletronica
http://facebook.com/TelefoniaEAutomacao
SAM3X8E ARM Cortex-M3, 32bits, clock de 84Mhz, 96KB SRAM, 512KB Flash, 54 portas
digitais, 12PWM, 12Analogicas, 4 UARTs (Seriais), 2 DACs, 1USB OTG, 2 TWI, DEBUG, usa
3.3V
Arduino DUE
9
http://facebook.com/CursoArduinoMinas
http://facebook.com/BasicaoDaEletronica
http://facebook.com/TelefoniaEAutomacao
Existem muitos outros modelos, que podem ser encontrados na
página do Arduino (http://arduino.cc) ;
Há também há clones ou similares, como por exemplo o FreeDuino
ou o Sanguino;
10
Outros Modelos
http://facebook.com/CursoArduinoMinas
http://facebook.com/BasicaoDaEletronica
http://facebook.com/TelefoniaEAutomacao
Arquitetura do Arduino
Arduino UNO R3
http://facebook.com/CursoArduinoMinas
http://facebook.com/BasicaoDaEletronica
http://facebook.com/TelefoniaEAutomacao
Microcontrolador: ATmega328
Voltagem padrão de Operação: 5V
Nível de voltagem de entrada recomendado: 7 a 12V, Limites: 6-20V
Pinos de Entrada e Saída Digital: 14 (sendo 6 com saída PWM)
+ 6 compartilhadas com as entradas Analógicas.
Pinos de Entrada Analógica: 6 (que também podem ser usadas como digital)
Limite de corrente por saída 5V: 40mA, máximo de 200mA simultâneo.
Memória Flash (Memória de programa): 32KB,
sendo 0.5KB é usado pelo Bootloader.
SRAM (Memória de dados): 2KB
EEPROM: 1KB
Clock: 16Mhz
12
Características Técnicas
Estrutura do Arduino
13
Arquitetura do ATmega
14
Arquitetura do padrão AVR
15
16
http://facebook.com/CursoArduinoMinas
http://facebook.com/BasicaoDaEletronica
http://facebook.com/TelefoniaEAutomacao
O Arduino é composto por um framework chamado Wiring
Em sua forma original o Wiring dá suporte para cores AVR, AVR Xmega, AVR
Tiny, MSP430 da TI, PIC24/32 e STM M3 ARM
No Arduino podemos dizer que usamos um Dialeto C/C++ chamado Wiring, que é
nada mais que a Linguagem C/C++ empoderada com o Framework Wiring.
Compilador utilizado para Arduino é o GCC-AVR,
Há outros compiladores para a linha AVR: IAR, Eclipse + GCC, ATMel Studio
(Visual Studio + GCC)
17
C, C++ ou Wiring
http://facebook.com/CursoArduinoMinas
http://facebook.com/BasicaoDaEletronica
http://facebook.com/TelefoniaEAutomacao
void setup(){
}
void loop(){
}
void serialevent(){
}
18
Esqueleton
A estrutura do código do Arduino
Setup: prepara todo o ambiente é executado quando se
liga o Arduino;
Loop: Executado constantemente, mesmo que
solicitando explicitamente a saída é chamada
novamente;
SerialEvent: Função executada sempre que chega
algum caracter na serial, porém somente é executada
entre interações com a função loop. "Não é obrigatório"
http://facebook.com/CursoArduinoMinas
http://facebook.com/BasicaoDaEletronica
http://facebook.com/TelefoniaEAutomacao
Manipulando as Portas
Interagindo e controlando o mundo externo
http://facebook.com/CursoArduinoMinas
http://facebook.com/BasicaoDaEletronica
http://facebook.com/TelefoniaEAutomacao
Usando as Portas Digitais
pinMode(port, mode);
digitalWrite(port, state);
bool digitalRead(port);
20
pinMode: ajusta a porta se entrada ou
saída, recebe o número indicativo da
porta e um dos modos: INPUT,
OUTPUT, INPUT_PULLUP
digitalWrite: escreve na porta informada
um dos estados: HIGH (1) ou LOW (0)
bool digitalRead: Lê a porta retornando
um bool, o estado da porta
HIGH/TRUE/1 ou LOW/FALSE/0
http://facebook.com/CursoArduinoMinas
http://facebook.com/BasicaoDaEletronica
http://facebook.com/TelefoniaEAutomacao
Usando as Portas Analógicas
analogReference(type);
int analogRead(port);
analogWrite(port,value);
21
anlogReference: permite definir uma nova referência de
limites para conversão analógica, podendo ser
DEFAULT (5V), INTERNAL (1.1V), EXTERNAL (usa o
pino ARef)
analogRead: Faz a leitura do nível de tensão da porta
analógica A0 até A5, retornando um valor entre 0 e
1023, veremos mais a frente mais detalhes;
analogWrite: simula uma saída analógica, podem ser
usadas apenas em pinos que possuam recurso PWM,
sendo as portas 3,5,6,9,10,11. Permite valores entre 0
(0%) e 255(100%) do nível de tensão (5V)
Arquitetura da Conversão Analógica
22
http://facebook.com/CursoArduinoMinas
http://facebook.com/BasicaoDaEletronica
http://facebook.com/TelefoniaEAutomacao
Amostragens de 10bits, ou seja valores resultantes entre 0 e 1023, sendo 5V de
referência, resulta em 5V/1024, ou seja uma precisão de 0,0048V (5mV);
Tempo entre conversões de 500nS (0,5uS), Considerando que cada instrução no Arduino
gasta 62,5nS, é um tempo razoável;
Nunca mude a tenção de referência em ARef diretamente, primeiro ajuste para interno
(DEFAULT), ajuste a nova tensão, e retorne para EXTERNAL;
Sempre dê um 1mS entre leituras em portas diferentes;
Certifique-se que o resistor de Pull-Up está desativado sempre colocando a porta como
(INPUT) apenas;
23
Características da Conversão Analógica
http://facebook.com/CursoArduinoMinas
http://facebook.com/BasicaoDaEletronica
http://facebook.com/TelefoniaEAutomacao
Cada porta digital é capaz de fornecer 5V e uma corrente máxima de 40mA, a nível de stress;
O Arduino (ATmega) no total é capaz de fornecer 200mA, portanto apenas 5 portas em seu limite
de stress;
A conversão analógica leva .5uS para ser executada, porém há também um tempo necessário
para estabilização quando se troca o nível de tenção de referência;
Evite deixar as portas analógicas flutuando, procure colocar um resistor de pull-up ou pull-down
quando isso puder acontecer. Válido também para as portas digitais.
As portas de IO possuem um resistor de PULL-UP que podem ser ativado, cuidado ao usa-lo nas
portas analógicas, ele pode interferir na leitura dos valores da porta, seu valor é entre 20K até 50K
24
Detalhes e Macetes Portas
http://facebook.com/CursoArduinoMinas
http://facebook.com/BasicaoDaEletronica
http://facebook.com/TelefoniaEAutomacao
Comunicação Serial
Comunicando com o PC e outros Dispositivos via
Protocolo TTL Serial
http://facebook.com/CursoArduinoMinas
http://facebook.com/BasicaoDaEletronica
http://facebook.com/TelefoniaEAutomacao
Sem muitos detalhes, TTL atua com 5V, RS232 atua de -12 a +12V;
É Preciso um conversor para adequar o sinal, as vezes um simples
conjunto de transistores para converter entre TTL e RS232;
Conversão para USB é feita nos modelos antigos usando um chip chamado
FTTI, nos modelos atuais usa um ATmega16U2, que traz grandes
possibilidades, pois o firmware pode ser atualizado.
O conversor USB Serial TTL do Arduino pode ser usado em diversas
situações, como acessar outros dispositivos.
26
TTL vs RS232 vs USB
http://facebook.com/CursoArduinoMinas
http://facebook.com/BasicaoDaEletronica
http://facebook.com/TelefoniaEAutomacao
Comunicação Serial
Serial.begin(bauds);
Serial.print(value);
Serial.println(value);
27
begin: inicializa a serial com os parâmetros
adequados ao seu funcionamento, além do
baudrates, pode se ajustar o número de bits, e o uso
ou não de paridade e bits de paradas.
print: Imprime na serial a string ou valor informado,
pode se definir o formato número dos valores, como
HEX, OCT, BIN e DEC, sendo DEC o padrão.
println: faz o mesmo que “print” porém imprime no
final um salto de linha e um retorno de carro.
http://facebook.com/CursoArduinoMinas
http://facebook.com/BasicaoDaEletronica
http://facebook.com/TelefoniaEAutomacao
Comunicação Serial
byte Serial.available();
char Serial.read();
char Serial.peek();
void SerialEvent(){}
28
available: Para saber se há dados disponíveis consulta
verifique consulte a serial usando available(), irá retornar o
número de bits;
read: lê o próximo caracter disponível na porta serial.
peek: lê o caracter que está disponível na serial, normalmente
o último caracter lido pela chamada de Serial.read();
SerialEvent: é uma função usada para capturar informações
enviadas entre interações do bloco "loop()", somente é
chamada quando há caracteres disponíveis na serial e a
função "loop()" termina.
http://facebook.com/CursoArduinoMinas
http://facebook.com/BasicaoDaEletronica
http://facebook.com/TelefoniaEAutomacao
Comunicação Serial
long Serial.parseInt();
29
parseInt: apôs chamar availabel(), vc pode
obter o primeiro long (valor número) disponível
na serial.
caso se receba algum caracter inválido
"parseInt()" irá retornar zero, portanto, se tiver
certeza que virá por exemplo um n seguido do
número, faça um “read()” na serial para limpar
este n e evitar que seja mal interpretado com
zero (0);
http://facebook.com/CursoArduinoMinas
http://facebook.com/BasicaoDaEletronica
http://facebook.com/TelefoniaEAutomacao
INTERVALO
o Tempo de uma música
31
http://facebook.com/CursoArduinoMinas
http://facebook.com/BasicaoDaEletronica
http://facebook.com/TelefoniaEAutomacao
Continuando
Perguntas
http://facebook.com/CursoArduinoMinas
http://facebook.com/BasicaoDaEletronica
http://facebook.com/TelefoniaEAutomacao
Tipos de Variáveis
Alocando Memória
Operações Matemáticas
http://facebook.com/CursoArduinoMinas
http://facebook.com/BasicaoDaEletronica
http://facebook.com/TelefoniaEAutomacao
34
Variáveis vs constantes
http://facebook.com/CursoArduinoMinas
http://facebook.com/BasicaoDaEletronica
http://facebook.com/TelefoniaEAutomacao
Tipos de variáveis
char: 1 Byte, representações de caracteres,
limites entre -128 e +127, “unsigned char"
valores entre 0 e 255;
byte, similar ao "unsigned char", sempre
valores de 0 a 255;
bool, sempre “true” (1) ou “false” (0)
int, 2 Bytes, valores de -32768 a 32767,
“unsigned int” limites entre 0 e 65535;
long, 4 Bytes, valores de -2,147,483,648 a
2,147,483,647, “unsigned long” limites entre 0
a 4,294,967,295;
float, usado para números complexos e
representados por notação cientifica, limites
entre -3.4028235E+38 e 3.4028235E+38;
string/String, representa um arras de char
(char[]), usado para armazenar sequências de
caracteres, em especial finalizadas com “0”, já
String, com “S" maiúscula, é um objeto com
diverso recursos para manipulação de Strings.
35
http://facebook.com/CursoArduinoMinas
http://facebook.com/BasicaoDaEletronica
http://facebook.com/TelefoniaEAutomacao
Há o qualificador “const" para definir uma identificador de memória
como sendo constante;
porém também há uma diretiva de compilador chamada “#define”
que reduz o consumo de espaço de memória em se tratando de
números, porém pode haver conflitos pois substitui palavras idênticas
pela nova definição.
36
Constantes vs Macros
http://facebook.com/CursoArduinoMinas
http://facebook.com/BasicaoDaEletronica
http://facebook.com/TelefoniaEAutomacao
Começamos identificando o conjunto de instrução que se deseja
repetir ou que já se repete e queremos evitar, economizando
memória;
Identificando os parâmetros, que serão passados para uso dentro do
bloco e o que o bloco irá gerar de resultado.
Vamos codificar um pouco, criando blocos de códigos e funções;
Veremos mais a frente, em contexto de variáveis do porque trabalhar
com blocos de códigos;
37
Blocos de Código
http://facebook.com/CursoArduinoMinas
http://facebook.com/BasicaoDaEletronica
http://facebook.com/TelefoniaEAutomacao
global, são visíveis em todo o arquivo onde é definida;
static global, são visíveis em todo o projeto;
local, apenas visível no bloco de código onde é definido;
static local, como local, porém inicializa apenas uma vez.
38
Visibilidade de Variáveis
http://facebook.com/CursoArduinoMinas
http://facebook.com/BasicaoDaEletronica
http://facebook.com/TelefoniaEAutomacao
Manipulando Variáveis
Operações Matemática
+, -, *, /, %
+=, -=, *=, /=
++, --
<<, >>
Operações Lógicas
>, <, <=, >=, ==, !=, !
&&, ||
&, |, ^, ~,
? :
39
http://facebook.com/CursoArduinoMinas
http://facebook.com/BasicaoDaEletronica
http://facebook.com/TelefoniaEAutomacao
Estrutura Lógica de Controle
Mudando os rumos e tomando decisões
http://facebook.com/CursoArduinoMinas
http://facebook.com/BasicaoDaEletronica
http://facebook.com/TelefoniaEAutomacao
long millis();
Retorna o tempo em milessegundos desde o momento de ativação do Arduino. Não funciona dentro
de interrupções, em 50 dias o Arduino zeta o valor;
long micros();
Retorna o tempo em microssegundos, tem resolução multiplica de 4, além disso seu valor zera a
cada 70 minutos, devido a limitação de memória.
delay(unsigned long);
Interrompe seu código pelo tempo em milessegundos informados. As interrupções continuam
funcionando, porém não funciona dentro das interrupções.
delayMicrosseconds(unsigned int);
Este delay é similar ao delay(), porem ocorre em microssegundos, pode ser usado até 16383uS.
41
Controlando o Tempo
http://facebook.com/CursoArduinoMinas
http://facebook.com/BasicaoDaEletronica
http://facebook.com/TelefoniaEAutomacao
idêntico ao java, php ou mesmo C#
Vamos fazer uns códigos.
42
IF / ELSE IF / ELSE
http://facebook.com/CursoArduinoMinas
http://facebook.com/BasicaoDaEletronica
http://facebook.com/TelefoniaEAutomacao
Vamos fazer uns códigos;
para um melhor desempenho opte em começar do maior número
para o menor, o assembler tem instruções que comparam com
resultado zero ou negativo;
43
FOR
http://facebook.com/CursoArduinoMinas
http://facebook.com/BasicaoDaEletronica
http://facebook.com/TelefoniaEAutomacao
Vamos codificar, também;
Como na instrução for, também é bom começar do maior número e
ir até zero.
44
WHILE / DO WHILE
http://facebook.com/CursoArduinoMinas
http://facebook.com/BasicaoDaEletronica
http://facebook.com/TelefoniaEAutomacao
Não iremos falar aqui de interrupções
Talvez durante o Hands-ON.
45
Interrupções
http://facebook.com/CursoArduinoMinas
http://facebook.com/BasicaoDaEletronica
http://facebook.com/TelefoniaEAutomacao
Expandindo o Arduino
Shields, Módulos e Bibliotecas
Vamos reanalizar a Arquitetura do Arduino,
e dar uma olhadinha na estrutura de diretório da interface;
http://facebook.com/CursoArduinoMinas
http://facebook.com/BasicaoDaEletronica
http://facebook.com/TelefoniaEAutomacao
Obrigado
Musica de Abertura: Underdog -
Kassabian
Arte base criada pelo Designer
Digital Elimar Santos de Sete Lagoas.
Imagens obtidas na internet,
reproduzidas conforme licenças.
Apoio: Ed Waldo, Thiago Munhoz,
Marcelino Freitas - IFPI
Eternamente grato aos amigos do
Ceará/Fortaleza, em especial Prof.
Aminadabe e Prof. Inacio
Eternamente Grato a muitos outros
amigos em Minas, Rio, Bahia,
Brasilia, Pernambuco, e pelo mundo a
fora.
Eternamente Grato a minha família.
47

Weitere ähnliche Inhalte

Was ist angesagt?

Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao ArduinoPeslPinguim
 
Microcontroladores pic ling c unicamp
Microcontroladores pic ling c unicampMicrocontroladores pic ling c unicamp
Microcontroladores pic ling c unicampFrancisco Fambrini
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduinoelliando dias
 
Manual de programação introdutória
Manual de programação introdutóriaManual de programação introdutória
Manual de programação introdutóriaCélio Sousa
 
Microcontroladores PIC - Introdução
Microcontroladores PIC - IntroduçãoMicrocontroladores PIC - Introdução
Microcontroladores PIC - IntroduçãoFabio Souza
 
Programação básica de microcontroladores
Programação básica de microcontroladoresProgramação básica de microcontroladores
Programação básica de microcontroladoresDanilo Morais Pagano
 
Aplicação dos microcontroladores no dia a dia
Aplicação dos microcontroladores no dia a diaAplicação dos microcontroladores no dia a dia
Aplicação dos microcontroladores no dia a diaDaniel Rodrigues de Sousa
 
Curso microcontroladores pic no mp lab 8
Curso microcontroladores pic no mp lab 8Curso microcontroladores pic no mp lab 8
Curso microcontroladores pic no mp lab 8RogerMasters
 
Arduino Hack Day por Vinicius Senger
Arduino Hack Day por Vinicius SengerArduino Hack Day por Vinicius Senger
Arduino Hack Day por Vinicius SengerGlobalcode
 
Introdução ao Arduino: Fundamentos e Aplicações de Microcontroladores
Introdução ao Arduino: Fundamentos e Aplicações de MicrocontroladoresIntrodução ao Arduino: Fundamentos e Aplicações de Microcontroladores
Introdução ao Arduino: Fundamentos e Aplicações de MicrocontroladoresCarlos Eduardo Pantoja
 
Palestra: Robótica com Arduino
Palestra: Robótica com ArduinoPalestra: Robótica com Arduino
Palestra: Robótica com ArduinoFelipe Martins
 
Manual Nano 36 turbo ''Central kxh-30-fs-v-12-14''
Manual Nano 36 turbo ''Central kxh-30-fs-v-12-14''Manual Nano 36 turbo ''Central kxh-30-fs-v-12-14''
Manual Nano 36 turbo ''Central kxh-30-fs-v-12-14''Luiz Avelar
 

Was ist angesagt? (20)

Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Microcontroladores pic ling c unicamp
Microcontroladores pic ling c unicampMicrocontroladores pic ling c unicamp
Microcontroladores pic ling c unicamp
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Manual de programação introdutória
Manual de programação introdutóriaManual de programação introdutória
Manual de programação introdutória
 
Microcontroladores PIC - Introdução
Microcontroladores PIC - IntroduçãoMicrocontroladores PIC - Introdução
Microcontroladores PIC - Introdução
 
Programação básica de microcontroladores
Programação básica de microcontroladoresProgramação básica de microcontroladores
Programação básica de microcontroladores
 
Seminario pic
Seminario picSeminario pic
Seminario pic
 
Aula 1: Conhecendo o Arduino
Aula 1: Conhecendo o ArduinoAula 1: Conhecendo o Arduino
Aula 1: Conhecendo o Arduino
 
Aplicação dos microcontroladores no dia a dia
Aplicação dos microcontroladores no dia a diaAplicação dos microcontroladores no dia a dia
Aplicação dos microcontroladores no dia a dia
 
Arduino Básico
Arduino BásicoArduino Básico
Arduino Básico
 
Apostila cpic
Apostila cpicApostila cpic
Apostila cpic
 
Curso microcontroladores pic no mp lab 8
Curso microcontroladores pic no mp lab 8Curso microcontroladores pic no mp lab 8
Curso microcontroladores pic no mp lab 8
 
Arduino Hack Day por Vinicius Senger
Arduino Hack Day por Vinicius SengerArduino Hack Day por Vinicius Senger
Arduino Hack Day por Vinicius Senger
 
Oficina Arduino
Oficina ArduinoOficina Arduino
Oficina Arduino
 
Introdução ao Arduino: Fundamentos e Aplicações de Microcontroladores
Introdução ao Arduino: Fundamentos e Aplicações de MicrocontroladoresIntrodução ao Arduino: Fundamentos e Aplicações de Microcontroladores
Introdução ao Arduino: Fundamentos e Aplicações de Microcontroladores
 
Arduino cp
Arduino cpArduino cp
Arduino cp
 
Palestra: Robótica com Arduino
Palestra: Robótica com ArduinoPalestra: Robótica com Arduino
Palestra: Robótica com Arduino
 
Arduino cp
Arduino cpArduino cp
Arduino cp
 
Manual Nano 36 turbo ''Central kxh-30-fs-v-12-14''
Manual Nano 36 turbo ''Central kxh-30-fs-v-12-14''Manual Nano 36 turbo ''Central kxh-30-fs-v-12-14''
Manual Nano 36 turbo ''Central kxh-30-fs-v-12-14''
 

Andere mochten auch

Microcontroladores AVR
Microcontroladores AVRMicrocontroladores AVR
Microcontroladores AVRabemen
 
Palestra sobre Arduino e Raspberry Pi (Totvs)
Palestra sobre Arduino e Raspberry Pi (Totvs)Palestra sobre Arduino e Raspberry Pi (Totvs)
Palestra sobre Arduino e Raspberry Pi (Totvs)Walter Coan
 
Instruction Set Architecture – II
Instruction Set Architecture – IIInstruction Set Architecture – II
Instruction Set Architecture – IIDilum Bandara
 
Introdução a Sistemas Embarcados com Arduino - mini-curso
Introdução a Sistemas Embarcados com Arduino - mini-cursoIntrodução a Sistemas Embarcados com Arduino - mini-curso
Introdução a Sistemas Embarcados com Arduino - mini-cursoFelipe Martins
 

Andere mochten auch (6)

Microcontroladores AVR
Microcontroladores AVRMicrocontroladores AVR
Microcontroladores AVR
 
Palestra sobre Arduino e Raspberry Pi (Totvs)
Palestra sobre Arduino e Raspberry Pi (Totvs)Palestra sobre Arduino e Raspberry Pi (Totvs)
Palestra sobre Arduino e Raspberry Pi (Totvs)
 
Instruction Set Architecture – II
Instruction Set Architecture – IIInstruction Set Architecture – II
Instruction Set Architecture – II
 
1 aula do curso de automação - Arduino
1 aula do curso de automação - Arduino1 aula do curso de automação - Arduino
1 aula do curso de automação - Arduino
 
Evolution of the iPhone Camera
Evolution of the iPhone CameraEvolution of the iPhone Camera
Evolution of the iPhone Camera
 
Introdução a Sistemas Embarcados com Arduino - mini-curso
Introdução a Sistemas Embarcados com Arduino - mini-cursoIntrodução a Sistemas Embarcados com Arduino - mini-curso
Introdução a Sistemas Embarcados com Arduino - mini-curso
 

Ähnlich wie Arduino day 2014 BH - Hello World Arduino

Apostila - Tutorial Arduino (Básico).PDF
Apostila - Tutorial Arduino (Básico).PDFApostila - Tutorial Arduino (Básico).PDF
Apostila - Tutorial Arduino (Básico).PDFengelrfs
 
Apostila arduino
Apostila arduinoApostila arduino
Apostila arduinoEdson Paz
 
Arduino - Desenvolvendo com hardware livre
Arduino - Desenvolvendo com hardware livreArduino - Desenvolvendo com hardware livre
Arduino - Desenvolvendo com hardware livreMarcelo Laranjeira Melo
 
Arduino: Soluções para o mundo moderno
Arduino: Soluções para o mundo modernoArduino: Soluções para o mundo moderno
Arduino: Soluções para o mundo modernoMarcelo Laranjeira Melo
 
Aprendendo a programar em arduino
Aprendendo a programar em arduinoAprendendo a programar em arduino
Aprendendo a programar em arduinoinfo_cimol
 
EL66J_Slides_arduino.pdf
EL66J_Slides_arduino.pdfEL66J_Slides_arduino.pdf
EL66J_Slides_arduino.pdfssuser56423c1
 
Minicurso arduino eeep aurora
Minicurso arduino eeep auroraMinicurso arduino eeep aurora
Minicurso arduino eeep auroraJuliete Souza
 
Introdução a arduino, oficina para iniciantes
Introdução a arduino, oficina para iniciantesIntrodução a arduino, oficina para iniciantes
Introdução a arduino, oficina para iniciantesRogerio Alencar Filho
 
Workshop iniciação à robótica - Farrusco
Workshop iniciação à robótica - FarruscoWorkshop iniciação à robótica - Farrusco
Workshop iniciação à robótica - FarruscoArticacc, Lda
 
Oficina de IoT conhecendo ESP8266 #CPBR12
Oficina de IoT conhecendo ESP8266 #CPBR12Oficina de IoT conhecendo ESP8266 #CPBR12
Oficina de IoT conhecendo ESP8266 #CPBR12Douglas Esteves
 
Arduino no Dia-Debian/RJ 2011
Arduino no Dia-Debian/RJ 2011Arduino no Dia-Debian/RJ 2011
Arduino no Dia-Debian/RJ 2011Álvaro Justen
 
Introdução-à-Programação-Embarcada-com-Arduino.pdf
Introdução-à-Programação-Embarcada-com-Arduino.pdfIntrodução-à-Programação-Embarcada-com-Arduino.pdf
Introdução-à-Programação-Embarcada-com-Arduino.pdfCliverRaimundo2
 
Robótica com Arduino para projetos em ronótica
Robótica com Arduino para projetos em ronóticaRobótica com Arduino para projetos em ronótica
Robótica com Arduino para projetos em ronóticaprofandersrodri
 
Introdução ao arduino palestra
Introdução ao arduino palestraIntrodução ao arduino palestra
Introdução ao arduino palestraVitor Ferreira
 

Ähnlich wie Arduino day 2014 BH - Hello World Arduino (20)

Apostila - Tutorial Arduino (Básico).PDF
Apostila - Tutorial Arduino (Básico).PDFApostila - Tutorial Arduino (Básico).PDF
Apostila - Tutorial Arduino (Básico).PDF
 
Apostila arduino
Apostila arduinoApostila arduino
Apostila arduino
 
Arduino - Desenvolvendo com hardware livre
Arduino - Desenvolvendo com hardware livreArduino - Desenvolvendo com hardware livre
Arduino - Desenvolvendo com hardware livre
 
Arduino: Soluções para o mundo moderno
Arduino: Soluções para o mundo modernoArduino: Soluções para o mundo moderno
Arduino: Soluções para o mundo moderno
 
Arduino001 110911083100-phpapp02
Arduino001 110911083100-phpapp02Arduino001 110911083100-phpapp02
Arduino001 110911083100-phpapp02
 
Aprendendo a programar em arduino
Aprendendo a programar em arduinoAprendendo a programar em arduino
Aprendendo a programar em arduino
 
Arduino como programar
Arduino como programarArduino como programar
Arduino como programar
 
EL66J_Slides_arduino.pdf
EL66J_Slides_arduino.pdfEL66J_Slides_arduino.pdf
EL66J_Slides_arduino.pdf
 
Arduino day-2015-v1
Arduino day-2015-v1Arduino day-2015-v1
Arduino day-2015-v1
 
Minicurso arduino eeep aurora
Minicurso arduino eeep auroraMinicurso arduino eeep aurora
Minicurso arduino eeep aurora
 
Introdução a arduino, oficina para iniciantes
Introdução a arduino, oficina para iniciantesIntrodução a arduino, oficina para iniciantes
Introdução a arduino, oficina para iniciantes
 
Workshop iniciação à robótica - Farrusco
Workshop iniciação à robótica - FarruscoWorkshop iniciação à robótica - Farrusco
Workshop iniciação à robótica - Farrusco
 
CURSO_ARDUÍNO.pptx
CURSO_ARDUÍNO.pptxCURSO_ARDUÍNO.pptx
CURSO_ARDUÍNO.pptx
 
Oficina de IoT conhecendo ESP8266 #CPBR12
Oficina de IoT conhecendo ESP8266 #CPBR12Oficina de IoT conhecendo ESP8266 #CPBR12
Oficina de IoT conhecendo ESP8266 #CPBR12
 
Arduino no Dia-Debian/RJ 2011
Arduino no Dia-Debian/RJ 2011Arduino no Dia-Debian/RJ 2011
Arduino no Dia-Debian/RJ 2011
 
Introdução-à-Programação-Embarcada-com-Arduino.pdf
Introdução-à-Programação-Embarcada-com-Arduino.pdfIntrodução-à-Programação-Embarcada-com-Arduino.pdf
Introdução-à-Programação-Embarcada-com-Arduino.pdf
 
Robótica com Arduino para projetos em ronótica
Robótica com Arduino para projetos em ronóticaRobótica com Arduino para projetos em ronótica
Robótica com Arduino para projetos em ronótica
 
Minicurso de Arduino Básico
Minicurso de Arduino BásicoMinicurso de Arduino Básico
Minicurso de Arduino Básico
 
Erus minicurso arduino
Erus minicurso arduinoErus minicurso arduino
Erus minicurso arduino
 
Introdução ao arduino palestra
Introdução ao arduino palestraIntrodução ao arduino palestra
Introdução ao arduino palestra
 

Kürzlich hochgeladen

Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfNatalia Granato
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 

Kürzlich hochgeladen (6)

Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 

Arduino day 2014 BH - Hello World Arduino

Hinweis der Redaktion

  1. Usa 4K para o bootloader porque ele nào tem o acoplador usb serial ttl, já que o próprio chip atmega32u4 tem a porta USB diretamente, portanto o código de adaptação USB já vem no bootloader.
  2. Usa 4K para o bootloader porque ele nào tem o acoplador usb serial ttl, já que o próprio chip atmega32u4 tem a porta USB diretamente, portanto o código de adaptação USB já vem no bootloader.
  3. Fale um pouco do ARM-M, ARM-A OTG consumo total em todas as portas Digitais 130mA Não pode suar os pinos de 5V e 3.3V para alimentar a placa, pois é preciso ser regulado, pode danificar
  4. Falar da Linguagem Wiring, sua origem. O Framework Wiring completo pode ser obtida no site: http://wiring.org.co/ Wiring é uma iniciativa de Hernando Barragán da Universidade de Los Andes, da escola de Design e Arquitetura. Foi criada no Instituto de Interação e Design de Ivrea na Italia e é atualmente desenvolvida na Universidade de Los Andes na Colombia. Já o IAR é um sistema integrado de desenvolvimento que gera código para uma ampla gama de microcontroladores e processadores, sendo produzido pela IAR System.
  5. Falar da estrutura do código, funções: void setup(){} void loop(){} void serialevent(){}
  6. Aqui veremos o uso das portas Digitais tanto como entrada e saída, a escolha das portas e um pouco de PWM (Pulse Width Modulation) e interrupções além das portas que são de uso especifico como serial e SPI (Serial Processor Interface)
  7. Neste ponto iremos tratar as portas analógicas, tanto para leitura (A0-A5) como também as portas PWM, trataremos superficialmente sobre o que é PWM. Na leitura analógica veremos os cálculos envolvidos, o uso da porta de controle analogRef.
  8. Primeiras instruções, inicializa a serial, envia um valor, ou envia um valor e faz o salto de linha. Baud Rates disponíveis: 300, 600, 1200, 2400, 4800, 9600 (Padrão), 14400, 19200, 28800, 38400, 57600, ou 115200
  9. fazer uma pequena pausa para esclarecer dúvidas e pegar o ritmo de novo.
  10. Precisamos falar do conceito de blocos de código, para falar de contexto, sua identificação através de funções, e seu principalmente da importância na organização do código. E impacto na economia de memória.
  11. Nas Arduinos de 16Mhz a função micros() retorna valores múltiplos de 4, já nos Arduinos de 8Mhz tem resolução de 8uS, ou seja retorna múltiplos de 8.
  12. se der tempo vamos bater um papo sobre o assunto e analisar o Arduino voltando a discutir sua arquitetura.