SlideShare uma empresa Scribd logo
1 de 52
Baixar para ler offline
S
Mini Curso de Arduino
Prof. Rodrigo Santa Maria
rodrigo@digitallymade.com.br
Apoio:
Google Developers Group São João da Boa Vista, SP.
Rodrigo Santa Maria
S Bacharel em Ciência da Computação;
S Especialista com MBA Internacional em Gerenciamento de
Projetos;
S Professor Universitário;
S Empresário de TI;
S Acesse: www.digitallymade.com.br
S E-mail: rodrigo@digitallymade.com.br
Rodrigo Santa Maria
S Desenvolvedor de aplicações desde 2000.
S Experiência em projetos com microcontroladores FPGA da
família Cyclone da Altera desde 2007.
S Experiência em projetos com microntroladores da Atmel da
família Arduino desde 2012.
Pauta:
Ø Apresentação do Arduino para iniciantes.
Ø Modelos disponíveis.
Ø Sensores/atuadores.
Ø Uso e interações do Arduino.
Ø Noções básicas de como programá-lo.
Ø Exercícios práticos!
Mini Curso Arduino
Ø O que é Arduino?
Ø ARDUINO é uma plataforma
open-source de software e
hardware para prototipagem
flexível, fácil de usar e
multiplataforma!
Ø Por ser open: Perminte
constução caseira e software
livre.
Ø Caráter colaborativo.
Mini Curso Arduino
Ø O que ele faz?
Ø Recebe, Gera e Interpreta
Dados.
Ø Premite desenvolver:
l Controle residencial
l Robótica
l Design interativo
l Quase tudo que sonhar
esta ferramenta pode
tornar realidade.
Mini Curso Arduino
Ø Como é estruturado seu
Hardware:
Ø Analog Reference pin-AREF(Laranja).
Ø Digital Ground (Verde Claro).
Ø Digital Pins 2-13 (Verde).
Ø Digital Pins 0-1/Serial In/Out - TX/RX
(Verde Escuro) – Estes Pinos não
podem ser usados para digital I/O
(digitalRead e digitalWrite) se estiver
usando comunicação serial
(Serial.begin).
Ø Botão de Reset - S1 (Azul Escuro).
Ø In-circuit Serial Programmer -ICSP
(Azul-Verde).
Mini Curso Arduino
Ø Como é estruturado seu
Hardware:
Ø Analog In Pins 0-5 (Azul Claro).
Ø Power and Ground Pins (power:
orange, grounds: light Laranja Claro).
Ø Suprimento Externo de energia In (9-
12VDC) - X1 (Rosa).
Ø SV1-Jumper: Determina alimentação
da USB ou Esterna X1 (Roxo).
Ø USB: Usada para gravar os
programas; Comunicação serial entre
placa e computador; Alimentação da
placa (Amarelo) .
Mini Curso Arduino
Conversor
Serial ↔ USB
Entradas e saídas digitais
CPU
AtmelFonte de
alimentação
Entradas analógicas
ou saídas digitais
Terminais de alimentação
5V – 3,3V e Terra (0 V)
Microcontrolador
Cristal
Jack
Alimentação
Jack
USB
Arduino Uno
Mini Curso Arduino
Ø Outras coisas importantes no
Arduino:
Ø Led Serial: 0 (RX) e 1 (TX).
Usado para Receber (RX)
transmitir (TX) TTL dados seriais.
Ø Chip FTDI (comunicação serial
USB)
Mini Curso Arduino
Ø Outras coisas importantes no
Arduino:
Ø Saída com PWM (Pulse Width
Modulation):
Usa-se pinos: 3, 5, 6, 9, 10, e 11.
analogWrite();
Mini Curso Arduino
Ø Arduino...! Só este modelo?
Ø 8k,16k ou 32k?
Ø USB?
Mini Curso Arduino
Não!
Temos vários modelos para
aplicações diversas.
Ø Arduino Mega- 126k (Flash Memory)
Ø 54 Pinos de I/O
Ø LilyPad Arduino
Mini Curso Arduino
Não!
Temos vários modelos para
aplicações diversas.
ØArduino BT (Bluetooth)
ØArduino Mini
ØArduino Pro
Mini Curso Arduino
Ø O que são Shields?
Ø “Escudos”. Extentenções
do Arduino que permitem
interagir com tecnologias
diversas com facilidade.
ØEx:
ØEthernet shield
ØXbee shield
Mini Curso Arduino
ØMotor shield
Ø SD shield
ØLCD shield
Ø O que são Shields?
Ø “Escudos”. Extentenções
do Arduino que permitem
interagir com tecnologias
diversas com facilidade.
ØEx:
Mini Curso Arduino
Ø Como usar os Shields?
Ø Conecta-se sobre a
placa do Arduino. É
possível empilhar*
shields.
Mini Curso Arduino
Ø Sensores/Atuadores para Arduino:
Mini Curso Arduino
Ø Projetos feitos com Arduino
Mini Curso Arduino
S
Vamos Desenvolver ???
ØEsta é a IDE e estes
são os botões para
comandos:
Ø Verify: Para Verificar se o
programa está sem erros.
Ø Upload: Carrega o programa
no Microcontrolador.
Ø Serial Monitor: Ativa a
leitura da porta serial. Mostra
valores.
Mini Curso Arduino
Ø O Programa.
Ø Linguagem C/C++.
Ø Funções nativas
facilitam a programação.
Ø Após compilar temos os dados
na tela preta abaixo:
Mini Curso Arduino
Ciclo de desenvolvimento
Funções base
void setup() - Esta função apenas é executada uma vez e é normalmente utilizada para
executar a inicialização de variáveis, a inicialização da utilização bibliotecas, a definição dos
pinos (como input ou output), o início do uso de comunicação série, entre outros. Esta função
apenas volta a ser executada novamente ao ser efectuado o reset ou quando se desligar e
volta a ligar a placa de desenvolvimento Arduino.
void loop() - Esta função faz um “loop” sucessivo (como o próprio nome indica), ou seja,
todos os comandos existentes no interior desta função são sucessivamente repetidos, o que
pode permitir a leitura sucessiva de portas, a leitura sucessiva de parâmetros provenientes de
sensores externos e actuar de acordo com as condições estabelecidas.
Programar no Arduino
Comentários
Muitas vezes é importante comentar alguma parte do código do programa.
Existem duas maneiras de adicionar comentários a um programa em Arduino.
A primeira é usando //, como no exemplo abaixo:
// Este é um comentário de linha
A segunda é usando /* */, como no exemplo abaixo:
/* Este é um comentário de bloco. Permite acrescentar comentários com mais de
uma linha */
Nota: Quando o programa é compilado os comentários são automaticamente suprimidos do arquivo executável,
aquele que será gravado na placa do Arduino.
Programar no Arduino
Constantes
No Arduino existem algumas constantes previamente definidas e são
consideradas palavras reservadas.
As constantes definidas são:
true – indica valor lógico verdadeiro
false – indica valor lógico falso
HIGH – indica que uma porta está ativada, ou seja, está em 5V.
LOW – indica que uma porta está desativada, ou seja, está em 0V.
INPUT – indica que uma porta será de entrada de dados.
OUTPUT – indica que uma porta será de saída de dados.
ØEntendendo o Programa.
int ledPin = 13; // Diz: Vou usar o Pino de número 13 do Arduino e ele será
chamado "ledPin” e será uma variável inteira.
void setup() //Função chamada automaticamente na primeira vez que o código é
lido.
//Devemos dizer como o Pino deve se comportar.
{
pinMode(ledPin, OUTPUT); // PinMode diz:
O comportamento do pino (Número do Pino, ENTRADA
ou SAÍDA).
// Temos OUTPUT=Saída e INPUT=Entrada.
// A variável ledPin contém o número 13 (pino 13)
}
Mini Curso Arduino
Programar no Arduino
Numa linguagem de programação existem vários operadores que
permitem operações do tipo: Aritmética, Relacional, Lógica e Composta.
Programar no Arduino
Programar no Arduino
Programar no Arduino
Ø Praticando o Programa.
Ø Instalar a interface( IDE).
Ø Reconhecer os botões.
Ø Abrir arquivo com o
programa Blink.
Ø Ler o programa identificar
os comandos.
Ø Fazer perguntas e tirar
duvidas! É o momento.
Mini Curso Arduino
S
Exemplo Blink
ØEntendendo o Programa.
void loop() // Função onde tudo acontece. Chama-se Loop
porque está executando repetidas vezes.
{
digitalWrite(ledPin, HIGH); // Temos HIGH= LIGADO e LOW=DESLIGADO
// E o nome do pino é LedPIN, que é o mesmo Pino 13
delay(1000); // Atraso de 1 segundo
digitalWrite(ledPin, LOW); // Temos LOW=DESLIGADO
delay(1000); // Atraso de 1 segundo
}
Mini Curso Arduino
Ø Vamos compliar e ver o que
acontece?
Ø Conecte a USB ao PC e ao
Arduino
Ø É preciso indicar o modelo de
arduino e a porta USB que ele está
conectado.
ØVá em TOOLs > Board> “Modelo”
ØTOOLs > Serial PORT> “porta
usada”
Mini Curso Arduino
Ø Entendendo o Programa.
Ø Agora vamos modificar os valores
no Deley(10)
Ø Observar o que acotece
Ø Espere alguns segundos.
Ø Conecte um LED como indicado
na figura ao lado.
Mini Curso Arduino
Ø Entendendo o Programa.
Ø Algumas funções digitais importantes:
Ø pinMode()
•Diz se o comportamento será INPUT
ou OUTPUT
Ø digitalWrite()
•Gera HIGH ou LOW no pino
Ø digitalRead()
•Recebe HIGH ou LOW do pino
Mini Curso Arduino
Ø Aprendendo com exemplos:
Ø Apresentar e vistar site
www.arduino.cc Principal fonte de
documentação.
Ø Link: LEARNING
Ø Executar programas Digital I/O
l Blink Without Delay:
l Button
l ...
Mini Curso Arduino
ØEntendendo o Programa.
ØFunções analógicas.
ØGera e recebe valores de 0 a
1023.
Permitindo medir além do LIGADO e
DESLIGADO.
ØAnalogRead()
•Faz leitura do pino analógico.
Valor entre 0 a 1023
ØAnalogWrite()
•Gera valor analógico entre 0 e
1023. Onda PWM.
Mini Curso Arduino
ØAprendendo com exemplos:
ØVistar site www.arduino.cc
Principal fonte dedocumentação.
ØTópico: LEARNING
ØExecutar programas: Analog
I/O
•Analog Input
•Calibration
•Fading
•Smoothing
Térmica inteligente
Mini Curso Arduino
ØPorta serial.
ØÉ a forma como comunicar computador com Arduino em tempo real.
ØSerial.begin(9600);
lAjusta velocidade em 9600 bps
ØSerial.println("TEXTO");
lPara escrever na tela.
Mini Curso Arduino
ØSerial Port. Vamos praticar?
void setup() // run once, when the sketch starts
{
Serial.begin(9600); // set up Serial library at 9600 bps
Serial.println("Olá! Sou o Arduino!"); // prints hello with ending line break
}
void loop() // run over and over again
{
// do nothing!
}
Mini Curso Arduino
ØSerial Port: Agora mudando o programa.
void setup() // run once, when the sketch starts
{
Serial.begin(9600); // set up Serial library at 9600 bps
}
void loop() // run over and over again
{
Serial.println("Olá! Sou o Arduino!"); // prints hello with ending line break
}
Mini Curso Arduino
ØSerial Port: Incrementando mais uma vez.
void setup() // run once, when the sketch starts
{
Serial.begin(9600); // set up Serial library at 9600 bps
}
void loop() // run over and over again
{
Serial.println("Olá! Sou o Arduino!"); // prints hello with ending line break
delay(1000);
}
Mini Curso Arduino
Ø Simulador de Arduino (grátis e online):
Ø http://123d.circuits.io/
Mini Curso Arduino
Ø Projetos em Arduino:
Ø http://labdegaragem.com/page/projetos-1
Mini Curso Arduino
Lojas Online
S MSS Eletrônica: www.msseletronica.com
S Lab de Garagem: www.labdegaragem.org/loja
S Robo Core: www.robocore.net
S FilipeFlop: www.filipeflop.com
S Mercado Livre: www.mercadolivre.com.br
Ø Referências:
Brasilrobotics. Disponível em <www.brasilrobotics.blogspot.com/>
Adafruit. Disponível em <http://www.adafruit.com/>
Arduino.cc. Disponível em <www.arduino.cc/>
Banzi, Massimo. Getting Started with Arduino. O'reilly,EUA
Creativecommons. Disponível em: <www.creativecommons.org.br/>
Mini Curso Arduino
S
Dúvidas ???
Obrigado!!

