• Nenhum resultado encontrado

Curso de Arduino-Modulo 1

N/A
N/A
Protected

Academic year: 2021

Share "Curso de Arduino-Modulo 1"

Copied!
204
0
0

Texto

(1)Arduino – Módulo 1 COORDENADOR: Prof. Carlos Renato Borges dos Santos. Versão 3.0.

(2) ETAPAS DO CURSO COMPLETO  Módulo 1 – Programando o Arduino  16 horas.  Módulo 2 – Sistemas de Interface  Mais de 20 horas. 2. IFMG-Campus Formiga. 26/08/2013.

(3) Contatos. [email protected]. [email protected] www.santoscrb.com. 3. Arduino – Módulo 1. 26/08/2013.

(4) Conteúdo programático Módulo 1 – Programando o Arduino. 4. IFMG-Campus Formiga. 26/08/2013.

(5) Ao final do curso, será capaz de:  Desenvolver aplicações básicas com o Arduino e pequenos  .  .   5. acionamentos; Ler sinais de sensores que funcionam entre 0 e 5 V; Gravar dados na memória não-volátil; Desenvolver protocolos de comunicação sem verificações complexas dos dados; Controlar servomotores, motores de passo e motores de corrente contínua (apenas o controle, a parte de potência será ministrada no módulo 2); Entender o processo de interrupções; Conhecer alguns componentes eletrônicos.. IFMG-Campus Formiga. 26/08/2013.

(6) Conteúdo programático  Aula 1      . O que é Arduino Tipos de Arduino A placa eletrônica Vantagens do Arduino Apresentação do programa Notas:  Avaliação: 40% da nota  Projetos: 60% da nota.  Aula 2  Conceitos de bit, Byte, Word.  Tipos de variáveis do Arduino.  Manipulação de dados de diversos tipos em C. 6. IFMG-Campus Formiga. 26/08/2013.

(7) Conteúdo programático  Aula 3  Revisão sobre programação em C.  Declaração de variáveis e ponteiros  Condicionais:  If  While  For  Do ...While  Switch  Struct  Union. 7. IFMG-Campus Formiga. 26/08/2013.

(8) Conteúdo programático  Aula 4  O IDE do Arduino.  Verificação  Compilação  Pinos de IO  Exemplo Pisca-Pisca  Exemplo push button  Alimentação do Arduino  Cálculo de potência dos dispositivos  Dimensionamento de corrente de LEDs  Princípio de funcionamento de um motor de passo  PROJETO 1 – ACIONAMENTO DE LEDS ATRAVÉS DE PUSH-BUTTONS  PROJETO 2 – CONTROLE DE UM MOTOR DE PASSO EM 2 SENTIDOS 8. IFMG-Campus Formiga. 26/08/2013.

(9) Conteúdo programático  Aula 5  VERIFICAÇÃO DOS PROJETOS 1 E 2  Apresentação de vídeos e links interessantes.  Aula 6  Conversão Analógico digital  Exercícios.  Aula 7  PWM.  Aula 8  PROJETO 3 – CONTROLE DE VELOCIDADE DE UM MOTOR. CC ATRAVÉS DE UM POTENCIÔMETRO  PROJETO 4 – SEGUIDOR SOLAR 9. IFMG-Campus Formiga. 26/08/2013.

(10) Conteúdo programático  Aula 9  Comunicação serial.  Aula 10  Desenvolvimento de protocolos de comunicação serial.  Aula 11  PROJETO 5 – CONTROLE DE UM MOTOR DE CC E DE. MOTOR DE PASSO POR MEIO DA SERIAL  Aula 12  PROJETO 6 – ESTAÇÃO DE MEDIÇÃO COM ENVIO DE. DADOS PELA SERIAL 10. IFMG-Campus Formiga. 26/08/2013.

(11) Conteúdo programático  Aula 13  Memórias  SRAM  FLASH  EEPROM.  Aula 14  Gravando e recuperando dados na EEPROM.  Aula 15  Servomotor  PROJETO 7 – SEGUIDOR SOLAR COM ARMAZENAMENTO E. ENVIO DE DADOS DE POSIÇÃO PELA PORTA SERIAL.  Aula 16  Avaliação do curso e avaliação teórica. 11. IFMG-Campus Formiga. 26/08/2013.

(12) Livros sobre Arduino. 12. Arduino – Módulo 1. 26/08/2013.

(13) Bibliografia  1- Site www.arduino.cc.  2- McRoberts, Michael. Arduino básico. Editora NovaTec.  3- Ronald J. Tocci e Neal S. Widmer. Sistemas Digitais:.   .  . 13. Princípios e Aplicações. 4- Banz, Massimo. Primeiros passos com o Arduino. 5- 30 Arduino Projects for the evil genius 6- Arduino CookBook, 2nd edition 7-http://renatoaloi.blogspot.com 8- Fábio Pereira. Microcontroladores PIC Programação em C. Editora Érica.. IFMG-Campus Formiga. 26/08/2013.

