O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Minicurso de Arduino Básico

373 visualizações

Publicada em

Minicurso prático de Arduíno, ministrado durante evento oficial do Google Developers Group de São João da Boa Vista.

Publicada em: Tecnologia
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Minicurso de Arduino Básico

  1. 1. S Mini Curso de Arduino Prof. Rodrigo Santa Maria rodrigo@digitallymade.com.br Apoio: Google Developers Group São João da Boa Vista, SP.
  2. 2. Rodrigo Santa Maria S Bacharel em Ciência da Computação; S Especialista com MBA Internacional em Gerenciamento de Projetos; S Professor Universitário; S Empresário de TI; S Acesse: www.digitallymade.com.br S E-mail: rodrigo@digitallymade.com.br
  3. 3. Rodrigo Santa Maria S Desenvolvedor de aplicações desde 2000. S Experiência em projetos com microcontroladores FPGA da família Cyclone da Altera desde 2007. S Experiência em projetos com microntroladores da Atmel da família Arduino desde 2012.
  4. 4. Pauta: Ø Apresentação do Arduino para iniciantes. Ø Modelos disponíveis. Ø Sensores/atuadores. Ø Uso e interações do Arduino. Ø Noções básicas de como programá-lo. Ø Exercícios práticos! Mini Curso Arduino
  5. 5. Ø O que é Arduino? Ø ARDUINO é uma plataforma open-source de software e hardware para prototipagem flexível, fácil de usar e multiplataforma! Ø Por ser open: Perminte constução caseira e software livre. Ø Caráter colaborativo. Mini Curso Arduino
  6. 6. Ø O que ele faz? Ø Recebe, Gera e Interpreta Dados. Ø Premite desenvolver: l Controle residencial l Robótica l Design interativo l Quase tudo que sonhar esta ferramenta pode tornar realidade. Mini Curso Arduino
  7. 7. Ø Como é estruturado seu Hardware: Ø Analog Reference pin-AREF(Laranja). Ø Digital Ground (Verde Claro). Ø Digital Pins 2-13 (Verde). Ø Digital Pins 0-1/Serial In/Out - TX/RX (Verde Escuro) – Estes Pinos não podem ser usados para digital I/O (digitalRead e digitalWrite) se estiver usando comunicação serial (Serial.begin). Ø Botão de Reset - S1 (Azul Escuro). Ø In-circuit Serial Programmer -ICSP (Azul-Verde). Mini Curso Arduino
  8. 8. Ø Como é estruturado seu Hardware: Ø Analog In Pins 0-5 (Azul Claro). Ø Power and Ground Pins (power: orange, grounds: light Laranja Claro). Ø Suprimento Externo de energia In (9- 12VDC) - X1 (Rosa). Ø SV1-Jumper: Determina alimentação da USB ou Esterna X1 (Roxo). Ø USB: Usada para gravar os programas; Comunicação serial entre placa e computador; Alimentação da placa (Amarelo) . Mini Curso Arduino
  9. 9. Conversor Serial ↔ USB Entradas e saídas digitais CPU AtmelFonte de alimentação Entradas analógicas ou saídas digitais Terminais de alimentação 5V – 3,3V e Terra (0 V) Microcontrolador Cristal Jack Alimentação Jack USB Arduino Uno Mini Curso Arduino
  10. 10. Ø Outras coisas importantes no Arduino: Ø Led Serial: 0 (RX) e 1 (TX). Usado para Receber (RX) transmitir (TX) TTL dados seriais. Ø Chip FTDI (comunicação serial USB) Mini Curso Arduino
  11. 11. Ø Outras coisas importantes no Arduino: Ø Saída com PWM (Pulse Width Modulation): Usa-se pinos: 3, 5, 6, 9, 10, e 11. analogWrite(); Mini Curso Arduino
  12. 12. Ø Arduino...! Só este modelo? Ø 8k,16k ou 32k? Ø USB? Mini Curso Arduino
  13. 13. Não! Temos vários modelos para aplicações diversas. Ø Arduino Mega- 126k (Flash Memory) Ø 54 Pinos de I/O Ø LilyPad Arduino Mini Curso Arduino
  14. 14. Não! Temos vários modelos para aplicações diversas. ØArduino BT (Bluetooth) ØArduino Mini ØArduino Pro Mini Curso Arduino
  15. 15. Ø O que são Shields? Ø “Escudos”. Extentenções do Arduino que permitem interagir com tecnologias diversas com facilidade. ØEx: ØEthernet shield ØXbee shield Mini Curso Arduino
  16. 16. ØMotor shield Ø SD shield ØLCD shield Ø O que são Shields? Ø “Escudos”. Extentenções do Arduino que permitem interagir com tecnologias diversas com facilidade. ØEx: Mini Curso Arduino
  17. 17. Ø Como usar os Shields? Ø Conecta-se sobre a placa do Arduino. É possível empilhar* shields. Mini Curso Arduino
  18. 18. Ø Sensores/Atuadores para Arduino: Mini Curso Arduino
  19. 19. Ø Projetos feitos com Arduino Mini Curso Arduino
  20. 20. S Vamos Desenvolver ???
  21. 21. ØEsta é a IDE e estes são os botões para comandos: Ø Verify: Para Verificar se o programa está sem erros. Ø Upload: Carrega o programa no Microcontrolador. Ø Serial Monitor: Ativa a leitura da porta serial. Mostra valores. Mini Curso Arduino
  22. 22. Ø O Programa. Ø Linguagem C/C++. Ø Funções nativas facilitam a programação. Ø Após compilar temos os dados na tela preta abaixo: Mini Curso Arduino
  23. 23. Ciclo de desenvolvimento
  24. 24. Funções base void setup() - Esta função apenas é executada uma vez e é normalmente utilizada para executar a inicialização de variáveis, a inicialização da utilização bibliotecas, a definição dos pinos (como input ou output), o início do uso de comunicação série, entre outros. Esta função apenas volta a ser executada novamente ao ser efectuado o reset ou quando se desligar e volta a ligar a placa de desenvolvimento Arduino. void loop() - Esta função faz um “loop” sucessivo (como o próprio nome indica), ou seja, todos os comandos existentes no interior desta função são sucessivamente repetidos, o que pode permitir a leitura sucessiva de portas, a leitura sucessiva de parâmetros provenientes de sensores externos e actuar de acordo com as condições estabelecidas.
  25. 25. Programar no Arduino Comentários Muitas vezes é importante comentar alguma parte do código do programa. Existem duas maneiras de adicionar comentários a um programa em Arduino. A primeira é usando //, como no exemplo abaixo: // Este é um comentário de linha A segunda é usando /* */, como no exemplo abaixo: /* Este é um comentário de bloco. Permite acrescentar comentários com mais de uma linha */ Nota: Quando o programa é compilado os comentários são automaticamente suprimidos do arquivo executável, aquele que será gravado na placa do Arduino.
  26. 26. Programar no Arduino Constantes No Arduino existem algumas constantes previamente definidas e são consideradas palavras reservadas. As constantes definidas são: true – indica valor lógico verdadeiro false – indica valor lógico falso HIGH – indica que uma porta está ativada, ou seja, está em 5V. LOW – indica que uma porta está desativada, ou seja, está em 0V. INPUT – indica que uma porta será de entrada de dados. OUTPUT – indica que uma porta será de saída de dados.
  27. 27. ØEntendendo o Programa. int ledPin = 13; // Diz: Vou usar o Pino de número 13 do Arduino e ele será chamado "ledPin” e será uma variável inteira. void setup() //Função chamada automaticamente na primeira vez que o código é lido. //Devemos dizer como o Pino deve se comportar. { pinMode(ledPin, OUTPUT); // PinMode diz: O comportamento do pino (Número do Pino, ENTRADA ou SAÍDA). // Temos OUTPUT=Saída e INPUT=Entrada. // A variável ledPin contém o número 13 (pino 13) } Mini Curso Arduino
  28. 28. Programar no Arduino Numa linguagem de programação existem vários operadores que permitem operações do tipo: Aritmética, Relacional, Lógica e Composta.
  29. 29. Programar no Arduino
  30. 30. Programar no Arduino
  31. 31. Programar no Arduino
  32. 32. Ø Praticando o Programa. Ø Instalar a interface( IDE). Ø Reconhecer os botões. Ø Abrir arquivo com o programa Blink. Ø Ler o programa identificar os comandos. Ø Fazer perguntas e tirar duvidas! É o momento. Mini Curso Arduino
  33. 33. S Exemplo Blink
  34. 34. ØEntendendo o Programa. void loop() // Função onde tudo acontece. Chama-se Loop porque está executando repetidas vezes. { digitalWrite(ledPin, HIGH); // Temos HIGH= LIGADO e LOW=DESLIGADO // E o nome do pino é LedPIN, que é o mesmo Pino 13 delay(1000); // Atraso de 1 segundo digitalWrite(ledPin, LOW); // Temos LOW=DESLIGADO delay(1000); // Atraso de 1 segundo } Mini Curso Arduino
  35. 35. Ø Vamos compliar e ver o que acontece? Ø Conecte a USB ao PC e ao Arduino Ø É preciso indicar o modelo de arduino e a porta USB que ele está conectado. ØVá em TOOLs > Board> “Modelo” ØTOOLs > Serial PORT> “porta usada” Mini Curso Arduino
  36. 36. Ø Entendendo o Programa. Ø Agora vamos modificar os valores no Deley(10) Ø Observar o que acotece Ø Espere alguns segundos. Ø Conecte um LED como indicado na figura ao lado. Mini Curso Arduino
  37. 37. Ø Entendendo o Programa. Ø Algumas funções digitais importantes: Ø pinMode() •Diz se o comportamento será INPUT ou OUTPUT Ø digitalWrite() •Gera HIGH ou LOW no pino Ø digitalRead() •Recebe HIGH ou LOW do pino Mini Curso Arduino
  38. 38. Ø Aprendendo com exemplos: Ø Apresentar e vistar site www.arduino.cc Principal fonte de documentação. Ø Link: LEARNING Ø Executar programas Digital I/O l Blink Without Delay: l Button l ... Mini Curso Arduino
  39. 39. ØEntendendo o Programa. ØFunções analógicas. ØGera e recebe valores de 0 a 1023. Permitindo medir além do LIGADO e DESLIGADO. ØAnalogRead() •Faz leitura do pino analógico. Valor entre 0 a 1023 ØAnalogWrite() •Gera valor analógico entre 0 e 1023. Onda PWM. Mini Curso Arduino
  40. 40. ØAprendendo com exemplos: ØVistar site www.arduino.cc Principal fonte dedocumentação. ØTópico: LEARNING ØExecutar programas: Analog I/O •Analog Input •Calibration •Fading •Smoothing Térmica inteligente Mini Curso Arduino
  41. 41. ØPorta serial. ØÉ a forma como comunicar computador com Arduino em tempo real. ØSerial.begin(9600); lAjusta velocidade em 9600 bps ØSerial.println("TEXTO"); lPara escrever na tela. Mini Curso Arduino
  42. 42. ØSerial Port. Vamos praticar? void setup() // run once, when the sketch starts { Serial.begin(9600); // set up Serial library at 9600 bps Serial.println("Olá! Sou o Arduino!"); // prints hello with ending line break } void loop() // run over and over again { // do nothing! } Mini Curso Arduino
  43. 43. ØSerial Port: Agora mudando o programa. void setup() // run once, when the sketch starts { Serial.begin(9600); // set up Serial library at 9600 bps } void loop() // run over and over again { Serial.println("Olá! Sou o Arduino!"); // prints hello with ending line break } Mini Curso Arduino
  44. 44. ØSerial Port: Incrementando mais uma vez. void setup() // run once, when the sketch starts { Serial.begin(9600); // set up Serial library at 9600 bps } void loop() // run over and over again { Serial.println("Olá! Sou o Arduino!"); // prints hello with ending line break delay(1000); } Mini Curso Arduino
  45. 45. Ø Simulador de Arduino (grátis e online): Ø http://123d.circuits.io/ Mini Curso Arduino
  46. 46. Ø Projetos em Arduino: Ø http://labdegaragem.com/page/projetos-1 Mini Curso Arduino
  47. 47. Lojas Online S MSS Eletrônica: www.msseletronica.com S Lab de Garagem: www.labdegaragem.org/loja S Robo Core: www.robocore.net S FilipeFlop: www.filipeflop.com S Mercado Livre: www.mercadolivre.com.br
  48. 48. Ø Referências: Brasilrobotics. Disponível em <www.brasilrobotics.blogspot.com/> Adafruit. Disponível em <http://www.adafruit.com/> Arduino.cc. Disponível em <www.arduino.cc/> Banzi, Massimo. Getting Started with Arduino. O'reilly,EUA Creativecommons. Disponível em: <www.creativecommons.org.br/> Mini Curso Arduino
  49. 49. S Dúvidas ??? Obrigado!!

×