Mais conteúdo relacionado

Mais procurados

Regras na sala de TIC
Regras na sala de TICRegras na sala de TIC
Regras na sala de TIC
ticlourinha
 
Material aula informática básica
Material aula informática básicaMaterial aula informática básica
Material aula informática básica
Carlos Melo
 
Aula 0. introdução ao scratch 1.4
Aula 0. introdução ao scratch 1.4Aula 0. introdução ao scratch 1.4
Aula 0. introdução ao scratch 1.4
Scratch_TCC
 

Mais procurados (20)

Regras na sala de TIC
Regras na sala de TICRegras na sala de TIC
Regras na sala de TIC
 
Inteligencia artificial 1
Inteligencia artificial 1Inteligencia artificial 1
Inteligencia artificial 1
 
Teste de usabilidade think aloud
Teste de usabilidade think aloudTeste de usabilidade think aloud
Teste de usabilidade think aloud
 
Exercicios resolvidos visuAlg
Exercicios resolvidos visuAlgExercicios resolvidos visuAlg
Exercicios resolvidos visuAlg
 
16 Dicas de Produtividade.
16 Dicas de Produtividade. 16 Dicas de Produtividade.
16 Dicas de Produtividade.
 
Aula 01 - Sistemas Operacionais - Windows 10
Aula 01 - Sistemas Operacionais - Windows 10Aula 01 - Sistemas Operacionais - Windows 10
Aula 01 - Sistemas Operacionais - Windows 10
 