(14) Motivações  http://globotv.globo.com/rede-globo/jornal-. .   . 14. nacional/v/alunos-do-engenharia-do-rio-vencem-maiorcampeonato-de-robotica-do-mundo/2547531/ http://www.youtube.com/watch?v=UUbdSjEvsdw http://www.youtube.com/watch?v=fvsTzFnfgiI http://www.youtube.com/watch?v=5XDXyJTNFu4 http://www.youtube.com/watch?v=JWqFH0roIUI. Arduino – Módulo 1. 26/08/2013.

(15) 1-Apresentação Módulo 1 – Programando no Arduino.

(16) O que é Arduino. 16. IFMG-Campus Formiga. 26/08/2013.

(17) O que é Arduino  É uma plataforma de prototipagem eletrônica de hardware. livre, projetada com um microcontrolador Atmel AVR de placa única, com suporte de entrada/saída embutido, uma linguagem de programação padrão, na qual é essencialmente C/C++.  O projeto iniciou-se na Itália, em 2005, com o intuito de interagir em projetos escolares.. 17. IFMG-Campus Formiga. 26/08/2013.

(18) O que é Arduino. 18. IFMG-Campus Formiga. 26/08/2013.

(19) O que é Arduino  O Arduino IDE é uma aplicação multiplataforma. escrita em Java. Inclui um editor de código, compilador e carrega programas para a placa com um único clique.  Com isso não há a necessidade de editar Makefiles ou rodar programas em ambientes de linha de comando.. 19. IFMG-Campus Formiga. 26/08/2013.

(20) O que é Arduino Linguagem do Arduino  void setup() {  //Comandos de //inicialização }  void loop() {  //Instruções repetidas //infinitamente } 20. Arduino – Módulo 1. Linguagem C  void main()  {  //void setup  while(1) {  //void loop. }.  } 26/08/2013.

(21) Tipos de Arduino. 21. IFMG-Campus Formiga. 26/08/2013.

(22) Tipos de Arduino. 22. IFMG-Campus Formiga. 26/08/2013.

(23) Tipos de Arduino. 23. IFMG-Campus Formiga. 26/08/2013.

(24) Tipos de Arduino. 24. IFMG-Campus Formiga. 26/08/2013.

(25) A placa eletrônica. 25. IFMG-Campus Formiga. 26/08/2013.

(26) A placa eletrônica. 26. IFMG-Campus Formiga. 26/08/2013.

(27) A placa eletrônica. 27. IFMG-Campus Formiga. 26/08/2013.

(28) Vantagens do Arduino. 28. IFMG-Campus Formiga. 26/08/2013.

(29) Vantagens do Arduino Vantagens  Alimentação: Pode ser alimentado pela USB  Total compatibilidade entre o IDE e a placa, não sendo necessárias configurações complexas  Não precisa de alimentação externa  Preço, se comparado a um kit com microcontrolador PIC, 8051 ou outro 29. IFMG-Campus Formiga. Desvantagens  Não simula em. computador (ainda não encontrei)  Nem todas as portas possuem um LED integrado à plataforma.  Ao sair do estado de protótipo deve-se fazer adequações 26/08/2013.

(30) Kit PIC Kit PIC  Alimentação externa.     30. IFMG-Campus Formiga. (127/220V) Não inclui compilador (MikroC, CCS) Não inclui simulador (Proteus) Utiliza MPLAB Preço: R$ 600,00 26/08/2013.

(31) Comparação Arduino. PIC / 8051.  Abrir software Arduino. .  Selecionar o Arduino. .  Abrir arquivo  Cabo USB  Plugar o Arduino  Compilar. .        . 31. IFMG-Campus Formiga. Abrir software de edição em C Criar uma pasta e nomear o projeto Configurar fusíveis Abrir biblioteca de exemplos, copiar exemplo Configurar registradores dos periféricos Certificar se é o PIC, ex: 18F4550 Kit + Fonte de alimentação + cabo USB + gravador + cabo RJ Compilar Abrir o MPLAB para gravação Encontrar o arquivo .HEX Clicar em Play. 26/08/2013.

(32) Apresentação do programa  Notas:  50% - avaliação escrita  50% - projetos. 32. IFMG-Campus Formiga. 26/08/2013.

(33) 2-Conceitos básicas Módulo 1 – Programando no Arduino.

(34) PARTE 1 – Noções de software  Conceitos de bit, Byte, Word..  Códigos ASCII, Binário, BCD, Hexadecimal.  Revisão sobre programação em C.  Tipos de variáveis.  O IDE do Arduino.. 34. IFMG-Campus Formiga. 26/08/2013.

(35) Conceitos de bit, Byte e Word. 35. IFMG-Campus Formiga. 26/08/2013.

(36) Conceitos de bit, byte e word  Bit – É um registrador ou variável que armazena o valor 0 ou. 1. Uma variável do tipo bit é usada para testes lógicos dos tipos: verdadeiro ou falso.  Byte – É um conjunto de 8 bits. Usado para armazenar valores de 0 a 255 (sem sinal) ou de -128 a +127 (com sinal)  Word – É um conjunto de 16 bits. Armazena valores de 0 a 65535 ou -32768 a 32767. 36. IFMG-Campus Formiga. 26/08/2013.

(37) Sistemas de codificação. 37. IFMG-Campus Formiga. 26/08/2013.

(38) ASCII – 0 a 127. 38. IFMG-Campus Formiga. 26/08/2013.

(39) ASCII – 128 a 255. 39. IFMG-Campus Formiga. 26/08/2013.

(40) Hexadecimal – binário - decimal. 40. IFMG-Campus Formiga. 26/08/2013.

(41) Codificação BCD. RTC DS1307 Usa codificação BCD. 41. IFMG-Campus Formiga. 26/08/2013.

(42) Sistemas de codificação Exercício 1  Represente os valores a seguir em registradores de 8. bits:  A) 20 (decimal) ->  B) 0 (ASCII) ->  C) 45 (hexadecimal) ->.  D) 10110 (binário) ->  E) 7E (hexadecimal) ->  F) 64 (bcd) -> 42. IFMG-Campus Formiga. 26/08/2013.

