tutorial 1 – como escolher meu arduinohecomecatronica.com.br/artigos e documentos/artigos...

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.

Upload: trinhtuyen

Post on 25-Mar-2018

216 views

Category:

Documents


2 download

TRANSCRIPT

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.

Tutorial  Arduino        

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

2  

Normalmente essas mudanças não representam uma alteração drástica a ponto de não se poder usar um ou o outro. Muito pelo contrário. É priorizado a compatiblidade entre eles.

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

IDE é o software mínimo necessário em seu computador para que se possa programar seu Arduino.

Ciente de tudo isso agora é fácil escolher o seu modelo de Arduino.

Existem basicamente três linhas de arduino que recomendo: -Os bem pequenos: NANO -Os de tamanho Médio e tradicional: Duemilanove ou UNO -Os Grandes: Mega ou Due Recomendo então: -Os Arduinos UNO ou Duemilanove para projeto de tamanho padrão como robôs, interface IHM, central de monitoramento, dentre outros. -Os Arduinos Mega ou Due para projetos com maior demanda de memória, sensores e relés. -O arduino NANO para projetos que precisam ser leves e ocupar pouco espaço. Possui a mesma configuração do Duemilanove/UNO mas em tamanho reduzido.

Vamos as fotos e descrições:

-Arduino NANO

Apresenta estrutura bem compacta Possui entrada para cabo Mini USB Já é encontrado com Atmega328 Pesa aproximadamente: 6g Dimensão: 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 médio Possui entrada para cabo USB Possui Atmega328 Pesa aproximadamente: 28g Dimensão: 6,8 x 5,5 x 1,0 cm

-Arduino UNO

Apresenta estrutura de tamanho médio Possui entrada para cabo USB

Possui Atmega328 Pesa aproximadamente: 28g Dimensão: 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 médio

Este modelo é fabricado na Itália. Tabém é chamado de modelo original por ser fabricado na Itália onde foi criado o Arduino. Mas como é Open Source, não existe “original”. É apenas um apelido.

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

-Arduino MEGA 1280

Apresenta estrutura de tamanho relativamente grande. Apresenta maior número de pinos: I/O, Analógicos, maior memória Possui entrada para cabo USB Possui Atmega1280 Memória flash: 128k Pesa aproximadamente: 35g Dimensão: 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 número de pinos: I/O, Analógicos, maior memória Possui entrada para cabo USB Possui Atmega2560 Pesa aproximadamente: 33g Dimensão: 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 núcleo ARM. Ele tem 54 digitais de entrada / saída (dos quais 12 podem ser usados como saídas PWM), 12 entradas analógicas, 4 UARTs (portas seriais de hardware), um relógio de 84 MHz, uma conexão USB OTG capaz, 2 DAC (digital para analógico) , 2 TWI, uma tomada de energia DC, um conector SPI, um conector JTAG, um botão de reset e um botão de apagar.

É a segunda geração de Arduinos de alta capacidade de memória e processamento.

Tutorial  Arduino        

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

6  

Algumas perguntas são frequentes, então vamos a elas: -Qual a diferença entre o Uno e o Duelimanove? O UNO é a versão atualizada em Hardware do Duemilanove. A grande modificação é a substituição do chip FTDI por um outro microcontrolador da Atmega que permite a gravação do código com uma velocidade maior(duas ou três vezes maior que o FTDI). O FTDI é o componente responsável pela comunicação do arduino(Atmega328) com o compupador(porta COM) através do cabo USB. -Qual a diferença entre o Uno e UNO Italiano? O Arduino é Open Source e pode ser fabricado em qualquer lugar. Os criadores do Arduino são italianos e fabricam o modelo na Itália assim o arduino UNO Italiano muitas vezes é chamado de original. Mas não ha diferença estrutural entre os que são fabricados em outro local. A diferença é fabrica mesmo.

-Qual a diferença entre o Duemilanove/Uno e o MEGA? O Duemilanove e o UNO são menores em número de portas entradas/saída tem menor memória flash(que grava o código). Entretanto é mais leve e compacto que o MEGA. Outra grande diferença é 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 não permite fácil remoção e troca do microcontrolador AVR, para isso deve conhecer as técnicas novas de solda em SMD.