Microprocessadores
MicroprocessadoresMicroprocessadores
Microprocessadores
 
Gestao do Tempo
Gestao do TempoGestao do Tempo
Gestao do Tempo
 
Código binário
Código binárioCódigo binário
Código binário
 
Pensamento Computacional
Pensamento ComputacionalPensamento Computacional
Pensamento Computacional
 
Aula 03 - Hardware e Software
Aula 03 - Hardware e SoftwareAula 03 - Hardware e Software
Aula 03 - Hardware e Software
 
Aula02 - Componentes de um Computador
Aula02 - Componentes de um ComputadorAula02 - Componentes de um Computador
Aula02 - Componentes de um Computador
 
Material aula informática básica
Material aula informática básicaMaterial aula informática básica
Material aula informática básica
 
Lista de exercícios em portugol
Lista de exercícios em portugolLista de exercícios em portugol
Lista de exercícios em portugol
 
Aula 05 - Como funciona o Computador
Aula 05 - Como funciona o ComputadorAula 05 - Como funciona o Computador
Aula 05 - Como funciona o Computador
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Treinamento Gestão de Tempo e Produtividade
Treinamento Gestão de Tempo e ProdutividadeTreinamento Gestão de Tempo e Produtividade
Treinamento Gestão de Tempo e Produtividade
 