(43) Sistemas de codificação Exercício 2  Dados os bits, o que eles representariam se estivessem. em: ASCII, hexadecimal, BCD e decimal: (  A) 10010100 ->  B) 01010101 ->  C) 11110000 ->.  D) 10110111 ->  E) 00111010 ->  F) 1101010110101001 -> 43. IFMG-Campus Formiga. 26/08/2013.

(44) Sistemas de codificação Exercício 3  O RTC 1307 armazena a seguinte data: 26/12/13. Como serão preenchidos os seguintes registradores: dia, mês, ano?. 44. Arduino – Módulo 1. 26/08/2013.

(45) Tipos de variáveis do Arduino. 45. IFMG-Campus Formiga. 26/08/2013.

(46) Tipos de variáveis do Arduino boolean char (-128 a 127) unsigned char (0 a 255) byte (0 a 255) int (-32.768 a 32.767) unsigned int (0 a 65535) word (0 a 65535) long [32 bits (4 bytes), de 2.147.483.648 a 2.147.483.647]  unsigned long (0 a 4.294.967.295)        . 46. IFMG-Campus Formiga.  Float (-3.4028235E+38 a .   . 3.4028235E+38 stored as 32 bits) Double (On the Arduino Due, doubles have 8-byte (64 bit) precision) string - char array string - object array.  http://arduino.cc/en/Refer. ence/HomePage. 26/08/2013.

(47) Manipulação de dados de diversos tipos em C. 47. IFMG-Campus Formiga. 26/08/2013.

(48) Manipulação de dados de diversos tipos em C Dicas sobre o uso de variáveis  Como o processador é de 8 bits, evite usar variáveis longas,. isso poupará memória e aumentará a velocidade de cálculo.  Prefira usar variáveis inteiras de 8 e 16 bits, evitando variáveis com ponto flutuante.. 48. IFMG-Campus Formiga. 26/08/2013.

(49) Manipulação de dados de diversos tipos em C char Sinal (+) 0 (-) 1. unsigned char. 49. IFMG-Campus Formiga. 26/08/2013.

(50) Manipulação de dados de diversos tipos em C. 50. IFMG-Campus Formiga. 26/08/2013.

(51) Manipulação de dados de diversos tipos em C Registrador A (8 bits). 98 + 78 ----. Carry (operação anterior). Carry (1 bit). ULA. Resultado (8 bits). Registrador B ( 8 bits) 51. IFMG-Campus Formiga. 26/08/2013.

(52) Manipulação de dados de diversos tipos em C  O que acontece com os valores armazenados. quando:  Bit = byte ......Arduino?  Bit = word ......Arduino?  Byte = bit ......Arduino: recebe 0 ou 1  Byte = word ......Arduino: recebe-se o byte menos significativo  word = bit ...... Arduino: recebe 0 ou 1  word = byte ....... Arduino: recebe o valor. 52. IFMG-Campus Formiga. 26/08/2013.

(53) Valores em decimal, hexa e binário  X = 0x10; // x recebe o valor 10h (16 decimal).  Y = 10; // y recebe 10 decimal  Z = 0b10; // z recebe 10b (2 decimal). 53. Arduino – Módulo 1. 26/08/2013.

(54) Operações com variáveis  Calcule o resultado das variáveis após as seguintes. operações:.  unsigned int calc = 2000;.  unsigned char x, y, z;  x = calc; //x=208  y = 400; //y=144  z = x + y; //z = 96  Ver Exemplo1 54. Arduino – Módulo 1. 26/08/2013.

(55) Ponteiros  unsigned int x[5];.  unsigned int *ponteiro;  for(char i = 0;i<5;i++)  {  x[i] = 2*i+1;.  }  ponteiro = &x[0];.  ponteiro ++;  (*ponteiro)++;  Ver Exemplo2 55. Arduino – Módulo 1. 26/08/2013.

