Arduino Hack Day <ul><li>Evento promovido por entusiastas, universidades e empresas </li></ul><ul><li>Colaborativo e parti...
Sobre este Arduino Hack Day…
Agenda Padrão <ul><li>Introdução a Arduino </li></ul><ul><li>Controlando tomadas pela Internet </li></ul><ul><li>Controle ...
Introdução ao Arduino <ul><li>Plataforma baseada em Atmel da AVR (ATMega168); </li></ul><ul><li>Oferece um IDE e bibliotec...
Histórico do Arduino <ul><li>Projeto criado na Itália pelo Mássimo Banzi no Interaction Design Institute Ivrea; </li></ul>...
Simplicidade no circuito:
Muitas aplicações práticas <ul><li>Robôs </li></ul><ul><li>Roupas eletrônicas </li></ul><ul><li>Máquinas de corte e modela...
Vários tipos, vários fabricantes... <ul><li>Mega </li></ul><ul><li>Lilypad </li></ul><ul><li>Nano </li></ul><ul><li>Uno </...
Atmega168 / Atmega328: coração <ul><li>Características do ATmega 168: </li></ul><ul><li>RISC </li></ul><ul><li>20 MIPS (20...
Características técnicas <ul><li>6 canais PWM </li></ul><ul><li>6 conversores analógico/digital de 10 bits </li></ul><ul><...
Resumo das conexões da placa
Conector USB Alimentação externa: Até 12 volts Regular 7085: Recebe até 12 volts e  regula para 5 volts  FT232RL Conversor...
ICSP Para gravar bootloader  ou programas/firmware AtMega328 /168/8 Botão de reset
Portas digitais 0 a 13 0 RX 1 TX  = usada durante transferência de sketch e comunicação serial com placa 2,4,7,8,12,13  = ...
Portas analógicas de 0 a 5 Podem funcionar como digitais de 14 a 19 VIN Alimentação de entrada sem regulagem GND 5 volts 3...
Shields: arquitetura modular inteligente <ul><li>Arduino estabeleceu um padrão de pinagem que é respeitado por diversas pl...
Por dentro do MCU
Programando para Arduino <ul><li>IDE pode ser baixada de  www.arduino.cc </li></ul><ul><li>A IDE foi desenvolvida com Java...
Partes básicas do programa Arduino <ul><li>Temos que obrigatoriamente programar dois métodos: </li></ul><ul><ul><li>void s...
Portas digitais e analógicas <ul><li>Na prática ligamos componentes em portas digitais e analógicas e através do código Ar...
Exemplo “pisca led” <ul><li>void setup() { </li></ul><ul><li>pinMode(13, OUTPUT); //porta 13 em output  </li></ul><ul><li>...
Exemplo “pisca led” com Arduino Esta conexão é bem simples somente para efeito de teste para piscar o led.  O correto é li...
Exemplo “luz ambiente” <ul><li>void setup() { </li></ul><ul><li>//Inicializando conexão com PC via FT232 - cabo </li></ul>...
LDR no Arduino sem protoboard
DEMO <ul><li>Apresentação básica do Arduino IDE: </li></ul><ul><ul><li>Compilação; </li></ul></ul><ul><ul><li>Samples; </l...
Program-ME: Arduino turbinado nacional
Ligando componentes Jumpers são utilizados para ligar ou desligar os componentes on-board Se todos os jumpers forem retira...
Mapa de portas Vs. componentes Código Porta Componente L1 14  (igual analógica 0) Led L2 1 Led L3 2 Led L4 3 Led L5 4 Led ...
Mapa de portas Vs. componentes Código Porta Componente Q2 Digital 6 Led Q3 Digital 9 Led Q4 Digital 18 Led Q5 Digital 17 L...
Selecionando alimentação <ul><li>O Program-ME possui um jumper para seleção de alimentação USB ou fonte externa </li></ul>...
Selecionando alimentação Jumper Seleção Externo ou USB
Lab 1: primeiro contato com Program-ME / Arduino <ul><li>Ligar sua placa no cabo USB e no PC </li></ul><ul><li>Verificar o...
Lab 1:Exemplo “pisca led” <ul><li>void setup() { </li></ul><ul><li>pinMode(13, OUTPUT); //porta 13 em output  </li></ul><u...
O que precisamos para controlar uma tomada via Web <ul><li>Microcontrolador </li></ul><ul><li>Relê, transistor, diodo e re...
Porque é necessário utilizar relés ? <ul><li>As portas de saída do microcontrolador (ATmega), utilizado nas placas Arduino...
O que é um relé ? <ul><li>Os relés são basicamente interruptores acionados elétricamente. </li></ul><ul><li>Os relés podem...
Como funciona um Relé <ul><li>O acionamento dos contatos de um relé ocorre quando a sua bobina é energizada. Nesse momento...
 
Porque é necessário utilizar o transistor ? <ul><li>Existem relés bem pequenos que poderiam ser acionados diretamente por ...
Tensão reversa nos relés <ul><li>Ao desenergizar a bobina de um relé, ocorre um fenômeno que faz com que seja gerada uma t...
Placa Tomad@
Hacking Class  Componentes da placa <ul><li>R1 e R2 = resistor 1k – para os transistores </li></ul><ul><li>R3 e R4 = resis...
Conectando seu Program-Me na placa Tomad@
Hacking Class  Ligando a placa no Arduino
Hacking Class  Ligando a placa na tomada <ul><li>Devemos romper o fio de uma das fases; </li></ul><ul><li>Cortamos o fio e...
void setup() { pinMode(2, OUTPUT); pinMode(3, OUTPUT); } void loop() { digitalWrite(3, LOW); digitalWrite(2, HIGH); delay(...
1. Computador conectado na Web com servidor Java recebe request HTTP com solicita ção para acionar a tomada 2. Este servid...
void setup() { Serial.begin(9600); pinMode(2, OUTPUT); pinMode(3, OUTPUT); } void loop() { if(Serial.available() >0) { int...
void acionarRele(int codigo) { if(codigo=65) { Serial.println(&quot;HIGH no rele 1&quot;); digitalWrite(3, HIGH); } else i...
Hacking Class  Código Servlet  response.setContentType(&quot;text/html;charset=UTF-8&quot;); PrintWriter out = response.ge...
outputStream = serialPort.getOutputStream(); serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBI...
Vamos praticar? <ul><li>Laboratório de uso de Arduino e placa tomad@ </li></ul>
Motores CC Baseados no principio da atração e repulsão entre pólos magnéticos os motores CC são uma aplicação inteligente ...
Regra da mão esquerda O sentido da rotação do motor dependerá da polaridade da ligação da fonte de alimentação e está vinc...
Partes de um Motor DC
Caracteristicas Gerais dos Motores CC   <ul><li>Um motor cc é caracterizado basicamente por: </li></ul><ul><li>Dimensionam...
Redutor de rotação.
Circuito de acionamento com um transistor   <ul><li>A maneira mais simples de controlar um motor é utilizando um único tra...
Circuito para controle de 2 motores Podemos notar que a alimentação do circuito lógico é feita com 5V e a alimentação dos ...
Servo Motores Principio de funcionamento
Vista explodida de um servomotor
Controle do Servo Motor
Características do Servo Motor   Sistema de controle: Largura de pulso com 1,52ms para posição neutra Tipo do Motor: 3-pol...
Servos digitais <ul><li>Possuem uma taxa de atualização da posição muito maior.  </li></ul><ul><li>Enquanto os servos anal...
Conexão e Esquema Elétrico
Padrões de conexão dos Servos Outra diferença está na conexão mecânica do eixo do servo, que no Hitec tem 24 dentes e no F...
Laboratório de servo <ul><ul><ul><li>Laboratório de Servomotores </li></ul></ul></ul>(laboratório assistido, instrutor gui...
Próximos SlideShares
Carregando em…5
×

Arduino Hack Day por Vinicius Senger

5.779 visualizações

Publicada em

O Arduino Hack Day foi realizado em Ilheus, Brasilia, Campo Grande e São Paulo. Uma iniciativa Globalcode e EletronLivre em conjunto com diversas pessoas e instituições locais. http://www.globalcode.com.br/noticias/ArduinoHackDay

Publicada em: Tecnologia, Negócios
1 comentário
12 gostaram
Estatísticas
Notas
Sem downloads
Visualizações
Visualizações totais
5.779
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
0
Comentários
1
Gostaram
12
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Arduino Hack Day por Vinicius Senger

  1. 2. Arduino Hack Day <ul><li>Evento promovido por entusiastas, universidades e empresas </li></ul><ul><li>Colaborativo e participativo </li></ul><ul><li>Informações técnicas e troca de experiências </li></ul><ul><li>Elétron Livre apoia a iniciativa emprestando materiais, cedendo direito de uso de slides e ajudando na preparação geral do evento </li></ul><ul><li>PROMOVA VOCÊ TAMBÉM UM ARDUINO HACK DAY! </li></ul>
  2. 3. Sobre este Arduino Hack Day…
  3. 4. Agenda Padrão <ul><li>Introdução a Arduino </li></ul><ul><li>Controlando tomadas pela Internet </li></ul><ul><li>Controle de motores com Arduino </li></ul><ul><li>Introdução a robótica </li></ul><ul><li>Criação de placas e shields </li></ul>
  4. 5. Introdução ao Arduino <ul><li>Plataforma baseada em Atmel da AVR (ATMega168); </li></ul><ul><li>Oferece um IDE e bibliotecas de programação de alto nível; </li></ul><ul><li>Open-source hardware e software </li></ul><ul><li>Ampla comunidade </li></ul><ul><li>Programado em C/C++ </li></ul><ul><li>Transferência de firmware </li></ul><ul><li>via USB </li></ul><ul><li>MCU com bootloader </li></ul>
  5. 6. Histórico do Arduino <ul><li>Projeto criado na Itália pelo Mássimo Banzi no Interaction Design Institute Ivrea; </li></ul><ul><li>Nasceu para complementar o aprendizado de programação, computação física e gráfica; </li></ul><ul><li>Nasceu do Processing e Wiring; </li></ul><ul><li>Processing é um ambiente e linguagem de programação para criar imagens, animação e interação; </li></ul>
  6. 7. Simplicidade no circuito:
  7. 8. Muitas aplicações práticas <ul><li>Robôs </li></ul><ul><li>Roupas eletrônicas </li></ul><ul><li>Máquinas de corte e modelagem 3D de baixo custo; </li></ul><ul><li>Segway open-source </li></ul><ul><li>Desenvolvimento de celulares customizados </li></ul><ul><li>Instrumentos musicais </li></ul><ul><li>Paredes interativas </li></ul><ul><li>Instrumentação humana </li></ul><ul><li>Circuit bending </li></ul>
  8. 9. Vários tipos, vários fabricantes... <ul><li>Mega </li></ul><ul><li>Lilypad </li></ul><ul><li>Nano </li></ul><ul><li>Uno </li></ul><ul><li>Pro </li></ul><ul><li>Arduino BT </li></ul><ul><li>Freeduino </li></ul><ul><li>Severino </li></ul><ul><li>Program-ME </li></ul>
  9. 10. Atmega168 / Atmega328: coração <ul><li>Características do ATmega 168: </li></ul><ul><li>RISC </li></ul><ul><li>20 MIPS (20 Milhões de instruções por segundo) </li></ul><ul><li>16Kb Flash / 512 b EEPROM / 1Kb RAM Estática </li></ul><ul><li>10.000 ciclos na Flash e 100.000 na EEPROM </li></ul><ul><li>2 contadores / temporizadores de 8bits </li></ul><ul><li>1 contador / temporizador de 16bits </li></ul><ul><li>1 temporizador de tempo real com clock a parte </li></ul><ul><li>14 portas digitais </li></ul><ul><li>6 portas analógicas </li></ul>
  10. 11. Características técnicas <ul><li>6 canais PWM </li></ul><ul><li>6 conversores analógico/digital de 10 bits </li></ul><ul><li>1 serial programável (USART) </li></ul><ul><li>1 interface SPI (Serial Peripheral Interface) </li></ul><ul><li>1 interface serial a 2 fios (I2C) </li></ul><ul><li>1 watch dog timer programável </li></ul><ul><li>1 comparador analógico no chip </li></ul><ul><li>Interrupção ou wake-up na alteração de estado dos pinos </li></ul>
  11. 12. Resumo das conexões da placa
  12. 13. Conector USB Alimentação externa: Até 12 volts Regular 7085: Recebe até 12 volts e regula para 5 volts FT232RL Conversor USB-Serial
  13. 14. ICSP Para gravar bootloader ou programas/firmware AtMega328 /168/8 Botão de reset
  14. 15. Portas digitais 0 a 13 0 RX 1 TX = usada durante transferência de sketch e comunicação serial com placa 2,4,7,8,12,13 = portas digitais convêncionais 3,5,6,9,10,11 = portas PWM 2, 3 = portas que pode ter interrupções programadas GND AREF Referência analógica Padrão 5 volts
  15. 16. Portas analógicas de 0 a 5 Podem funcionar como digitais de 14 a 19 VIN Alimentação de entrada sem regulagem GND 5 volts 3.3 volts Reset Portas analógicas 4 e 5 São as portas utilizadas para conexões via I2C / TWI.
  16. 17. Shields: arquitetura modular inteligente <ul><li>Arduino estabeleceu um padrão de pinagem que é respeitado por diversas placas shield: </li></ul>
  17. 18. Por dentro do MCU
  18. 19. Programando para Arduino <ul><li>IDE pode ser baixada de www.arduino.cc </li></ul><ul><li>A IDE foi desenvolvida com Java, portanto precisaremos de um máquina virtual 1.5 ou 1.6 instalada </li></ul><ul><li>Funciona em Windows. Mac OS X e Linux (em alguns windows e mac pode ser necessário colocar driver) </li></ul><ul><li>Utiliza GCC + GCC Avr para compilação </li></ul><ul><li>(você pode também programar diretamente com GCC!) </li></ul><ul><li>A transferência para a placa é feita via USB pelo IDE; </li></ul><ul><li>(mas também pode ser feita com gravadores ICSP!) </li></ul>
  19. 20. Partes básicas do programa Arduino <ul><li>Temos que obrigatoriamente programar dois métodos: </li></ul><ul><ul><li>void setup() { </li></ul></ul><ul><ul><li>} </li></ul></ul><ul><ul><li>void loop() { </li></ul></ul><ul><ul><li>} </li></ul></ul><ul><li>O setup é executado úma só vez assim que a placa for ligada e o loop terá o código de execução infinita </li></ul>
  20. 21. Portas digitais e analógicas <ul><li>Na prática ligamos componentes em portas digitais e analógicas e através do código Arduino, manipulamos as portas: </li></ul><ul><ul><li>pinMode (<porta>, <modo>): configura uma porta digital para ser lida ou para enviarmos dados; </li></ul></ul><ul><ul><li>digitalWrite (<porta>, 0 ou 1): envia 0 ou 1 para porta digital </li></ul></ul><ul><ul><li>digitalRead (<porta>): retorna um 0 ou 1 lido da porta </li></ul></ul><ul><ul><li>analogRead (<porta>): retorna de 0 a 1023 com o valor da porta analógica </li></ul></ul><ul><ul><li>analogWrite (<porta>, <valor>): escreve em uma porta PWM um valor de 0 a 255 </li></ul></ul>
  21. 22. Exemplo “pisca led” <ul><li>void setup() { </li></ul><ul><li>pinMode(13, OUTPUT); //porta 13 em output </li></ul><ul><li>} </li></ul><ul><li>void loop() { </li></ul><ul><li>digitalWrite(13, HIGH); //HIGH = 1 = TRUE </li></ul><ul><li>delay(500); </li></ul><ul><li>digitalWrite(13, LOW); //LOW = 0 = FALSE </li></ul><ul><li>delay(500); </li></ul><ul><li>} </li></ul>
  22. 23. Exemplo “pisca led” com Arduino Esta conexão é bem simples somente para efeito de teste para piscar o led. O correto é ligar um resistor usando uma protoboard.
  23. 24. Exemplo “luz ambiente” <ul><li>void setup() { </li></ul><ul><li>//Inicializando conexão com PC via FT232 - cabo </li></ul><ul><li>Serial.begin(9600); </li></ul><ul><li>} </li></ul><ul><li>void loop() { </li></ul><ul><li>int luz = analogRead(5); //LDR ligado na 5 </li></ul><ul><li>//envia informações para o PC </li></ul><ul><li>Serial.println(luz); </li></ul><ul><li>delay(500); </li></ul><ul><li>} </li></ul>
  24. 25. LDR no Arduino sem protoboard
  25. 26. DEMO <ul><li>Apresentação básica do Arduino IDE: </li></ul><ul><ul><li>Compilação; </li></ul></ul><ul><ul><li>Samples; </li></ul></ul><ul><ul><li>Upload; </li></ul></ul><ul><ul><li>Dicas </li></ul></ul><ul><li>Demonstração do código com Arduino convencional </li></ul><ul><li>Demonstração do código com Program-ME </li></ul>
  26. 27. Program-ME: Arduino turbinado nacional
  27. 28. Ligando componentes Jumpers são utilizados para ligar ou desligar os componentes on-board Se todos os jumpers forem retirados, todas as portas são liberadas deixando o Program-ME funcionando como um Arduino. Você pode escolher o que ligar! <ul><li>Com o mapa de portas documentado a seguir, conseguimos saber qual jumper habilita qual componente e em qual porta </li></ul>
  28. 29. Mapa de portas Vs. componentes Código Porta Componente L1 14 (igual analógica 0) Led L2 1 Led L3 2 Led L4 3 Led L5 4 Led L6 5 Led L7 8 Led L8 6 Led L9 13 Led C1 Analógica 5 LDR
  29. 30. Mapa de portas Vs. componentes Código Porta Componente Q2 Digital 6 Led Q3 Digital 9 Led Q4 Digital 18 Led Q5 Digital 17 Led Chv1 Digital 0 Chave microswitch / botão Spk Digital 12 Speaker Servo-1 Digital 10 Entrada servo-1 Servo-2 Digital 11 Entrada servo-2 JP7 Analógica 1 Entrada analógica / potenciômetro JP6 Analógica 2 Entrada analógica / potenciômetro
  30. 31. Selecionando alimentação <ul><li>O Program-ME possui um jumper para seleção de alimentação USB ou fonte externa </li></ul><ul><li>Toda vez que ligar componentes que possam consumir mais que 500ma, devemos alimentar com fonte externa! </li></ul><ul><li>Durante os laboratórios de motores e relés lembre-se de mudar este jumper e alimentar com fonte externa </li></ul>
  31. 32. Selecionando alimentação Jumper Seleção Externo ou USB
  32. 33. Lab 1: primeiro contato com Program-ME / Arduino <ul><li>Ligar sua placa no cabo USB e no PC </li></ul><ul><li>Verificar o jumper de alimentação configurando para USB se necessário </li></ul><ul><li>Digitar o código a seguir no Arduino IDE </li></ul><ul><li>Clicar no botão de transferência de sketch </li></ul>
  33. 34. Lab 1:Exemplo “pisca led” <ul><li>void setup() { </li></ul><ul><li>pinMode(13, OUTPUT); //porta 13 em output </li></ul><ul><li>} </li></ul><ul><li>void loop() { </li></ul><ul><li>digitalWrite(13, HIGH); //HIGH = 1 = TRUE </li></ul><ul><li>delay(500); </li></ul><ul><li>digitalWrite(13, LOW); //LOW = 0 = FALSE </li></ul><ul><li>delay(500); </li></ul><ul><li>} </li></ul>
  34. 35. O que precisamos para controlar uma tomada via Web <ul><li>Microcontrolador </li></ul><ul><li>Relê, transistor, diodo e resistor </li></ul><ul><li>PC ou um shield Ethernet ou wifi para seu microcontrolador </li></ul><ul><li>Aqui vamos usar... </li></ul><ul><li>Arduino </li></ul><ul><li>Placa Tomad@ </li></ul><ul><li>PC e shield wifi para Arduino </li></ul>
  35. 36. Porque é necessário utilizar relés ? <ul><li>As portas de saída do microcontrolador (ATmega), utilizado nas placas Arduino, tem uma capacidade máxima de corrente de 40mA por porta. Essa corrente é suficiente apenas para alimentar uns 4 Leds comuns, portanto para acionar dispositivos que consomem correntes acima de 40mA em 5Volts, dispositivos de voltagens maiores e dispositivos alimentados com tensão AC, é necessário colocar um transistor e um relé entre o micro-controlador e a carga . </li></ul>
  36. 37. O que é um relé ? <ul><li>Os relés são basicamente interruptores acionados elétricamente. </li></ul><ul><li>Os relés podem possuir um ou mais contatos (“interruptores”) sendo que esses contatos podem ser: </li></ul><ul><li>NA (normalmente aberto) / NO (normal open) </li></ul><ul><li>ou </li></ul><ul><li>NF (normalmente fechados) / NC (normal closed) . </li></ul>
  37. 38. Como funciona um Relé <ul><li>O acionamento dos contatos de um relé ocorre quando a sua bobina é energizada. Nesse momento é criado um campo magnético que atrai uma alavanca responsável pelo acionamento dos contatos </li></ul><ul><li>Para acionar um relé precisamos de transistor e diodo de proteção </li></ul>relé simples relé duplo
  38. 40. Porque é necessário utilizar o transistor ? <ul><li>Existem relés bem pequenos que poderiam ser acionados diretamente por um microcontrolador, porém na maioria dos casos utilizamos um transistor entre a porta do micro-controlador e o relé devido a corrente necessária para ativar a bobina do relé ser maior que 40mA. </li></ul>
  39. 41. Tensão reversa nos relés <ul><li>Ao desenergizar a bobina de um relé, ocorre um fenômeno que faz com que seja gerada uma tensão reversa pela bobina. Devemos proteger o circuito responsável pelo acionamento, instalando um diodo em paralelo com a bobina. </li></ul>
  40. 42. Placa Tomad@
  41. 43. Hacking Class Componentes da placa <ul><li>R1 e R2 = resistor 1k – para os transistores </li></ul><ul><li>R3 e R4 = resistor 330R – para os leds </li></ul><ul><li>D1 e D2 = diodo IN4007 </li></ul><ul><li>Led1 e Led2 = led on / off </li></ul><ul><li>Fusível 1 e Fusível 2 = proteção </li></ul><ul><li>T1 e T2 = transistor para acionar bobina do relê </li></ul><ul><li>Relê 1 e Relê 2 </li></ul><ul><li>Bornes para encaixe dos fios de acionamento da saída do contato do relê </li></ul>
  42. 44. Conectando seu Program-Me na placa Tomad@
  43. 45. Hacking Class Ligando a placa no Arduino
  44. 46. Hacking Class Ligando a placa na tomada <ul><li>Devemos romper o fio de uma das fases; </li></ul><ul><li>Cortamos o fio e vamos ligar cada uma das pontas em um dos bornes da placa </li></ul>
  45. 47. void setup() { pinMode(2, OUTPUT); pinMode(3, OUTPUT); } void loop() { digitalWrite(3, LOW); digitalWrite(2, HIGH); delay(1000); digitalWrite(2, LOW); digitalWrite(3, HIGH); delay(1000); }
  46. 48. 1. Computador conectado na Web com servidor Java recebe request HTTP com solicita ção para acionar a tomada 2. Este servidor web terá uma placa Arduino ligada permanentemente. O servlet (ou equiv) vai acionar a placa via comunicação serial RS-232. 3. Para controlar as tomadas, vamos ligar a placa Tomad@ no Arduino. Essa placa possui um par de relês que podem ser ligados em uma tomada e acionados on / off através de sinal digital 0 ou 1 4. Vamos ligar uma tomada no relê da nossa placa ou então um aparelho qualquer.
  47. 49. void setup() { Serial.begin(9600); pinMode(2, OUTPUT); pinMode(3, OUTPUT); } void loop() { if(Serial.available() >0) { int incoming=Serial.read(); Serial.println(&quot;Recebendo dados&quot;); Serial.println(incoming, DEC); acionarRele(incoming);// seu protocolo } }
  48. 50. void acionarRele(int codigo) { if(codigo=65) { Serial.println(&quot;HIGH no rele 1&quot;); digitalWrite(3, HIGH); } else if(codigo=66) { Serial.println(&quot;LOW no rele 1&quot;); digitalWrite(3, LOW); } else if(codigo=67) { Serial.println(&quot;HIGH no rele 2&quot;); digitalWrite(2, HIGH); } else if(codigo=68) { Serial.println(&quot;LOW no rele 2&quot;); digitalWrite(2, LOW); } }
  49. 51. Hacking Class Código Servlet response.setContentType(&quot;text/html;charset=UTF-8&quot;); PrintWriter out = response.getWriter(); try { byte[] dados = new byte[1]; dados[0] = Byte.parseByte(request.getParameter(&quot;rele&quot;)); try { Arduino.enviar(dados); ...
  50. 52. outputStream = serialPort.getOutputStream(); serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); serialPort.notifyOnOutputEmpty(true); outputStream.write(bytes); serialPort.close();
  51. 53. Vamos praticar? <ul><li>Laboratório de uso de Arduino e placa tomad@ </li></ul>
  52. 54. Motores CC Baseados no principio da atração e repulsão entre pólos magnéticos os motores CC são uma aplicação inteligente da comutação de circuitos eletromagnéticos. Principio de Funcionamento:
  53. 55. Regra da mão esquerda O sentido da rotação do motor dependerá da polaridade da ligação da fonte de alimentação e está vinculada com a regra da mão esquerda, que define o sentido da corrente, do campo gerado e do movimento. E a velocidade de rotação dependerá da corrente que atravessa o circuito e consequentemente da tensão aplicada.
  54. 56. Partes de um Motor DC
  55. 57. Caracteristicas Gerais dos Motores CC <ul><li>Um motor cc é caracterizado basicamente por: </li></ul><ul><li>Dimensionamento físico; </li></ul><ul><li>Potência nominal; </li></ul><ul><li>Tensão nominal; </li></ul><ul><li>Corrente nominal; </li></ul><ul><li>Velocidade nominal; </li></ul><ul><li>Torque nominal; </li></ul><ul><li>Torque de frenagem; </li></ul><ul><li>Potência (Watts) = Tensão (Volts) x Corrente (Amperes) </li></ul>
  56. 58. Redutor de rotação.
  57. 59. Circuito de acionamento com um transistor <ul><li>A maneira mais simples de controlar um motor é utilizando um único transistor. Com esse método podemos controlar o acionamento e a velocidade do motor. </li></ul><ul><li>O circuito para esse controle é parecido com o circuito de acionamento do solenóide, como podemos ver a seguir: </li></ul>
  58. 60. Circuito para controle de 2 motores Podemos notar que a alimentação do circuito lógico é feita com 5V e a alimentação dos motores é separada, podendo ser de até 36V.
  59. 61. Servo Motores Principio de funcionamento
  60. 62. Vista explodida de um servomotor
  61. 63. Controle do Servo Motor
  62. 64. Características do Servo Motor   Sistema de controle: Largura de pulso com 1,52ms para posição neutra Tipo do Motor: 3-polos Tensão de Alimentação: 4.8V ou 6V Consumo de potência: 6V x 8mA (em descanso) Torque: 33,3 oz-in (2,4 kg/cm) @ 4.8V 42 oz-in (3,0 kg/cm) @ 6V Tempo de trânsito: 0,28 seg/60° @ 4.8V 0,22 seg/60° @ 6V Dimensões: 40 x 20 x 36mm Peso: 44g Diametro do eixo: 5,88mm
  63. 65. Servos digitais <ul><li>Possuem uma taxa de atualização da posição muito maior. </li></ul><ul><li>Enquanto os servos analógicos são atualizados 30 vezes por segundo (30Hz) os digitais são atualizados 300 vezes por segundo (300 Hz). </li></ul><ul><li>O torque pode chegar a ser 3 vezes maior que o do servo analógico. </li></ul><ul><li>  Os servos digitais também podem ser programados em relação ao posicionamento, definindo limites e posições para o caso de falhas. </li></ul>
  64. 66. Conexão e Esquema Elétrico
  65. 67. Padrões de conexão dos Servos Outra diferença está na conexão mecânica do eixo do servo, que no Hitec tem 24 dentes e no Futaba 25.
  66. 68. Laboratório de servo <ul><ul><ul><li>Laboratório de Servomotores </li></ul></ul></ul>(laboratório assistido, instrutor guia alunos) Objetivo: Praticar. Tabela de atividades:

×