O que é programação?
O que é programação?O que é programação?
O que é programação?
 
Projeto de vida
Projeto de vidaProjeto de vida
Projeto de vida
 
Aula 0. introdução ao scratch 1.4
Aula 0. introdução ao scratch 1.4Aula 0. introdução ao scratch 1.4
Aula 0. introdução ao scratch 1.4
 

Destaque

Java E Orientacao A Objetos
Java E Orientacao A ObjetosJava E Orientacao A Objetos
Java E Orientacao A Objetos
João Longo
 
Vivek Kumar Yadav Resume
Vivek Kumar Yadav ResumeVivek Kumar Yadav Resume
Vivek Kumar Yadav Resume
vivek kumar
 
RECOMMENDATION - GERMAN EMBASSY
RECOMMENDATION  - GERMAN EMBASSYRECOMMENDATION  - GERMAN EMBASSY
RECOMMENDATION - GERMAN EMBASSY
Ali Shaaban
 
открытие дней славянской письменности и культуры в крыму 2
открытие дней славянской письменности и культуры в крыму 2открытие дней славянской письменности и культуры в крыму 2
открытие дней славянской письменности и культуры в крыму 2
Library Franko
 
Strengthening the National Innovation System of the Philippines: A continuing...
Strengthening the National Innovation System of the Philippines: A continuing...Strengthening the National Innovation System of the Philippines: A continuing...
Strengthening the National Innovation System of the Philippines: A continuing...
Raymund Habaradas
 
tail stock asssem2.PDF
tail stock asssem2.PDFtail stock asssem2.PDF
tail stock asssem2.PDF
vivek panchal
 

Destaque (15)

Java E Orientacao A Objetos
Java E Orientacao A ObjetosJava E Orientacao A Objetos
Java E Orientacao A Objetos
 
портфоліо коломицкая
портфоліо коломицкаяпортфоліо коломицкая
портфоліо коломицкая
 
Vivek Kumar Yadav Resume
Vivek Kumar Yadav ResumeVivek Kumar Yadav Resume
Vivek Kumar Yadav Resume
 
Mídias educacionais
Mídias educacionaisMídias educacionais
Mídias educacionais
 
Gambar pence air
Gambar pence airGambar pence air
Gambar pence air
 
RECOMMENDATION - GERMAN EMBASSY
RECOMMENDATION  - GERMAN EMBASSYRECOMMENDATION  - GERMAN EMBASSY
RECOMMENDATION - GERMAN EMBASSY
 
открытие дней славянской письменности и культуры в крыму 2
открытие дней славянской письменности и культуры в крыму 2открытие дней славянской письменности и культуры в крыму 2
открытие дней славянской письменности и культуры в крыму 2
 
Strengthening the National Innovation System of the Philippines: A continuing...
Strengthening the National Innovation System of the Philippines: A continuing...Strengthening the National Innovation System of the Philippines: A continuing...
Strengthening the National Innovation System of the Philippines: A continuing...
 