(56) 3-Programação em C Módulo 1 – Programando no Arduino.

(57) Revisão sobre programação em C. 57. IFMG-Campus Formiga. 26/08/2013.

(58) Revisão sobre programação em C  if( teste_condicional ).  {  //Caso passe no teste_condicional.  }  else  {  //Caso não passe no teste_condicional.  }. 58. IFMG-Campus Formiga. 26/08/2013.

(59) Revisão sobre programação em C  while( teste_condicional ).  {  //expressão.  }. 59. IFMG-Campus Formiga. 26/08/2013.

(60) Revisão sobre programação em C  for( inicialização ; teste_condicional ; incremento ).  {  //expressão.  }. 60. IFMG-Campus Formiga. 26/08/2013.

(61) Revisão sobre programação em C  do.  {  //expressão.  } while ( teste_condicional ). 61. IFMG-Campus Formiga. 26/08/2013.

(62) Revisão sobre programação em C  switch(variavel).  {  case valor1:  break;.  case valor2:  break;  case valor3:  break;  default:  //Caso não tenha encontrado um case.  } 62. IFMG-Campus Formiga. 26/08/2013.

(63) Revisão sobre programação em C  typedef struct  {.  Typedef struct  {.  //Declaração de variáveis  //var1;  //Var2;.      . } Tipo; ... Tipo variavel; ... variavel.var1 = valor1; Variavel.var2 = valor2;.    .    . int chave; char matricula[6]; char nome[16]; char senha[4];. }Taluno; ... Taluno turma1[40]; For(char i=0;i<40;i++){  Turma1[i].matricula[0] = ‘1’;  ....  } 63. IFMG-Campus Formiga. 26/08/2013.

(64) Revisão sobre programação em C  typedef union.  typedef union.  {.  {.  //Declara_variável_maior.  int x;. ;  //Declara_variáveis_meno res;.  char y[2];.  } Tipo;.  }Tint16;  ...  Tint16 valor;  valor.x = 0xABCD;  valor.y[0] = ?. 64. IFMG-Campus Formiga. 26/08/2013.

(65) 4-O Arduino Módulo 1 – Programando no Arduino.

(66) O IDE do Arduino. 66. IFMG-Campus Formiga. 26/08/2013.

(67) O IDE do Arduino. 67. IFMG-Campus Formiga. 26/08/2013.

(68) O IDE do Arduino. 68. IFMG-Campus Formiga. 26/08/2013.

(69) O IDE do Arduino  Última versão: 1.0.5 (até o início do curso)  Escolher o Arduino  Exemplos de programas  Conexão automática  Verificação de sintaxe  Compilação  Gravação 69. IFMG-Campus Formiga. 26/08/2013.

(70) O IDE do Arduino. 70. IFMG-Campus Formiga. 26/08/2013.

(71) Pinos de IO Arduino UNO. 71. IFMG-Campus Formiga. 26/08/2013.

(72) Pinos de IO  Arduino UNO.  6 Portas de entradas. analógicas (Conversor AD de 10 bits cada)  14 portas de IO, sendo 6 com saídas PWM  1 saída de alimentação 5 V  1 saída de alimentação de 3,3 V. 72. IFMG-Campus Formiga. 26/08/2013.

(73) Arduino UNO. 73. IFMG-Campus Formiga. 26/08/2013.

(74) Arduino UNO. 74. IFMG-Campus Formiga. 26/08/2013.

(75) Arduino UNO. 75. IFMG-Campus Formiga. 26/08/2013.

(76) Pinos de IO Arduino Mega 2560. 76. IFMG-Campus Formiga. 26/08/2013.

(77) Pinos de IO  Arduino MEGA 2560.  54 pinos de IO digitais  14 saídas PWM que podem. ser configuradas como entradas digitais  4 terminais de comunicação serial USART + 1 I2C  Pinos 22 a 53 de IO digital  16 entradas analógicas. (Conversor AD de 10 bits) 77. IFMG-Campus Formiga. 26/08/2013.

(78) Arduino Mega 2560. 78. IFMG-Campus Formiga. 26/08/2013.

(79) Arduino Mega 2560. 79. IFMG-Campus Formiga. 26/08/2013.

(80) Arduino Mega 2560. 80. IFMG-Campus Formiga. 26/08/2013.

(81) Exemplos de programação. 81. IFMG-Campus Formiga. 26/08/2013.

(82) Exemplos de programação: Pisca-pisca. 82. IFMG-Campus Formiga. 26/08/2013.

(83) Exemplos  Pasta Laboratorios  Exemplo 1 – operações entre diversos tipos  Exemplo 2 – Ponteiros  Exemplo 3 – Variáveis char, int e float. 83. IFMG-Campus Formiga. 26/08/2013.

(84) Pinos de I/O  Entrada de dados  Definir como entrada  pinMode(pino,INPUT);  Leitura  boolean x;  x = digitalRead(pino);.  Saída de dados  Definir como saída  pinMode(pino,OUTPUT);  Escrever o dado  digitalWrite(pino,HIGH);  digitalWrite(pino,LOW); 84. Arduino – Módulo 1. 26/08/2013.

(85) Exemplo de leitura/escrita. 85. Arduino – Módulo 1. 26/08/2013.

(86) Push-Button: Normalmente: 1 Apertando: 0. 86. IFMG-Campus Formiga. Normalmente: 0 Apertando: 1. 26/08/2013.

(87) Push-Button Saída Normalmente 1 Apertando: 0. 87. Arduino – Módulo 1. Saída Normalemente 0 Apertando: 1. 26/08/2013.

(88) Latch. 88. Arduino – Módulo 1. 26/08/2013.

(89) Exemplos de programação: push button  Cada pino deverá ser configurado como entrada;  Para ler o sinal do pino, deverá ser através de um. comando;  Veja exemplo a seguir.. 89. IFMG-Campus Formiga. 26/08/2013.

(90) Exemplo de leitura digital. 90. IFMG-Campus Formiga. 26/08/2013.

(91) Alimentação do Arduino. 91. IFMG-Campus Formiga. 26/08/2013.

(92) Alimentação do Arduino  Pode-se alimentá-lo através da porta USB.  Possui alimentação externa.. 92. IFMG-Campus Formiga. 26/08/2013.

(93) Alimentação do Arduino Cálculo de Potência  P=UxI  Tensão de alimentação do Arduino (USB) = 5V  Corrente máxima da USB (até 500mA por porta).  Um simples resistor de 1k: I = 5/1000 = 5 mA  Um simples resistor de 100R: I = 5/100 = 50 mA. 93. IFMG-Campus Formiga. 26/08/2013.

(94) Código de cores de resistores. 94. Arduino – Módulo 1. 26/08/2013.

(95) LED. 95. Arduino – Módulo 1. 26/08/2013.

(96) Alimentação de um LED. 96. Arduino – Módulo 1. 26/08/2013.

(97) Alimentação de um LED  Dimensionamento de LEDs.  Um LED consome cerca de 5 a 30 mA, dependendo do. tamanho e tipo de LED. Quando ligado, sua tensão é da ordem de 1,2V. Logo, o resistor que deve ser ligado em série:.  Caso de alimentação USB: R = (5 – 1,2)/5m = 760 Ohms  No caso, é mais prudente arredondar a resistência para cima,. logo usa-se 1kohm  Tente agora para ligar um LED em 12V 97. IFMG-Campus Formiga. 26/08/2013.

(98) USB conector tipo B. 98. IFMG-Campus Formiga. 26/08/2013.

(99) Alimentação Externa. (-). (+) Ideal: 7 a 12V 99. Arduino – Módulo 1. 26/08/2013.

(100) PROJETO 1. 100. IFMG-Campus Formiga. 26/08/2013.

(101) ACIONAMENTO DE LEDS ATRAVÉS DE PUSH-BUTTONS  DESCRIÇÃO: O projeto deverá acionar um LED que represente. um motor de CC. O acionamento se dará por push-button. Ao acionar a chave, o programa deverá verificar o estado do LED e mudá-lo. Não se esqueça de inserir um delay após ler o estado do push-button.  Outros dois botões poderão ser usados para regular o tempo de acionamento do LED.  Aproveite os outros pinos de I/O e use a criatividade para acionar mais de um LED. 101. IFMG-Campus Formiga. 26/08/2013.

(102) PROJETO 2. 102. IFMG-Campus Formiga. 26/08/2013.

(103) CONTROLE DE UM MOTOR DE PASSO EM 2 SENTIDOS  DESCRIÇÃO: Elaborar subrotinas que leiam 2 push-buttons,. um que ao ser acionado chame uma subrotina que gire LEDs à direita e outro que ao ser acionado chame uma subrotina que gire LEDs à esquerda.  Tente usar void, funções, variáveis, struct para deixar o código mais elegante e organizado  Insira comentários sempre que possível para explicar as etapas do código.. 103. IFMG-Campus Formiga. 26/08/2013.

(104) Aplicação: Motor de passo  Princípio de. funcionamento;  Lógica de programação;. 104. IFMG-Campus Formiga. 26/08/2013.

(105) 5-Consulta sobre os projetos Módulo 1 – Programando no Arduino.

(106) Verificação dos projetos 1 e 2. 106. IFMG-Campus Formiga. 26/08/2013.

(107) Vídeos e links interessantes  Vídeo 1.  Vídeo 2  Vídeo 3  Vídeo 4.  Vídeo 5  Vídeo 6  Vídeo 7.  http://uriedubot.wordpress.com/author/uriedubot/  www.arduino.cc  http://renatoaloi.blogspot.com 107. IFMG-Campus Formiga. 26/08/2013.

(108) 6-Hardware interno [1] Módulo 1 – Programando no Arduino.

(109) Conversão analógico-digital (ADC). 109. IFMG-Campus Formiga. 26/08/2013.

(110) Conversor AD 1 bit. 110. IFMG-Campus Formiga. 26/08/2013.

(111) Conversor AD 2 bits. 111. IFMG-Campus Formiga. 26/08/2013.

(112) Conversor AD 3 bits. 112. IFMG-Campus Formiga. 26/08/2013.

(113) Aliasing. 113. IFMG-Campus Formiga. 26/08/2013.

(114) Conversão analógico-digital (ADC). 114. IFMG-Campus Formiga. 26/08/2013.

(115) Conversão analógico-digital (ADC). 115. IFMG-Campus Formiga. 26/08/2013.

(116) Conversor DA. 116. Arduino – Módulo 1. 26/08/2013.

(117) Conversão analógico-digital (ADC)  É uma função que retorna um valor de 10 bits..  Precisa de um comando específico.  Lembre-se que a execução desse comando necessita de um. pequeno intervalo de tempo (de micro a milissegundos).  Os valores lidos pelo ADC podem variar de 0 a 1023.. 117. IFMG-Campus Formiga. 26/08/2013.

(118) Conversão analógico-digital (ADC)  Sensor de precisão:  Variavel (16 bits) = analogRead(Canal).  Sensor de baixa precisão ou de sinal ruidoso:  Variavel (8 bits) = analogRead(Canal)>>2.  Canal:       118. A0 A1 A2 A3 A4 A5. IFMG-Campus Formiga. 26/08/2013.

(119) Exemplo de leitura AD. 119. IFMG-Campus Formiga. 26/08/2013.

(120) Exemplo: seguidor de linha. 120. IFMG-Campus Formiga. 26/08/2013.

(121) Links interessantes  http://www.sucatapontotec.netai.net/projeto-003-robo-. arduino-seguidor-de-linha/  http://www.pessoal.utfpr.edu.br/msergio/Monog-09-2Seguidor-de-linha.pdf  http://www.tur.eletrica.ufu.br/doc/regulamentoIITUR.pd f. 121. Arduino – Módulo 1. 26/08/2013.

(122) Cuidado!  Nunca ligue diretamente algum dispositivo no canal AD que. tenha alguma possibilidade de atingir valores acima de 5V. 122. Arduino – Módulo 1. 26/08/2013.

(123) 7-Hardware interno [2] Módulo 1 – Programando no Arduino.

(124) PWM (conversão digital-analógico). 124. IFMG-Campus Formiga. 26/08/2013.

(125) PWM  Usado para controle de tensão por chaveamento em alta. frequência.  Dentre sua utilização, encontram-se:  Controle de velocidade de motor DC;.  Servomotores;  Controle de iluminação.. 125. IFMG-Campus Formiga. 26/08/2013.

(126) PWM. 126. IFMG-Campus Formiga. 26/08/2013.

(127) PWM  analogWrite(Porta, variável);  Porta: configurada como saída.  Variável: Valor 8 bits sem sinal (0 a 255).. 127. IFMG-Campus Formiga. 26/08/2013.

(128) PWM. 128. IFMG-Campus Formiga. 26/08/2013.

(129) Serial – Parte 1  Comandos básicos:  Void setup()  Serial.begin(9600);  Void loop()  Serial.print(“Texto”);  Serial.print(x);  Serial.println(x);  Serial.write(‘a’);  Serial.write(x);//x tipo char. 129. Arduino – Módulo 1. 26/08/2013.

(130) 8-Projetos Módulo 1 – Programando no Arduino.

(131) PROJETO 3. 131. IFMG-Campus Formiga. 26/08/2013.

(132) Potenciômetro. 132. Arduino – Módulo 1. 26/08/2013.

(133) CONTROLE DE UM MOTOR CC ATRAVÉS DE UM POTENCIÔMETRO  A) DESCRIÇÃO: Elaborar um algoritmo que leia um canal. AD e envie o sinal lido para o PWM.  B) DESCRIÇÃO: Elaborar um algoritmo que leia um canal AD e varie lentamente o sinal PWM até atingir o valor configurado. Para isso, é necessário comparar o sinal lido no AD com o sinal do PWM.. 133. IFMG-Campus Formiga. 26/08/2013.

(134) PROJETO 4. 134. IFMG-Campus Formiga. 26/08/2013.

(135) LDR. 135. Arduino – Módulo 1. 26/08/2013.

(136) PROJETO DE UM SEGUIDOR SOLAR  Construir um seguidor solar guiado por motor de passo e. LDR.  O circuito deverá “varrer” um raio de 180 graus, armazenar o ângulo de maior intensidade luminosa e, quando terminar, ir em direção ao ponto de maior intensidade.. 136. Arduino – Módulo 1. 26/08/2013.

(137) 9-Noções sobre a Serial Módulo 1 – Programando no Arduino.

(138) Comunicação serial. 138. IFMG-Campus Formiga. 26/08/2013.

(139) Comunicação serial  O envio de dados.  Taxas de transmissão  Padrão TTL e RS-232  Enviando dados  Recebendo dados  Criando um protocolo de transmissão (byte a byte). 139. IFMG-Campus Formiga. 26/08/2013.

(140) Comunicação serial. 140. IFMG-Campus Formiga. 26/08/2013.

(141) 141. Arduino – Módulo 1. 26/08/2013.

(142) 142. Arduino – Módulo 1. 26/08/2013.

(143) 143. Arduino – Módulo 1. 26/08/2013.

(144) Comunicação serial. 144. IFMG-Campus Formiga. 26/08/2013.

(145) 145. Arduino – Módulo 1. 26/08/2013.

(146) 146. Arduino – Módulo 1. 26/08/2013.

(147) 147. Arduino – Módulo 1. 26/08/2013.

(148) 148. Arduino – Módulo 1. 26/08/2013.

(149) 149. Arduino – Módulo 1. 26/08/2013.

(150) 150. Arduino – Módulo 1. 26/08/2013.

(151) 151. Arduino – Módulo 1. 26/08/2013.

(152) 152. Arduino – Módulo 1. 26/08/2013.

(153) 153. Arduino – Módulo 1. 26/08/2013.

(154) 154. Arduino – Módulo 1. 26/08/2013.

(155) Padrão TTL  1 – – – – – – ( 5V ).  0 – – – – – – ( 0V ).  A IDE do Arduino cria uma COM virtual a partir de uma. porta USB. 155. Arduino – Módulo 1. 26/08/2013.

(156) Padrão TTL. 156. Arduino – Módulo 1. 26/08/2013.

(157) RS 232  1 – – – – – – ( -15V ).  0 – – – – – – ( +15V ).  Nunca ligue um microcontrolador ou Arduino diretamente à. porta serial! É preciso um conversor MAX 232 157. IFMG-Campus Formiga. 26/08/2013.

(158) RS 232. 158. Arduino – Módulo 1. 26/08/2013.

(159) RS 232 RS 232 - RS 232. 159. Arduino – Módulo 1. Conversor TTL - RS 232. 26/08/2013.

(160) Interface serial RS232. 160. IFMG-Campus Formiga. 26/08/2013.

(161) baud rate. 161. Arduino – Módulo 1. 26/08/2013.

(162) Comunicação serial Comandos básicos:  Serial.begin(taxa_de_transimissao);.  Serial.available();.  Serial.read();  Serial.write(byte);. 162. IFMG-Campus Formiga. 26/08/2013.

(163) Comunicação serial. Ver exemplo 6. 163. IFMG-Campus Formiga. 26/08/2013.

(164) 10-Protocolos de comunicação Módulo 1 – Programando no Arduino.

(165) Desenvolvimento de protocolos de comunicação. 165. IFMG-Campus Formiga. 26/08/2013.

(166)  Ver exemplo 7. 166. IFMG-Campus Formiga. 26/08/2013.

(167) 11-Projeto Módulo 1 – Programando no Arduino.

(168) PROJETO 4. 168. IFMG-Campus Formiga. 26/08/2013.

(169) CONTROLE DE UM MOTOR DE CC E DE MOTOR DE PASSO POR MEIO DA SERIAL.  DESCRIÇÃO: Desenvolver um algoritmo que receba um. comando que controle a velocidade de um motor de CC e comande também um motor de passo.. 169. IFMG-Campus Formiga. 26/08/2013.

(170) 12-Projeto Módulo 1 – Programando no Arduino.

(171) PROJETO 4. 171. IFMG-Campus Formiga. 26/08/2013.

(172) 13-Hardware interno [3] Módulo 1 – Programando no Arduino.

(173) Memórias. 173. IFMG-Campus Formiga. 26/08/2013.

(174) Memórias  O arduino UNO:  SRAM: 2kB  EEPROM: 1 kB  FLASH: 32 kB SRAM.  Mega2560  SRAM: 8kB  EEPROM: 4kB. FLASH. Processador.  FLASH: 256 kB EEPROM. 174. IFMG-Campus Formiga. 26/08/2013.

(175) Memórias  Fazer um algoritmo que grave um vetor de dados de. quantidade indeterminada (algo está sendo lido). 175. IFMG-Campus Formiga. 26/08/2013.

(176) 14-Mais sobre EEPROM Módulo 1 – Programando no Arduino.

(177) Gravando e recuperando dados na EEPROM. 177. IFMG-Campus Formiga. 26/08/2013.

(178) Gravando e recuperando dados de 8 e de 16 bits na EEPROM  DESCRIÇÃO: Fazer um algoritmo que grave dados de 8 e de. 16 bits na EEPROM.  Ver exemplo 9. 178. IFMG-Campus Formiga. 26/08/2013.

(179) 15-Servomotor Módulo 1 – Programando no Arduino.

(180) Servomotor. 180. IFMG-Campus Formiga. 26/08/2013.

(181) Servomotor Alimentação: de 4,5 a 6V Comando: #include <Servo.h> Servo servo1; // Cria um objeto servo void setup() { servo1.attach(5); // Anexa o servo (físico), no pino 5, ao objeto servo (lógico)  }      .     . void loop() { int angle = analogRead(0); // Lê o valor do potenciômetro angle=map(angle, 0, 1023, 0, 180); // Mapeia os valores de 0 a 180 graus servo1.write(angle); // Escreve o ângulo para o servo delay(15); // Espera de 15ms, para permitir que o servo atinja a posição.  } 181. Arduino – Módulo 1. 26/08/2013.

(182)  Ver exemplo 10. 182. Arduino – Módulo 1. 26/08/2013.

(183) PROJETO 7 SEGUIDOR SOLAR COM ENVIO DE DADOS DE POSIÇÃO PELA PORTA SERIAL. 183. IFMG-Campus Formiga. 26/08/2013.

(184) 16-LCD. 184. IFMG-Campus Formiga. 26/08/2013.

(185) Liquid Crystal Display. 185. Arduino – Módulo 1. 26/08/2013.

(186) Pinos do LCD. 186. Arduino – Módulo 1. 26/08/2013.

(187) Conectando ao Arduino. 187. Arduino – Módulo 1. 26/08/2013.

(188)  Ver exemplo 11. 188. Arduino – Módulo 1. 26/08/2013.

(189) 17-Interrupções. 189. IFMG-Campus Formiga. 26/08/2013.

(190) Interrupções. 190. IFMG-Campus Formiga. 26/08/2013.

(191) Interrupção  Usada quando necessita monitorar constantemente eventos. de curta duração  A interrupção tem prioridade na execução do programa principal, parando-o para atender à interrupção  Após a execução da interrupção, retoma-se o programa. 191. Arduino – Módulo 1. 26/08/2013.

(192) Pinos de interrupção. 192. IFMG-Campus Formiga. 26/08/2013.

(193) Esquema da Interrupção Evento externo. loop(). Interrupção. Programa principal. 193. Arduino – Módulo 1. 26/08/2013.

(194) Ligação no Arduino. 194. Arduino – Módulo 1. 26/08/2013.

(195) Comando e parâmetros. 195. Arduino – Módulo 1. 26/08/2013.

(196) Linha de tempo da interrupção. 196. Arduino – Módulo 1. 26/08/2013.

(197) Modos de operação. 197. Arduino – Módulo 1. 26/08/2013.

(198) Exemplo  Ver Exemplo 12. 198. Arduino – Módulo 1. 26/08/2013.

(199) Nota:. 199. Arduino – Módulo 1. 26/08/2013.

(200) PROJETO 8 VERIFICAÇÃO DE NÍVEL DE TENSÃO DA BATERIA COM ENVIO DE DADOS PELA SERIAL. 200. IFMG-Campus Formiga. 26/08/2013.

(201) Projeto 8  100% - 12,72V.  90% - 12,48V  80% 12,42V  70% - 12,30V.  60% - 12,18V  50% - 12,06V  40% - 11,88V.  30% - 11,76V  20% - 11,58V  10% - 11,34V  0% - 10,50V 201. IFMG-Campus Formiga. 26/08/2013.

(202) 17-Avaliação Módulo 1 – Programando no Arduino.

(203) AVALIAÇÃO. 203. IFMG-Campus Formiga. 26/08/2013.

(204) Fim do curso – Módulo 1 Coordenador: Carlos Renato Borges dos Santos Voluntário: Silas Martins Sousa. 204. IFMG-Campus Formiga. 26/08/2013.

(205)

Referências

Documentos relacionados

Este presente artigo é o resultado de um estudo de caso que buscou apresentar o surgimento da atividade turística dentro da favela de Paraisópolis, uma

Changes in the gut microbiota appears to be a key element in the pathogenesis of hepatic and gastrointestinal disorders, including non-alcoholic fatty liver disease, alcoholic

Estes resultados apontam para melhor capacidade de estabelecimento inicial do siratro, apresentando maior velocidade de emergência e percentual de cobertura do solo até os 60

Entendendo, então, como posto acima, propõe-se, com este trabalho, primeiramente estudar a Lei de Busca e Apreensão para dá-la a conhecer da melhor forma, fazendo o mesmo com o

A variação do pH da fase móvel, utilizando uma coluna C8 e o fluxo de 1,2 mL/min, permitiu o ajuste do tempo de retenção do lupeol em aproximadamente 6,2 minutos contribuindo para

É_Realizada n n (0,3) (0,n) Inscrição Nome RG Expedidor UF Data Média Tipo Nota Questões Número Área Sub-Área Avaliação 3 n Esquema ER para o banco de dados CONCURSO..

Marca Vendedor Veículo Ford João Carro Ford João Caminhão Ford Mário Caminhão Fiat Mário Carro Chevrolet Felipe Carro Chevrolet João Carro Chevrolet João

Membro_Faculdade (Matrícula: Inteiro, Nome: string[50], Carga: Inteiro, IniContrato: data, Curso: string[30], professor: booleano, aluno: booleano). Membro