SlideShare uma empresa Scribd logo
1 de 58
Introdução à plataforma
Arduino
Introdução à plataforma Arduino
{
"name": "Rogerio Alencar Filho",
"hobby": "Analista de Sistemas (web!!!!)",
"social": {
"facebook": "https://facebook.com/rogerioalencar",
"twitter": "https://twitter.com/rogerin",
"github": "https://github.com/rogerin",
"youtube": "https://youtube.com/user/rogerim",
"slideshare": "https://slideshare.net/RogerioAlencarFilho"
}
}
O que é Arduino
O que é Arduino
Arduino, é uma plataforma de prototipagem eletrônica de hardware livre,
projetada com um microcontrolador Atmel AVR, com suporte de
entrada/saída, uma linguagem de programação padrão. O objetivo do
projeto é criar ferramentas que são acessíveis, com baixo custo, flexíveis
e fáceis de se usar por artistas e amadores. Principalmente para aqueles
que não teriam alcance aos controladores mais sofisticados e de
ferramentas mais complicadas.
Inicio desse BUMM!!!
Arduino`s
Serial Arduino Serial DB9 para programação - ATmega8
Arduino Extreme USB para programação - ATmega8
Arduino Mini Versão em miniatura do Arduino utilizando montagem superficial - ATmega168
Arduino Nano Versão menor que o Arduino Mini, energizado por USB e conectado por montagem superficial - ATmega168/328
LilyPad Arduino Projeto minimalista para aplicações portáteis, utilizando montagem superficial - ATmega168
Arduino NG USB para programação - ATmega8
Arduino NG plus USB para programação - ATmega168
Arduino BT interface bluetooth para comunicação - ATmega168
Arduino Diecimila Interface USB -Atmega168 em um pacote DIL28(foto)
ArduinoDuemilanove Duemilanove significa "2009" em italiano. É energizado via USB/DC, com alternação automática - Atmega168
(Atmega328 para a versão mais nova)
ArduinoMega Montagem superficial - ATmega1280 para E/S adicionais e memória
Arduino Uno Utiliza Atmega8U2 para driver conversor Serial-USB, ao invés do FTDI."Uno" significa "Um" em italiano. Esta versão é
considerada a versão 1.0 do projeto, sendo que as placas que sucederem a esta serão referenciadas. - ATmega328
Arduino`s
Arduino UNO
Essa é a última versão da placa USB. Usa um conector USB padrão e contem
tudo o que você precisa para programar e usar a placa. É semelhante ao
modelo Duemilanove.
Arduino UNO
Arduino LilyPad
Desenvolvido para aplicações portáteis, dá para "costurar" essa placa em um
tecido!Dá para fazer coisas curiosas! (camisetas com equalizador? Ah tá...)
Arduino LilyPad
Arduino LilyPad
Arduino Uno SMD
Versão SMD do UNO, utiliza um microcontrolador de montagem de superfície,
ATmega328.
Arduino Fio
Projetado para aplicações sem fio. Possui um soquete para Xbee, um conector
para bateria LiPo.
Arduino Mega2560
Versão do Mega lançado com o Uno, esta versão apresenta o Atmega2560,
que tem o dobro da memória, e usa o 8U2 ATmega para a comunicação serial-
USB.
Arduino PRO
Esta placa é projetada para usuários avançados. É facilmente alimentado por
uma bateria, mas requer componentes adicionais e montagem técnica.
BT Arduino
A BT Arduino contém um módulo bluetooth que permite a comunicação sem
fio. É compatível com todos os Shields Arduino.
Arduino Mini PRO
Igual a versão PRO, porem menor. É projetado para usuários avançados que
exigem baixos custos, pequenos espaços, mas ainda assim, tem que estar
dispostos para fazer algum trabalho extra de montagem.
Arduino Mini
Parece a mesma da anterior, mas não é! Este é o menor da placa Arduino. Ela
funciona bem em uma protoboard ou para aplicações onde o espaço é
pequeno (pequeno mesmo!).
Faça o seu!!!
Shield`s
Estrutura
// antes do setup você pode incluir bibliotecas
void setup() {
// toda configuração vem aqui
}
void loop(){
/// Codigo em loop infinito
}
Funções
pinMode();
digitalWrite();
digitalRead();
analogRead()
analogWrite(); - PWM
millis();
micros();
delay();
delayMicroseconds();
Controle
switch case
while
do... while
break
continue
return
goto
Syntax
;
{} (chave)
// (comentario simples)
/* */ (comentario multilinha)
#define
#include
Operadores
= (assignment operator)
+ (addition)
- (subtraction)
* (multiplication)
/ (division)
% (modulo)
Comparações
== (equal to)
!= (not equal to)
< (less than)
> (greater than)
<= (less than or equal to)
>= (greater than or equal to)
Boolean
&& (and)
|| (or)
! (not)
http://arduino.cc/en/Reference/HomePage
e muito mais...
Hello World da eletrônica digital.
digitalWrite();
int ledPin = 13; // LED no pin 13
void setup() {
pinMode(ledPin, OUTPUT); // setar pino digital como SAIDA, para
acionamentos
}
void loop() {
digitalWrite(ledPin, HIGH); // LED on
delay(1000); // aguarda 1 segundo
digitalWrite(ledPin, LOW); // LED off
delay(1000); // aguarda 1 segundo
}
digitalRead();
int ledPin = 13; // LED digital pin 13
int inPin = 7; // pushbutton digital pin 7
int val = 0; // variavel guarda valor do digitalRead()
void setup(){
pinMode(ledPin, OUTPUT); // seta digital pin 13 como SAIDA
pinMode(inPin, INPUT); // seta digital pin 7 como ENTRADA
}
void loop(){
val = digitalRead(inPin); // ler pino de entrada
digitalWrite(ledPin, val); // seta LED com o valor da leitura do botao
}
analogRead();
int analogPin = 3; // potenciomentro no analogico pin 3
int val = 0; // variavel guarda valor da leitura do analogico
void setup() {
Serial.begin(9600); // setup serial!!!!!!!!!!
}
void loop() {
val = analogRead(analogPin); // faz leitura do pino analogico
Serial.println(val); // debug valor !!!
}
analogRead() + Serial.println()
int analogPin = 3; // potenciomentro no analogico pin 3
int val = 0; // variavel guarda valor da leitura do analogico
void setup() {
Serial.begin(9600); // setup serial!!!!!!!!!!
}
void loop() {
val = analogRead(analogPin); // faz leitura do pino analogico
Serial.println(val); // debug valor !!!
Serial.println(val, DEC); // ASCII-encode decimal
Serial.println(val, HEX); // ASCII-encode hexadecimall
Serial.println(val, OCT); // ASCII-encode octadecimal
Serial.println(val, BIN); // ASCII-encode binario
dealy(10); // delay 10 miles segundos
}
Serial.println() Vs. Serial.print()
int ledPin = 13; // LED digital pin 13
int inPin = 7; // pushbutton digital pin 7
int val = 0; // variavel guarda valor do digitalRead()
void setup(){
Serial.begin(9600);
pinMode(ledPin, OUTPUT); // seta digital pin 13 como SAIDA
pinMode(inPin, INPUT); // seta digital pin 7 como ENTRADA
}
void loop(){
val = digitalRead(inPin); // ler pino de entrada
digitalWrite(ledPin, val); // seta LED com o valor da leitura do botao
if(val) {
Serial.prinln(“Botao pressionado..”);
} else {
Serial.print(“Botao nao pressionado”);
}
}
PWM
int ledPin = 9; // LED conectado no pin digital 9
int analogPin = 3; // potenciometro conectado no pin analogico 3
int val = 0; // variavel que recebe valor da leitura do potenciometro
void setup() {
pinMode(ledPin, OUTPUT); // sets the pin as output
}
void loop() {
val = analogRead(analogPin); // read the input pin
analogWrite(ledPin, val / 4); // analogRead values go from 0 to 1023, analogWrite values from 0 to
255
}
Sensores
LDR - Sensor de Luz
Criando Funções
int ledPin = 13; // LED conectado no pin digital 9
void setup() {
pinMode(ledPin, OUTPUT); // seta pin como saida
}
void loop() {
mudaStatusLed(ledPin);
delay(1000);
}
void mudaStatusLed(int Pin) {
digitalWrite(Pin, !digitalRead(Pin));
}
Criando projeto real (uma roleta)
Projeto: Ele vai ter que sortear aleatoriamente qual led vai acender, igual a
sistema de roleta mesmo padrão. Ao ligar o Arduino ele vai iniciar o sorteio,
acendendo os leds em forma sequencial, ate o fim do sorteio e apenas o
sorteado ficara ligado.
Tentem um pouco depois programamos ao mesmo tempo.
Criando projeto real (uma roleta)
Dica 1:
int numeroAleatorio;
void setup(){
numeroAleatorio = random(100, 300);
// variavel numeroAleatorio recebe valor
aleatorio entre 100 e 300.
…..
……
Dica 2:
Codigo
int led[7] = {13,12,11,10,9,8,7};
int delayInicial = 50; //delay inicial
int ledAtual = 0;
int numeroAleatorio;
void setup(){
for(int i = 0;i <= 6;i++){
pinMode(led[i], OUTPUT);
}
numeroAleatorio= random(100, 300);
}
void loop(){
for(int i = 0;i <= 6;i++){
if (delayInicial <= delayInicial) {
ligaLed(i);
}
else {
digitalWrite(led[ledAtual], HIGH);
}
}
}
void ligaLed(int i){
digitalWrite(led[i], HIGH);
delay(delayInicial);
digitalWrite(led[i], LOW);
delayInicial+=2;
ledAtual = i;
}
Comunicação I2C - Inter-Integrated Circuit
Comunicação I2C - Inter-Integrated Circuit
Comunicação I2C - Inter-Integrated Circuit
Comunicação SPI - Serial Peripheral Interface
Comunicação SPI - Serial Peripheral Interface
Codigo
int led[7] = {13,12,11,10,9,8,7};
int delayInicial = 50; //delay inicial
int ledAtual = 0;
int numeroAleatorio;
void setup(){
for(int i = 0;i <= 6;i++){
pinMode(led[i], OUTPUT);
}
numeroAleatorio= random(100, 300);
}
void loop(){
for(int i = 0;i <= 6;i++){
if (delayInicial <= delayInicial) {
ligaLed(i);
}
else {
digitalWrite(led[ledAtual], HIGH);
}
}
}
void ligaLed(int i){
digitalWrite(led[i], HIGH);
delay(delayInicial);
digitalWrite(led[i], LOW);
delayInicial+=2;
ledAtual = i;
}
https://www.youtube.com/user/rogerim
Ethernet
Alguns projetos...
Obrigado!
{
"name": "Rogerio Alencar Filho",
"hobby": "Analista de Sistemas (web!!!!)",
"social": {
"facebook": "https://facebook.com/rogerioalencar",
"twitter": "https://twitter.com/rogerin",
"github": "https://github.com/rogerin",
"youtube": "https://youtube.com/user/rogerim",
"slideshare": "https://slideshare.net/RogerioAlencarFilho"
}
}

Mais conteúdo relacionado

Mais procurados

Introdução à plataforma Arduino
Introdução à plataforma ArduinoIntrodução à plataforma Arduino
Introdução à plataforma Arduinoentrebits
 
Introdução à eletronica e robótica com arduino
Introdução à eletronica e robótica com arduinoIntrodução à eletronica e robótica com arduino
Introdução à eletronica e robótica com arduinoJuan Manoel
 
Curso de Arduino Completo
Curso de Arduino CompletoCurso de Arduino Completo
Curso de Arduino CompletoTiago Barros
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduinoelliando dias
 
Arduino introdução - 10 projectos
Arduino   introdução - 10 projectosArduino   introdução - 10 projectos
Arduino introdução - 10 projectosDaniel Chavier
 
Programação em C para Arduino
Programação em C para ArduinoProgramação em C para Arduino
Programação em C para ArduinoRodrigo Rosa
 
Palestra: Robótica com Arduino
Palestra: Robótica com ArduinoPalestra: Robótica com Arduino
Palestra: Robótica com ArduinoFelipe Martins
 
Arduino - iniciação à linguagem C: LCD 1602
Arduino - iniciação à linguagem C: LCD 1602Arduino - iniciação à linguagem C: LCD 1602
Arduino - iniciação à linguagem C: LCD 1602Ana Carneirinho
 
Programação em-arduino-módulo-básico
Programação em-arduino-módulo-básicoProgramação em-arduino-módulo-básico
Programação em-arduino-módulo-básicoFátima Bernardes
 
Aula básica Arduino
Aula básica Arduino Aula básica Arduino
Aula básica Arduino Edgley Xavier
 
Arduino - Desenvolvendo com hardware livre
Arduino - Desenvolvendo com hardware livreArduino - Desenvolvendo com hardware livre
Arduino - Desenvolvendo com hardware livreMarcelo Laranjeira Melo
 
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
 
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
 
Arduino Hack Day por Vinicius Senger
Arduino Hack Day por Vinicius SengerArduino Hack Day por Vinicius Senger
Arduino Hack Day por Vinicius SengerGlobalcode
 

Mais procurados (20)

Introdução à plataforma Arduino
Introdução à plataforma ArduinoIntrodução à plataforma Arduino
Introdução à plataforma Arduino
 
Introdução à eletronica e robótica com arduino
Introdução à eletronica e robótica com arduinoIntrodução à eletronica e robótica com arduino
Introdução à eletronica e robótica com arduino
 
Mini Curso Introdutório ao Arduino
Mini Curso Introdutório ao ArduinoMini Curso Introdutório ao Arduino
Mini Curso Introdutório ao Arduino
 
Curso de Arduino Completo
Curso de Arduino CompletoCurso de Arduino Completo
Curso de Arduino Completo
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Arduino introdução - 10 projectos
Arduino   introdução - 10 projectosArduino   introdução - 10 projectos
Arduino introdução - 10 projectos
 
Programação em C para Arduino
Programação em C para ArduinoProgramação em C para Arduino
Programação em C para Arduino
 
Palestra: Robótica com Arduino
Palestra: Robótica com ArduinoPalestra: Robótica com Arduino
Palestra: Robótica com Arduino
 
Introdução - Arduino - Renan Martins
Introdução - Arduino - Renan MartinsIntrodução - Arduino - Renan Martins
Introdução - Arduino - Renan Martins
 
Arduino - iniciação à linguagem C: LCD 1602
Arduino - iniciação à linguagem C: LCD 1602Arduino - iniciação à linguagem C: LCD 1602
Arduino - iniciação à linguagem C: LCD 1602
 
Oficina Arduino
Oficina ArduinoOficina Arduino
Oficina Arduino
 
Programação em-arduino-módulo-básico
Programação em-arduino-módulo-básicoProgramação em-arduino-módulo-básico
Programação em-arduino-módulo-básico
 
MiniCursoDeArduino
MiniCursoDeArduinoMiniCursoDeArduino
MiniCursoDeArduino
 
Arduino day-2015-v1
Arduino day-2015-v1Arduino day-2015-v1
Arduino day-2015-v1
 
Aula básica Arduino
Aula básica Arduino Aula básica Arduino
Aula básica Arduino
 
Arduino - Desenvolvendo com hardware livre
Arduino - Desenvolvendo com hardware livreArduino - Desenvolvendo com hardware livre
Arduino - Desenvolvendo com hardware livre
 
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
 
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
 
Arduino Hack Day por Vinicius Senger
Arduino Hack Day por Vinicius SengerArduino Hack Day por Vinicius Senger
Arduino Hack Day por Vinicius Senger
 
Curso de arduino
Curso de arduinoCurso de arduino
Curso de arduino
 

Destaque

Matematica Discreta
Matematica DiscretaMatematica Discreta
Matematica DiscretaKevin Kerik
 
Identificando requisitos comuns e variantes em linhas de produtos de software
Identificando requisitos comuns e variantes em linhas de produtos de softwareIdentificando requisitos comuns e variantes em linhas de produtos de software
Identificando requisitos comuns e variantes em linhas de produtos de softwareAndré Agostinho
 
Introdução à Lógica de Programação
Introdução à Lógica de ProgramaçãoIntrodução à Lógica de Programação
Introdução à Lógica de ProgramaçãoAndré Agostinho
 
Estruturas de controle if/else switch PHP
Estruturas de controle if/else switch PHPEstruturas de controle if/else switch PHP
Estruturas de controle if/else switch PHPSedu
 
Experiência(s) partilhada(s)
Experiência(s) partilhada(s)Experiência(s) partilhada(s)
Experiência(s) partilhada(s)João Sá
 
Arduino Lecture 1 - Introducing the Arduino
Arduino Lecture 1 - Introducing the ArduinoArduino Lecture 1 - Introducing the Arduino
Arduino Lecture 1 - Introducing the ArduinoEoin Brazil
 
Construindo Diretivas com AngularJS
Construindo Diretivas com AngularJSConstruindo Diretivas com AngularJS
Construindo Diretivas com AngularJSRodrigo Branas
 
Introdução ao Arduino/Genuino
Introdução ao Arduino/GenuinoIntrodução ao Arduino/Genuino
Introdução ao Arduino/GenuinoJoão Sá
 

Destaque (10)

KHALEDNAZZAL_eq
KHALEDNAZZAL_eqKHALEDNAZZAL_eq
KHALEDNAZZAL_eq
 
Arduino iad
Arduino iadArduino iad
Arduino iad
 
Matematica Discreta
Matematica DiscretaMatematica Discreta
Matematica Discreta
 
Identificando requisitos comuns e variantes em linhas de produtos de software
Identificando requisitos comuns e variantes em linhas de produtos de softwareIdentificando requisitos comuns e variantes em linhas de produtos de software
Identificando requisitos comuns e variantes em linhas de produtos de software
 
Introdução à Lógica de Programação
Introdução à Lógica de ProgramaçãoIntrodução à Lógica de Programação
Introdução à Lógica de Programação
 
Estruturas de controle if/else switch PHP
Estruturas de controle if/else switch PHPEstruturas de controle if/else switch PHP
Estruturas de controle if/else switch PHP
 
Experiência(s) partilhada(s)
Experiência(s) partilhada(s)Experiência(s) partilhada(s)
Experiência(s) partilhada(s)
 
Arduino Lecture 1 - Introducing the Arduino
Arduino Lecture 1 - Introducing the ArduinoArduino Lecture 1 - Introducing the Arduino
Arduino Lecture 1 - Introducing the Arduino
 
Construindo Diretivas com AngularJS
Construindo Diretivas com AngularJSConstruindo Diretivas com AngularJS
Construindo Diretivas com AngularJS
 
Introdução ao Arduino/Genuino
Introdução ao Arduino/GenuinoIntrodução ao Arduino/Genuino
Introdução ao Arduino/Genuino
 

Semelhante a Introdução a plataforma arduino

Introdução ao arduino palestra
Introdução ao arduino palestraIntrodução ao arduino palestra
Introdução ao arduino palestraVitor Ferreira
 
Minicurso Arduino com Projetos Praticos - Jotacisio Oliveira
Minicurso Arduino com Projetos Praticos - Jotacisio OliveiraMinicurso Arduino com Projetos Praticos - Jotacisio Oliveira
Minicurso Arduino com Projetos Praticos - Jotacisio OliveiraPotiLivre Sobrenome
 
V2 - Microcontroladores: a revolucao do arduino
V2 - Microcontroladores: a revolucao do arduinoV2 - Microcontroladores: a revolucao do arduino
V2 - Microcontroladores: a revolucao do arduinoSamir Siqueira
 
Minicurso arduino eeep aurora
Minicurso arduino eeep auroraMinicurso arduino eeep aurora
Minicurso arduino eeep auroraJuliete Souza
 
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
 
Perlduino - Interfaceando sua aplicação com o mundo real!
Perlduino - Interfaceando sua aplicação com o mundo real!Perlduino - Interfaceando sua aplicação com o mundo real!
Perlduino - Interfaceando sua aplicação com o mundo real!Samir Siqueira
 
38698469 slides-arduino
38698469 slides-arduino38698469 slides-arduino
38698469 slides-arduinoRui Alves
 
Apostila - Tutorial Arduino (Básico).PDF
Apostila - Tutorial Arduino (Básico).PDFApostila - Tutorial Arduino (Básico).PDF
Apostila - Tutorial Arduino (Básico).PDFengelrfs
 
TDC2014 - Internet das Coisas - Arduino & OpenDevice
TDC2014 - Internet das Coisas - Arduino & OpenDeviceTDC2014 - Internet das Coisas - Arduino & OpenDevice
TDC2014 - Internet das Coisas - Arduino & OpenDeviceRicardo Rufino
 
Apostila arduino
Apostila arduinoApostila arduino
Apostila arduinoEdson Paz
 
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 ArduinoDomingosRodrigues16
 
Arduino - aula Teste - Ilha
Arduino - aula Teste - IlhaArduino - aula Teste - Ilha
Arduino - aula Teste - IlhaLuckas Judocka
 
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
 

Semelhante a Introdução a plataforma arduino (20)

Introdução ao arduino palestra
Introdução ao arduino palestraIntrodução ao arduino palestra
Introdução ao arduino palestra
 
Minicurso Arduino com Projetos Praticos - Jotacisio Oliveira
Minicurso Arduino com Projetos Praticos - Jotacisio OliveiraMinicurso Arduino com Projetos Praticos - Jotacisio Oliveira
Minicurso Arduino com Projetos Praticos - Jotacisio Oliveira
 
Treinamento arduino (1).pptx
Treinamento arduino (1).pptxTreinamento arduino (1).pptx
Treinamento arduino (1).pptx
 
ARDUINO.pptx
ARDUINO.pptxARDUINO.pptx
ARDUINO.pptx
 
Minicurso de Arduino Básico
Minicurso de Arduino BásicoMinicurso de Arduino Básico
Minicurso de Arduino Básico
 
V2 - Microcontroladores: a revolucao do arduino
V2 - Microcontroladores: a revolucao do arduinoV2 - Microcontroladores: a revolucao do arduino
V2 - Microcontroladores: a revolucao do arduino
 
Apresentando o Arduino - UESPI
Apresentando o Arduino - UESPIApresentando o Arduino - UESPI
Apresentando o Arduino - UESPI
 
Minicurso arduino eeep aurora
Minicurso arduino eeep auroraMinicurso arduino eeep aurora
Minicurso arduino eeep aurora
 
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
 
Perlduino - Interfaceando sua aplicação com o mundo real!
Perlduino - Interfaceando sua aplicação com o mundo real!Perlduino - Interfaceando sua aplicação com o mundo real!
Perlduino - Interfaceando sua aplicação com o mundo real!
 
Minicurso arduino
Minicurso arduinoMinicurso arduino
Minicurso arduino
 
38698469 slides-arduino
38698469 slides-arduino38698469 slides-arduino
38698469 slides-arduino
 
Apostila - Tutorial Arduino (Básico).PDF
Apostila - Tutorial Arduino (Básico).PDFApostila - Tutorial Arduino (Básico).PDF
Apostila - Tutorial Arduino (Básico).PDF
 
TDC2014 - Internet das Coisas - Arduino & OpenDevice
TDC2014 - Internet das Coisas - Arduino & OpenDeviceTDC2014 - Internet das Coisas - Arduino & OpenDevice
TDC2014 - Internet das Coisas - Arduino & OpenDevice
 
Apostila arduino
Apostila arduinoApostila arduino
Apostila 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
 
Cartilhado arduino ed1
Cartilhado arduino ed1Cartilhado arduino ed1
Cartilhado arduino ed1
 
Erus minicurso arduino
Erus minicurso arduinoErus minicurso arduino
Erus minicurso arduino
 
Arduino - aula Teste - Ilha
Arduino - aula Teste - IlhaArduino - aula Teste - Ilha
Arduino - aula Teste - Ilha
 
Arduino no Dia-Debian/RJ 2011
Arduino no Dia-Debian/RJ 2011Arduino no Dia-Debian/RJ 2011
Arduino no Dia-Debian/RJ 2011
 

Último

Apresentação Comercial VITAL DATA 2024.pdf
Apresentação Comercial VITAL DATA 2024.pdfApresentação Comercial VITAL DATA 2024.pdf
Apresentação Comercial VITAL DATA 2024.pdfCarlos Gomes
 
EAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIA
EAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIAEAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIA
EAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIAMarcio Venturelli
 
[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)
[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)
[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)Alessandro Almeida
 
From_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdf
From_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdfFrom_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdf
From_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdfRodolpho Concurde
 
Certificado - Data Analytics - CoderHouse.pdf
Certificado - Data Analytics - CoderHouse.pdfCertificado - Data Analytics - CoderHouse.pdf
Certificado - Data Analytics - CoderHouse.pdfLarissa Souza
 
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Dirceu Resende
 

Último (6)

Apresentação Comercial VITAL DATA 2024.pdf
Apresentação Comercial VITAL DATA 2024.pdfApresentação Comercial VITAL DATA 2024.pdf
Apresentação Comercial VITAL DATA 2024.pdf
 
EAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIA
EAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIAEAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIA
EAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIA
 
[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)
[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)
[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)
 
From_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdf
From_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdfFrom_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdf
From_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdf
 
Certificado - Data Analytics - CoderHouse.pdf
Certificado - Data Analytics - CoderHouse.pdfCertificado - Data Analytics - CoderHouse.pdf
Certificado - Data Analytics - CoderHouse.pdf
 
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
 

Introdução a plataforma arduino

  • 2. Introdução à plataforma Arduino { "name": "Rogerio Alencar Filho", "hobby": "Analista de Sistemas (web!!!!)", "social": { "facebook": "https://facebook.com/rogerioalencar", "twitter": "https://twitter.com/rogerin", "github": "https://github.com/rogerin", "youtube": "https://youtube.com/user/rogerim", "slideshare": "https://slideshare.net/RogerioAlencarFilho" } }
  • 3. O que é Arduino
  • 4. O que é Arduino Arduino, é uma plataforma de prototipagem eletrônica de hardware livre, projetada com um microcontrolador Atmel AVR, com suporte de entrada/saída, uma linguagem de programação padrão. O objetivo do projeto é criar ferramentas que são acessíveis, com baixo custo, flexíveis e fáceis de se usar por artistas e amadores. Principalmente para aqueles que não teriam alcance aos controladores mais sofisticados e de ferramentas mais complicadas.
  • 7. Serial Arduino Serial DB9 para programação - ATmega8 Arduino Extreme USB para programação - ATmega8 Arduino Mini Versão em miniatura do Arduino utilizando montagem superficial - ATmega168 Arduino Nano Versão menor que o Arduino Mini, energizado por USB e conectado por montagem superficial - ATmega168/328 LilyPad Arduino Projeto minimalista para aplicações portáteis, utilizando montagem superficial - ATmega168 Arduino NG USB para programação - ATmega8 Arduino NG plus USB para programação - ATmega168 Arduino BT interface bluetooth para comunicação - ATmega168 Arduino Diecimila Interface USB -Atmega168 em um pacote DIL28(foto) ArduinoDuemilanove Duemilanove significa "2009" em italiano. É energizado via USB/DC, com alternação automática - Atmega168 (Atmega328 para a versão mais nova) ArduinoMega Montagem superficial - ATmega1280 para E/S adicionais e memória Arduino Uno Utiliza Atmega8U2 para driver conversor Serial-USB, ao invés do FTDI."Uno" significa "Um" em italiano. Esta versão é considerada a versão 1.0 do projeto, sendo que as placas que sucederem a esta serão referenciadas. - ATmega328 Arduino`s
  • 8. Arduino UNO Essa é a última versão da placa USB. Usa um conector USB padrão e contem tudo o que você precisa para programar e usar a placa. É semelhante ao modelo Duemilanove.
  • 10. Arduino LilyPad Desenvolvido para aplicações portáteis, dá para "costurar" essa placa em um tecido!Dá para fazer coisas curiosas! (camisetas com equalizador? Ah tá...)
  • 13. Arduino Uno SMD Versão SMD do UNO, utiliza um microcontrolador de montagem de superfície, ATmega328.
  • 14. Arduino Fio Projetado para aplicações sem fio. Possui um soquete para Xbee, um conector para bateria LiPo.
  • 15. Arduino Mega2560 Versão do Mega lançado com o Uno, esta versão apresenta o Atmega2560, que tem o dobro da memória, e usa o 8U2 ATmega para a comunicação serial- USB.
  • 16. Arduino PRO Esta placa é projetada para usuários avançados. É facilmente alimentado por uma bateria, mas requer componentes adicionais e montagem técnica.
  • 17. BT Arduino A BT Arduino contém um módulo bluetooth que permite a comunicação sem fio. É compatível com todos os Shields Arduino.
  • 18. Arduino Mini PRO Igual a versão PRO, porem menor. É projetado para usuários avançados que exigem baixos custos, pequenos espaços, mas ainda assim, tem que estar dispostos para fazer algum trabalho extra de montagem.
  • 19. Arduino Mini Parece a mesma da anterior, mas não é! Este é o menor da placa Arduino. Ela funciona bem em uma protoboard ou para aplicações onde o espaço é pequeno (pequeno mesmo!).
  • 21.
  • 22.
  • 24.
  • 25.
  • 26. Estrutura // antes do setup você pode incluir bibliotecas void setup() { // toda configuração vem aqui } void loop(){ /// Codigo em loop infinito }
  • 28. Controle switch case while do... while break continue return goto Syntax ; {} (chave) // (comentario simples) /* */ (comentario multilinha) #define #include Operadores = (assignment operator) + (addition) - (subtraction) * (multiplication) / (division) % (modulo) Comparações == (equal to) != (not equal to) < (less than) > (greater than) <= (less than or equal to) >= (greater than or equal to) Boolean && (and) || (or) ! (not) http://arduino.cc/en/Reference/HomePage e muito mais...
  • 29. Hello World da eletrônica digital. digitalWrite(); int ledPin = 13; // LED no pin 13 void setup() { pinMode(ledPin, OUTPUT); // setar pino digital como SAIDA, para acionamentos } void loop() { digitalWrite(ledPin, HIGH); // LED on delay(1000); // aguarda 1 segundo digitalWrite(ledPin, LOW); // LED off delay(1000); // aguarda 1 segundo }
  • 30. digitalRead(); int ledPin = 13; // LED digital pin 13 int inPin = 7; // pushbutton digital pin 7 int val = 0; // variavel guarda valor do digitalRead() void setup(){ pinMode(ledPin, OUTPUT); // seta digital pin 13 como SAIDA pinMode(inPin, INPUT); // seta digital pin 7 como ENTRADA } void loop(){ val = digitalRead(inPin); // ler pino de entrada digitalWrite(ledPin, val); // seta LED com o valor da leitura do botao }
  • 31. analogRead(); int analogPin = 3; // potenciomentro no analogico pin 3 int val = 0; // variavel guarda valor da leitura do analogico void setup() { Serial.begin(9600); // setup serial!!!!!!!!!! } void loop() { val = analogRead(analogPin); // faz leitura do pino analogico Serial.println(val); // debug valor !!! }
  • 32. analogRead() + Serial.println() int analogPin = 3; // potenciomentro no analogico pin 3 int val = 0; // variavel guarda valor da leitura do analogico void setup() { Serial.begin(9600); // setup serial!!!!!!!!!! } void loop() { val = analogRead(analogPin); // faz leitura do pino analogico Serial.println(val); // debug valor !!! Serial.println(val, DEC); // ASCII-encode decimal Serial.println(val, HEX); // ASCII-encode hexadecimall Serial.println(val, OCT); // ASCII-encode octadecimal Serial.println(val, BIN); // ASCII-encode binario dealy(10); // delay 10 miles segundos }
  • 33. Serial.println() Vs. Serial.print() int ledPin = 13; // LED digital pin 13 int inPin = 7; // pushbutton digital pin 7 int val = 0; // variavel guarda valor do digitalRead() void setup(){ Serial.begin(9600); pinMode(ledPin, OUTPUT); // seta digital pin 13 como SAIDA pinMode(inPin, INPUT); // seta digital pin 7 como ENTRADA } void loop(){ val = digitalRead(inPin); // ler pino de entrada digitalWrite(ledPin, val); // seta LED com o valor da leitura do botao if(val) { Serial.prinln(“Botao pressionado..”); } else { Serial.print(“Botao nao pressionado”); } }
  • 34. PWM int ledPin = 9; // LED conectado no pin digital 9 int analogPin = 3; // potenciometro conectado no pin analogico 3 int val = 0; // variavel que recebe valor da leitura do potenciometro void setup() { pinMode(ledPin, OUTPUT); // sets the pin as output } void loop() { val = analogRead(analogPin); // read the input pin analogWrite(ledPin, val / 4); // analogRead values go from 0 to 1023, analogWrite values from 0 to 255 }
  • 36. LDR - Sensor de Luz
  • 37. Criando Funções int ledPin = 13; // LED conectado no pin digital 9 void setup() { pinMode(ledPin, OUTPUT); // seta pin como saida } void loop() { mudaStatusLed(ledPin); delay(1000); } void mudaStatusLed(int Pin) { digitalWrite(Pin, !digitalRead(Pin)); }
  • 38. Criando projeto real (uma roleta) Projeto: Ele vai ter que sortear aleatoriamente qual led vai acender, igual a sistema de roleta mesmo padrão. Ao ligar o Arduino ele vai iniciar o sorteio, acendendo os leds em forma sequencial, ate o fim do sorteio e apenas o sorteado ficara ligado. Tentem um pouco depois programamos ao mesmo tempo.
  • 39. Criando projeto real (uma roleta) Dica 1: int numeroAleatorio; void setup(){ numeroAleatorio = random(100, 300); // variavel numeroAleatorio recebe valor aleatorio entre 100 e 300. ….. …… Dica 2:
  • 40. Codigo int led[7] = {13,12,11,10,9,8,7}; int delayInicial = 50; //delay inicial int ledAtual = 0; int numeroAleatorio; void setup(){ for(int i = 0;i <= 6;i++){ pinMode(led[i], OUTPUT); } numeroAleatorio= random(100, 300); } void loop(){ for(int i = 0;i <= 6;i++){ if (delayInicial <= delayInicial) { ligaLed(i); } else { digitalWrite(led[ledAtual], HIGH); } } } void ligaLed(int i){ digitalWrite(led[i], HIGH); delay(delayInicial); digitalWrite(led[i], LOW); delayInicial+=2; ledAtual = i; }
  • 41. Comunicação I2C - Inter-Integrated Circuit
  • 42. Comunicação I2C - Inter-Integrated Circuit
  • 43. Comunicação I2C - Inter-Integrated Circuit
  • 44. Comunicação SPI - Serial Peripheral Interface
  • 45. Comunicação SPI - Serial Peripheral Interface
  • 46. Codigo int led[7] = {13,12,11,10,9,8,7}; int delayInicial = 50; //delay inicial int ledAtual = 0; int numeroAleatorio; void setup(){ for(int i = 0;i <= 6;i++){ pinMode(led[i], OUTPUT); } numeroAleatorio= random(100, 300); } void loop(){ for(int i = 0;i <= 6;i++){ if (delayInicial <= delayInicial) { ligaLed(i); } else { digitalWrite(led[ledAtual], HIGH); } } } void ligaLed(int i){ digitalWrite(led[i], HIGH); delay(delayInicial); digitalWrite(led[i], LOW); delayInicial+=2; ledAtual = i; }
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58. Obrigado! { "name": "Rogerio Alencar Filho", "hobby": "Analista de Sistemas (web!!!!)", "social": { "facebook": "https://facebook.com/rogerioalencar", "twitter": "https://twitter.com/rogerin", "github": "https://github.com/rogerin", "youtube": "https://youtube.com/user/rogerim", "slideshare": "https://slideshare.net/RogerioAlencarFilho" } }