Agile Test Automation Anti-patterns and Rescue Strategies
Agile Test Automation Anti-patterns and Rescue StrategiesAgile Test Automation Anti-patterns and Rescue Strategies
Agile Test Automation Anti-patterns and Rescue Strategies
 
tail stock asssem2.PDF
tail stock asssem2.PDFtail stock asssem2.PDF
tail stock asssem2.PDF
 
Look beyond PHP
Look beyond PHPLook beyond PHP
Look beyond PHP
 
Panduan skripsi ta word revisi
Panduan skripsi ta word revisiPanduan skripsi ta word revisi
Panduan skripsi ta word revisi
 
مهارة الاستماع mahaaratul istima'
مهارة الاستماع mahaaratul istima' مهارة الاستماع mahaaratul istima'
مهارة الاستماع mahaaratul istima'
 
Varnish
VarnishVarnish
Varnish
 
CVN 11/02/16
CVN 11/02/16CVN 11/02/16
CVN 11/02/16
 

Semelhante a Minicurso de Arduino Básico

Curso-Programação-Básica-em-Arduino-Aula-1.pdf
Curso-Programação-Básica-em-Arduino-Aula-1.pdfCurso-Programação-Básica-em-Arduino-Aula-1.pdf
Curso-Programação-Básica-em-Arduino-Aula-1.pdf
TheoneAbove
 

Semelhante a Minicurso de Arduino Básico (20)

Apresentando o Arduino - UESPI
Apresentando o Arduino - UESPIApresentando o Arduino - UESPI
Apresentando o Arduino - UESPI
 
TDC2014 - Internet das Coisas - Arduino & OpenDevice
TDC2014 - Internet das Coisas - Arduino & OpenDeviceTDC2014 - Internet das Coisas - Arduino & OpenDevice
TDC2014 - Internet das Coisas - Arduino & OpenDevice
 
Minicurso arduino
Minicurso arduinoMinicurso arduino
Minicurso arduino
 
Introdução ao arduino palestra
Introdução ao arduino palestraIntrodução ao arduino palestra
Introdução ao arduino palestra
 
Slide - Introdução ao Arduino e Sensores.pdf
Slide - Introdução ao Arduino e Sensores.pdfSlide - Introdução ao Arduino e Sensores.pdf
Slide - Introdução ao Arduino e Sensores.pdf
 
MiniCursoDeArduino
MiniCursoDeArduinoMiniCursoDeArduino
MiniCursoDeArduino
 
Minicurso arduino eeep aurora
Minicurso arduino eeep auroraMinicurso arduino eeep aurora
Minicurso arduino eeep aurora
 
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
 
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
 
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
 
Introdução a plataforma arduino
Introdução a plataforma arduinoIntrodução a plataforma arduino
Introdução a plataforma arduino
 
ARDUINO.pptx
ARDUINO.pptxARDUINO.pptx
ARDUINO.pptx
 
Aula sobre arduino
Aula sobre arduinoAula sobre arduino
Aula sobre arduino
 
Oficina Arduino
Oficina ArduinoOficina Arduino
Oficina Arduino
 
Robótica e Sistemas interativos utilizando Arduino
Robótica e Sistemas interativos utilizando ArduinoRobótica e Sistemas interativos utilizando Arduino
Robótica e Sistemas interativos utilizando Arduino
 
Processing e Arduino
Processing e ArduinoProcessing e Arduino
Processing e Arduino
 
Introdução ao arduino
Introdução ao arduinoIntrodução ao arduino
Introdução ao arduino
 
Introdução - Arduino - Renan Martins
Introdução - Arduino - Renan MartinsIntrodução - Arduino - Renan Martins
Introdução - Arduino - Renan Martins
 
Aula básica Arduino
Aula básica Arduino Aula básica Arduino
Aula básica Arduino
 
Curso-Programação-Básica-em-Arduino-Aula-1.pdf
Curso-Programação-Básica-em-Arduino-Aula-1.pdfCurso-Programação-Básica-em-Arduino-Aula-1.pdf
Curso-Programação-Básica-em-Arduino-Aula-1.pdf
 

Mais de Rodrigo Bueno Santa Maria, BS, MBA

Mais de Rodrigo Bueno Santa Maria, BS, MBA (9)

Palestra "Inovações Tecnológicas"
Palestra "Inovações Tecnológicas"Palestra "Inovações Tecnológicas"
Palestra "Inovações Tecnológicas"
 
Mini Curso de PHP
Mini Curso de PHPMini Curso de PHP
Mini Curso de PHP
 
