Arduino

  • View
    5.678

  • Download
    3

  • Category

    Business

Preview:

Citation preview

Marcus Vinicius Brum da Costa

ArduinoPrimeiros passos com

Arduino???

Plataforma de hardware livre

Microcontrolador Atmel

I/O Digital e Analógica

Multiplataforma (Linux, Windows e Mac OS)

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.

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)

Layout Arduino Duemilanove

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.

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.

Hardware

Duemilanove

LilypadMiniMega

Nano RoboDuino

Arduino Duemilanove vs Mega

Shields

Ethernet Shield Tri Motor Shield LCD Shield

E muitos outros ....

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

"Talk is cheap. Show me the code."

Torvalds, Linus

Estrutura de programa

Funções Analógicas e Digitais

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}

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

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);    }    }

Projetos com 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/

Referências

http://fritzing.org

www.arduino.cc

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

http://tcheduino.blogspot.com