Tutorial Arduino.pdf

41
Tutorial Arduino Copyright © 2012, hecomecatronica – todos os direitos reservados www.hecomecatronica.com.br 1 Tutorial 1 – Como Escolher meu Arduino Após descobrir o Arduino e perceber a infinidade de documentação e projetos disponíveis, a grande questão é: Por qual modelo de Arduino optar? Vamos descobrir juntos? Para deixar mais claro, primeiramente vamos elucidar o porque de tantos modelos. “Era uma vez” um cara que criou uma estrutura para um microcontrolador AVR. Sua ideia era facilitar o acesso de indivíduos que não dominavam essa poderosa tecnologia que envolvia programação complexa e muita eletrônica. E assim chamou “a Bela ” de Arduino. ” Mas não é só isso” ele também era open hardware e open software. E esse novo conceito livre e aberto que acompanha as novas tendências das tecnologias e comunidades mais modernas, como; Linux, Firefox, Wiki e outros que acabou por criar uma legião de Arduinomaniacos. Podemos dizer que o Arduino criou um BOOM! Como no surgimento dos videogames. Ter um Atari era o motivo de tietagem dos vizinhos. Bem… Sendo “Open software e Open Hardware” o Arduino disponibilizou toda sua documentação, assim, qualquer um poderia montar o seu em casa, fazer modificações básicas e criar uma variação do Arduino que melhor se adaptava ao seu projeto e publica-la para que outros pudessem conhece-la. Então foram surgindo Arduinos mais compactos para projetos com pouco espaço, já outros maiores para projetos com maior necessidade de sensores e pinos. Tudo deu tão certo que o próprio Arduino passou a sofrer atualizações, tanto em Hardware(na placa do arduino) como em software(programas e bibliotecas que escrevem o código) e assim o Arduino passou de NG, para Diecimila, depois para Duemilanove e em seguida UNO, Mega, Leonardo e por último o Due. Estas mudanças de Hardware são evoluções e adaptações necessárias para que a família de Arduinos possa se adaptar ás diferentes necessidade de nossas aplicações e criações.