Curso de Desenvolvimento Web - Módulo 03 - JavaScript
Curso de Desenvolvimento Web - Módulo 03 - JavaScriptCurso de Desenvolvimento Web - Módulo 03 - JavaScript
Curso de Desenvolvimento Web - Módulo 03 - JavaScript
 
Curso de Desenvolvimento Web - Módulo 01 - HTML
Curso de Desenvolvimento Web - Módulo 01 - HTMLCurso de Desenvolvimento Web - Módulo 01 - HTML
Curso de Desenvolvimento Web - Módulo 01 - HTML
 
Curso de Desenvolvimento Web - Módulo 02 - CSS
Curso de Desenvolvimento Web - Módulo 02 - CSSCurso de Desenvolvimento Web - Módulo 02 - CSS
Curso de Desenvolvimento Web - Módulo 02 - CSS
 
2 gdg connect
2 gdg connect2 gdg connect
2 gdg connect
 
Agenda do 1 GDG Connect
Agenda do 1 GDG ConnectAgenda do 1 GDG Connect
Agenda do 1 GDG Connect
 
Lançamento do Google Developers Group de São João da Boa Vista, SP - Brasil
Lançamento do Google Developers Group de São João da Boa Vista, SP - BrasilLançamento do Google Developers Group de São João da Boa Vista, SP - Brasil
Lançamento do Google Developers Group de São João da Boa Vista, SP - Brasil
 
Boas Práticas em Segurança da Informação
Boas Práticas em Segurança da InformaçãoBoas Práticas em Segurança da Informação
Boas Práticas em Segurança da Informação
 

