20
Marcus Vinicius Brum da Costa Arduino Primeiros passos com

Arduino

Embed Size (px)

Citation preview

Page 1: Arduino

Marcus Vinicius Brum da Costa

ArduinoPrimeiros passos com

Page 2: Arduino

Arduino???

Plataforma de hardware livre

Microcontrolador Atmel

I/O Digital e Analógica

Multiplataforma (Linux, Windows e Mac OS)

Page 3: Arduino

Arduino o que consigo fazer?

Ler valores provenientes de sensores. Ex: Acelerômetros, LDR, ultra-sons, entre muitos outros

Atuar no mundo exterior. Ex: LEDs, motores, displays(LCD), entre muitos outros.

Page 4: Arduino

Hardware ATmega328

Microcontrolador RISC

Memória flash de 32 KB (2KB usados para o bootloader)

SRAM interna de 2KB

I/0 digitais 14 pinos (6 PWM)

16MHz

Entrada analógica 6 pinos

1kB memória EEPROM

32 registradores (8 bits)

Page 5: Arduino

Layout Arduino Duemilanove

Page 6: Arduino

Diagrama de BlocoUtiliza arquitetura Harvard

Memória e bus separada para programa e dados.

Todos os 32 registradores estão diretamente ligados a ULA.

A arquitetura resultante é um código mais eficiente que alcança produções até 10 vezes mais rápido que os microcontroladores convencionais CISC.

Page 7: Arduino

Pipeline

Instruções na memória de programa são executadas com um pipeline de nível único.

Enquanto uma instrução está sendo executada, a próxima instrução é pré-buscada na memória de programa.

Page 8: Arduino

Hardware

Duemilanove

LilypadMiniMega

Nano RoboDuino

Page 9: Arduino

Arduino Duemilanove vs Mega

Page 10: Arduino

Shields

Ethernet Shield Tri Motor Shield LCD Shield

E muitos outros ....

Page 11: Arduino

Arduino - IDE

Área de código

Área de status e saída serial

Compilar

Parar execução

Novo

Abrir

Salvar

Enviar programa para placa

Exibir serial

Page 12: Arduino

"Talk is cheap. Show me the code."

Torvalds, Linus

Page 13: Arduino

Estrutura de programa

Page 14: Arduino

Funções Analógicas e Digitais

Page 15: Arduino

Exemplo de código

Piscar:

int ledPin = 13; // LED conectado no pino digital 13

void setup(){pinMode(ledPin, OUTPUT); //Define o pino digital //como Output}

void loop(){digitalWrite(ledPin, HIGH); // Liga o LEDdelay(1000); // Espera 1 segundodigitalWrite(ledPin, LOW); // Desliga o LEDdelay(1000); // Espera 1 segundo}

Page 16: Arduino

Exemplo de código

Botão: int ledPin = 13; // LED no pino 13int inPin = 2; // botão no pino 2int val = 0; // variável que lê o status do pinovoid setup() {pinMode(ledPin, OUTPUT); // declarando LED

//como outputpinMode(inPin, INPUT); // declarando botão

//como input}

void loop(){val = digitalRead(inPin); // lendo o valor do inputif (val == HIGH) { // Verificando se o botão está

//como HIGHdigitalWrite(ledPin, LOW); // Desliga o LED} else {digitalWrite(ledPin, HIGH); // Liga o LED}}

Page 17: Arduino

Exemplo de código

Servo-motor:

#include <Servo.h> Servo myservo; int pos = 0; void setup() {   myservo.attach(9); } void loop() {    for(pos = 0; pos < 180; pos += 1) {   myservo.write(pos);      delay(15);    }    }

Page 18: Arduino

Projetos com Arduino

Page 19: Arduino

Informações

Lista de discução :

Comprar :

Site Oficial : www.arduino.cc

www.webtronico.com

Blog :

groups.google.com/group/tcheduino

http://www.tcheduino.blogspot.com/

Page 20: Arduino

Referências

http://fritzing.org

www.arduino.cc

http://www.webtronico.com/documentos/atmega328.pdf

http://tcheduino.blogspot.com