arduino
TRANSCRIPT
![Page 1: Arduino](https://reader036.vdocuments.pub/reader036/viewer/2022062418/5554b4a1b4c90503388b46de/html5/thumbnails/1.jpg)
Marcus Vinicius Brum da Costa
ArduinoPrimeiros passos com
![Page 2: Arduino](https://reader036.vdocuments.pub/reader036/viewer/2022062418/5554b4a1b4c90503388b46de/html5/thumbnails/2.jpg)
Arduino???
Plataforma de hardware livre
Microcontrolador Atmel
I/O Digital e Analógica
Multiplataforma (Linux, Windows e Mac OS)
![Page 3: Arduino](https://reader036.vdocuments.pub/reader036/viewer/2022062418/5554b4a1b4c90503388b46de/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062418/5554b4a1b4c90503388b46de/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062418/5554b4a1b4c90503388b46de/html5/thumbnails/5.jpg)
Layout Arduino Duemilanove
![Page 6: Arduino](https://reader036.vdocuments.pub/reader036/viewer/2022062418/5554b4a1b4c90503388b46de/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062418/5554b4a1b4c90503388b46de/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062418/5554b4a1b4c90503388b46de/html5/thumbnails/8.jpg)
Hardware
Duemilanove
LilypadMiniMega
Nano RoboDuino
![Page 9: Arduino](https://reader036.vdocuments.pub/reader036/viewer/2022062418/5554b4a1b4c90503388b46de/html5/thumbnails/9.jpg)
Arduino Duemilanove vs Mega
![Page 10: Arduino](https://reader036.vdocuments.pub/reader036/viewer/2022062418/5554b4a1b4c90503388b46de/html5/thumbnails/10.jpg)
Shields
Ethernet Shield Tri Motor Shield LCD Shield
E muitos outros ....
![Page 11: Arduino](https://reader036.vdocuments.pub/reader036/viewer/2022062418/5554b4a1b4c90503388b46de/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062418/5554b4a1b4c90503388b46de/html5/thumbnails/12.jpg)
"Talk is cheap. Show me the code."
Torvalds, Linus
![Page 13: Arduino](https://reader036.vdocuments.pub/reader036/viewer/2022062418/5554b4a1b4c90503388b46de/html5/thumbnails/13.jpg)
Estrutura de programa
![Page 14: Arduino](https://reader036.vdocuments.pub/reader036/viewer/2022062418/5554b4a1b4c90503388b46de/html5/thumbnails/14.jpg)
Funções Analógicas e Digitais
![Page 15: Arduino](https://reader036.vdocuments.pub/reader036/viewer/2022062418/5554b4a1b4c90503388b46de/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062418/5554b4a1b4c90503388b46de/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062418/5554b4a1b4c90503388b46de/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062418/5554b4a1b4c90503388b46de/html5/thumbnails/18.jpg)
Projetos com Arduino
![Page 19: Arduino](https://reader036.vdocuments.pub/reader036/viewer/2022062418/5554b4a1b4c90503388b46de/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062418/5554b4a1b4c90503388b46de/html5/thumbnails/20.jpg)
Referências
http://fritzing.org
www.arduino.cc
http://www.webtronico.com/documentos/atmega328.pdf
http://tcheduino.blogspot.com