Minicurso de Arduino Básico

  • 1. S Mini Curso de Arduino Prof. Rodrigo Santa Maria rodrigo@digitallymade.com.br Apoio: Google Developers Group São João da Boa Vista, SP.
  • 2. Rodrigo Santa Maria S Bacharel em Ciência da Computação; S Especialista com MBA Internacional em Gerenciamento de Projetos; S Professor Universitário; S Empresário de TI; S Acesse: www.digitallymade.com.br S E-mail: rodrigo@digitallymade.com.br
  • 3. Rodrigo Santa Maria S Desenvolvedor de aplicações desde 2000. S Experiência em projetos com microcontroladores FPGA da família Cyclone da Altera desde 2007. S Experiência em projetos com microntroladores da Atmel da família Arduino desde 2012.
  • 4. Pauta: Ø Apresentação do Arduino para iniciantes. Ø Modelos disponíveis. Ø Sensores/atuadores. Ø Uso e interações do Arduino. Ø Noções básicas de como programá-lo. Ø Exercícios práticos! Mini Curso Arduino
  • 5. Ø O que é Arduino? Ø ARDUINO é uma plataforma open-source de software e hardware para prototipagem flexível, fácil de usar e multiplataforma! Ø Por ser open: Perminte constução caseira e software livre. Ø Caráter colaborativo. Mini Curso Arduino
  • 6.
  • 7. Ø O que ele faz? Ø Recebe, Gera e Interpreta Dados. Ø Premite desenvolver: l Controle residencial l Robótica l Design interativo l Quase tudo que sonhar esta ferramenta pode tornar realidade. Mini Curso Arduino
  • 8. Ø Como é estruturado seu Hardware: Ø Analog Reference pin-AREF(Laranja). Ø Digital Ground (Verde Claro). Ø Digital Pins 2-13 (Verde). Ø Digital Pins 0-1/Serial In/Out - TX/RX (Verde Escuro) – Estes Pinos não podem ser usados para digital I/O (digitalRead e digitalWrite) se estiver usando comunicação serial (Serial.begin). Ø Botão de Reset - S1 (Azul Escuro). Ø In-circuit Serial Programmer -ICSP (Azul-Verde). Mini Curso Arduino
  • 9. Ø Como é estruturado seu Hardware: Ø Analog In Pins 0-5 (Azul Claro). Ø Power and Ground Pins (power: orange, grounds: light Laranja Claro). Ø Suprimento Externo de energia In (9- 12VDC) - X1 (Rosa). Ø SV1-Jumper: Determina alimentação da USB ou Esterna X1 (Roxo). Ø USB: Usada para gravar os programas; Comunicação serial entre placa e computador; Alimentação da placa (Amarelo) . Mini Curso Arduino
  • 10.
  • 11. Conversor Serial ↔ USB Entradas e saídas digitais CPU AtmelFonte de alimentação Entradas analógicas ou saídas digitais Terminais de alimentação 5V – 3,3V e Terra (0 V) Microcontrolador Cristal Jack Alimentação Jack USB Arduino Uno Mini Curso Arduino
  • 12. Ø Outras coisas importantes no Arduino: Ø Led Serial: 0 (RX) e 1 (TX). Usado para Receber (RX) transmitir (TX) TTL dados seriais. Ø Chip FTDI (comunicação serial USB) Mini Curso Arduino
  • 13. Ø Outras coisas importantes no Arduino: Ø Saída com PWM (Pulse Width Modulation): Usa-se pinos: 3, 5, 6, 9, 10, e 11. analogWrite(); Mini Curso Arduino
  • 14. Ø Arduino...! Só este modelo? Ø 8k,16k ou 32k? Ø USB? Mini Curso Arduino
  • 15. Não! Temos vários modelos para aplicações diversas. Ø Arduino Mega- 126k (Flash Memory) Ø 54 Pinos de I/O Ø LilyPad Arduino Mini Curso Arduino
  • 16. Não! Temos vários modelos para aplicações diversas. ØArduino BT (Bluetooth) ØArduino Mini ØArduino Pro Mini Curso Arduino
  • 17. Ø O que são Shields? Ø “Escudos”. Extentenções do Arduino que permitem interagir com tecnologias diversas com facilidade. ØEx: ØEthernet shield ØXbee shield Mini Curso Arduino
  • 18. ØMotor shield Ø SD shield ØLCD shield Ø O que são Shields? Ø “Escudos”. Extentenções do Arduino que permitem interagir com tecnologias diversas com facilidade. ØEx: Mini Curso Arduino
  • 19. Ø Como usar os Shields? Ø Conecta-se sobre a placa do Arduino. É possível empilhar* shields. Mini Curso Arduino
  • 20. Ø Sensores/Atuadores para Arduino: Mini Curso Arduino
  • 21. Ø Projetos feitos com Arduino Mini Curso Arduino
  • 23. ØEsta é a IDE e estes são os botões para comandos: Ø Verify: Para Verificar se o programa está sem erros. Ø Upload: Carrega o programa no Microcontrolador. Ø Serial Monitor: Ativa a leitura da porta serial. Mostra valores. Mini Curso Arduino
  • 24. Ø O Programa. Ø Linguagem C/C++. Ø Funções nativas facilitam a programação. Ø Após compilar temos os dados na tela preta abaixo: Mini Curso Arduino
  • 26. Funções base void setup() - Esta função apenas é executada uma vez e é normalmente utilizada para executar a inicialização de variáveis, a inicialização da utilização bibliotecas, a definição dos pinos (como input ou output), o início do uso de comunicação série, entre outros. Esta função apenas volta a ser executada novamente ao ser efectuado o reset ou quando se desligar e volta a ligar a placa de desenvolvimento Arduino. void loop() - Esta função faz um “loop” sucessivo (como o próprio nome indica), ou seja, todos os comandos existentes no interior desta função são sucessivamente repetidos, o que pode permitir a leitura sucessiva de portas, a leitura sucessiva de parâmetros provenientes de sensores externos e actuar de acordo com as condições estabelecidas.
  • 27. Programar no Arduino Comentários Muitas vezes é importante comentar alguma parte do código do programa. Existem duas maneiras de adicionar comentários a um programa em Arduino. A primeira é usando //, como no exemplo abaixo: // Este é um comentário de linha A segunda é usando /* */, como no exemplo abaixo: /* Este é um comentário de bloco. Permite acrescentar comentários com mais de uma linha */ Nota: Quando o programa é compilado os comentários são automaticamente suprimidos do arquivo executável, aquele que será gravado na placa do Arduino.
  • 28.
  • 29. Programar no Arduino Constantes No Arduino existem algumas constantes previamente definidas e são consideradas palavras reservadas. As constantes definidas são: true – indica valor lógico verdadeiro false – indica valor lógico falso HIGH – indica que uma porta está ativada, ou seja, está em 5V. LOW – indica que uma porta está desativada, ou seja, está em 0V. INPUT – indica que uma porta será de entrada de dados. OUTPUT – indica que uma porta será de saída de dados.
  • 30. ØEntendendo o Programa. int ledPin = 13; // Diz: Vou usar o Pino de número 13 do Arduino e ele será chamado "ledPin” e será uma variável inteira. void setup() //Função chamada automaticamente na primeira vez que o código é lido. //Devemos dizer como o Pino deve se comportar. { pinMode(ledPin, OUTPUT); // PinMode diz: O comportamento do pino (Número do Pino, ENTRADA ou SAÍDA). // Temos OUTPUT=Saída e INPUT=Entrada. // A variável ledPin contém o número 13 (pino 13) } Mini Curso Arduino
  • 31. Programar no Arduino Numa linguagem de programação existem vários operadores que permitem operações do tipo: Aritmética, Relacional, Lógica e Composta.
  • 35. Ø Praticando o Programa. Ø Instalar a interface( IDE). Ø Reconhecer os botões. Ø Abrir arquivo com o programa Blink. Ø Ler o programa identificar os comandos. Ø Fazer perguntas e tirar duvidas! É o momento. Mini Curso Arduino
  • 37. ØEntendendo o Programa. void loop() // Função onde tudo acontece. Chama-se Loop porque está executando repetidas vezes. { digitalWrite(ledPin, HIGH); // Temos HIGH= LIGADO e LOW=DESLIGADO // E o nome do pino é LedPIN, que é o mesmo Pino 13 delay(1000); // Atraso de 1 segundo digitalWrite(ledPin, LOW); // Temos LOW=DESLIGADO delay(1000); // Atraso de 1 segundo } Mini Curso Arduino
  • 38. Ø Vamos compliar e ver o que acontece? Ø Conecte a USB ao PC e ao Arduino Ø É preciso indicar o modelo de arduino e a porta USB que ele está conectado. ØVá em TOOLs > Board> “Modelo” ØTOOLs > Serial PORT> “porta usada” Mini Curso Arduino
  • 39. Ø Entendendo o Programa. Ø Agora vamos modificar os valores no Deley(10) Ø Observar o que acotece Ø Espere alguns segundos. Ø Conecte um LED como indicado na figura ao lado. Mini Curso Arduino
  • 40. Ø Entendendo o Programa. Ø Algumas funções digitais importantes: Ø pinMode() •Diz se o comportamento será INPUT ou OUTPUT Ø digitalWrite() •Gera HIGH ou LOW no pino Ø digitalRead() •Recebe HIGH ou LOW do pino Mini Curso Arduino
  • 41. Ø Aprendendo com exemplos: Ø Apresentar e vistar site www.arduino.cc Principal fonte de documentação. Ø Link: LEARNING Ø Executar programas Digital I/O l Blink Without Delay: l Button l ... Mini Curso Arduino
  • 42. ØEntendendo o Programa. ØFunções analógicas. ØGera e recebe valores de 0 a 1023. Permitindo medir além do LIGADO e DESLIGADO. ØAnalogRead() •Faz leitura do pino analógico. Valor entre 0 a 1023 ØAnalogWrite() •Gera valor analógico entre 0 e 1023. Onda PWM. Mini Curso Arduino
  • 43. ØAprendendo com exemplos: ØVistar site www.arduino.cc Principal fonte dedocumentação. ØTópico: LEARNING ØExecutar programas: Analog I/O •Analog Input •Calibration •Fading •Smoothing Térmica inteligente Mini Curso Arduino
  • 44. ØPorta serial. ØÉ a forma como comunicar computador com Arduino em tempo real. ØSerial.begin(9600); lAjusta velocidade em 9600 bps ØSerial.println("TEXTO"); lPara escrever na tela. Mini Curso Arduino
  • 45. ØSerial Port. Vamos praticar? void setup() // run once, when the sketch starts { Serial.begin(9600); // set up Serial library at 9600 bps Serial.println("Olá! Sou o Arduino!"); // prints hello with ending line break } void loop() // run over and over again { // do nothing! } Mini Curso Arduino
  • 46. ØSerial Port: Agora mudando o programa. void setup() // run once, when the sketch starts { Serial.begin(9600); // set up Serial library at 9600 bps } void loop() // run over and over again { Serial.println("Olá! Sou o Arduino!"); // prints hello with ending line break } Mini Curso Arduino
  • 47. ØSerial Port: Incrementando mais uma vez. void setup() // run once, when the sketch starts { Serial.begin(9600); // set up Serial library at 9600 bps } void loop() // run over and over again { Serial.println("Olá! Sou o Arduino!"); // prints hello with ending line break delay(1000); } Mini Curso Arduino
  • 48. Ø Simulador de Arduino (grátis e online): Ø http://123d.circuits.io/ Mini Curso Arduino
  • 49. Ø Projetos em Arduino: Ø http://labdegaragem.com/page/projetos-1 Mini Curso Arduino
  • 50. Lojas Online S MSS Eletrônica: www.msseletronica.com S Lab de Garagem: www.labdegaragem.org/loja S Robo Core: www.robocore.net S FilipeFlop: www.filipeflop.com S Mercado Livre: www.mercadolivre.com.br
  • 51. Ø Referências: Brasilrobotics. Disponível em <www.brasilrobotics.blogspot.com/> Adafruit. Disponível em <http://www.adafruit.com/> Arduino.cc. Disponível em <www.arduino.cc/> Banzi, Massimo. Getting Started with Arduino. O'reilly,EUA Creativecommons. Disponível em: <www.creativecommons.org.br/> Mini Curso Arduino