Arduino Primeiros passos com Marcus Vinicius Brum da Costa
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 Bloco Utiliza 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 Lilypad Mini Mega 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 LED delay(1000);  // Espera 1 segundo digitalWrite(ledPin, LOW);  // Desliga o LED delay(1000);  // Espera 1 segundo }
Exemplo de código Botão : int ledPin = 13; // LED no pino 13 int inPin = 2; // botão no pino 2 int val = 0; // variável que lê o status do pino void setup() { pinMode(ledPin, OUTPUT); // declarando LED    //como output pinMode(inPin, INPUT); // declarando botão    //como input } void loop(){ val = digitalRead(inPin); // lendo o valor do input if (val == HIGH) { // Verificando se o botão está    //como HIGH digitalWrite(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

Arduino

  • 1.
    Arduino Primeiros passoscom Marcus Vinicius Brum da Costa
  • 2.
    Arduino??? Plataforma de hardwarelivre Microcontrolador Atmel I/O Digital e Analógica Multiplataforma (Linux, Windows e Mac OS)
  • 3.
    Arduino o queconsigo 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.
  • 4.
    Hardware ATmega328 MicrocontroladorRISC 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)
  • 5.
  • 6.
    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.
  • 7.
    Pipeline Instruções namemó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.
  • 8.
    Hardware Duemilanove LilypadMini Mega Nano RoboDuino
  • 9.
  • 10.
    Shields Ethernet ShieldTri Motor Shield LCD Shield E muitos outros ....
  • 11.
    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
  • 12.
    &quot;Talk is cheap.Show me the code.&quot; Torvalds, Linus
  • 13.
  • 14.
  • 15.
    Exemplo de códigoPiscar: 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 LED delay(1000); // Espera 1 segundo digitalWrite(ledPin, LOW); // Desliga o LED delay(1000); // Espera 1 segundo }
  • 16.
    Exemplo de códigoBotão : int ledPin = 13; // LED no pino 13 int inPin = 2; // botão no pino 2 int val = 0; // variável que lê o status do pino void setup() { pinMode(ledPin, OUTPUT); // declarando LED //como output pinMode(inPin, INPUT); // declarando botão //como input } void loop(){ val = digitalRead(inPin); // lendo o valor do input if (val == HIGH) { // Verificando se o botão está //como HIGH digitalWrite(ledPin, LOW); // Desliga o LED } else { digitalWrite(ledPin, HIGH); // Liga o LED } }
  • 17.
    Exemplo de códigoServo-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);    }    }
  • 18.
  • 19.
    Informações Lista dediscução : Comprar : Site Oficial : www.arduino.cc www.webtronico.com Blog : groups.google.com/group/tcheduino http://www.tcheduino.blogspot.com/
  • 20.
    Referências http://fritzing.org www.arduino.cchttp://www.webtronico.com/documentos/atmega328.pdf http://tcheduino.blogspot.com