56
Introdução à Arduino

Introdução a arduino, oficina para iniciantes

Embed Size (px)

Citation preview

Page 1: Introdução a arduino, oficina para iniciantes

Introdução à Arduino

Page 2: Introdução a arduino, oficina para iniciantes

Introdução à 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" }}

Page 3: Introdução a arduino, oficina para iniciantes

Inicio desse BUMM!!!

Page 4: Introdução a arduino, oficina para iniciantes

Arduino`s

Page 5: Introdução a arduino, oficina para iniciantes

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

Page 6: Introdução a arduino, oficina para iniciantes

Arduino UNOEssa é 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.

Page 7: Introdução a arduino, oficina para iniciantes

Arduino UNO

Page 8: Introdução a arduino, oficina para iniciantes

Arduino LilyPadDesenvolvido para aplicações portáteis, dá para "costurar" essa placa em um tecido!Dá para fazer coisas curiosas! (camisetas com equalizador? Ah tá...)

Page 9: Introdução a arduino, oficina para iniciantes

Arduino LilyPad

Page 10: Introdução a arduino, oficina para iniciantes

Arduino LilyPad

Page 11: Introdução a arduino, oficina para iniciantes

Arduino Uno SMDVersão SMD do UNO, utiliza um microcontrolador de montagem de superfície, ATmega328.

Page 12: Introdução a arduino, oficina para iniciantes

Arduino FioProjetado para aplicações sem fio. Possui um soquete para Xbee, um conector para bateria LiPo.

Page 13: Introdução a arduino, oficina para iniciantes

Arduino Mega2560Versã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.

Page 14: Introdução a arduino, oficina para iniciantes

Arduino PROEsta placa é projetada para usuários avançados. É facilmente alimentado por uma bateria, mas requer componentes adicionais e montagem técnica.

Page 15: Introdução a arduino, oficina para iniciantes

BT ArduinoA BT Arduino contém um módulo bluetooth que permite a comunicação sem fio. É compatível com todos os Shields Arduino.

Page 16: Introdução a arduino, oficina para iniciantes

Arduino Mini PROIgual 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.

Page 17: Introdução a arduino, oficina para iniciantes

Arduino MiniParece 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!). Usa um conector Mini USB para se comunicar com o computador.

Page 18: Introdução a arduino, oficina para iniciantes

Faça o seu!!!

Page 19: Introdução a arduino, oficina para iniciantes
Page 20: Introdução a arduino, oficina para iniciantes
Page 21: Introdução a arduino, oficina para iniciantes

Shield`s

Page 22: Introdução a arduino, oficina para iniciantes
Page 23: Introdução a arduino, oficina para iniciantes
Page 24: Introdução a arduino, oficina para iniciantes

Estrutura// antes do setup você pode incluir bibliotecas

void setup() {// toda configuração vem aqui}void loop(){ /// Codigo em loop infinito}

Page 26: Introdução a arduino, oficina para iniciantes

Controleswitch casewhiledo... whilebreakcontinuereturngoto

Syntax

; {} (chave)// (comentario simples)/* */ (comentario multilinha)#define#includeOperadores= (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...

Page 27: Introdução a arduino, oficina para iniciantes

Hello World da eletrônica digital.digitalWrite();int ledPin = 13; // LED no pin 13void 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}

Page 28: Introdução a arduino, oficina para iniciantes

digitalRead();int ledPin = 13; // LED digital pin 13int inPin = 7; // pushbutton digital pin 7int 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}

Page 29: Introdução a arduino, oficina para iniciantes

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 !!!}

Page 30: Introdução a arduino, oficina para iniciantes

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

}

Page 31: Introdução a arduino, oficina para iniciantes

Serial.println() Vs. Serial.print()int ledPin = 13; // LED digital pin 13int inPin = 7; // pushbutton digital pin 7int 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”); }}

Page 32: Introdução a arduino, oficina para iniciantes

PWMint ledPin = 9; // LED conectado no pin digital 9int analogPin = 3; // potenciometro conectado no pin analogico 3int 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}

Page 33: Introdução a arduino, oficina para iniciantes

Sensores

Page 34: Introdução a arduino, oficina para iniciantes

LDR - Sensor de Luz

Page 35: Introdução a arduino, oficina para iniciantes

Criando Funçõesint 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));}

Page 36: Introdução a arduino, oficina para iniciantes

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.

Page 37: Introdução a arduino, oficina para iniciantes

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:

Page 38: Introdução a arduino, oficina para iniciantes

Codigoint led[7] = {13,12,11,10,9,8,7};int delayInicial = 50; //delay inicialint 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;}

Page 39: Introdução a arduino, oficina para iniciantes

Comunicação I2C - Inter-Integrated Circuit

Page 40: Introdução a arduino, oficina para iniciantes

Comunicação I2C - Inter-Integrated Circuit

Page 41: Introdução a arduino, oficina para iniciantes

Comunicação I2C - Inter-Integrated Circuit

Page 42: Introdução a arduino, oficina para iniciantes

Comunicação SPI - Serial Peripheral Interface

Page 43: Introdução a arduino, oficina para iniciantes

Comunicação SPI - Serial Peripheral Interface

Page 44: Introdução a arduino, oficina para iniciantes

Codigoint led[7] = {13,12,11,10,9,8,7};int delayInicial = 50; //delay inicialint 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;}

Page 45: Introdução a arduino, oficina para iniciantes

Codificando ao vivo.

Ethernet

Page 46: Introdução a arduino, oficina para iniciantes

Alguns projetos...

Page 47: Introdução a arduino, oficina para iniciantes
Page 48: Introdução a arduino, oficina para iniciantes
Page 49: Introdução a arduino, oficina para iniciantes
Page 50: Introdução a arduino, oficina para iniciantes
Page 51: Introdução a arduino, oficina para iniciantes
Page 52: Introdução a arduino, oficina para iniciantes
Page 53: Introdução a arduino, oficina para iniciantes
Page 54: Introdução a arduino, oficina para iniciantes
Page 55: Introdução a arduino, oficina para iniciantes
Page 56: Introdução a arduino, oficina para iniciantes

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" }}