Transcript of Tutorial Arduino.pdf

  • Tutorial Arduino

    Copyright 2012, hecomecatronica todos os direitos reservados www.hecomecatronica.com.br

    1

    Tutorial 1 Como Escolher meu Arduino

    Aps descobrir o Arduino e perceber a infinidade de documentao e projetos disponveis, a grande questo : Por qual modelo de Arduino optar?

    Vamos descobrir juntos?

    Para deixar mais claro, primeiramente vamos elucidar o porque de tantos modelos.

    Era uma vez um cara que criou uma estrutura para um microcontrolador AVR. Sua ideia era facilitar o acesso de indivduos que no dominavam essa poderosa tecnologia que envolvia programao complexa e muita eletrnica. E assim chamou a Bela de Arduino.

    Mas no s isso ele tambm era open hardware e open software. E esse novo conceito livre e aberto que acompanha as novas tendncias das tecnologias e comunidades mais modernas, como; Linux, Firefox, Wiki e outros que acabou por criar uma legio de Arduinomaniacos.

    Podemos dizer que o Arduino criou um BOOM! Como no surgimento dos videogames. Ter um Atari era o motivo de tietagem dos vizinhos. Bem Sendo Open software e Open Hardware o Arduino disponibilizou toda sua documentao, assim, qualquer um poderia montar o seu em casa, fazer modificaes bsicas e criar uma variao do Arduino que melhor se adaptava ao seu projeto e publica-la para que outros pudessem conhece-la. Ento foram surgindo Arduinos mais compactos para projetos com pouco espao, j outros maiores para projetos com maior necessidade de sensores e pinos. Tudo deu to certo que o prprio Arduino passou a sofrer atualizaes, tanto em Hardware(na placa do arduino) como em software(programas e bibliotecas que escrevem o cdigo) e assim o Arduino passou de NG, para Diecimila, depois para Duemilanove e em seguida UNO, Mega, Leonardo e por ltimo o Due.

    Estas mudanas de Hardware so evolues e adaptaes necessrias para que a famlia de Arduinos possa se adaptar s diferentes necessidade de nossas aplicaes e criaes.

  • Tutorial Arduino

    Copyright 2012, hecomecatronica todos os direitos reservados www.hecomecatronica.com.br

    2

    Normalmente essas mudanas no representam uma alterao drstica a ponto de no se poder usar um ou o outro. Muito pelo contrrio. priorizado a compatiblidade entre eles.

    O mesmo acontece com o aplicativo de interface com o usurio IDE (interface de desenvolvimento do Arduino) que constantemente atualizada, trazendo consigo a compatibilidade para os novos modelos.

    IDE o software mnimo necessrio em seu computador para que se possa programar seu Arduino.

    Ciente de tudo isso agora fcil escolher o seu modelo de Arduino.

    Existem basicamente trs linhas de arduino que recomendo: -Os bem pequenos: NANO -Os de tamanho Mdio e tradicional: Duemilanove ou UNO -Os Grandes: Mega ou Due Recomendo ento: -Os Arduinos UNO ou Duemilanove para projeto de tamanho padro como robs, interface IHM, central de monitoramento, dentre outros. -Os Arduinos Mega ou Due para projetos com maior demanda de memria, sensores e rels. -O arduino NANO para projetos que precisam ser leves e ocupar pouco espao. Possui a mesma configurao do Duemilanove/UNO mas em tamanho reduzido.

    Vamos as fotos e descries:

    -Arduino NANO

    Apresenta estrutura bem compacta Possui entrada para cabo Mini USB J encontrado com Atmega328 Pesa aproximadamente: 6g Dimenso: 4,2 x 1,7 x 2,00cm

  • Tutorial Arduino

    Copyright 2012, hecomecatronica todos os direitos reservados www.hecomecatronica.com.br

    3

    -Arduino Duemilanove

    Apresenta estrutura de tamanho mdio Possui entrada para cabo USB Possui Atmega328 Pesa aproximadamente: 28g Dimenso: 6,8 x 5,5 x 1,0 cm

    -Arduino UNO

    Apresenta estrutura de tamanho mdio Possui entrada para cabo USB

    Possui Atmega328 Pesa aproximadamente: 28g Dimenso: 6,8 x 5,5 x 1,0 cm

  • Tutorial Arduino

    Copyright 2012, hecomecatronica todos os direitos reservados www.hecomecatronica.com.br

    4

    -Arduino UNO Italiano

    Apresenta estrutura de tamanho mdio

    Este modelo fabricado na Itlia. Tabm chamado de modelo original por ser fabricado na Itlia onde foi criado o Arduino. Mas como Open Source, no existe original. apenas um apelido.

    Possui entrada para cabo USB Possui Atmega328 Pesa aproximadamente:26g Dimenso: 6,8 x 5,5 x 1,0 cm

    -Arduino MEGA 1280

    Apresenta estrutura de tamanho relativamente grande. Apresenta maior nmero de pinos: I/O, Analgicos, maior memria Possui entrada para cabo USB Possui Atmega1280 Memria flash: 128k Pesa aproximadamente: 35g Dimenso: 5,2x10x1,0 cm

  • Tutorial Arduino

    Copyright 2012, hecomecatronica todos os direitos reservados www.hecomecatronica.com.br

    5

    -Arduino MEGA2560

    Apresenta estrutura de tamanho relativamente grande. Apresenta maior nmero de pinos: I/O, Analgicos, maior memria Possui entrada para cabo USB Possui Atmega2560 Pesa aproximadamente: 33g Dimenso: 5,2x10x1,0cm

    -Arduino MEGA DUE

    O Arduino uma placa de microcontrolador baseado no Atmel SAM3X8E ARM Cortex-M3 . a primeira placa Arduino baseada em um microcontrolador de 32 bits de ncleo ARM. Ele tem 54 digitais de entrada / sada (dos quais 12 podem ser usados como sadas PWM), 12 entradas analgicas, 4 UARTs (portas seriais de hardware), um relgio de 84 MHz, uma conexo USB OTG capaz, 2 DAC (digital para analgico) , 2 TWI, uma tomada de energia DC, um conector SPI, um conector JTAG, um boto de reset e um boto de apagar.

    a segunda gerao de Arduinos de alta capacidade de memria e processamento.

  • Tutorial Arduino

    Copyright 2012, hecomecatronica todos os direitos reservados www.hecomecatronica.com.br

    6

    Algumas perguntas so frequentes, ento vamos a elas: -Qual a diferena entre o Uno e o Duelimanove? O UNO a verso atualizada em Hardware do Duemilanove. A grande modificao a substituio do chip FTDI por um outro microcontrolador da Atmega que permite a gravao do cdigo com uma velocidade maior(duas ou trs vezes maior que o FTDI). O FTDI o componente responsvel pela comunicao do arduino(Atmega328) com o compupador(porta COM) atravs do cabo USB. -Qual a diferena entre o Uno e UNO Italiano? O Arduino Open Source e pode ser fabricado em qualquer lugar. Os criadores do Arduino so italianos e fabricam o modelo na Itlia assim o arduino UNO Italiano muitas vezes chamado de original. Mas no ha diferena estrutural entre os que so fabricados em outro local. A diferena fabrica mesmo.

    -Qual a diferena entre o Duemilanove/Uno e o MEGA? O Duemilanove e o UNO so menores em nmero de portas entradas/sada tem menor memria flash(que grava o cdigo). Entretanto mais leve e compacto que o MEGA. Outra grande diferena que o chip Atmega DIP no Duemilanove/UNO e isso permite retirar este chip e troca-lo por outro em caso de danos ou para fazer um projeto sem o uso da plataforma Arduino. No Mega o Atmega SMD e no permite fcil remoo e troca do microcontrolador AVR, para isso deve conhecer as tcnicas novas de solda em SMD.

    -O arduino precisa de alimentao externa como uma fonte? O cabo USB fornece energia para o arduino, no precisando de alimentao externa. Mas tambm possvel alimentar o arduino sem o cabo USB pela entrada de energia alternativa. Para projetos que demandam grande carga (muita corrente) preciso usar uma fonte externa e circuito para dar ganho de corrente.

    -O arduino melhor que o PIC e o 8051? Sim, para os microcontroladores de 8bits o Arduino mais rpido, possui maior memria e instrues. Alm de tudo isso possui documentao open e uma grande comunidade trocando informao.

    -O Arduino a plataforma de desenvolvimento mais fcil para iniciantes? Sim, sua estrutura foi pensada para facilitar ao mximo a interao com novos usurios. Mas ao mesmo tempo permite que desenvolvedores avanados usem essa plataforma.

    - possivel usar o Arduino para fazer um rob? Sim, essa uma das aplicaes mais frequentes.

    - possvel usar o Arduino em projetos industriais ou em campo aberto? Sim, o arduino amplamente usado em projetos diversos e bem aceito tem todos os campos. Possui interao com painel solar, permite alimentao com tenso da rede e opes de baixo consumo.

    -Posso tirar o chip microcontrolador Atmega do arduino e por outro? Sim, o arduino Duemilanove e UNO aceita o Atmega8, Atmega168 ou Atemga328. Entretanto preciso dar o bootloader do arduino no chip novo para tudo funcionar perfeitamente.

    -Quando compro o arduino ele j vai pronto? Sim, o arduino vai pronto para uso. Basta espetar o cabo USB instalar os drives de comunicao com a USB do seu PC e rodar.

    - possvel gravar mais de uma vez o cdigo no arduino? Sim, o nmero de gravaes no arduino muito grande, como o pendrive que usamos no dia a dia: apaga escreve, apaga Costumo dizer que tende ao infinito. Recomendo consultar o datasheet do atmega e conferir os dados.

  • Tutorial Arduino

    Copyright 2012, hecomecatronica todos os direitos reservados www.hecomecatronica.com.br

    7

    Tutorial 2 Preparando seu Arduino para Gravar

    Assim que estiver com o Arduino nas mos preciso fazer algumas etapas simples para que tudo funcionar corretamente.

    1- O Arduino usa um programa para fazer as gravaes dos cdigos. Vai encontr-lo para baixar neste link: BAIXAR IDE do Arduino.

    Faa o download da verso compatvel com seu PC. Se roda Windows, Linux ou, MAC Perceba que ha verses de IDE anteriores a 1.0 E importante lembrar que muitas bibliotecas no rodam nesta verso pois modificaes mais drsticas foram feitas. Pode ser preciso usar a 022 que esta compatvel com cdigos mais antigos. Mas s uma questo de tempo para tudo ficar padro no 1.0

    BemFeito isso, basta descompactar o arquivo .zip e imediatamente a interface de programao estar pronta para funcionar.

    Clicando no cone principal teremos a tela abaixo:

  • Tutorial Arduino

    Copyright 2012, hecomecatronica todos os direitos reservados www.hecomecatronica.com.br

    8

    A verso 1.0 apresenta uma verso um pouco diferente mas todas as funcionalidades so iguais. Temos os cones principais:

    Verify: Para Verificar se o programa est sem erros.

    Upload: Carrega o programa no Microcontrolador. (Grava codigo no Arduino)

    Serial Monitor: Ativa a leitura da porta serial. (Mostra valores numa tela especial)

  • Tutorial Arduino

    Copyright 2012, hecomecatronica todos os direitos reservados www.hecomecatronica.com.br

    9

    2- Agora voc precisa preparar a sua IDE para a gravao do arduino. Como existem vrios modelos de arduino voc deve informar qual modelo esta usando. Para isso basta ir em Board depois escolher a placa. 3- Outra configurao a ser feita informar a COM (porta onde o cabo USB esta entrando no seu PC).

    Para isso v em: Serial Port e escolha a que e referente ao seu arduino. Note que se os drives do arduino no foram instalados automaticamente pelo PC no aparecera a COM do Arduino. Para saber se e a COM do arduino basta retirar o cabo USB e a opo COM deve sumir.

    Para saber como gravar os drives do arduino veja aqui: DOC: COMO INSTALAR os DRIVES

  • Tutorial Arduino

    Copyright 2012, hecomecatronica todos os direitos reservados www.hecomecatronica.com.br

    10

    Ento ao colar um cdigo tudo deve ficar assim:

    Apos compilar (clicando em Upload ou Verify ) uma informao aparece mostrando o tamanho do cdigo e o espao disponvel para mais cdigo.

  • Tutorial Arduino

    Copyright 2012, hecomecatronica todos os direitos reservados www.hecomecatronica.com.br

    11

    Outra dica importante que ao clicar em uploud e o codigo for gravado no arduino, os LEDs RX e TX que se encontram na placa arduino devero piscar informando que o codido esta sendo carregado. Obviamente o cabo USB deve estar ligado a placa Arduino e ao PC.

    Perfeito. Passando por estas etapas voce esta pronto para iniciar seu primeiro projeto.

  • Tutorial Arduino

    Copyright 2012, hecomecatronica todos os direitos reservados www.hecomecatronica.com.br

    12

    Tutorial 3 Programando Attiny85 ou Attiny45 com Arduino

    Video da configurao

    J imaginou programar um Chip bem pequeno como os 555 que possuem 8pinos? Seria possvel levar as facilidades do Arduino e tecnologia AVR para os projetos extremamente pequenos e ainda reduzir ao mximo o custo. A Proposta ento usar o seu Arduino como uma ferramenta de gravao dos Attiny45 ou Attiny85.\

    possvel montar na protoboard ou mesmo montar a sua propria sheild. Nesta aula aprenderemos como montar na matriz de contatos, como programar e veremos um modelo de sheild.

    Vamos mergulhar no mundo do Attiny?

  • Tutorial Arduino

    Copyright 2012, hecomecatronica todos os direitos reservados www.hecomecatronica.com.br

    13

    Inicialmente temos um chip chamado Attiny com 8 pinos e a primeira pergunta:

    Ele igual ao Arduino?

    No exatamente. O Arduino uma plataforma e possui um microcontrolador diferente mas todos so do mesmo fabricante: a ATMEL. Outra diferena que o Arduino precisa de bootloader, mas Attiny no usa boot. Para fins prticos podemos imaginar o tiny como um Arduininho, pois possui um menor nmero de pinos I/O, Analgicos e tambm menor memria. Mas com este possvel montar robs, monitorar sensores de temperatura, escrever num display de LCD, 7seg, dentre outras aplicaes que so comuns para o Arduino padro.

    Para esse projeto iremos usar:

    1x Arduino qualquer modelo. 1x Attiny85 ou Attiny45 (O modelo Attiny85 possui 8K de memria flash para cdigo e o 45 4K) 1x Resistor 220R( pode ser entre 220R e 1K) 1x LED 1x Capacitor de 10uF/16V 1x boto 2x barra de pinos Femea ou Macho com 4x pontos. Fios Matriz de contatos Baixar os arquivos e cdigos que sero usados ao longo da aula.

  • Tutorial Arduino

    Copyright 2012, hecomecatronica todos os direitos reservados www.hecomecatronica.com.br

    14

    Vamos dar uma olhada no Datasheet e ver as configuraes de cada pino: Datasheet do Attiny

    Simplificando Os dados que so minimamente necessrios para montar e programar podem ser vistos nas imagens abaixo:

    1

    Ento temos:

    3x Portas analgicas.

    2x Portas I/O com PWM

    1x Pino de Reset

    2x Pinos de alimentao (+Vcc, -GND )

  • Tutorial Arduino

    Copyright 2012, hecomecatronica todos os direitos reservados www.hecomecatronica.com.br

    15

    Lembrando: postas analgicas podem ser lidas como portas I/O ento na prtica tm 5x portas de I/O.

    Sumrio da Instalao, se precisar, siga o Passo a Passo nos tpicos descritos nas etapas mais abaixo:

    Download: Attiny texto de configurao Localize a pasta sketchbook Arduino (voc pode encontrar a sua localizao no dilogo de preferncias no software do Arduino) Criar uma nova sub-pasta chamada hardware na pasta sketchbook ( possvel que ela j exista). Copie a pasta Attiny de dentro do zip. Para a pasta de hardware. Voc deve ter agora, uma estrutura de pastas como segue:

    Documentos> Arduino> hardware> attiny

    Neste diretrio, voc colocar os arquivos do zip, incluindo o boards.txt e possivelmente encontrar uma outra pasta chamada de variantes.

    Reinicie o ambiente de desenvolvimento IDE do Arduino. Voc deve encontrar vrias opes Attiny no menu Ferramentas> Board.

    Passo a Passo

    Etapa 1- Inicialmente precisamos preparar a interface para receber esse novo modelo de micro controlador.

    Vamos usar a interface IDE : se precisar, BAIXAR AQUI

  • Tutorial Arduino

    Copyright 2012, hecomecatronica todos os direitos reservados www.hecomecatronica.com.br

    16

    Se tudo ocorrer corretamente ao abrir a IDE do Arduino voc ter novas opes de micros controladores quando for a TOOLs>BOARD

    Caso a IDE j esteja aberta voc deve fechar e reinicializar-la para aparecer a atualizao.

  • Tutorial Arduino

    Copyright 2012, hecomecatronica todos os direitos reservados www.hecomecatronica.com.br

    17

    Etapa 2- Agora vamos tornar o Arduino um gravador de Attiny. preciso gravar um cdigo que far essa tarefa de comunicao e gravao dos dados. Este j est disponvel na IDE do Arduino. Veja como fazer:

    Abra o cdigo ArduinoISP

  • Tutorial Arduino

    Copyright 2012, hecomecatronica todos os direitos reservados www.hecomecatronica.com.br

    18

    Escolha o modelo da placa Arduino que est usando:

    Faa o mesmo com a COM(porta usb)

    Faa a gravao do cdigo na sua placa Arduino.

    Essa etapa deve ser feita sem as conexes com o circuito que ser apresentado ao longo da aula.

  • Tutorial Arduino

    Copyright 2012, hecomecatronica todos os direitos reservados www.hecomecatronica.com.br

    19

    Etapa 3 Agora com seu cdigo que permite a gravao do Attiny monte o circuito abaixo numa protoboard.

    Veja como fica:

  • Tutorial Arduino

    Copyright 2012, hecomecatronica todos os direitos reservados www.hecomecatronica.com.br

    20

    Ao fim da montagem vamos gravar um cdigo bsico e verificar o funcionamento de tudo:

    Ateno: No existe pino de nmero 13 no Attiny ento preciso mudar.

    Vamos adotar o pino de nmero 0 para este teste.

    Ento basta mudar onde tem 13 para 0 no cdigo do Blink.

    Tudo deve ficar como na imagem abaixo:

  • Tutorial Arduino

    Copyright 2012, hecomecatronica todos os direitos reservados www.hecomecatronica.com.br

    21

    Faa a gravao do cdigo clicando em Upload.

    OBS: Caso voc no tenha preparado o Arduino como interface de gravao, o cdigo no ser gravado no Attiny.

    A presena do capacitor de 10uF-16V permitir que o cdigo seja gravado no Attiny. Assim com presena do capacitor no pino de RESET do Arduino no ser possvel a gravao de cdigos no Arduino. Basta retirar o fio do Reset que tudo retorna ao normal. Aps a gravao uma mensagem em vermelho pode aparecer na IDE do Arduino mas isso no afeta na gravao.

    Feito os testes e aps tudo estar supimpa voc pode montar uma sheild para gravao de Attiny. Com ajuda de um saca Chip voc pode retirar o Attiny do socket e por outros e ir gravando, ou mesmo usar a interface para prototipagem. possvel usar uma placa de fcil prototipagem ou fazer num software de CAD como o Proteus e corroer a trilha. Veja como pode ficar:

  • Tutorial Arduino

    Copyright 2012, hecomecatronica todos os direitos reservados www.hecomecatronica.com.br

    22

    Funes que o Attiny suporta com o Arduino:

    The following Arduino commands should be supported:

    pinMode() digitalWrite() digitalRead() analogRead() analogWrite() shiftOut() pulseIn() millis() micros() delay() delayMicroseconds() SoftwareSerial (has been updated in Arduino 1.0)

  • Tutorial Arduino

    Copyright 2012, hecomecatronica todos os direitos reservados www.hecomecatronica.com.br

    23

    Tutorial 4 Programando o Attiny2313 com o Arduino O processador Attiny 2313 tem 20 pinos com 17 I/O, ele no tem um ADC (conversor analogico/digital).

    Ele pode ser configurado para rodar nas velocidades de 1 MHz at 8 MHz sem um oscilador externo.

    Carregue o arquivo de Configurao do IDE seguindo as mesmas orientaes dadas para a configurao do Attiny 45 ou 85.

    Faa o Download do arquivo de configurao aqui.

    Conecte seu Arduino ATtiny acordo com a imagem abaixo:

    Video de Demonstrao

    Lista das ligaes ao Arduino:

    Arduino ATtiny2313 13 19 PB7/SCK 12 18 PB6/MISO 11 17 PB5/MOSI 10 1 PA2/Reset 5v 20 VCC GND 10 GND

    Carregar o ArduinoISP para o Arduino no ligar o capacitor ainda.Mais informaes sobre este passo.

    Nota: o ArduinoISP tem alguns problemas na ver. 1,00, Veja esta correo para uma soluo.

    Conecte um capacitor mF 10 de reinicializao para a terra sobre o Arduino (lado negativo para o terra). Se voc estiver usando um Duemilanove, um resistor de 120 ohm deve ser conectado ao Vcc.

    Selecionar a placa de ATtiny2313 @ 1MHZ.

  • Tutorial Arduino

    Copyright 2012, hecomecatronica todos os direitos reservados www.hecomecatronica.com.br

    24

    Carregar o esboo Blink.

    Conecte um LED com resitor ao pino PB4

    Agora voc deve ter um Led piscando em seu ATtiny 2313

    Observe o padro de fbrica de 1MHz, se voc deseja executar em 8MHz: necessrio alterar o bootloader como segue:

    Selecione placa -> ATtiny2313 @ 8MHZ Selecione -> bootloader Gravar selecionar -> w / arduino como ISP

    Quando voc us-lo em seu projeto, vai ser importante conectar um capacitor uF 0,1 entre o VCC e GND, to perto do processador quanto possvel e um resistor de 10 ohms K de RESET para VCC.

    Ex. pino 13 no exemplo de piscar o pino fsico B4

    Consulte a folha de cheet

    # define PIN_D0 (0) # define PIN_D1 (1) # define PIN_A1 (2) # define PIN_A0 (3) # define PIN_D2 (4) # define PIN_D3 (5) # define PIN_D4 (6) # define PIN_D5 (7) # define PIN_D6 (8) # define PIN_B0 (9) # define PIN_B1 (10) # define PIN_B2 (11) # define PIN_B3 (12) # define PIN_B4 (13) # define PIN_B5 (14) # define PIN_B6 (15) # define PIN_B7 (16) # define PIN_A2 (17) / * Reset * /

  • Tutorial Arduino

    Copyright 2012, hecomecatronica todos os direitos reservados www.hecomecatronica.com.br

    25

    Tutorial 5 Como Instalar drivers da USB do Arduino FTDI Arduino drivers solution

    Voc acabou de adquirir sua placa Arduino. Conectou o cabo USB e Opa!!! Nada aconteceu?

    Ou Pior! O Windows no reconhece sua placa!

    Se voc est nessa situao fique tranquilo, pois est no lugar certo!

    comum o Windows no reconhecer automaticamente o FTDI que vem no Arduino. E preciso fazer manualmente essa tarefa.

    Este tutorial serve tambm para o modelo UNO, mesmo no tendo o FTDI.

    Basta seguir os passos que tudo se resolve. Vamos l?

    Vou usar para esses passos o Arduino Mega, apenas para fins ilustrativos, mas poderia ser qualquer outro modelo.

    O comentado FTDI esse da foto acima, j nos modelos UNO, temos um microcontrolador da Atmel 8U2 ou 16U2 para essas mesma funo.

    Primeiro passo conectar o Cabo USB ao Arduino e ao PC.

    Caso a instalao do Driver tenha caminhado automaticamente em seu PC, timo, voc no tem mais nada a FAZER!!

    Parabns!!

    Caso contrrio, siga os prximos passos.

    Agora preciso chegar ao Gerenciador de dispositivos do Windows.

    Isso pode ser feito rapidamente pelo Menu Iniciar e digitando o nome: Gerenciador de Dispositivos.

    Caso no tenha encontrado por esse caminho voc pode encontrar pelo Painel de Controle:

  • Tutorial Arduino

    Copyright 2012, hecomecatronica todos os direitos reservados www.hecomecatronica.com.br

    26

    L chegando siga as setas vermelhas das ilustraes.

  • Tutorial Arduino

    Copyright 2012, hecomecatronica todos os direitos reservados www.hecomecatronica.com.br

    27

    Aps chegar ao Gerenciador de Dispositivos

    A COM(USB) do seu Arduino deve estar l. Observe que se voc retirar o cabo USB essa porta desativada (desaparece).

  • Tutorial Arduino

    Copyright 2012, hecomecatronica todos os direitos reservados www.hecomecatronica.com.br

    28

    Ento, clicar com o boto direito do mouse.

  • Tutorial Arduino

    Copyright 2012, hecomecatronica todos os direitos reservados www.hecomecatronica.com.br

    29

    Agora preciso encontrar a pasta que esto os drives. Quando voc baixou a IDE de programao do Arduino baixou tambm esses drives. Eles esto l numa pasta drivers.

    Selecione a pasta onde est os drives e depois v em OK.

    Observe que o cone da porta muda e uma confirmao deve aparecer informando que tudo ocorreu corretamente.

  • Tutorial Arduino

    Copyright 2012, hecomecatronica todos os direitos reservados www.hecomecatronica.com.br

    30

  • Tutorial Arduino

    Copyright 2012, hecomecatronica todos os direitos reservados www.hecomecatronica.com.br

    31

    Bem isso Agora j pode mandar bala nos seus projetos com Arduino. Divirtam-se!

    Caso no tenha obtido sucesso tente outra vez.

  • Tutorial Arduino

    Copyright 2012, hecomecatronica todos os direitos reservados www.hecomecatronica.com.br

    32

    Tutorial 6 Usando o FTDI em um Projeto Prprio Este post serve para mostrar aos navegantes como utilizar o FTDI (conversor USB TTL) junto com o seu Atmega328p-pu standalone. O conversor serve para mudar o tipo de sinal que o PC envia e o que o microcontrolador deve receber para operar, no h muita dificuldade na conexo, apenas deve-se tomar cuidado para conectar corretamente os pinos.

    Os pinos do conversor so mostrados a seguir:

  • Tutorial Arduino

    Copyright 2012, hecomecatronica todos os direitos reservados www.hecomecatronica.com.br

    33

    So 6 pinos para conexo, mas para programar o Atmega em modo Standalone voc precisa utilizar apenas 4, sendo eles:

    +5V Este pino voc liga nos terminais do seu Atmega que so alimentados pelo positivo. GND Este pino voc conecta aos terminais do seu Atmega que so alimentados pelo negativo. RXD Este pino deve ser conectado ao pino TX do Atmega (pino 3 veja imagem a baixo); TXD Este pino voc conecta ao pino RX do Atmega (pino 2 veja imagem a baixo);

    Aps fazer a conexo dos pinos voc deve instalar o drive e instale-o em seu computador, depois disso pode conectar o conversor USB TTL em uma porta USB (eu fao isso atravs de um cabo USB para ter mais liberdade para poder mover a protoboard com tudo junto pela mesa fica a dica!). Depois que tudo estiver instalado voc precisa enviar o cdigo para seu Atmega, para isso abra o ambiente de programao do arduino e selecione o exemplo blink para testar. Pressione o boto reset da sua placa standalone e segure, depois clique no boto enviar da interface de programao do arduino e aguarde at que aparea na parte inferior uma tela como a mostrada a baixo:

  • Tutorial Arduino

    Copyright 2012, hecomecatronica todos os direitos reservados www.hecomecatronica.com.br

    34

    Assim que aparecer na parte preta o texto em branco que diz o tamanho do arquivo significa que seu cdigo ja foi compilado e o programa comear o upload propriamente dito, nesse momento voc deve soltar o boto reset e aguardar a mensagem de upload concludo. Pronto! seu Atmega rodando em modo standalone pode ser agora programado atravs da porta USB como se voc estivesse utilizando uma placa arduino diretamente na USB.

  • Tutorial Arduino

    Copyright 2012, hecomecatronica todos os direitos reservados www.hecomecatronica.com.br

    35

    Tutorial 7 Bluetooth Shield TTL RS232 Serial

    Este pequeno mdulo transmissor permite que o dispositivo possa enviar ou receber os dados atravs de tecnologia Bluetooth sem a necessidade do cabo serial para computador.

    fcil de usar e totalmente encapsulado.

    Funciona com todos os adaptadores Bluetooth USB.

    Descrio:

    BTM-5 um mdulo bluetooth CLASS 2 baseado no chipset BlueCore4-External.Este mdulo suporta operar como MASTER ou como SLAVE, bastando apenas configura-lo por comandos AT (conforme manual).

    possvel fazer uma comunicao entre dois mdulos bluetooth (sendo um MASTER e o outro SLAVE) e tambm se comunicar entre um mdulo e um notebook, PDA, celular, etc.

  • Tutorial Arduino

    Copyright 2012, hecomecatronica todos os direitos reservados www.hecomecatronica.com.br

    36

    Para usa-lo, basta liga-lo ao microcontrolador nos PINOS de TX e RX, e ento fazer uma comunicao serial normalmente.

    Antena embutida.

    Alimentao: 3.6V-6V DC

    Taxa de transmisso padro: 9600,8,1, n. Senha: 1234.

    Cobertura de at 10m.

    O mdulo vem com configuraes pr-estabelicidas de fbrica, como velocidade de comunicao, nome do dispositivo, senha de pareamento, e etc. que podem ser alteradas via comandos AT por meio de comunicao serial com o computador. Obs. Importante: Essa configurao NO possivel via comunicao Bluetooth. Deve ser feita necessariamente por meio de cabos de conexo (fisicamente). Nesse projeto, para fazer a conexo serial entre o computador e o mdulo bluetooth , ser utilizado o prprio Arduino como conversor USB-TTL.

    Os comandos AT de configurao, ao serem enviados devem ser seguidos obrigatoriamente por um (Carrige Return) e um (Line Feed). Todos esses comandos ao serem recebidos com sucesso pelo mdulo, so respondidos com uma mensagem de confirmao OK.

    A comunicao bluetooth com esse mdulo bem simples pois nada mais do que uma comunicao serial. Primeiramente ser apresentada a montagem do harware para leitura de um sensor de temperatura LM35 via bluetooth.

  • Tutorial Arduino

    Copyright 2012, hecomecatronica todos os direitos reservados www.hecomecatronica.com.br

    37

    Como no Fritzing (programa para fazer o desenho acima) no existe o mdulo bluetooth, ele foi representado como apenas um conector onde suas ligaes foram feitas respectivamente da esquerda para direita. Os pinos do conector da esquerda para a direita so: VCC, GND, RX, TX.

    OBS IMPORTANTE: O Vcc do mdulo e as entradas lgicas funcionam em 3.3 Volts, portanto ligue o Vcc do mdulo na saida 3.3V do Arduino e o RX do mdulo dever ser ligado ao TX do Arduino por intemdio de um divisor de tenso que ir diminuir a tenso lgica (todos esses detalhes de ligao esto devidamente exemplificados no artigo )

    O pino MODE no ser utilizado nesse projeto pois como padro ele esta baixo (nivel lgico LOW) ento o mdulo funcionar normal e no em modo de configurao AT.

    A imagem abaixo mostra o circuito real montado em uma protoboard.

    O firmware a ser inserido no microcontrolador no poderia ser mais simples, pois apenas um comando para escrever na porta serial que nesse caso o mdulo bluetooth.

    /*

    Firmware para fazer a leitura de um sensor de temperatura

    e a tranmisso desse dado via Bluetooth

    utilizando o mdulo BTM-5.

    Desenvolvido por: Allan Romanato

    Data: 31/05/2012

    */

    int sensor = 0;

    int leitura = 0;

  • Tutorial Arduino

    Copyright 2012, hecomecatronica todos os direitos reservados www.hecomecatronica.com.br

    38

    float temp = 0;

    void setup(){

    Serial.begin(38400); //Inicia Comunicao Serial

    }

    void loop(){

    leitura = analogRead(sensor);

    temp = (leitura * 0.00488);

    temp = temp *100;

    Serial.print(Temperatura lida: ); //Envia via Bluetooth

    Serial.println(temp);

    delay(5000);

    }

    O resultado da execuo mostrado a seguir em uma tela do terminal serial Docklight (poderia ser tambm vistos em um hyperterminal do Windows).

    Aproveitando a deixa, agora ser explicado como acionar um LED atravs de um comando enviado ao Arduino via bluetooth. Usaremos o LED padro do Arduino que ligado ao pino 13. Nesse exemplo ser colocado um led extra s para melhor visualizao.

    O LED extra dever ser ligado a porta digital 13 do arduino por intermdio de um resistor de 330 ou 470 Ohms.

    O que mudar um pouco nessa parte que a porta serial dever ser lida pelo Arduino e a informao recebida ter que ser interpretada pelo microcontrolador para depois o sinal ser enviado. No cdigo a seguir ser abordado leitura e escrita na serial (bluetooth).

    /*

  • Tutorial Arduino

    Copyright 2012, hecomecatronica todos os direitos reservados www.hecomecatronica.com.br

    39

    Firmaware responsavel por acender e apagar um led via Bluetooth.

    Data: 31/05/2012

    */

    char receive;

    int pin = 13;

    void setup(){

    pinMode(pin, OUTPUT);

    Serial.begin(38400); //Inicia Comunicao Serial

    }

    void loop(){

    if (Serial.available() > 0){ //Checa de a porta serial tem info.

    receive = Serial.read(); //Faz a leitura da Serial.

    if(receive == l){

    digitalWrite(pin, HIGH);

    Serial.println(Led Ligado);

    }

    else if(receive == d){

    digitalWrite(pin, LOW);

    Serial.println(Led Desligado);

    }

    }

    delay(500); //Necessario para sincronizar.

    }

    Os resultados da execuo do cdigo acima so mostradas nas figuras a seguir:

    Comando para ligar o LED.

  • Tutorial Arduino

    Copyright 2012, hecomecatronica todos os direitos reservados www.hecomecatronica.com.br

    40

    Aps o comando de ligar o LED

    Comando para desligar o LED.

    Aps o comando de desligar o LED

  • Tutorial Arduino

    Copyright 2012, hecomecatronica todos os direitos reservados www.hecomecatronica.com.br

    41

    Com a leitura do artigo pode-se concluir que quando utilizamos o Mdulo Bluetooth BTM5 a comunicao sem fio se torna simples, pois s enviar comandos para a porta serial que eles so interpretados automaticamente.