-O arduino precisa de alimentação externa como uma fonte? O cabo USB fornece energia para o arduino, não precisando de alimentação externa. Mas também é possível 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 rápido, possui maior memória e instruções. Além de tudo isso possui documentação open e uma grande comunidade trocando informação.

-O Arduino é a plataforma de desenvolvimento mais fácil para iniciantes? Sim, sua estrutura foi pensada para facilitar ao máximo a interação com novos usuários. Mas ao mesmo tempo permite que desenvolvedores avançados usem essa plataforma.

-É possivel usar o Arduino para fazer um robô? Sim, essa é uma das aplicações mais frequentes.

-É possível 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 interação com painel solar, permite alimentação com tensão da rede e opções 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 comunicação com a USB do seu PC e rodar.

-É possível gravar mais de uma vez o código no arduino? Sim, o número de gravações 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 mãos é preciso fazer algumas etapas simples para que tudo funcionar corretamente.

1°- O Arduino usa um programa para fazer as gravações dos códigos. Vai encontrá-lo para baixar neste link: BAIXAR IDE do Arduino.

Faça o download da versão compatível com seu PC. Se roda Windows, Linux ou, MAC Perceba que ha versões de IDE anteriores a 1.0 E´ importante lembrar que muitas bibliotecas não rodam nesta versão pois modificações mais drásticas foram feitas. Pode ser preciso usar a 022 que esta compatível com códigos mais antigos. Mas é só uma questão de tempo para tudo ficar padrão no 1.0

Bem…Feito isso, basta descompactar o arquivo “.zip” e imediatamente a interface de programação 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 versão 1.0 apresenta uma versão um pouco diferente mas todas as funcionalidades são 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 gravação do arduino. Como existem vários modelos de arduino você deve informar qual modelo esta usando. Para isso basta ir em Board depois escolher a placa. 3°- Outra configuração 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 não foram instalados automaticamente pelo PC não aparecera a COM do Arduino. Para saber se e´ a COM do arduino basta retirar o cabo USB e a opção 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  

Então ao colar um código tudo deve ficar assim:

Apos compilar (clicando em Upload ou Verify ) uma informação aparece mostrando o tamanho do código e o espaço disponível para mais código.

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 deverão 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 configuração

Já imaginou programar um Chip bem pequeno como os 555 que possuem 8pinos? Seria possível levar as facilidades do Arduino e tecnologia AVR para os projetos extremamente pequenos e ainda reduzir ao máximo o custo. A Proposta então é usar o seu Arduino como uma ferramenta de gravação dos Attiny45 ou Attiny85.\

É possível 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?

Não exatamente. O Arduino é uma plataforma e possui um microcontrolador diferente mas todos são do mesmo fabricante: a ATMEL. Outra diferença é que o Arduino precisa de bootloader, mas Attiny não usa boot. Para fins práticos podemos imaginar o “tiny” como um Arduininho, pois possui um menor número de pinos I/O, Analógicos e também menor memória. Mas com este é possível montar robôs, monitorar sensores de temperatura, escrever num display de LCD, 7seg, dentre outras aplicações que são comuns para o Arduino padrão.

Para esse projeto iremos usar:

1x Arduino qualquer modelo. 1x Attiny85 ou Attiny45 (O modelo “Attiny85! possui 8K de memória flash para código e o “45! 4K) 1x Resistor 220R( pode ser entre 220R e 1K) 1x LED 1x Capacitor de 10uF/16V 1x botão 2x barra de pinos Femea ou Macho com 4x pontos. Fios Matriz de contatos Baixar os arquivos e códigos que serão 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 configurações de cada pino: Datasheet do Attiny

Simplificando… Os dados que são minimamente necessários para montar e programar podem ser vistos nas imagens abaixo:

1

Então temos:

3x Portas analógicas.

2x Portas I/O com PWM

1x Pino de Reset

2x Pinos de alimentação (+Vcc, -GND )

Tutorial  Arduino        

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

15  

