Minicurso de Arduino Básico

293 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
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
293
No SlideShare
0
A partir de incorporações
0
Número de incorporações
5
Ações
Compartilhamentos
0
Downloads
22
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

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

×