Hands on Arduino 2012

36
Hands on Arduino Leandro Nunes @nunesleandro

description

Palestra sobre Arduino, apresentada na Semana acadêmica da Engenharia da PUCRS.Nesta palestra foi apresentada a plataforma Arduino, através de exemplos práticos de manipulação da porta digitais, analógicas, debugging pela prota serial e projetos GeniusDuino e Arduino Pong, desenvolvidos por Leandro Nunes.

Transcript of Hands on Arduino 2012

Page 1: Hands on Arduino 2012

Hands on Arduino

Leandro Nunes@nunesleandro

Page 2: Hands on Arduino 2012

O que é Arduino ?

Page 3: Hands on Arduino 2012

Uma placa ?

Open Hardware

Programação via USB

Alimentação 7V até 20V

Page 4: Hands on Arduino 2012

Uma IDE ?

Multiplataforma

Fácil de instalar

Fácil de usar

Page 5: Hands on Arduino 2012

Comunidade?

Fóruns

IRC, Redes sociais

Blogs, ...

Page 6: Hands on Arduino 2012

Arduino

++ ++

Page 7: Hands on Arduino 2012

Arduino Board

Page 8: Hands on Arduino 2012
Page 9: Hands on Arduino 2012

Microcontrolador

Atmel ATMEGA 16MHz 8-bits

Memória Flash 8kb – 256kb

EEPROM

Page 10: Hands on Arduino 2012

Microcontrolador

Pinos digitais 0 ou 1, LOW ou HIGH

Pinos analógicos [0,1,2,3.....1021,1022,1023]

Page 11: Hands on Arduino 2012
Page 12: Hands on Arduino 2012
Page 13: Hands on Arduino 2012
Page 14: Hands on Arduino 2012

Arduino Programming

Language

Page 15: Hands on Arduino 2012

Arduino Programming Language

Semelhante a linguagem C

Funções específicas para trabalhar com as portas do Arduino

Exemplos diretamente na IDE

Referência http://arduino.cc/en/Reference/HomePage

Page 16: Hands on Arduino 2012

Executada uma vez, ao ligar a placa!

Quando chega no final, começa novamente!

Page 17: Hands on Arduino 2012

Práticas

Page 18: Hands on Arduino 2012

void setup() { pinMode(13, OUTPUT); }

void loop() { digitalWrite(13, HIGH); delay(1000); digitalWrite(13, LOW); delay(1000);}

Blink

Page 19: Hands on Arduino 2012

int sPin = A0; int ledPin = 13; int sValue = 0;

void setup() { pinMode(ledPin, OUTPUT); }

void loop() { sValue = analogRead(sPin);

if (sValue < 102) { digitalWrite(ledPin, HIGH); } else { digitalWrite(ledPin, LOW); }}

LDR

Page 20: Hands on Arduino 2012

Transistor

Page 21: Hands on Arduino 2012
Page 22: Hands on Arduino 2012

Servo

Page 23: Hands on Arduino 2012
Page 24: Hands on Arduino 2012

MeusExperimentos

Page 25: Hands on Arduino 2012

Arduino TV-OUT

http://code.google.com/p/arduino-tvout/

Page 26: Hands on Arduino 2012

GeniusDuino

Jogo de memória “Genius”

https://github.com/leandron/geniusduino

Page 27: Hands on Arduino 2012

Placa Compatível com Arduino

Page 28: Hands on Arduino 2012

Placa Compatível com Arduino

Page 29: Hands on Arduino 2012

Expandindo as Possibilidades

– Shields –

Page 30: Hands on Arduino 2012

Shields

Funcionalidades dealto nível

Encaixados em cimado Arduino

Utilizam algunspinos e encaminhamos outros

Page 31: Hands on Arduino 2012

Ethernet Shield

Page 32: Hands on Arduino 2012

LCD Shield

Page 33: Hands on Arduino 2012

Wifi Shield

Page 34: Hands on Arduino 2012

Mais informação ?

Page 35: Hands on Arduino 2012

Onde pegar mais informação ?

Site oficial www.arduino.cc

Esta apresentação www.leandronunes.org

Loja e Curso de Arduino no RS www.webtronico.com

Page 36: Hands on Arduino 2012

Hands on Arduino

OBRIGADO!

Leandro Nunes@nunesleandro

Tchelinux POA 2011