Lembrando: postas analógicas podem ser lidas como portas I/O então na prática têm 5x portas de I/O.

Sumário da Instalação, se precisar, siga o Passo a Passo nos tópicos descritos nas etapas mais abaixo:

• Download: Attiny texto de configuração • Localize a pasta sketchbook Arduino (você pode encontrar a sua localização no diálogo de preferências no software do Arduino) • Criar uma nova sub-pasta chamada “hardware” na pasta sketchbook (é possível 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 diretório, 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 várias opções 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 opções de micros controladores quando for a TOOLs>BOARD

Caso a IDE já esteja aberta você deve fechar e reinicializar-la para aparecer a atualização.

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 código que fará essa tarefa de comunicação e gravação dos dados. Este já está disponível na IDE do Arduino. Veja como fazer:

Abra o código ArduinoISP

Tutorial  Arduino        

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

18  

Escolha o modelo da placa Arduino que está usando:

Faça o mesmo com a COM(porta usb)

Faça a gravação do código na sua placa Arduino.

Essa etapa deve ser feita sem as conexões 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 código que permite a gravação 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 código básico e verificar o funcionamento de tudo:

Atenção: Não existe pino de número “13! no Attiny então é preciso mudar.

Vamos adotar o pino de número “0! para este teste.

Então basta mudar onde tem “13! para “0! no código do Blink.

Tudo deve ficar como na imagem abaixo:

Tutorial  Arduino        

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

21  

Faça a gravação do código clicando em Upload.

OBS: Caso você não tenha preparado o Arduino como interface de gravação, o código não será gravado no Attiny.

A presença do capacitor de 10uF-16V é permitir que o código seja gravado no Attiny. Assim com presença do capacitor no pino de RESET do Arduino não será possível a gravação de códigos no Arduino. Basta retirar o fio do Reset que tudo retorna ao normal. Após a gravação uma mensagem em vermelho pode aparecer na IDE do Arduino mas isso não afeta na gravação.

Feito os testes e após tudo estar “supimpa” você pode montar uma sheild para gravação 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. É possível usar uma placa de fácil 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  

Funções 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 não 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 Configuração do IDE seguindo as mesmas orientações dadas para a configuração do Attiny 45 ou 85.

Faça o Download do arquivo de configuração aqui.

Conecte seu Arduino à ATtiny acordo com a imagem abaixo:

Video de Demonstração

Lista das ligações 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 não ligar o capacitor ainda.Mais informações sobre este passo.

Nota: o ArduinoISP tem alguns problemas na ver. 1,00, Veja esta correção para uma solução.

Conecte um capacitor mF 10 de reinicialização 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 esboço Blink.

Conecte um LED com resitor ao pino PB4

Agora você deve ter um Led piscando em seu ATtiny 2313

Observe o padrão de fábrica é de 1MHz, se você deseja executar em 8MHz: é necessário 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, tão perto do processador quanto possível e um resistor de 10 ohms K de RESET para VCC.

Ex. pino 13 no exemplo de piscar é o pino físico 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 não reconhece sua placa!

Se você está nessa situação fique tranquilo, pois está no lugar certo!

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

Este tutorial serve também para o modelo UNO, mesmo não 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 função.

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

Caso a instalação do Driver tenha caminhado automaticamente em seu PC, ótimo, você não tem mais nada a FAZER!!

Parabéns!!

Caso contrário, siga os próximos 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 não 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 ilustrações.

Tutorial  Arduino        

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

27  

Após 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  

Então, clicar com o botão direito do mouse.

Tutorial  Arduino        

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

29  

Agora é preciso encontrar a pasta que estão os drives. Quando você baixou a IDE de programação do Arduino baixou também esses drives. Eles estão 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 confirmação 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 não 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 Próprio 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, não há muita dificuldade na conexão, apenas deve-se tomar cuidado para conectar corretamente os pinos.

Os pinos do conversor são mostrados a seguir:

Tutorial  Arduino        

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

33  

São 6 pinos para conexão, 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 são alimentados pelo “positivo”. GND – Este pino você conecta aos terminais do seu Atmega que são 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);

Após fazer a conexão 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 faço isso através 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 código para seu Atmega, para isso abra o ambiente de programação do arduino e selecione o exemplo “blink” para testar. Pressione o botão reset da sua placa standalone e segure, depois clique no botão “enviar” da interface de programação do arduino e aguarde até que apareça 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 código ja foi compilado e o programa começará o upload propriamente dito, nesse momento você deve soltar o botão reset e aguardar a mensagem de upload concluído. Pronto! seu Atmega rodando em modo standalone pode ser agora programado através 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 módulo transmissor permite que o dispositivo possa enviar ou receber os dados através de tecnologia Bluetooth sem a necessidade do cabo serial para computador.

É fácil de usar e totalmente encapsulado.

Funciona com todos os adaptadores Bluetooth USB.

Descrição:

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

É possível fazer uma comunicação entre dois módulos bluetooth (sendo um MASTER e o outro SLAVE) e também se comunicar entre um módulo 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 então fazer uma comunicação serial normalmente.

Antena embutida.

Alimentação: 3.6V-6V DC

Taxa de transmissão padrão: 9600,8,1, n. Senha: 1234.

Cobertura de até 10m.

O módulo vem com configurações pré-estabelicidas de fábrica, como velocidade de comunicação, nome do dispositivo, senha de pareamento, e etc. que podem ser alteradas via comandos AT por meio de comunicação serial com o computador. Obs. Importante: Essa configuração NÃO é possivel via comunicação Bluetooth. Deve ser feita necessariamente por meio de cabos de conexão (fisicamente). Nesse projeto, para fazer a conexão serial entre o computador e o módulo bluetooth , será utilizado o próprio Arduino como conversor USB-TTL.

Os comandos AT de configuração, ao serem enviados devem ser seguidos obrigatoriamente por um <CR> (Carrige Return) e um <LF> (Line Feed). Todos esses comandos ao serem recebidos com sucesso pelo módulo, são respondidos com uma mensagem de confirmação “OK”.

A comunicação bluetooth com esse módulo é bem simples pois nada mais é do que uma comunicação 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) não existe o módulo bluetooth, ele foi representado como apenas um conector onde suas ligações foram feitas respectivamente da esquerda para direita. Os pinos do conector da esquerda para a direita são: VCC, GND, RX, TX.

OBS IMPORTANTE: O Vcc do módulo e as entradas lógicas funcionam em 3.3 Volts, portanto ligue o Vcc do módulo na saida 3.3V do Arduino e o RX do módulo deverá ser ligado ao TX do Arduino por intemédio de um divisor de tensão que irá diminuir a tensão lógica (todos esses detalhes de ligação estão devidamente exemplificados no artigo )

O pino MODE não será utilizado nesse projeto pois como padrão ele esta baixo (nivel lógico LOW) então o módulo funcionará normal e não em modo de configuração AT.

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

O firmware a ser inserido no microcontrolador não poderia ser mais simples, pois é apenas um comando para escrever na porta serial que nesse caso é o módulo bluetooth.

/*

Firmware para fazer a leitura de um sensor de temperatura

e a tranmissão desse dado via Bluetooth

utilizando o módulo 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 Comunicação 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 execução é mostrado a seguir em uma tela do terminal serial Docklight (poderia ser também vistos em um hyperterminal do Windows).

Aproveitando a deixa, agora será explicado como acionar um LED através de um comando enviado ao Arduino via bluetooth. Usaremos o LED padrão do Arduino que é ligado ao pino 13. Nesse exemplo será colocado um led extra só para melhor visualização.

O LED extra deverá ser ligado a porta digital 13 do arduino por intermédio 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 informação recebida terá que ser interpretada pelo microcontrolador para depois o sinal ser enviado. No código 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 Comunicação 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 execução do código acima são mostradas nas figuras a seguir:

Comando para ligar o LED.

Tutorial  Arduino        

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

40  

Após o comando de ligar o LED

Comando para desligar o LED.

Após 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 Módulo Bluetooth BTM5 a comunicação sem fio se torna simples, pois é só enviar comandos para a porta serial que eles são interpretados automaticamente.